aboutsummaryrefslogtreecommitdiffhomepage
path: root/tpl/default/js/shaarli.js
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2016-02-16 23:11:36 +0100
committerArthurHoaro <arthur@hoa.ro>2016-08-07 12:17:27 +0200
commit4ed6d1babe673a38351e66da991db1cb8e2cb70c (patch)
tree88cd53480da886fdf550fcb54757427a63b3d558 /tpl/default/js/shaarli.js
parent341dac14f0f5e3ab368e8dba88612e35ffc979a1 (diff)
downloadShaarli-4ed6d1babe673a38351e66da991db1cb8e2cb70c.tar.gz
Shaarli-4ed6d1babe673a38351e66da991db1cb8e2cb70c.tar.zst
Shaarli-4ed6d1babe673a38351e66da991db1cb8e2cb70c.zip
Work on the menu
Diffstat (limited to 'tpl/default/js/shaarli.js')
-rw-r--r--tpl/default/js/shaarli.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/tpl/default/js/shaarli.js b/tpl/default/js/shaarli.js
new file mode 100644
index 00000000..c401af1d
--- /dev/null
+++ b/tpl/default/js/shaarli.js
@@ -0,0 +1,42 @@
1/**
2 * Handle responsive menu.
3 * Source: http://purecss.io/layouts/tucked-menu-vertical/
4 */
5(function (window, document) {
6 var menu = document.getElementById('shaarli-menu'),
7 WINDOW_CHANGE_EVENT = ('onorientationchange' in window) ? 'orientationchange':'resize';
8
9 function toggleHorizontal() {
10 [].forEach.call(
11 document.getElementById('shaarli-menu').querySelectorAll('.menu-transform'),
12 function(el){
13 el.classList.toggle('pure-menu-horizontal');
14 }
15 );
16 };
17
18 function toggleMenu() {
19 // set timeout so that the panel has a chance to roll up
20 // before the menu switches states
21 if (menu.classList.contains('open')) {
22 setTimeout(toggleHorizontal, 500);
23 }
24 else {
25 toggleHorizontal();
26 }
27 menu.classList.toggle('open');
28 document.getElementById('menu-toggle').classList.toggle('x');
29 };
30
31 function closeMenu() {
32 if (menu.classList.contains('open')) {
33 toggleMenu();
34 }
35 }
36
37 document.getElementById('menu-toggle').addEventListener('click', function (e) {
38 toggleMenu();
39 });
40
41 window.addEventListener(WINDOW_CHANGE_EVENT, closeMenu);
42})(this, this.document); \ No newline at end of file