]>
git.immae.eu Git - github/wallabag/wallabag.git/blob - app/Resources/static/themes/material/js/init.js
1 import { savePercent
, retrievePercent
, initFilters
, initExport
} from '../../_global/js/tools';
3 const $ = require('jquery');
6 require('materialize'); // eslint-disable-line
7 const annotator
= require('annotator');
9 $(document
).ready(() => {
11 $('.button-collapse').sideNav();
12 $('select').material_select();
13 $('.collapsible').collapsible({
16 $('.datepicker').pickadate({
19 formatSubmit: 'dd/mm/yyyy',
26 $('#nav-btn-add-tag').on('click', () => {
27 $('.nav-panel-add-tag').toggle(100);
28 $('.nav-panel-menu').addClass('hidden');
29 $('#tag_label').focus();
32 $('#nav-btn-add').on('click', () => {
33 $('.nav-panel-buttom').hide(100);
34 $('.nav-panel-add').show(100);
35 $('.nav-panels .action').hide(100);
36 $('.nav-panel-menu').addClass('hidden');
37 $('.nav-panels').css('background', 'white');
38 $('#entry_url').focus();
41 $('#nav-btn-search').on('click', () => {
42 $('.nav-panel-buttom').hide(100);
43 $('.nav-panel-search').show(100);
44 $('.nav-panels .action').hide(100);
45 $('.nav-panel-menu').addClass('hidden');
46 $('.nav-panels').css('background', 'white');
47 $('#searchfield').focus();
50 $('.close').on('click', () => {
51 $('.nav-panel-add').hide(100);
52 $('.nav-panel-search').hide(100);
53 $('.nav-panel-buttom').show(100);
54 $('.nav-panels .action').show(100);
55 $('.nav-panel-menu').removeClass('hidden');
56 $('.nav-panels').css('background', 'transparent');
59 $(window
).scroll(() => {
60 const s
= $(window
).scrollTop();
61 const d
= $(document
).height();
62 const c
= $(window
).height();
63 const scrollPercent
= (s
/ (d
- c
)) * 100;
64 $('.progress .determinate').css('width', `${scrollPercent}%`);
67 /* ==========================================================================
68 Annotations & Remember position
69 ========================================================================== */
71 if ($('article').length
) {
72 const app
= new annotator
.App();
73 const x
= JSON
.parse($('#annotationroutes').html());
75 app
.include(annotator
.ui
.main
, {
76 element: document
.querySelector('article'),
79 app
.include(annotator
.storage
.http
, x
);
81 app
.start().then(() => {
82 app
.annotations
.load({ entry: x
.entryId
});
85 $(window
).scroll(() => {
86 const scrollTop
= $(window
).scrollTop();
87 const docHeight
= $(document
).height();
88 const scrollPercent
= (scrollTop
) / (docHeight
);
89 const scrollPercentRounded
= Math
.round(scrollPercent
* 100) / 100;
90 savePercent(x
.entryId
, scrollPercentRounded
);
93 retrievePercent(x
.entryId
);
95 $(window
).resize(() => {
96 retrievePercent(x
.entryId
);