diff options
Diffstat (limited to 'app/Resources/static/themes/material/js/init.js')
-rwxr-xr-x | app/Resources/static/themes/material/js/init.js | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/app/Resources/static/themes/material/js/init.js b/app/Resources/static/themes/material/js/init.js new file mode 100755 index 00000000..d6a87941 --- /dev/null +++ b/app/Resources/static/themes/material/js/init.js | |||
@@ -0,0 +1,117 @@ | |||
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 | }); | ||