diff options
author | ArthurHoaro <arthur@hoa.ro> | 2016-02-16 23:11:36 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2016-08-07 12:17:27 +0200 |
commit | 4ed6d1babe673a38351e66da991db1cb8e2cb70c (patch) | |
tree | 88cd53480da886fdf550fcb54757427a63b3d558 /tpl/default/js | |
parent | 341dac14f0f5e3ab368e8dba88612e35ffc979a1 (diff) | |
download | Shaarli-4ed6d1babe673a38351e66da991db1cb8e2cb70c.tar.gz Shaarli-4ed6d1babe673a38351e66da991db1cb8e2cb70c.tar.zst Shaarli-4ed6d1babe673a38351e66da991db1cb8e2cb70c.zip |
Work on the menu
Diffstat (limited to 'tpl/default/js')
-rw-r--r-- | tpl/default/js/shaarli.js | 42 |
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 | ||