From dcc19f5b23c79bc55daab7c71a9048c7519f98e8 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Tue, 19 May 2020 15:17:54 +0200 Subject: [PATCH] add loader --- css/sideMenu.css | 15 +++++++++++++++ lib/Controller/CssController.php | 1 + lib/Controller/JsController.php | 1 + lib/Settings/Admin.php | 2 ++ templates/js/script.php | 18 ++++++++++++++++++ templates/settings/admin-form.php | 30 ++++++++++++++++++++++++++++++ 6 files changed, 67 insertions(+) diff --git a/css/sideMenu.css b/css/sideMenu.css index 1204225..b4c41c1 100644 --- a/css/sideMenu.css +++ b/css/sideMenu.css @@ -107,3 +107,18 @@ #side-menu.hide-opener .side-menu-logo { margin-top: 20px; } + +#side-menu-loader { + position: fixed; + top: 0; + left: 0; + width: 100%; + z-index: 3001; +} + +#side-menu-loader-bar { + height: 4px; + background: var(--side-menu-loader-color, #0e75ac); + width: 0; + transition-property: width; +} diff --git a/lib/Controller/CssController.php b/lib/Controller/CssController.php index 2edd975..b950115 100644 --- a/lib/Controller/CssController.php +++ b/lib/Controller/CssController.php @@ -61,6 +61,7 @@ class CssController extends Controller 'background-color' => $backgroundColor, 'background-color-to' => $backgroundColorTo, 'current-app-background-color' => $this->config->getAppValue('side_menu', 'current-app-background-color', '#444444'), + 'loader-color' => $this->config->getAppValue('side_menu', 'loader-color', '#0e75ac'), 'text-color' => $this->config->getAppValue('side_menu', 'text-color', '#FFFFFF'), 'opener' => $this->config->getAppValue('side_menu', 'opener', 'side-menu-opener'), ], diff --git a/lib/Controller/JsController.php b/lib/Controller/JsController.php index e4ddce3..49eee72 100644 --- a/lib/Controller/JsController.php +++ b/lib/Controller/JsController.php @@ -59,6 +59,7 @@ class JsController extends Controller 'external-sites-in-top-menu' => (bool) $this->config->getAppValue('side_menu', 'external-sites-in-top-menu', 0), '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'), ]; $response = new TemplateResponse('side_menu', 'js/script', $parameters, 'blank'); diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php index d224ed9..f368bfa 100644 --- a/lib/Settings/Admin.php +++ b/lib/Settings/Admin.php @@ -60,6 +60,8 @@ class Admin implements ISettings 'background-color' => $backgroundColor, 'background-color-to' => $backgroundColorTo, 'current-app-background-color' => $this->config->getAppValue('side_menu', 'current-app-background-color', '#444444'), + 'loader-color' => $this->config->getAppValue('side_menu', 'loader-color', '#0e75ac'), + 'loader-enabled' => $this->config->getAppValue('side_menu', 'loader-enabled', '1'), 'text-color' => $this->config->getAppValue('side_menu', 'text-color', '#FFFFFF'), 'force-light-icon' => $this->config->getAppValue('side_menu', 'force-light-icon', '0'), 'cache' => $this->config->getAppValue('side_menu', 'cache', '0'), diff --git a/templates/js/script.php b/templates/js/script.php index b3385b1..66695e2 100644 --- a/templates/js/script.php +++ b/templates/js/script.php @@ -90,6 +90,24 @@ body.append(sideMenuContainer) sideMenuContainer.append(sideMenu) + + var pageLoader = $('
') + var pageLoaderBar = $('
') + + body.append(pageLoader) + pageLoader.append(pageLoaderBar) + + var pageLoaderValue = 0 + + $(window).on('beforeunload', function() { + setInterval(function() { + pageLoaderBar.width(pageLoaderValue.toString() + '%') + + pageLoaderValue = Math.min(pageLoaderValue + .2, 100) + }, 25) + }) + + sideMenuOpener.insertBefore('#nextcloud') diff --git a/templates/settings/admin-form.php b/templates/settings/admin-form.php index 6ab0b0a..a5dc23a 100644 --- a/templates/settings/admin-form.php +++ b/templates/settings/admin-form.php @@ -102,6 +102,20 @@ $choicesSizes = [
+ +
+ +
+
+ +
@@ -256,6 +270,22 @@ $choicesSizes = [
+
+ +
+ +
+ +
+