Compare commits

...

52 Commits

Author SHA1 Message Date
Simon Vieille 6ce7d3223f Merge pull request 'release v3.10.2' (#272) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/272
2023-07-15 15:22:53 +02:00
Simon Vieille 33bb8646f4 release v3.10.2 2023-07-15 15:22:09 +02:00
Simon Vieille 6eb977dad5 Merge pull request 'release v3.10.1' (#271) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/271
2023-07-15 15:03:26 +02:00
Simon Vieille e571be5fcf release v3.10.1 2023-07-15 14:58:43 +02:00
Simon Vieille 432e0f175f Merge pull request 'use php7 syntax' (#270) from feature/issue269 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/270
2023-07-15 14:57:47 +02:00
Simon Vieille 022e8af6a2 update changelog 2023-07-15 14:53:04 +02:00
Simon Vieille b8a5a82fd2 fix #269: use php7 syntax 2023-07-15 14:50:15 +02:00
Simon Vieille 5f307cd046 Merge pull request 'release v3.10.0' (#268) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/268
2023-07-13 22:30:27 +02:00
Simon Vieille 8cd54eea19 release v3.10.0 2023-07-13 22:26:34 +02:00
Simon Vieille 072707772d update changelog 2023-07-11 17:48:45 +02:00
Simon Vieille 0b3d2d9781 Merge pull request 'Remove deprecated method' (#267) from vitormattos/side_menu:feature/remove-deprecated-method into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/267
2023-07-11 17:46:38 +02:00
Vitor Mattos 04af12691c Remove deprecated method
Fix the follow error:

```
Message: Call to undefined method OC_App::getNavigation() in file '/var/www/html/apps-extra/side_menu/lib/Service/AppRepository.php' line 54
```

Reference: https://github.com/nextcloud/server/commit/167763d3125779fc642f7b169389dea029bb73ed

Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-07-10 15:15:41 -03:00
Simon Vieille d2421f90bf Merge pull request 'release v3.9.1' (#266) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/266
2023-06-29 13:04:13 +02:00
Simon Vieille 0ea5a579a6 release v3.9.1 2023-06-29 12:54:49 +02:00
Simon Vieille b9c3543c61 Merge pull request 'fix top position of always opened menu' (#264) from fix/issue262 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/264
2023-06-29 12:53:02 +02:00
Simon Vieille 49979c858b fix top position of always opened menu
fix dashboard menu when using always opened menu
2023-06-23 15:37:03 +02:00
Simon Vieille b16da36507 Merge pull request 'release v3.9.0' (#263) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/263
2023-06-23 12:33:54 +02:00
Simon Vieille def1ec4aa7 release v3.8.0 2023-06-23 12:28:02 +02:00
Simon Vieille 40441a61ae update changelog 2023-06-23 12:27:34 +02:00
Simon Vieille ea3820904c Merge pull request 'fix app redirect' (#261) from fix/issue257 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/261
2023-06-17 15:21:54 +02:00
Simon Vieille dad7d8a964 Merge pull request 'add compatibility with nextcloud 27' (#260) from feature/issue256 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/260
2023-06-17 15:17:24 +02:00
Simon Vieille 32f1869828 add compatibility with nextcloud 27 2023-06-17 13:04:25 +02:00
Simon Vieille dd9fbcb654 fix default menu redirect (#257) 2023-06-17 12:59:45 +02:00
Simon Vieille a96e6e3c70 fix default menu redirect (#257) 2023-06-17 12:53:10 +02:00
Simon Vieille 29f0ead9cc Merge pull request 'release v3.8.0' (#255) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/255
2023-05-25 13:49:08 +02:00
Simon Vieille a5effe1fd3 release v3.8.0 2023-05-25 13:39:45 +02:00
Simon Vieille 13b6ae23c2 ci: remove check-code-quality 2023-05-25 13:39:21 +02:00
Simon Vieille 79ddb5fa47 Merge pull request 'add option to show hovered label only on top menu' (#254) from feature/issue253 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/254
2023-05-23 20:13:11 +02:00
Simon Vieille 1454dbba4d update changelog 2023-05-23 19:56:35 +02:00
Simon Vieille ee8ca7134c refactoring choices 2023-05-23 14:17:45 +02:00
Simon Vieille 93fef37033 add option to show hovered label only on top menu 2023-05-23 14:09:55 +02:00
Simon Vieille e1567b0689 Merge pull request 'v3.7.4' (#249) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/249
2023-04-16 18:05:46 +02:00
Simon Vieille 135f27cc32 release v3.7.4 2023-04-16 18:05:25 +02:00
Simon Vieille c5e1a8d37b Merge pull request 'fix Integrity failed' (#248) from fix/issue247 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/248
2023-04-16 18:03:04 +02:00
Simon Vieille 27f8888a90 update signature generation 2023-04-16 14:24:17 +02:00
Simon Vieille 6583883e2d update signature generation 2023-04-16 14:17:09 +02:00
Simon Vieille 0a556670b1 update signature generation 2023-04-16 14:16:18 +02:00
Simon Vieille aa139bc671 Merge pull request 'release v3.7.3' (#246) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/246
2023-04-14 21:13:10 +02:00
Simon Vieille b9264d7e05 release v3.7.3 2023-04-14 21:12:35 +02:00
Simon Vieille 88c14b6aec Merge pull request 'use app href for redirection' (#245) from fix/issue244 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/245
2023-04-14 21:11:29 +02:00
Simon Vieille 2be53211b8 Merge pull request 'add signature generation' (#243) from feature/issue240 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/243
2023-04-14 21:00:37 +02:00
Simon Vieille dca727c120 use app href for redirection (fix #244) 2023-04-14 20:58:56 +02:00
Simon Vieille 361badff6b update changelog 2023-03-31 17:06:30 +02:00
Simon Vieille 917288eb54 add signature generation
rename steps
2023-03-31 14:07:19 +02:00
Simon Vieille b133ba3a97 Merge pull request 'release of v3.7.2' (#238) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/238
2023-03-27 18:47:15 +02:00
Simon Vieille 2ff4fee927 Merge pull request 'changelog' (#237) from changelog into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/237
2023-03-27 18:36:34 +02:00
Simon Vieille b65c0c650a update app version 2023-03-27 18:35:59 +02:00
Simon Vieille 22335700ce Merge pull request 'update pipeline conditions allowing fix/*' (#234) from feature/ci into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/234
2023-03-27 18:35:12 +02:00
Simon Vieille 7ab2816bd9 update changelog 2023-03-27 18:34:50 +02:00
Simon Vieille 396d3cfbc5 Merge pull request 'load configuration and then retrieve apps in default side menu display' (#235) from feature/issue233 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/235
2023-03-27 18:34:21 +02:00
Simon Vieille 66e4d2989a update pipeline conditions allowing fix/* 2023-03-23 22:22:36 +01:00
Simon Vieille 9ccd11b6dc load configuration and then retrieve apps in default side menu display
fix #233
2023-03-23 22:17:05 +01:00
18 changed files with 188 additions and 67 deletions
+40 -20
View File
@@ -6,46 +6,66 @@ pipeline:
- npm i - npm i
when: when:
event: [tag, push, pull_request] event: [tag, push, pull_request]
branch: [master, develop, feature/*, translations] branch: [master, develop, feature/*, fix/*, translations]
osv_detector: osv-detector:
image: gitnet.fr/deblan/osv-detector:v0.10 image: gitnet.fr/deblan/osv-detector:v0.10
commands: commands:
- osv-detector package-lock.json - osv-detector package-lock.json
failure: ignore failure: ignore
build_js: build-js:
image: node:16 image: node:16
commands: commands:
- npm run build - npm run build
when: when:
branch: [master, develop, feature/*, translations] branch: [master, develop, feature/*, fix/*, translations]
event: [tag, push, pull_request] event: [tag, push, pull_request]
build_php: build-translations:
image: deblan/php:8.0 image: deblan/php:8.0
commands: commands:
- php bin/generate_l10n.php - php bin/generate_l10n.php
when: when:
branch: [master, develop, feature/*, translations] branch: [master, develop, feature/*, fix/*, translations]
event: [tag, push, pull_request] event: [tag, push, pull_request]
code_quality: create-signature:
image: sonarsource/sonar-scanner-cli image: nextcloud:25
secrets: [sonar_token, sonar_host, sonar_project] secrets: [app_certificate, app_public_certificate]
environment:
SQLITE_DATABASE: /var/www/data/data.db
NEXTCLOUD_ADMIN_USER: admin
NEXTCLOUD_ADMIN_PASSWORD: admin
commands: commands:
- sonar-scanner - echo "$APP_CERTIFICATE" > "/tmp/side_menu.key"
-Dsonar.projectKey=$SONAR_PROJECT - echo "$APP_PUBLIC_CERTIFICATE" > "/tmp/side_menu.crt"
-Dsonar.sources=. - mkdir /tmp/app
-Dsonar.host.url=$SONAR_HOST - cp -r README.md CHANGELOG.md appinfo css lib img l10n js src templates screenshots vendor /tmp/app
-Dsonar.pullrequest.key=$CI_COMMIT_PULL_REQUEST - /usr/src/nextcloud/occ integrity:sign-app
-Dsonar.pullrequest.branch=$CI_COMMIT_SOURCE_BRANCH --privateKey=/tmp/side_menu.key
-Dsonar.pullrequest.base=$CI_COMMIT_TARGET_BRANCH --certificate=/tmp/side_menu.crt
failure: ignore --path=/tmp/app
- mv /tmp/app/appinfo/signature.json appinfo/
when: when:
event: [pull_request] event: [tag]
package: # check-code-quality:
# image: sonarsource/sonar-scanner-cli
# secrets: [sonar_token, sonar_host, sonar_project]
# commands:
# - sonar-scanner
# -Dsonar.projectKey=$SONAR_PROJECT
# -Dsonar.sources=.
# -Dsonar.host.url=$SONAR_HOST
# -Dsonar.pullrequest.key=$CI_COMMIT_PULL_REQUEST
# -Dsonar.pullrequest.branch=$CI_COMMIT_SOURCE_BRANCH
# -Dsonar.pullrequest.base=$CI_COMMIT_TARGET_BRANCH
# failure: ignore
# when:
# event: [pull_request]
create-package:
image: deblan/php:8.0 image: deblan/php:8.0
volumes: volumes:
- /var/www/html/artifacts:/var/www/html/artifacts - /var/www/html/artifacts:/var/www/html/artifacts
@@ -61,7 +81,7 @@ pipeline:
when: when:
event: [tag] event: [tag]
release: push-release:
image: plugins/gitea-release image: plugins/gitea-release
volumes: volumes:
- /var/www/html/artifacts:/var/www/html/artifacts - /var/www/html/artifacts:/var/www/html/artifacts
+44
View File
@@ -1,5 +1,49 @@
## [Unreleased] ## [Unreleased]
## 3.10.2
### Fixed
* add missing properties
## 3.10.1
### Fixed
* fix #269: use php7 syntax
## 3.10.0
### Added
* add compatibility with NC28
### Fixed
* fix NC28 error: remove deprecated method `OC_App::getNavigation()`
## 3.9.1
### Fixed
* fix fixed menu on dashboard (#262)
## 3.9.0
### Added
* add compatibility with NC27
### Fixed
* fix app redirect (#261)
## 3.8.0
### Added
* add option to show hovered label only on top menu (fix #253)
## 3.7.4
### Fixed
* fix Integrity failed (#247)
## 3.7.3
### Fixed
* fix #244: use app href for redirection
### Added
* add signature on build
## 3.7.2
### Added
* update pipeline conditions allowing `fix/*`
### Fixed
* fix #233: load configuration and then retrieve apps in default side menu display
## 3.7.1 ## 3.7.1
### Fixed ### Fixed
* fix build process (#230) * fix build process (#230)
+2 -2
View File
@@ -32,7 +32,7 @@ Notice
Because I believe in a free and decentralized Internet, [Gitnet](https://gitnet.fr) is **self-hosted at home**. Because I believe in a free and decentralized Internet, [Gitnet](https://gitnet.fr) is **self-hosted at home**.
In case of downtime, you can download **Custom Menu** from [here](https://kim.deblan.fr/~side_menu/). In case of downtime, you can download **Custom Menu** from [here](https://kim.deblan.fr/~side_menu/).
]]></description> ]]></description>
<version>3.7.1</version> <version>3.10.2</version>
<licence>agpl</licence> <licence>agpl</licence>
<author mail="contact@deblan.fr" homepage="https://www.deblan.io/">Simon Vieille</author> <author mail="contact@deblan.fr" homepage="https://www.deblan.io/">Simon Vieille</author>
<namespace>SideMenu</namespace> <namespace>SideMenu</namespace>
@@ -54,7 +54,7 @@ In case of downtime, you can download **Custom Menu** from [here](https://kim.de
<screenshot>https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_big_menu.png</screenshot> <screenshot>https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_big_menu.png</screenshot>
<screenshot>https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_default_menu.png</screenshot> <screenshot>https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_default_menu.png</screenshot>
<dependencies> <dependencies>
<nextcloud min-version="25" max-version="26"/> <nextcloud min-version="25" max-version="28"/>
<php min-version="7.4"/> <php min-version="7.4"/>
</dependencies> </dependencies>
<settings> <settings>
+10 -1
View File
@@ -239,14 +239,23 @@
left: 50px; left: 50px;
} }
.side-menu-always-displayed #header {
position: absolute !important;
}
.side-menu-always-displayed #side-menu { .side-menu-always-displayed #side-menu {
display: block; display: block;
} }
.side-menu-always-displayed .side-menu-apps-list { .side-menu-always-displayed .side-menu-apps-list {
height: 100vh;
top: 0;
overflow: hidden;
}
.side-menu-always-displayed .side-menu-apps-list--with-settings {
height: calc(100vh - 49px); height: calc(100vh - 49px);
top: 49px; top: 49px;
overflow: hidden;
} }
.side-menu-always-displayed .side-menu-apps-list:hover { .side-menu-always-displayed .side-menu-apps-list:hover {
+17 -13
View File
@@ -74,33 +74,37 @@ class AppController extends Controller
$inTopMenuApps = in_array($app['id'], $topMenuApps); $inTopMenuApps = in_array($app['id'], $topMenuApps);
$inHiddenApps = in_array($app['id'], $hiddenApps); $inHiddenApps = in_array($app['id'], $hiddenApps);
if (!$inTopMenuApps || $inHiddenApps) { if (!$inTopMenuApps && $inHiddenApps) {
continue; continue;
} }
return $this->redirectToApp($app['id']); return $this->redirectToApp($app, true);
} }
return $this->redirectToApp('files'); return $this->redirectToApp('files');
} }
protected function redirectToApp($appId): RedirectResponse protected function redirectToApp($app, bool $isHref = false): RedirectResponse
{ {
$isIgnoreFrontController = true === OC::$server->getConfig()->getSystemValue( if (!$isHref) {
'htaccess.IgnoreFrontController', $isIgnoreFrontController = true === OC::$server->getConfig()->getSystemValue(
false 'htaccess.IgnoreFrontController',
); false
);
$isFrontControllerActive = 'true' === getenv('front_controller_active'); $isFrontControllerActive = 'true' === getenv('front_controller_active');
if ($isIgnoreFrontController || $isFrontControllerActive) { if ($isIgnoreFrontController || $isFrontControllerActive) {
$path = '/apps/%s/'; $path = '/apps/%s/';
} else {
$path = '/index.php/apps/%s/';
}
$url = $this->urlGenerator->getAbsoluteURL(sprintf($path, $app));
} else { } else {
$path = '/index.php/apps/%s/'; $url = $app['href'];
} }
$url = $this->urlGenerator->getAbsoluteURL(sprintf($path, $appId));
return new RedirectResponse($url); return new RedirectResponse($url);
} }
} }
+1 -1
View File
@@ -171,7 +171,7 @@ class JsController extends Controller
'avatar' => $avatar, 'avatar' => $avatar,
'top-menu-apps' => $topMenuApps, 'top-menu-apps' => $topMenuApps,
'top-side-menu-apps' => $topSideMenuApps, 'top-side-menu-apps' => $topSideMenuApps,
'top-menu-mouse-over-hidden-label' => $this->config->getAppValueBool( 'top-menu-mouse-over-hidden-label' => $this->config->getAppValueInt(
'top-menu-mouse-over-hidden-label', 'top-menu-mouse-over-hidden-label',
'0' '0'
), ),
+9 -1
View File
@@ -3,6 +3,7 @@
namespace OCA\SideMenu\Service; namespace OCA\SideMenu\Service;
use OC\User\User; use OC\User\User;
use OCP\INavigationManager;
use OCP\L10N\IFactory; use OCP\L10N\IFactory;
/** /**
@@ -32,8 +33,14 @@ class AppRepository
*/ */
protected $categoryRepository; protected $categoryRepository;
/**
* @var INavigationManager
*/
protected $navigationManager;
public function __construct( public function __construct(
\OC_App $ocApp, \OC_App $ocApp,
INavigationManager $navigationManager,
IFactory $l10nFactory, IFactory $l10nFactory,
ConfigProxy $config, ConfigProxy $config,
CategoryRepository $categoryRepository CategoryRepository $categoryRepository
@@ -41,6 +48,7 @@ class AppRepository
$this->ocApp = $ocApp; $this->ocApp = $ocApp;
$this->l10nFactory = $l10nFactory; $this->l10nFactory = $l10nFactory;
$this->config = $config; $this->config = $config;
$this->navigationManager = $navigationManager;
$this->categoryRepository = $categoryRepository; $this->categoryRepository = $categoryRepository;
} }
@@ -51,7 +59,7 @@ class AppRepository
*/ */
public function getVisibleApps() public function getVisibleApps()
{ {
$navigation = $this->ocApp->getNavigation(); $navigation = $this->navigationManager->getAll();
$appCategoriesCustom = $this->config->getAppValueArray('apps-categories-custom', '[]'); $appCategoriesCustom = $this->config->getAppValueArray('apps-categories-custom', '[]');
$categories = $this->categoryRepository->getOrderedCategories(); $categories = $this->categoryRepository->getOrderedCategories();
$apps = $this->ocApp->listAllApps(); $apps = $this->ocApp->listAllApps();
+22 -7
View File
@@ -24,14 +24,14 @@
<nav class="app-menu show"> <nav class="app-menu show">
<ul <ul
class="app-menu-main" class="app-menu-main"
:class="{ 'app-menu-main__hidden-label': hiddenLabels }" :class="{ 'app-menu-main__hidden-label': hiddenLabels === 1, 'app-menu-main__show-hovered': hiddenLabels === 2 }"
v-if="apps !== null" v-if="apps !== null"
> >
<li v-for="app in mainAppList()" <li v-for="app in mainAppList()"
:key="app.id" :key="app.id"
:data-app-id="app.id" :data-app-id="app.id"
class="app-menu-entry" class="app-menu-entry"
:class="{ 'app-menu-entry__active': app.active, 'app-menu-entry__hidden-label': hiddenLabels }" :class="{ 'app-menu-entry__active': app.active, 'app-menu-entry__hidden-label': hiddenLabels === 1, 'app-menu-main__show-hovered': hiddenLabels === 2 }"
:style="makeStyle(app)" :style="makeStyle(app)"
> >
<a :href="app.href" <a :href="app.href"
@@ -233,8 +233,8 @@ $header-icon-size: 20px;
overflow: hidden; overflow: hidden;
} }
&:not(.app-menu-entry__hidden-label):hover, &:not(.app-menu-entry__hidden-label):not(.app-menu-entry__show-hovered):hover,
&:not(.app-menu-entry__hidden-label):focus-within { &:not(.app-menu-entry__hidden-label):not(.app-menu-entry__show-hovered):focus-within {
opacity: 1; opacity: 1;
.app-menu-entry--label { .app-menu-entry--label {
opacity: 1; opacity: 1;
@@ -245,7 +245,6 @@ $header-icon-size: 20px;
overflow: visible; overflow: visible;
} }
} }
} }
// Show labels // Show labels
@@ -256,8 +255,8 @@ $header-icon-size: 20px;
opacity: 1; opacity: 1;
} }
&:not(.app-menu-main__hidden-label):hover, &:not(.app-menu-main__hidden-label):not(.app-menu-main__show-hovered):hover,
&:not(.app-menu-main__hidden-label):focus-within, &:not(.app-menu-main__hidden-label):not(.app-menu-main__show-hovered):focus-within,
.app-menu-entry:not(.app-menu-entry__hidden-label):hover, .app-menu-entry:not(.app-menu-entry__hidden-label):hover,
.app-menu-entry:not(.app-menu-entry__hidden-label):focus { .app-menu-entry:not(.app-menu-entry__hidden-label):focus {
img { img {
@@ -273,6 +272,22 @@ $header-icon-size: 20px;
opacity: 0; opacity: 0;
} }
} }
&.app-menu-main__show-hovered .app-menu-entry:hover,
&.app-menu-main__show-hovered .app-menu-entry:focus {
img {
margin-top: -6px;
}
.app-menu-entry--label {
opacity: 1;
bottom: 0;
}
&::before, .app-menu-entry::before {
opacity: 0;
}
}
} }
::v-deep .app-menu-more .button-vue--vue-tertiary { ::v-deep .app-menu-more .button-vue--vue-tertiary {
+28 -21
View File
@@ -16,7 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
--> -->
<template> <template>
<div id="side-menu"> <div id="side-menu">
<div class="side-menu-header"> <div class="side-menu-header" v-if="settings || !openerHover || (!avatar && !alwaysDisplayed && logo) || avatar">
<SettingsButton <SettingsButton
v-if="settings" v-if="settings"
v-bind:href="settings.href" v-bind:href="settings.href"
@@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<OpenerButton /> <OpenerButton />
<Logo <Logo
v-if="!avatar && logo" v-bind:classes="{'side-menu-logo': true, 'avatardiv': false}" v-if="!avatar && !alwaysDisplayed && logo" v-bind:classes="{'side-menu-logo': true, 'avatardiv': false}"
v-bind:image="logo" v-bind:image="logo"
v-bind:link="logoLink" v-bind:link="logoLink"
/> />
@@ -38,7 +38,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/> />
</div> </div>
<ul class="side-menu-apps-list"> <ul class="side-menu-apps-list" :class="{'side-menu-apps-list--with-settings': !!settings}">
<SideMenuApp <SideMenuApp
v-for="(app, key) in apps" v-for="(app, key) in apps"
v-if="!hiddenApps.includes(app.id)" v-if="!hiddenApps.includes(app.id)"
@@ -79,6 +79,8 @@ export default {
targetBlankApps: [], targetBlankApps: [],
hiddenApps: [], hiddenApps: [],
settings: null, settings: null,
openerHover: false,
alwaysDisplayed: false,
} }
}, },
methods: { methods: {
@@ -93,7 +95,11 @@ export default {
for (let id in ncApps) { for (let id in ncApps) {
if (window.topMenuApps.includes(id) && !window.topSideMenuApps.includes(id)) { if (window.topMenuApps.includes(id) && !window.topSideMenuApps.includes(id)) {
continue; continue
}
if (this.hiddenApps.includes(id)) {
continue
} }
let app = ncApps[id] let app = ncApps[id]
@@ -104,10 +110,10 @@ export default {
finalApps.sort((a, b) => { finalApps.sort((a, b) => {
if (a.order === null || b.order === null) { if (a.order === null || b.order === null) {
return a.name < b.name ? -1 : 1; return a.name < b.name ? -1 : 1
} }
return a.order < b.order ? -1 : 1; return a.order < b.order ? -1 : 1
}) })
this.apps = finalApps this.apps = finalApps
@@ -118,24 +124,25 @@ export default {
}, },
retrieveConfig() { retrieveConfig() {
axios
.get(OC.generateUrl('/apps/side_menu/js/config'))
.then((response) => {
const config = response.data
this.targetBlankApps = config['target-blank-apps']
this.forceLightIcon = config['force-light-icon']
this.avatar = config['avatar']
this.logo = config['logo']
this.logoLink = config['logo-link']
this.settings = config['settings']
this.hiddenApps = config['big-menu-hidden-apps']
})
}, },
}, },
mounted() { mounted() {
this.retrieveConfig() axios
this.retrieveApps() .get(OC.generateUrl('/apps/side_menu/js/config'))
.then((response) => {
const config = response.data
this.targetBlankApps = config['target-blank-apps']
this.forceLightIcon = config['force-light-icon']
this.avatar = config['avatar']
this.logo = config['logo']
this.logoLink = config['logo-link']
this.settings = config['settings']
this.openerHover = config['opener-hover']
this.alwaysDisplayed = config['always-displayed']
this.hiddenApps = config['big-menu-hidden-apps']
this.retrieveApps()
})
} }
} }
</script> </script>
+1
View File
@@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Aplikace ponechané v horní nabídce ale také zobrazené v té boční" "Applications kept in the top menu but also shown in side menu": "Aplikace ponechané v horní nabídce ale také zobrazené v té boční"
"These applications must be selected in the previous option.": "Tyto aplikace je třeba vybrat v předchozí volbě." "These applications must be selected in the previous option.": "Tyto aplikace je třeba vybrat v předchozí volbě."
"Hide labels on mouse over": "Skrýt popisky při najetím ukazatele myši" "Hide labels on mouse over": "Skrýt popisky při najetím ukazatele myši"
"Except the hovered app": "Except the hovered app"
+1
View File
@@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu" "Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu"
"These applications must be selected in the previous option.": "These applications must be selected in the previous option." "These applications must be selected in the previous option.": "These applications must be selected in the previous option."
"Hide labels on mouse over": "Hide labels on mouse over" "Hide labels on mouse over": "Hide labels on mouse over"
"Except the hovered app": "Except the hovered app"
+1
View File
@@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Las aplicaciones se mantienen en el menú superior pero también se muestran en el menú lateral" "Applications kept in the top menu but also shown in side menu": "Las aplicaciones se mantienen en el menú superior pero también se muestran en el menú lateral"
"These applications must be selected in the previous option.": "Estas aplicaciones deben ser seleccionadas en las opciones anteriores." "These applications must be selected in the previous option.": "Estas aplicaciones deben ser seleccionadas en las opciones anteriores."
"Hide labels on mouse over": "Ocultar las etiquetas al pasar el ratón" "Hide labels on mouse over": "Ocultar las etiquetas al pasar el ratón"
"Except the hovered app": "Except the hovered app"
+1
View File
@@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Applications conservées dans le menu supérieur mais également affichées dans le menu latéral" "Applications kept in the top menu but also shown in side menu": "Applications conservées dans le menu supérieur mais également affichées dans le menu latéral"
"These applications must be selected in the previous option.": "Ces applications doivent également être sélectionnées dans l'option précédente." "These applications must be selected in the previous option.": "Ces applications doivent également être sélectionnées dans l'option précédente."
"Hide labels on mouse over": "Masquer le libellé des applications au passage de la souris" "Hide labels on mouse over": "Masquer le libellé des applications au passage de la souris"
"Except the hovered app": "À l'exception de l'application survolée"
+1
View File
@@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Applicaties blijven in het topmenu maar worden ook in het zijmenu getoond" "Applications kept in the top menu but also shown in side menu": "Applicaties blijven in het topmenu maar worden ook in het zijmenu getoond"
"These applications must be selected in the previous option.": "Deze toepassingen moeten bij de vorige optie zijn geselecteerd." "These applications must be selected in the previous option.": "Deze toepassingen moeten bij de vorige optie zijn geselecteerd."
"Hide labels on mouse over": "Hide labels on mouse over" "Hide labels on mouse over": "Hide labels on mouse over"
"Except the hovered app": "Except the hovered app"
+1
View File
@@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu" "Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu"
"These applications must be selected in the previous option.": "These applications must be selected in the previous option." "These applications must be selected in the previous option.": "These applications must be selected in the previous option."
"Hide labels on mouse over": "Скрыть название при наведении мыши" "Hide labels on mouse over": "Скрыть название при наведении мыши"
"Except the hovered app": "Except the hovered app"
+1
View File
@@ -93,3 +93,4 @@
"Applications kept in the top menu but also shown in side menu": "" "Applications kept in the top menu but also shown in side menu": ""
"These applications must be selected in the previous option.": "" "These applications must be selected in the previous option.": ""
"Hide labels on mouse over": "" "Hide labels on mouse over": ""
"Except the hovered app": ""
+1
View File
@@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu" "Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu"
"These applications must be selected in the previous option.": "These applications must be selected in the previous option." "These applications must be selected in the previous option.": "These applications must be selected in the previous option."
"Hide labels on mouse over": "Hide labels on mouse over" "Hide labels on mouse over": "Hide labels on mouse over"
"Except the hovered app": "Except the hovered app"
+7 -1
View File
@@ -878,9 +878,15 @@ $labelAlwaysDisplayed = 'Always displayed';
<div class="side-menu-setting-label"> <div class="side-menu-setting-label">
<?php p($l->t('Hide labels on mouse over')); ?> <?php p($l->t('Hide labels on mouse over')); ?>
</div> </div>
<?php
$choices = array_merge(
$choicesYesNo,
['Except the hovered app' => '2']
);
?>
<div class="side-menu-setting-form"> <div class="side-menu-setting-form">
<select id="side-menu-top-menu-mouse-over-hidden-label" name="top-menu-mouse-over-hidden-label" class="side-menu-setting"> <select id="side-menu-top-menu-mouse-over-hidden-label" name="top-menu-mouse-over-hidden-label" class="side-menu-setting">
<?php foreach ($choicesYesNo as $label => $value): ?> <?php foreach ($choices as $label => $value): ?>
<option value="<?php echo $value ?>" <?php if ($value === $_['top-menu-mouse-over-hidden-label']): ?>selected<?php endif; ?>> <option value="<?php echo $value ?>" <?php if ($value === $_['top-menu-mouse-over-hidden-label']): ?>selected<?php endif; ?>>
<?php echo $l->t($label); ?> <?php echo $l->t($label); ?>
</option> </option>