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