]> git.immae.eu Git - github/wallabag/wallabag.git/blob - app/Resources/static/themes/material/js/init.js
Merge pull request #2097 from bmillemathias/issue_2045
[github/wallabag/wallabag.git] / app / Resources / static / themes / material / js / init.js
1 var $ = require("jquery"),
2 materialize = require("materialize");
3 var annotator = require('annotator');
4
5 function init_filters() {
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 init_export() {
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 init_filters();
41 init_export();
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 d = $(document).height(),
79 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
91 app.include(annotator.ui.main, {
92 element: document.querySelector('article')
93 });
94
95 var x = JSON.parse($('#annotationroutes').html());
96 app.include(annotator.storage.http, x);
97
98 app.start().then(function () {
99 app.annotations.load({entry: x.entryId});
100 });
101
102 $(window).scroll(function(e){
103 var scrollTop = $(window).scrollTop();
104 var docHeight = $(document).height();
105 var scrollPercent = (scrollTop) / (docHeight);
106 var scrollPercentRounded = Math.round(scrollPercent*100)/100;
107 savePercent(x.entryId, scrollPercentRounded);
108 });
109
110 retrievePercent(x.entryId);
111
112 $(window).resize(function(){
113 retrievePercent(x.entryId);
114 });
115 }
116 });