add opener-position option (issue #3)

This commit is contained in:
Simon Vieille 2020-04-20 14:04:06 +02:00
parent 84c78538f0
commit 457bfc282b
Signed by: deblan
GPG Key ID: 03383D15A1D31745
5 changed files with 149 additions and 103 deletions

View File

@ -52,6 +52,7 @@ class JsController extends Controller
public function script() public function script()
{ {
$parameters = [ $parameters = [
'opener-position' => $this->config->getAppValue('side_menu', 'opener-position', 'before'),
'opener-hover' => (bool) $this->config->getAppValue('side_menu', 'opener-hover', '0'), 'opener-hover' => (bool) $this->config->getAppValue('side_menu', 'opener-hover', '0'),
]; ];

View File

@ -54,6 +54,7 @@ class Admin implements ISettings
'cache' => $this->config->getAppValue('side_menu', 'cache', '0'), 'cache' => $this->config->getAppValue('side_menu', 'cache', '0'),
'opener' => $this->config->getAppValue('side_menu', 'opener', 'side-menu-opener'), 'opener' => $this->config->getAppValue('side_menu', 'opener', 'side-menu-opener'),
'display-logo' => $this->config->getAppValue('side_menu', 'display-logo', '1'), 'display-logo' => $this->config->getAppValue('side_menu', 'display-logo', '1'),
'opener-position' => $this->config->getAppValue('side_menu', 'opener-position', 'before'),
'opener-hover' => $this->config->getAppValue('side_menu', 'opener-hover', '0'), 'opener-hover' => $this->config->getAppValue('side_menu', 'opener-hover', '0'),
]; ];

View File

@ -20,6 +20,7 @@ const elements = [
'side-menu-current-app-background-color', 'side-menu-current-app-background-color',
'side-menu-text-color', 'side-menu-text-color',
'side-menu-opener', 'side-menu-opener',
'side-menu-opener-position',
'side-menu-opener-hover', 'side-menu-opener-hover',
'side-menu-display-logo', 'side-menu-display-logo',
'side-menu-cache', 'side-menu-cache',

View File

@ -7,7 +7,12 @@
body.append(sideMenuContainer) body.append(sideMenuContainer)
sideMenuContainer.append(sideMenu) sideMenuContainer.append(sideMenu)
sideMenuOpener.insertBefore('#nextcloud')
<?php if ($_['opener-position'] === 'before'): ?>
sideMenuOpener.insertBefore('#nextcloud')
<?php else: ?>
sideMenuOpener.insertAfter('#nextcloud')
<?php endif; ?>
var isTouchDevice = window.matchMedia("(pointer: coarse)").matches var isTouchDevice = window.matchMedia("(pointer: coarse)").matches

View File

@ -19,115 +19,153 @@
script('side_menu', 'admin'); script('side_menu', 'admin');
style('side_menu', 'admin'); style('side_menu', 'admin');
$choicesYesNo = [
'No' => '0',
'Yes' => '1',
];
?> ?>
<div id="side-menu-section" class="section"> <div id="side-menu-section">
<h2 class="inlineblock"><?php p($l->t('Side menu settings')); ?></h2> <div class="section">
<h2>
<?php p($l->t('Colors')); ?>
</h2>
<div> <div>
<label for="side-menu-background-color" class="settings-hint"> <label for="side-menu-background-color" class="settings-hint">
<?php p($l->t('Background color')); ?> <?php p($l->t('Background color')); ?>
</label> </label>
</div>
<div>
<input
id="side-menu-background-color"
name="background-color"
type="color"
value="<?php print_unescaped($_['background-color']); ?>">
</div>
<div>
<label for="side-menu-current-app-background-color" class="settings-hint">
<?php p($l->t('Background color of current app')); ?>
</label>
</div>
<div>
<input
id="side-menu-current-app-background-color"
name="current-app-background-color"
type="color"
value="<?php print_unescaped($_['current-app-background-color']); ?>">
</div>
<div>
<label for="side-menu-text-color" class="settings-hint">
<?php p($l->t('Text color')); ?>
</label>
</div>
<div>
<input
id="side-menu-text-color"
name="text-color"
type="color"
value="<?php print_unescaped($_['text-color']); ?>">
</div>
</div> </div>
<div>
<input <div class="section">
id="side-menu-background-color" <h2>
name="background-color" <?php p($l->t('Opener')); ?>
type="color" </h2>
value="<?php print_unescaped($_['background-color']); ?>">
<?php
$choices = [
'Default' => 'side-menu-opener',
'Hamburger' => 'side-menu-opener-hamburger',
];
?>
<div>
<label for="side-menu-opener" class="settings-hint">
<?php p($l->t('Icon')); ?>
</label>
</div>
<div>
<select id="side-menu-opener" name="opener">
<?php foreach ($choices as $label => $value): ?>
<option value="<?php echo $value ?>" <?php if ($value === $_['opener']): ?>selected<?php endif; ?>>
<?php echo $l->t($label); ?>
</option>
<?php endforeach; ?>
</select>
</div>
<?php
$choices = [
'Before the logo' => 'before',
'After the logo' => 'after',
];
?>
<div>
<label for="side-menu-opener-position" class="settings-hint">
<?php p($l->t('Position')); ?>
</label>
</div>
<div>
<select id="side-menu-opener-position" name="opener-position">
<?php foreach ($choices as $label => $value): ?>
<option value="<?php echo $value ?>" <?php if ($value === $_['opener-position']): ?>selected<?php endif; ?>>
<?php echo $l->t($label); ?>
</option>
<?php endforeach; ?>
</select>
</div>
</div> </div>
<div> <div class="section">
<label for="side-menu-current-app-background-color" class="settings-hint"> <h2>
<?php p($l->t('Background color of current app')); ?> <?php p($l->t('Panel')); ?>
</label> </h2>
</div>
<div> <div>
<input <label for="side-menu-opener" class="settings-hint">
id="side-menu-current-app-background-color" <?php p($l->t('Open the menu when the mouse is hover the opener (automatically disabled on touch screens)')); ?>
name="current-app-background-color" </label>
type="color" </div>
value="<?php print_unescaped($_['current-app-background-color']); ?>">
<div>
<select id="side-menu-opener-hover" name="opener-hover">
<?php foreach ($choicesYesNo as $label => $value): ?>
<option value="<?php echo $value ?>" <?php if ($value === $_['opener-hover']): ?>selected<?php endif; ?>>
<?php echo $l->t($label); ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div>
<label for="side-menu-opener" class="settings-hint">
<?php p($l->t('Display the logo')); ?>
</label>
</div>
<div>
<select id="side-menu-display-logo" name="display-logo">
<?php foreach ($choicesYesNo as $label => $value): ?>
<option value="<?php echo $value ?>" <?php if ($value === $_['display-logo']): ?>selected<?php endif; ?>>
<?php echo $l->t($label); ?>
</option>
<?php endforeach; ?>
</select>
</div>
</div> </div>
<div> <div class="section">
<label for="side-menu-text-color" class="settings-hint"> <input type="hidden" id="side-menu-cache" name="cache" value="<?php print_unescaped($_['cache']); ?>">
<?php p($l->t('Text color')); ?>
</label> <button id="side-menu-save" class="btn btn-primary"><?php p($l->t('Save')); ?></button>
<span id="side-menu-message" class="msg"></span>
</div> </div>
<div>
<input
id="side-menu-text-color"
name="text-color"
type="color"
value="<?php print_unescaped($_['text-color']); ?>">
</div>
<?php
$choices = [
'Default' => 'side-menu-opener',
'Hamburger' => 'side-menu-opener-hamburger',
];
?>
<div>
<label for="side-menu-opener" class="settings-hint">
<?php p($l->t('Opener icon')); ?>
</label>
</div>
<div>
<select id="side-menu-opener" name="opener">
<?php foreach ($choices as $label => $value): ?>
<option value="<?php echo $value ?>" <?php if ($value === $_['opener']): ?>selected<?php endif; ?>>
<?php echo $l->t($label); ?>
</option>
<?php endforeach; ?>
</select>
</div>
<?php
$choices = [
'No' => '0',
'Yes' => '1',
];
?>
<div>
<label for="side-menu-opener" class="settings-hint">
<?php p($l->t('Display the logo')); ?>
</label>
</div>
<div>
<select id="side-menu-display-logo" name="display-logo">
<?php foreach ($choices as $label => $value): ?>
<option value="<?php echo $value ?>" <?php if ($value === $_['display-logo']): ?>selected<?php endif; ?>>
<?php echo $l->t($label); ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div>
<label for="side-menu-opener" class="settings-hint">
<?php p($l->t('Open the menu when the mouse is hover the opener (automatically disabled on touch screens)')); ?>
</label>
</div>
<div>
<select id="side-menu-opener-hover" name="opener-hover">
<?php foreach ($choices as $label => $value): ?>
<option value="<?php echo $value ?>" <?php if ($value === $_['opener-hover']): ?>selected<?php endif; ?>>
<?php echo $l->t($label); ?>
</option>
<?php endforeach; ?>
</select>
</div>
<input type="hidden" id="side-menu-cache" name="cache" value="<?php print_unescaped($_['cache']); ?>">
<button id="side-menu-save" class="btn btn-primary"><?php p($l->t('Save')); ?></button>
<span id="side-menu-message" class="msg"></span>
</div> </div>