Browse Source

add loader

tags/v1.7.0
Simon Vieille 1 week ago
parent
commit
dcc19f5b23
Signed by: deblan <simon@deblan.fr> GPG Key ID: 03383D15A1D31745
6 changed files with 67 additions and 0 deletions
  1. +15
    -0
      css/sideMenu.css
  2. +1
    -0
      lib/Controller/CssController.php
  3. +1
    -0
      lib/Controller/JsController.php
  4. +2
    -0
      lib/Settings/Admin.php
  5. +18
    -0
      templates/js/script.php
  6. +30
    -0
      templates/settings/admin-form.php

+ 15
- 0
css/sideMenu.css View File

@@ -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;
}

+ 1
- 0
lib/Controller/CssController.php View File

@@ -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'),
],


+ 1
- 0
lib/Controller/JsController.php View File

@@ -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');


+ 2
- 0
lib/Settings/Admin.php View File

@@ -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'),


+ 18
- 0
templates/js/script.php View File

@@ -90,6 +90,24 @@
body.append(sideMenuContainer)
sideMenuContainer.append(sideMenu)

<?php if ($_['loader-enabled'] === true): ?>
var pageLoader = $('<div id="side-menu-loader">')
var pageLoaderBar = $('<div id="side-menu-loader-bar">')

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)
})
<?php endif; ?>

<?php if ($_['opener-position'] === 'before'): ?>
sideMenuOpener.insertBefore('#nextcloud')
<?php else: ?>


+ 30
- 0
templates/settings/admin-form.php View File

@@ -102,6 +102,20 @@ $choicesSizes = [
<?php endforeach; ?>
</select>
</div>

<div>
<label for="side-menu-text-color" class="settings-hint">
<?php p($l->t('Loader')); ?>
</label>
</div>
<div>
<input
id="side-menu-loader-color"
name="loader-color"
type="color"
class="side-menu-setting"
value="<?php print_unescaped($_['loader-color']); ?>">
</div>
</div>

<div class="section">
@@ -257,6 +271,22 @@ $choicesSizes = [
</div>

<div>
<label for="side-menu-loader-enabled" class="settings-hint">
<?php p($l->t('Loader enabled')); ?>
</label>
</div>

<div>
<select id="side-menu-loader-enabled" name="loader-enabled" class="side-menu-setting">
<?php foreach ($choicesYesNo as $label => $value): ?>
<option value="<?php echo $value ?>" <?php if ($value === $_['loader-enabled']): ?>selected<?php endif; ?>>
<?php echo $l->t($label); ?>
</option>
<?php endforeach; ?>
</select>
</div>

<div>
<label for="side-menu-external-sites-in-top-menu" class="settings-hint">
<?php p($l->t('Do not move external sites in the side menu')); ?>
<small><span class="warning">Experimental</span></small>


Loading…
Cancel
Save