]>
git.immae.eu Git - github/wallabag/wallabag.git/blob - app/Resources/static/themes/material/js/init.js
1 const $ = require('jquery');
3 require('materialize'); // eslint-disable-line
4 const annotator
= require('annotator');
5 import { savePercent
, retrievePercent
, initFilters
, initExport
} from '../../_global/js/tools.js';
7 $(document
).ready(() => {
9 $('.button-collapse').sideNav();
10 $('select').material_select();
11 $('.collapsible').collapsible({
14 $('.datepicker').pickadate({
17 formatSubmit: 'dd/mm/yyyy',
24 $('#nav-btn-add-tag').on('click', () => {
25 $('.nav-panel-add-tag').toggle(100);
26 $('.nav-panel-menu').addClass('hidden');
27 $('#tag_label').focus();
30 $('#nav-btn-add').on('click', () => {
31 $('.nav-panel-buttom').hide(100);
32 $('.nav-panel-add').show(100);
33 $('.nav-panels .action').hide(100);
34 $('.nav-panel-menu').addClass('hidden');
35 $('.nav-panels').css('background', 'white');
36 $('#entry_url').focus();
39 $('#nav-btn-search').on('click', () => {
40 $('.nav-panel-buttom').hide(100);
41 $('.nav-panel-search').show(100);
42 $('.nav-panels .action').hide(100);
43 $('.nav-panel-menu').addClass('hidden');
44 $('.nav-panels').css('background', 'white');
45 $('#searchfield').focus();
48 $('.close').on('click', () => {
49 $('.nav-panel-add').hide(100);
50 $('.nav-panel-search').hide(100);
51 $('.nav-panel-buttom').show(100);
52 $('.nav-panels .action').show(100);
53 $('.nav-panel-menu').removeClass('hidden');
54 $('.nav-panels').css('background', 'transparent');
57 $(window
).scroll(() => {
58 const s
= $(window
).scrollTop();
59 const d
= $(document
).height();
60 const c
= $(window
).height();
61 const scrollPercent
= (s
/ (d
- c
)) * 100;
62 $('.progress .determinate').css('width', `${scrollPercent}%`);
65 /* ==========================================================================
66 Annotations & Remember position
67 ========================================================================== */
69 if ($('article').length
) {
70 const app
= new annotator
.App();
71 const x
= JSON
.parse($('#annotationroutes').html());
73 app
.include(annotator
.ui
.main
, {
74 element: document
.querySelector('article'),
77 app
.include(annotator
.storage
.http
, x
);
79 app
.start().then(() => {
80 app
.annotations
.load({ entry: x
.entryId
});
83 $(window
).scroll(() => {
84 const scrollTop
= $(window
).scrollTop();
85 const docHeight
= $(document
).height();
86 const scrollPercent
= (scrollTop
) / (docHeight
);
87 const scrollPercentRounded
= Math
.round(scrollPercent
* 100) / 100;
88 savePercent(x
.entryId
, scrollPercentRounded
);
91 retrievePercent(x
.entryId
);
93 $(window
).resize(() => {
94 retrievePercent(x
.entryId
);