From 3da1830f58bde779147879187ff2d8fecc57efa5 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Thu, 3 Sep 2020 09:46:39 +0200 Subject: [PATCH] fix #21: add on option to always display the menu on the left --- css/sideMenu.css | 52 ++++++++++++++++++++++++++++++-- lib/Controller/CssController.php | 1 + lib/Controller/JsController.php | 1 + lib/Settings/Admin.php | 1 + src/l10n/fixtures/de.yaml | 4 +++ src/l10n/fixtures/fr.yaml | 4 +++ 6 files changed, 61 insertions(+), 2 deletions(-) diff --git a/css/sideMenu.css b/css/sideMenu.css index 4cac9e6..8fb0a6e 100644 --- a/css/sideMenu.css +++ b/css/sideMenu.css @@ -50,8 +50,8 @@ display: none; } -#side-menu.hide-opener .side-menu-opener, .side-menu-opener.hide { - display: none; +#side-menu.hide-opener .side-menu-opener, .side-menu-opener.hide, #side-menu.hide { + display: none !important; } .side-menu-apps-list { @@ -180,6 +180,54 @@ margin-top: -2px; } +.side-menu-always-displayed #header, +.side-menu-always-displayed body { + width: calc(100% - 50px) !important; +} + +.side-menu-always-displayed body { + position: absolute; + left: 50px; +} + +.side-menu-always-displayed #side-menu { + display: block; +} + +.side-menu-always-displayed .side-menu-apps-list { + top: 49px; +} + +.side-menu-always-displayed #side-menu, +.side-menu-always-displayed .side-menu-header, +.side-menu-always-displayed .side-menu-apps-list { + width: 50px; +} + +.side-menu-always-displayed #side-menu .side-menu-app-text, +.side-menu-always-displayed #header .side-menu-opener, +.side-menu-always-displayed .side-menu-logo { + display: none; +} + +.side-menu-always-displayed #side-menu.open, +.side-menu-always-displayed #side-menu.open .side-menu-apps-list, +.side-menu-always-displayed #side-menu.open .side-menu-header, +.side-menu-always-displayed #side-menu:hover, +.side-menu-always-displayed #side-menu:hover .side-menu-apps-list, +.side-menu-always-displayed #side-menu:hover .side-menu-header { + width: 100%; +} + +.side-menu-always-displayed #side-menu.open .side-menu-app-text, +.side-menu-always-displayed #side-menu:hover .side-menu-app-text { + display: inline; +} + +.side-menu-always-displayed .app-navigation--close { + transform: translateX(calc(-100% + 50px)) !important; +} + @media screen and (max-width: 1024px) { #side-menu.side-menu-big { max-width: 290px; diff --git a/lib/Controller/CssController.php b/lib/Controller/CssController.php index 74b5895..bc1e6d8 100644 --- a/lib/Controller/CssController.php +++ b/lib/Controller/CssController.php @@ -82,6 +82,7 @@ class CssController extends Controller 'external-sites-in-top-menu' => (bool) $this->config->getAppValue('side_menu', 'external-sites-in-top-menu', 0), 'size-icon' => $this->config->getAppValue('side_menu', 'size-icon', 'normal'), 'size-text' => $this->config->getAppValue('side_menu', 'size-text', 'normal'), + 'always-displayed' => (bool) $this->config->getAppValue('side_menu', 'always-displayed', '0'), 'big-menu' => (bool) $this->config->getAppValue('side_menu', 'big-menu', '0'), 'top-menu-apps' => $topMenuApps, ]; diff --git a/lib/Controller/JsController.php b/lib/Controller/JsController.php index 71667b8..d7dce2c 100644 --- a/lib/Controller/JsController.php +++ b/lib/Controller/JsController.php @@ -70,6 +70,7 @@ class JsController extends Controller 'force-light-icon' => (bool) $this->config->getAppValue('side_menu', 'force-light-icon', '0'), 'hide-when-no-apps' => (bool) $this->config->getAppValue('side_menu', 'hide-when-no-apps', '0'), 'loader-enabled' => (bool) $this->config->getAppValue('side_menu', 'loader-enabled', '1'), + 'always-displayed' => (bool) $this->config->getAppValue('side_menu', 'always-displayed', '0'), 'big-menu' => (bool) $this->config->getAppValue('side_menu', 'big-menu', '0'), 'top-menu-apps' => $topMenuApps, ]; diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php index 681bde2..3b8dbbd 100644 --- a/lib/Settings/Admin.php +++ b/lib/Settings/Admin.php @@ -74,6 +74,7 @@ class Admin implements ISettings 'text-color' => $this->config->getAppValue('side_menu', 'text-color', '#FFFFFF'), 'cache' => $this->config->getAppValue('side_menu', 'cache', '0'), 'opener' => $this->config->getAppValue('side_menu', 'opener', 'side-menu-opener'), + 'always-displayed' => $this->config->getAppValue('side_menu', 'always-displayed', '0'), 'big-menu' => $this->config->getAppValue('side_menu', 'big-menu', '0'), 'display-logo' => $this->config->getAppValue('side_menu', 'display-logo', '1'), 'opener-position' => $this->config->getAppValue('side_menu', 'opener-position', 'before'), diff --git a/src/l10n/fixtures/de.yaml b/src/l10n/fixtures/de.yaml index 361dc26..f1fb2b5 100644 --- a/src/l10n/fixtures/de.yaml +++ b/src/l10n/fixtures/de.yaml @@ -46,3 +46,7 @@ "Icons and texts": "Symbole und Texte" "Loader enabled": "Loader aktiviert" "Tips": "Tipps" +"Always displayed": "Wird immer angezeigt" +"The logo will be hidden when the menu is always displayed.": "Das Logo wird ausgeblendet, wenn das Menü immer angezeigt wird." +"This is the automatic behavior when the menu is always displayed.": "Dies ist das automatische Verhalten, wenn das Menü immer angezeigt wird." +"Not compatible with touch screens.": "Nicht kompatibel mit Touchscreens." diff --git a/src/l10n/fixtures/fr.yaml b/src/l10n/fixtures/fr.yaml index f2653a8..285b294 100644 --- a/src/l10n/fixtures/fr.yaml +++ b/src/l10n/fixtures/fr.yaml @@ -46,3 +46,7 @@ "Icons and texts": "Icônes et textes" "Loader enabled": "Activation de l'indicateur de chargement" "Tips": "Astuces" +"Always displayed": "Toujours affiché" +"The logo will be hidden when the menu is always displayed.": "Le logo sera masque si le menu est toujours affiché." +"This is the automatic behavior when the menu is always displayed.": "C'est le comportement automatique lorsque le menu est toujours affiché." +"Not compatible with touch screens.": "Incompatible avec les écrans tactiles."