fix #21: add on option to always display the menu on the left
This commit is contained in:
+32
-57
@@ -1,8 +1,9 @@
|
||||
(function() {
|
||||
var sideMenuContainer = $('<div id="side-menu-container">')
|
||||
var sideMenuOpener = $('<button class="side-menu-opener"></button>')
|
||||
var sideMenu = $('<div id="side-menu">')
|
||||
var body = $('body')
|
||||
var sideMenuContainer = jQuery('<div id="side-menu-container">')
|
||||
var sideMenuOpener = jQuery('<button class="side-menu-opener"></button>')
|
||||
var sideMenu = jQuery('<div id="side-menu">')
|
||||
var body = jQuery('body')
|
||||
var html = jQuery('html')
|
||||
var isTouchDevice = window.matchMedia("(pointer: coarse)").matches
|
||||
|
||||
<?php if ($_['big-menu']): ?>
|
||||
@@ -15,24 +16,32 @@
|
||||
|
||||
body.on('side-menu.apps', function(e, apps) {
|
||||
<?php if ($_['hide-when-no-apps']): ?>
|
||||
sideMenu = $('#side-menu')
|
||||
sideMenu = jQuery('#side-menu')
|
||||
|
||||
if (apps.length === 0) {
|
||||
sideMenu.removeClass('open')
|
||||
sideMenu.addClass('hide')
|
||||
sideMenuOpener.addClass('hide')
|
||||
sideMenu.remove()
|
||||
body.style.left = 0;
|
||||
} else {
|
||||
sideMenu.removeClass('hide')
|
||||
sideMenuOpener.removeClass('hide')
|
||||
}
|
||||
|
||||
<?php if ($_['always-displayed'] && !$_['big-menu']): ?>
|
||||
if (apps.length === 0) {
|
||||
html.removeClass('side-menu-always-displayed');
|
||||
} else {
|
||||
html.addClass('side-menu-always-displayed');
|
||||
}
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
})
|
||||
|
||||
body.on('side-menu.ready', function() {
|
||||
sideMenu = $('#side-menu')
|
||||
sideMenu = jQuery('#side-menu')
|
||||
|
||||
var headerMenuOpener = $('#header .side-menu-opener')
|
||||
var sideMenuOpener = $('#side-menu .side-menu-opener')
|
||||
var headerMenuOpener = jQuery('#header .side-menu-opener')
|
||||
var sideMenuOpener = jQuery('#side-menu .side-menu-opener')
|
||||
|
||||
sideMenuFocus = function() {
|
||||
var a = sideMenu.find('.side-menu-app.active a')
|
||||
@@ -77,11 +86,17 @@
|
||||
sideMenu.find('.side-menu-app.active a').focus()
|
||||
})
|
||||
|
||||
sideMenuOpener.on('click', function() {
|
||||
sideMenu.removeClass('open')
|
||||
})
|
||||
<?php if ($_['always-displayed'] && !$_['big-menu']): ?>
|
||||
sideMenuOpener.on('click', function() {
|
||||
sideMenu.toggleClass('open')
|
||||
})
|
||||
<?php else: ?>
|
||||
sideMenuOpener.on('click', function() {
|
||||
sideMenu.removeClass('open')
|
||||
})
|
||||
<?php endif; ?>
|
||||
|
||||
$(document).keydown(function(e) {
|
||||
jQuery(document).keydown(function(e) {
|
||||
var key = e.key || e.keyCode
|
||||
|
||||
if ((key === 'o' || key === 79) && e.ctrlKey === true) {
|
||||
@@ -112,47 +127,7 @@
|
||||
<?php require_once __DIR__.'/_topMenuApps.js'; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
window.setTimeout(function() {
|
||||
var elements = document.querySelectorAll('*');
|
||||
var fixedElements = []
|
||||
|
||||
for (var i in elements) {
|
||||
var element = elements[i]
|
||||
|
||||
if (typeof element !== 'object') {
|
||||
continue
|
||||
}
|
||||
|
||||
var position = window.getComputedStyle(element, null).getPropertyValue('position');
|
||||
|
||||
if (position !== 'fixed') {
|
||||
continue
|
||||
}
|
||||
|
||||
if (element.getAttribute('id') === 'header') {
|
||||
continue
|
||||
}
|
||||
|
||||
if (element.getAttribute('id') === 'side-menu') {
|
||||
continue
|
||||
}
|
||||
|
||||
fixedElements.push(element)
|
||||
}
|
||||
|
||||
window.setTimeout(function() {
|
||||
for (var i in fixedElements) {
|
||||
var element = fixedElements[i]
|
||||
|
||||
var value = window.getComputedStyle(element, null).getPropertyValue('left')
|
||||
|
||||
if (value === 'initial') {
|
||||
continue
|
||||
}
|
||||
|
||||
element.style.setProperty('left', 'initial')
|
||||
element.style.setProperty('transform', 'translateX(' + value + ')')
|
||||
}
|
||||
}, 100);
|
||||
}, 500);
|
||||
<?php if ($_['always-displayed'] && !$_['big-menu']): ?>
|
||||
<?php require_once __DIR__.'/_alwaysDisplayed.js'; ?>
|
||||
<?php endif; ?>
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user