diff options
author | fnuesse <felix.nuesse@t-online.de> | 2018-06-20 22:40:10 +0200 |
---|---|---|
committer | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2018-07-12 16:49:38 +0200 |
commit | df9bae41bbae73220df134e8fc92d084ed03fa64 (patch) | |
tree | 05bf46b71e0bc08fb821d30599250384de92a43d /apps/files/lib | |
parent | edd2ab219416f2a0dd9c5afd15fac9bb973370d7 (diff) | |
download | nextcloud-server-df9bae41bbae73220df134e8fc92d084ed03fa64.tar.gz nextcloud-server-df9bae41bbae73220df134e8fc92d084ed03fa64.zip |
Removed old code
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Removed duplicate collapse-button and changed api-endpoints
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Removed app-navigation-caption from apps.scss
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Changed api-endpoints
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Fixed Codestyle (.js)
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Hid away extended Settings
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Fixed reverse state
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Fixed Missing reverse after changing sort-strategy
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Fixed Copyright-Header
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Removed UI-Flickering
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
hid dotmenu on toggle while favorites are empty
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Added Draggable to listelements (WIP)
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Rebuild appnavigation.php with recursive function to allow easy implementation of sublists
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Fixed draggable Sublist-Elements
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Fixed draggable Sublist-Elements
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Added date-modified sorting option to quickaccess
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Added custom order sorting option to quickaccess
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Added custom order sorting option to quickaccess
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Added fallback for custom ordering
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Diffstat (limited to 'apps/files/lib')
-rw-r--r-- | apps/files/lib/Controller/ApiController.php | 105 | ||||
-rw-r--r-- | apps/files/lib/Controller/ViewController.php | 97 |
2 files changed, 132 insertions, 70 deletions
diff --git a/apps/files/lib/Controller/ApiController.php b/apps/files/lib/Controller/ApiController.php index 53a8e1b55ee..9269f336f35 100644 --- a/apps/files/lib/Controller/ApiController.php +++ b/apps/files/lib/Controller/ApiController.php @@ -11,7 +11,7 @@ * @author Roeland Jago Douma <roeland@famdouma.nl> * @author Tobias Kaminsky <tobias@kaminsky.me> * @author Vincent Petry <pvince81@owncloud.com> - * + * @author Felix Nüsse <felix.nuesse@t-online.de> * @license AGPL-3.0 * * This code is free software: you can redistribute it and/or modify @@ -55,7 +55,7 @@ use Sabre\VObject\Property\Boolean; class ApiController extends Controller { /** @var TagService */ private $tagService; - /** @var IManager **/ + /** @var IManager * */ private $shareManager; /** @var IPreview */ private $previewManager; @@ -108,7 +108,7 @@ class ApiController extends Controller { * @return DataResponse|FileDisplayResponse */ public function getThumbnail($x, $y, $file) { - if($x < 1 || $y < 1) { + if ($x < 1 || $y < 1) { return new DataResponse(['message' => 'Requested size must be numeric and a positive value.'], Http::STATUS_BAD_REQUEST); } @@ -200,6 +200,29 @@ class ApiController extends Controller { } /** + * Returns a list of favorites modifed folder. + * + * @NoAdminRequired + * + * @return DataResponse + */ + public function getFavoritesFolder() { + $nodes = $this->userFolder->searchByTag('_$!<Favorite>!$_', $this->userSession->getUser()->getUID()); + + $favorites = []; + $i = 0; + foreach ($nodes as &$node) { + + $favorites[$i]['id'] = $node->getId(); + $favorites[$i]['name'] = $node->getName(); + $favorites[$i]['mtime'] = $node->getMTime(); + $i++; + } + + return new DataResponse(['favoriteFolders' => $favorites]); + } + + /** * Return a list of share types for outgoing shares * * @param Node $node file node @@ -262,7 +285,7 @@ class ApiController extends Controller { * @param bool $show */ public function showHiddenFiles($show) { - $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'show_hidden', (int) $show); + $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'show_hidden', (int)$show); return new Response(); } @@ -276,9 +299,21 @@ class ApiController extends Controller { * @return Response */ public function showQuickAccess($show) { - $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'show_Quick_Access', (int) $show); + $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'show_Quick_Access', (int)$show); return new Response(); - } + } + + /** + * Toggle default for showing/hiding QuickAccess folder + * + * @NoAdminRequired + * + * @return String + */ + public function getShowQuickAccess() { + + return $this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'show_Quick_Access', 1); + } /** * quickaccess-sorting-strategy @@ -289,7 +324,7 @@ class ApiController extends Controller { * @return Response */ public function setSortingStrategy($strategy) { - $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_sorting_strategy', (String) $strategy); + $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_sorting_strategy', (String)$strategy); return new Response(); } @@ -313,7 +348,7 @@ class ApiController extends Controller { * @return Response */ public function setReverseQuickaccess($reverse) { - $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_reverse_list', (int) $reverse); + $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_reverse_list', (int)$reverse); return new Response(); } @@ -325,10 +360,62 @@ class ApiController extends Controller { * @return bool */ public function getReverseQuickaccess() { - if($this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_reverse_list', false)){ + if ($this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_reverse_list', false)) { return true; } return false; } + /** + * Set state for show sorting menu + * + * @NoAdminRequired + * + * @param bool $show + * @return Response + */ + public function setShowQuickaccessSettings($show) { + $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_show_settings', (int)$show); + return new Response(); + } + + /** + * Get state for show sorting menu + * + * @NoAdminRequired + * + * @return bool + */ + public function getShowQuickaccessSettings() { + if ($this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_show_settings', false)) { + return true; + } + return false; + } + + /** + * Set sorting-order for custom sorting + * + * @NoAdminRequired + * + * @param String $order + * @return Response + */ + public function setSortingOrder($order) { + $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_custom_sorting_order', (String)$order); + return new Response(); + } + + /** + * Get sorting-order for custom sorting + * + * @NoAdminRequired + * + * @param String + * @return String + */ + public function getSortingOrder() { + return $this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_custom_sorting_order', ""); + } + } diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php index 8afec0be909..165cf86a1ce 100644 --- a/apps/files/lib/Controller/ViewController.php +++ b/apps/files/lib/Controller/ViewController.php @@ -8,7 +8,7 @@ * @author Roeland Jago Douma <roeland@famdouma.nl> * @author Thomas Müller <thomas.mueller@tmit.eu> * @author Vincent Petry <pvince81@owncloud.com> - * @author Felix Nüsse Petry <felix.nuesse@t-online.de> + * @author Felix Nüsse <felix.nuesse@t-online.de> * * @license AGPL-3.0 * @@ -162,16 +162,6 @@ class ViewController extends Controller { $user = $this->userSession->getUser()->getUID(); - //Load QuickAccess-Defaults - $sorting = $this->config->getUserValue($user, $this->appName, 'quickaccess_sorting_strategy', 'date'); - $reverseListSetting = $this->config->getUserValue($user, $this->appName, 'quickaccess_reverse_list', 'false'); - if ($this->config->getUserValue($user, $this->appName, 'show_Quick_Access', true)) { - $quickAccessExpandedState = 'true'; - } else { - $quickAccessExpandedState = 'false'; - } - - //Get Favorite-Folder $tagger = \OC::$server->getTagManager(); $helper = new \OCA\Files\Activity\Helper($tagger); @@ -182,71 +172,56 @@ class ViewController extends Controller { $favElements['folders'] = null; } - $favoritesFolderCount = sizeof($favElements['folders']); - $collapseClasses = ''; - if ($favoritesFolderCount > 0) { + if (sizeof($favElements['folders']) > 0) { $collapseClasses = 'collapsible'; } + $favoritesSublistArray = Array(); + + $navBarPositionPosition = 6; + $currentCount = 0; + foreach ($favElements['folders'] as $elem) { + + $id = substr($elem, strrpos($elem, '/') + 1, strlen($elem)); + $link = $this->urlGenerator->linkToRouteAbsolute('files.view.index', ['dir' => $elem]); + $sortingValue = ++$currentCount; + + $element = [ + 'id' => $id, + 'href' => $link, + 'order' => $navBarPositionPosition, + 'folderPosition' => $sortingValue, + 'name' => $id, + 'icon' => 'files', + 'quickaccesselement' => 'true' + ]; + + array_push($favoritesSublistArray, $element); + $navBarPositionPosition++; + } + + + $defaultExpandedState='true'; + if(!$this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'show_Quick_Access', 1)){ + $defaultExpandedState='false'; + } + \OCA\Files\App::getNavigationManager()->add( [ 'id' => 'favorites', 'appname' => 'files', 'script' => 'simplelist.php', 'classes' => $collapseClasses, - 'enableQuickaccess' => $quickAccessExpandedState, - 'quickaccessSortingStrategy' => $sorting, - 'quickaccessSortingReverse' => $reverseListSetting, 'order' => 5, 'name' => $this->l10n->t('Favorites'), - //If there are zero elements, add ul end tag directly. - 'favoritescount' => $favoritesFolderCount + 'sublist' => $favoritesSublistArray, + 'draggableSublist' => 'false', + 'defaultExpandedState' => $defaultExpandedState, + 'enableMenuButton' => 0, ] ); - - //Add Favorite-folder as menuentries, if there are any - if ($favoritesFolderCount > 0) { - - $navBarPositionPosition = 6; - $currentCount = 0; - foreach ($favElements['folders'] as $elem) { - - $id = substr($elem, strrpos($elem, '/') + 1, strlen($elem)); - $link = $this->urlGenerator->linkToRouteAbsolute('files.view.index', ['dir' => $elem]); - - $sortingValue = ++$currentCount; - if ($currentCount != $favoritesFolderCount) { - \OCA\Files\App::getNavigationManager()->add( - [ - 'id' => $id, - 'href' => $link, - 'order' => $navBarPositionPosition, - 'folderPosition' => $sortingValue, - 'name' => $id, - 'icon' => 'files', - 'quickaccesselement' => 'true' - ] - ); - } else { - \OCA\Files\App::getNavigationManager()->add( - [ - 'id' => $id, - 'href' => $link, - 'order' => $navBarPositionPosition, - 'folderPosition' => $sortingValue, - 'name' => $id, - 'icon' => 'files', - 'quickaccesselement' => 'last' - ] - ); - } - $navBarPositionPosition++; - } - } - - $navItems = \OCA\Files\App::getNavigationManager()->getAll(); usort($navItems, function ($item1, $item2) { return $item1['order'] - $item2['order']; |