]> git.immae.eu Git - github/wallabag/wallabag.git/blob - app/Resources/static/themes/material/index.js
96310d81fdb3ca635a5e86ea307c5b895bfe19eb
[github/wallabag/wallabag.git] / app / Resources / static / themes / material / index.js
1 import $ from 'jquery';
2
3 /* Materialize imports */
4 import 'materialize-css/dist/css/materialize.css';
5 import 'materialize-css/dist/js/materialize';
6
7 /* Global imports */
8 import '../_global/index';
9
10 /* Tools */
11 import { initExport, initFilters } from './js/tools';
12
13 /* Import shortcuts */
14 import './js/shortcuts/main';
15 import './js/shortcuts/entry';
16
17 /* Theme style */
18 import './css/index.scss';
19
20 $(document).ready(() => {
21 // sideNav
22 $('.button-collapse').sideNav();
23 $('select').material_select();
24 $('.collapsible').collapsible({
25 accordion: false,
26 });
27 $('.datepicker').pickadate({
28 selectMonths: true,
29 selectYears: 15,
30 formatSubmit: 'dd/mm/yyyy',
31 hiddenName: true,
32 format: 'dd/mm/yyyy',
33 container: 'body',
34 });
35 initFilters();
36 initExport();
37
38 const toggleNav = (toShow, toFocus) => {
39 $('.nav-panel-actions').hide(100);
40 $(toShow).show(100);
41 $('.nav-panels').css('background', 'white');
42 $(toFocus).focus();
43 };
44
45 $('#nav-btn-add-tag').on('click', () => {
46 $('.nav-panel-add-tag').toggle(100);
47 $('.nav-panel-menu').addClass('hidden');
48 $('#tag_label').focus();
49 return false;
50 });
51 $('#nav-btn-add').on('click', () => {
52 toggleNav('.nav-panel-add', '#entry_url');
53 return false;
54 });
55 const materialAddForm = $('.nav-panel-add');
56 materialAddForm.on('submit', () => {
57 materialAddForm.addClass('disabled');
58 $('input#entry_url', materialAddForm).prop('readonly', true).trigger('blur');
59 });
60 $('#nav-btn-search').on('click', () => {
61 toggleNav('.nav-panel-search', '#search_entry_term');
62 return false;
63 });
64 $('.close').on('click', (e) => {
65 $(e.target).parent('.nav-panel-item').hide(100);
66 $('.nav-panel-actions').show(100);
67 $('.nav-panels').css('background', 'transparent');
68 return false;
69 });
70 $(window).scroll(() => {
71 const s = $(window).scrollTop();
72 const d = $(document).height();
73 const c = $(window).height();
74 const scrollPercent = (s / (d - c)) * 100;
75 $('.progress .determinate').css('width', `${scrollPercent}%`);
76 });
77 });