]>
git.immae.eu Git - github/wallabag/wallabag.git/blob - app/Resources/static/themes/material/js/init.js
3ff8de0a19d80007133447d4207370931ca207ee
1 import $ from 'jquery';
2 import annotator
from 'annotator';
3 import { savePercent
, retrievePercent
, initFilters
, initExport
} from '../../_global/js/tools';
4 import './shortcuts/main.js';
5 import './shortcuts/entry.js';
7 require('materialize'); // eslint-disable-line
11 $(document
).ready(() => {
13 $('.button-collapse').sideNav();
14 $('select').material_select();
15 $('.collapsible').collapsible({
18 $('.datepicker').pickadate({
21 formatSubmit: 'dd/mm/yyyy',
28 $('#nav-btn-add-tag').on('click', () => {
29 $('.nav-panel-add-tag').toggle(100);
30 $('.nav-panel-menu').addClass('hidden');
31 $('#tag_label').focus();
34 $('#nav-btn-add').on('click', () => {
35 $('.nav-panel-buttom').hide(100);
36 $('.nav-panel-add').show(100);
37 $('.nav-panels .action').hide(100);
38 $('.nav-panel-menu').addClass('hidden');
39 $('.nav-panels').css('background', 'white');
40 $('#entry_url').focus();
43 $('#nav-btn-search').on('click', () => {
44 $('.nav-panel-buttom').hide(100);
45 $('.nav-panel-search').show(100);
46 $('.nav-panels .action').hide(100);
47 $('.nav-panel-menu').addClass('hidden');
48 $('.nav-panels').css('background', 'white');
49 $('#searchfield').focus();
52 $('.close').on('click', () => {
53 $('.nav-panel-add').hide(100);
54 $('.nav-panel-search').hide(100);
55 $('.nav-panel-buttom').show(100);
56 $('.nav-panels .action').show(100);
57 $('.nav-panel-menu').removeClass('hidden');
58 $('.nav-panels').css('background', 'transparent');
61 $(window
).scroll(() => {
62 const s
= $(window
).scrollTop();
63 const d
= $(document
).height();
64 const c
= $(window
).height();
65 const scrollPercent
= (s
/ (d
- c
)) * 100;
66 $('.progress .determinate').css('width', `${scrollPercent}%`);
69 /* ==========================================================================
70 Annotations & Remember position
71 ========================================================================== */
73 if ($('article').length
) {
74 const app
= new annotator
.App();
75 const x
= JSON
.parse($('#annotationroutes').html());
77 app
.include(annotator
.ui
.main
, {
78 element: document
.querySelector('article'),
81 app
.include(annotator
.storage
.http
, x
);
83 app
.start().then(() => {
84 app
.annotations
.load({ entry: x
.entryId
});
87 $(window
).scroll(() => {
88 const scrollTop
= $(window
).scrollTop();
89 const docHeight
= $(document
).height();
90 const scrollPercent
= (scrollTop
) / (docHeight
);
91 const scrollPercentRounded
= Math
.round(scrollPercent
* 100) / 100;
92 savePercent(x
.entryId
, scrollPercentRounded
);
95 retrievePercent(x
.entryId
);
97 $(window
).resize(() => {
98 retrievePercent(x
.entryId
);