diff --git a/lib/Controller/JsController.php b/lib/Controller/JsController.php index 0bbeebf..0c98d33 100644 --- a/lib/Controller/JsController.php +++ b/lib/Controller/JsController.php @@ -54,6 +54,7 @@ class JsController extends Controller $parameters = [ 'opener-position' => $this->config->getAppValue('side_menu', 'opener-position', 'before'), 'opener-hover' => (bool) $this->config->getAppValue('side_menu', 'opener-hover', '0'), + 'hide-when-no-apps' => (bool) $this->config->getAppValue('side_menu', 'hide-when-no-apps', '0'), ]; $response = new TemplateResponse('side_menu', 'js/script', $parameters, 'blank'); diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php index fd889db..083d58b 100644 --- a/lib/Settings/Admin.php +++ b/lib/Settings/Admin.php @@ -61,6 +61,7 @@ class Admin implements ISettings 'opener-position' => $this->config->getAppValue('side_menu', 'opener-position', 'before'), 'opener-hover' => $this->config->getAppValue('side_menu', 'opener-hover', '0'), 'opener-only' => $this->config->getAppValue('side_menu', 'opener-only', '0'), + 'hide-when-no-apps' => $this->config->getAppValue('side_menu', 'hide-when-no-apps', '0'), 'size-icon' => $this->config->getAppValue('side_menu', 'size-icon', 'normal'), 'size-text' => $this->config->getAppValue('side_menu', 'size-text', 'normal'), ]; diff --git a/src/SideMenu.vue b/src/SideMenu.vue index f2ecc2c..7593222 100644 --- a/src/SideMenu.vue +++ b/src/SideMenu.vue @@ -66,7 +66,11 @@ export default { } } - jQuery('body').trigger('side-menu.apps', [this.apps]) + (function(apps) { + window.setTimeout(function() { + jQuery('body').trigger('side-menu.apps', [apps]) + }, 1000) + })(this.apps) }, retrieveLogo() { const ncLogo = document.querySelector('#nextcloud .logo') diff --git a/src/admin.js b/src/admin.js index a05bd00..fe2a18e 100644 --- a/src/admin.js +++ b/src/admin.js @@ -25,6 +25,7 @@ const elements = [ 'side-menu-opener-hover', 'side-menu-opener-only', 'side-menu-display-logo', + 'side-menu-hide-when-no-apps', 'side-menu-size-icon', 'side-menu-size-text', 'side-menu-cache', diff --git a/templates/js/script.php b/templates/js/script.php index ce81eab..33a9f50 100644 --- a/templates/js/script.php +++ b/templates/js/script.php @@ -3,28 +3,19 @@ var sideMenuOpener = $('') var sideMenu = $('
') var body = $('body') - - body.append(sideMenuContainer) - - sideMenuContainer.append(sideMenu) - - - sideMenuOpener.insertBefore('#nextcloud') - - sideMenuOpener.insertAfter('#nextcloud') - - var isTouchDevice = window.matchMedia("(pointer: coarse)").matches body.on('side-menu.apps', function(e, apps) { - sideMenu = $('#side-menu') + + sideMenu = $('#side-menu') - if (apps.length === 0) { - sideMenu.removeClass('open') - sideMenuOpener.addClass('hide') - } else { - sideMenuOpener.removeClass('hide') - } + if (apps.length === 0) { + sideMenu.removeClass('open') + sideMenuOpener.addClass('hide') + } else { + sideMenuOpener.removeClass('hide') + } + }) body.on('side-menu.ready', function() { @@ -65,4 +56,13 @@ sideMenu.removeClass('open'); }) }) + + body.append(sideMenuContainer) + sideMenuContainer.append(sideMenu) + + + sideMenuOpener.insertBefore('#nextcloud') + + sideMenuOpener.insertAfter('#nextcloud') + })(); diff --git a/templates/settings/admin-form.php b/templates/settings/admin-form.php index 20cdb31..ac1df82 100644 --- a/templates/settings/admin-form.php +++ b/templates/settings/admin-form.php @@ -151,6 +151,22 @@ $choicesSizes = [
+ +
+ +
+ +
+ +