]>
git.immae.eu Git - github/wallabag/wallabag.git/blob - init.js
0b2832c068fb4bcdc9d82e47f6f3a01392f18322
2 import $ from 'jquery';
5 import annotator
from 'annotator';
8 import { savePercent
, retrievePercent
, initFilters
, initExport
} from '../../_global/js/tools';
10 /* Import shortcuts */
11 import './shortcuts/main';
12 import './shortcuts/entry';
13 import '../../_global/js/shortcuts/main';
14 import '../../_global/js/shortcuts/entry';
16 require('materialize'); // eslint-disable-line
20 $(document
).ready(() => {
22 $('.button-collapse').sideNav();
23 $('select').material_select();
24 $('.collapsible').collapsible({
27 $('.datepicker').pickadate({
30 formatSubmit: 'dd/mm/yyyy',
37 $('#nav-btn-add-tag').on('click', () => {
38 $('.nav-panel-add-tag').toggle(100);
39 $('.nav-panel-menu').addClass('hidden');
40 $('#tag_label').focus();
43 $('#nav-btn-add').on('click', () => {
44 $('.nav-panel-buttom').hide(100);
45 $('.nav-panel-add').show(100);
46 $('.nav-panels .action').hide(100);
47 $('.nav-panel-menu').addClass('hidden');
48 $('.nav-panels').css('background', 'white');
49 $('#entry_url').focus();
52 $('#nav-btn-search').on('click', () => {
53 $('.nav-panel-buttom').hide(100);
54 $('.nav-panel-search').show(100);
55 $('.nav-panels .action').hide(100);
56 $('.nav-panel-menu').addClass('hidden');
57 $('.nav-panels').css('background', 'white');
58 $('#search_entry_term').focus();
61 $('.close').on('click', () => {
62 $('.nav-panel-add').hide(100);
63 $('.nav-panel-search').hide(100);
64 $('.nav-panel-buttom').show(100);
65 $('.nav-panels .action').show(100);
66 $('.nav-panel-menu').removeClass('hidden');
67 $('.nav-panels').css('background', 'transparent');
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}%`);
78 /* ==========================================================================
79 Annotations & Remember position
80 ========================================================================== */
82 if ($('article').length
) {
83 const app
= new annotator
.App();
84 const x
= JSON
.parse($('#annotationroutes').html());
86 app
.include(annotator
.ui
.main
, {
87 element: document
.querySelector('article'),
90 app
.include(annotator
.storage
.http
, x
);
92 app
.start().then(() => {
93 app
.annotations
.load({ entry: x
.entryId
});
96 $(window
).scroll(() => {
97 const scrollTop
= $(window
).scrollTop();
98 const docHeight
= $(document
).height();
99 const scrollPercent
= (scrollTop
) / (docHeight
);
100 const scrollPercentRounded
= Math
.round(scrollPercent
* 100) / 100;
101 savePercent(x
.entryId
, scrollPercentRounded
);
104 retrievePercent(x
.entryId
);
106 $(window
).resize(() => {
107 retrievePercent(x
.entryId
);