aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2020-07-09 10:52:19 +0200
committerGitHub <noreply@github.com>2020-07-09 10:52:19 +0200
commit8f4d5334f4c392a5571c8f96292ae80fa9bbc177 (patch)
treeea062f9963442f63886fc294fb6800f6b1a9b15d
parentb2c6e219a2cfd8cb666b89bcbdc59490ff8fa598 (diff)
parent1cf3280c8e7efb4d9072ce4b57e99581cdeec744 (diff)
downloadnextcloud-server-8f4d5334f4c392a5571c8f96292ae80fa9bbc177.tar.gz
nextcloud-server-8f4d5334f4c392a5571c8f96292ae80fa9bbc177.zip
Merge pull request #21767 from nextcloud/enh/lazy_register_navigation
Lazy register the navigation
-rw-r--r--apps/files/lib/AppInfo/Application.php50
-rw-r--r--apps/files_sharing/lib/AppInfo/Application.php109
2 files changed, 84 insertions, 75 deletions
diff --git a/apps/files/lib/AppInfo/Application.php b/apps/files/lib/AppInfo/Application.php
index 5e473c411ee..9500f91fdf9 100644
--- a/apps/files/lib/AppInfo/Application.php
+++ b/apps/files/lib/AppInfo/Application.php
@@ -153,28 +153,34 @@ class Application extends App implements IBootstrap {
private function registerNavigation(IBootContext $context): void {
/** @var IL10N $l10n */
$l10n = $context->getAppContainer()->query(IL10N::class);
- \OCA\Files\App::getNavigationManager()->add([
- 'id' => 'files',
- 'appname' => 'files',
- 'script' => 'list.php',
- 'order' => 0,
- 'name' => $l10n->t('All files')
- ]);
- \OCA\Files\App::getNavigationManager()->add([
- 'id' => 'recent',
- 'appname' => 'files',
- 'script' => 'recentlist.php',
- 'order' => 2,
- 'name' => $l10n->t('Recent')
- ]);
- \OCA\Files\App::getNavigationManager()->add([
- 'id' => 'favorites',
- 'appname' => 'files',
- 'script' => 'simplelist.php',
- 'order' => 5,
- 'name' => $l10n->t('Favorites'),
- 'expandedState' => 'show_Quick_Access'
- ]);
+ \OCA\Files\App::getNavigationManager()->add(function () use ($l10n) {
+ return [
+ 'id' => 'files',
+ 'appname' => 'files',
+ 'script' => 'list.php',
+ 'order' => 0,
+ 'name' => $l10n->t('All files')
+ ];
+ });
+ \OCA\Files\App::getNavigationManager()->add(function () use ($l10n) {
+ return [
+ 'id' => 'recent',
+ 'appname' => 'files',
+ 'script' => 'recentlist.php',
+ 'order' => 2,
+ 'name' => $l10n->t('Recent')
+ ];
+ });
+ \OCA\Files\App::getNavigationManager()->add(function () use ($l10n) {
+ return [
+ 'id' => 'favorites',
+ 'appname' => 'files',
+ 'script' => 'simplelist.php',
+ 'order' => 5,
+ 'name' => $l10n->t('Favorites'),
+ 'expandedState' => 'show_Quick_Access'
+ ];
+ });
}
private function registerHooks(): void {
diff --git a/apps/files_sharing/lib/AppInfo/Application.php b/apps/files_sharing/lib/AppInfo/Application.php
index 98515409186..34cde50c438 100644
--- a/apps/files_sharing/lib/AppInfo/Application.php
+++ b/apps/files_sharing/lib/AppInfo/Application.php
@@ -161,72 +161,75 @@ class Application extends App {
protected function setupSharingMenus() {
$config = \OC::$server->getConfig();
- $l = \OC::$server->getL10N('files_sharing');
if ($config->getAppValue('core', 'shareapi_enabled', 'yes') !== 'yes') {
return;
}
- $sharingSublistArray = [];
+ // show_Quick_Access stored as string
+ \OCA\Files\App::getNavigationManager()->add(function () {
+ $config = \OC::$server->getConfig();
+ $l = \OC::$server->getL10N('files_sharing');
- if (\OCP\Util::isSharingDisabledForUser() === false) {
- array_push($sharingSublistArray, [
- 'id' => 'sharingout',
- 'appname' => 'files_sharing',
- 'script' => 'list.php',
- 'order' => 16,
- 'name' => $l->t('Shared with others'),
- ]);
- }
+ $sharingSublistArray = [];
- array_push($sharingSublistArray, [
- 'id' => 'sharingin',
- 'appname' => 'files_sharing',
- 'script' => 'list.php',
- 'order' => 15,
- 'name' => $l->t('Shared with you'),
- ]);
-
- if (\OCP\Util::isSharingDisabledForUser() === false) {
- // Check if sharing by link is enabled
- if ($config->getAppValue('core', 'shareapi_allow_links', 'yes') === 'yes') {
- array_push($sharingSublistArray, [
- 'id' => 'sharinglinks',
+ if (\OCP\Util::isSharingDisabledForUser() === false) {
+ $sharingSublistArray[] = [
+ 'id' => 'sharingout',
'appname' => 'files_sharing',
'script' => 'list.php',
- 'order' => 17,
- 'name' => $l->t('Shared by link'),
- ]);
+ 'order' => 16,
+ 'name' => $l->t('Shared with others'),
+ ];
}
- }
- array_push($sharingSublistArray, [
- 'id' => 'deletedshares',
- 'appname' => 'files_sharing',
- 'script' => 'list.php',
- 'order' => 19,
- 'name' => $l->t('Deleted shares'),
- ]);
+ $sharingSublistArray[] = [
+ 'id' => 'sharingin',
+ 'appname' => 'files_sharing',
+ 'script' => 'list.php',
+ 'order' => 15,
+ 'name' => $l->t('Shared with you'),
+ ];
+
+ if (\OCP\Util::isSharingDisabledForUser() === false) {
+ // Check if sharing by link is enabled
+ if ($config->getAppValue('core', 'shareapi_allow_links', 'yes') === 'yes') {
+ $sharingSublistArray[] = [
+ 'id' => 'sharinglinks',
+ 'appname' => 'files_sharing',
+ 'script' => 'list.php',
+ 'order' => 17,
+ 'name' => $l->t('Shared by link'),
+ ];
+ }
+ }
- array_push($sharingSublistArray, [
- 'id' => 'pendingshares',
- 'appname' => 'files_sharing',
- 'script' => 'list.php',
- 'order' => 19,
- 'name' => $l->t('Pending shares'),
- ]);
+ $sharingSublistArray[] = [
+ 'id' => 'deletedshares',
+ 'appname' => 'files_sharing',
+ 'script' => 'list.php',
+ 'order' => 19,
+ 'name' => $l->t('Deleted shares'),
+ ];
+ $sharingSublistArray[] = [
+ 'id' => 'pendingshares',
+ 'appname' => 'files_sharing',
+ 'script' => 'list.php',
+ 'order' => 19,
+ 'name' => $l->t('Pending shares'),
+ ];
- // show_Quick_Access stored as string
- \OCA\Files\App::getNavigationManager()->add([
- 'id' => 'shareoverview',
- 'appname' => 'files_sharing',
- 'script' => 'list.php',
- 'order' => 18,
- 'name' => $l->t('Shares'),
- 'classes' => 'collapsible',
- 'sublist' => $sharingSublistArray,
- 'expandedState' => 'show_sharing_menu'
- ]);
+ return [
+ 'id' => 'shareoverview',
+ 'appname' => 'files_sharing',
+ 'script' => 'list.php',
+ 'order' => 18,
+ 'name' => $l->t('Shares'),
+ 'classes' => 'collapsible',
+ 'sublist' => $sharingSublistArray,
+ 'expandedState' => 'show_sharing_menu'
+ ];
+ });
}
}