]> git.immae.eu Git - github/wallabag/wallabag.git/blob - app/Resources/static/themes/material/js/init.js
clean & lint stuff
[github/wallabag/wallabag.git] / app / Resources / static / themes / material / js / init.js
1 var $ = require('jquery');
2 require('materialize');
3 var annotator = require('annotator');
4
5 function initFilters() {
6 // no display if filters not aviable
7 if ($('div').is('#filters')) {
8 $('#button_filters').show();
9 $('.button-collapse-right').sideNav({ edge: 'right' });
10 $('#clear_form_filters').on('click', function () {
11 $('#filters input').val('');
12 $('#filters :checked').removeAttr('checked');
13 return false;
14 });
15 }
16 }
17
18 function initExport() {
19 // no display if export not aviable
20 if ($('div').is('#export')) {
21 $('#button_export').show();
22 $('.button-collapse-right').sideNav({ edge: 'right' });
23 }
24 }
25
26 $(document).ready(function () {
27 // sideNav
28 $('.button-collapse').sideNav();
29 $('select').material_select();
30 $('.collapsible').collapsible({
31 accordion: false,
32 });
33 $('.datepicker').pickadate({
34 selectMonths: true,
35 selectYears: 15,
36 formatSubmit: 'dd/mm/yyyy',
37 hiddenName: true,
38 format: 'dd/mm/yyyy',
39 });
40 initFilters();
41 initExport();
42
43 $('#nav-btn-add-tag').on('click', function () {
44 $('.nav-panel-add-tag').toggle(100);
45 $('.nav-panel-menu').addClass('hidden');
46 $('#tag_label').focus();
47 return false;
48 });
49 $('#nav-btn-add').on('click', function () {
50 $('.nav-panel-buttom').hide(100);
51 $('.nav-panel-add').show(100);
52 $('.nav-panels .action').hide(100);
53 $('.nav-panel-menu').addClass('hidden');
54 $('.nav-panels').css('background', 'white');
55 $('#entry_url').focus();
56 return false;
57 });
58 $('#nav-btn-search').on('click', function () {
59 $('.nav-panel-buttom').hide(100);
60 $('.nav-panel-search').show(100);
61 $('.nav-panels .action').hide(100);
62 $('.nav-panel-menu').addClass('hidden');
63 $('.nav-panels').css('background', 'white');
64 $('#searchfield').focus();
65 return false;
66 });
67 $('.close').on('click', function () {
68 $('.nav-panel-add').hide(100);
69 $('.nav-panel-search').hide(100);
70 $('.nav-panel-buttom').show(100);
71 $('.nav-panels .action').show(100);
72 $('.nav-panel-menu').removeClass('hidden');
73 $('.nav-panels').css('background', 'transparent');
74 return false;
75 });
76 $(window).scroll(function () {
77 var s = $(window).scrollTop();
78 var d = $(document).height();
79 var c = $(window).height();
80 var scrollPercent = (s / (d - c)) * 100;
81 $('.progress .determinate').css('width', scrollPercent + '%');
82 });
83
84 /* ==========================================================================
85 Annotations & Remember position
86 ========================================================================== */
87
88 if ($('article').length) {
89 var app = new annotator.App();
90 var x = JSON.parse($('#annotationroutes').html());
91
92
93 app.include(annotator.ui.main, {
94 element: document.querySelector('article'),
95 });
96
97 app.include(annotator.storage.http, x);
98
99 app.start().then(function () {
100 app.annotations.load({ entry: x.entryId });
101 });
102
103 $(window).scroll(function (e) {
104 var scrollTop = $(window).scrollTop();
105 var docHeight = $(document).height();
106 var scrollPercent = (scrollTop) / (docHeight);
107 var scrollPercentRounded = Math.round(scrollPercent * 100) / 100;
108 savePercent(x.entryId, scrollPercentRounded);
109 });
110
111 retrievePercent(x.entryId);
112
113 $(window).resize(function () {
114 retrievePercent(x.entryId);
115 });
116 }
117 });