From ae86845062e6bf303799c8ff52fd997db6cd22ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Thu, 12 Jul 2018 09:56:46 +0200 Subject: [PATCH] Fixed favorite folder view display MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- apps/files/js/app.js | 4 ++-- apps/files/js/navigation.js | 17 ++++++++++++----- apps/files/lib/Controller/ViewController.php | 11 ++++++----- apps/files/templates/appnavigation.php | 2 +- core/css/apps.scss | 3 ++- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/apps/files/js/app.js b/apps/files/js/app.js index ec223e418b7..d407c49ea51 100644 --- a/apps/files/js/app.js +++ b/apps/files/js/app.js @@ -239,8 +239,8 @@ var params; if (e && e.itemId) { params = { - view: e.itemId, - dir: '/' + view: e.view !== '' ? e.view : e.itemId, + dir: e.dir ? e.dir : '/' }; this._changeUrl(params.view, params.dir); OC.Apps.hideAppSidebar($('.detailsView')); diff --git a/apps/files/js/navigation.js b/apps/files/js/navigation.js index 207f9b1c206..d783fcc2156 100644 --- a/apps/files/js/navigation.js +++ b/apps/files/js/navigation.js @@ -111,33 +111,40 @@ * @param array options "silent" to not trigger event */ setActiveItem: function (itemId, options) { + var currentItem = this.$el.find('li[data-id=' + itemId + ']'); + var itemDir = currentItem.data('dir'); + var itemView = currentItem.data('view'); var oldItemId = this._activeItem; if (itemId === this._activeItem) { if (!options || !options.silent) { this.$el.trigger( new $.Event('itemChanged', { itemId: itemId, - previousItemId: oldItemId + previousItemId: oldItemId, + dir: itemDir, + view: itemView }) ); } return; } - this.$el.find('li').removeClass('active'); + this.$el.find('li a').removeClass('active'); if (this.$currentContent) { this.$currentContent.addClass('hidden'); this.$currentContent.trigger(jQuery.Event('hide')); } this._activeItem = itemId; - this.$el.find('li[data-id=' + itemId + ']').addClass('active'); - this.$currentContent = $('#app-content-' + itemId); + currentItem.children('a').addClass('active'); + this.$currentContent = $('#app-content-' + (itemView !== '' ? itemView : itemId)); this.$currentContent.removeClass('hidden'); if (!options || !options.silent) { this.$currentContent.trigger(jQuery.Event('show')); this.$el.trigger( new $.Event('itemChanged', { itemId: itemId, - previousItemId: oldItemId + previousItemId: oldItemId, + dir: itemDir, + view: itemView }) ); } diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php index 4035837459a..2e91c83ee83 100644 --- a/apps/files/lib/Controller/ViewController.php +++ b/apps/files/lib/Controller/ViewController.php @@ -181,15 +181,16 @@ class ViewController extends Controller { $navBarPositionPosition = 6; $currentCount = 0; - foreach ($favElements['folders'] as $elem) { + foreach ($favElements['folders'] as $dir) { - $id = substr($elem, strrpos($elem, '/') + 1, strlen($elem)); - $link = $this->urlGenerator->linkToRoute('files.view.index', ['dir' => $elem, 'view' => 'files']); + $id = substr($dir, strrpos($dir, '/') + 1, strlen($dir)); + $link = $this->urlGenerator->linkToRoute('files.view.index', ['dir' => $dir, 'view' => 'files']); $sortingValue = ++$currentCount; - $element = [ - 'id' => $id, + 'id' => str_replace('/', '-', $dir), + 'view' => 'files', 'href' => $link, + 'dir' => $dir, 'order' => $navBarPositionPosition, 'folderPosition' => $sortingValue, 'name' => $id, diff --git a/apps/files/templates/appnavigation.php b/apps/files/templates/appnavigation.php index a3267ab8c1a..176af0d4c25 100644 --- a/apps/files/templates/appnavigation.php +++ b/apps/files/templates/appnavigation.php @@ -67,7 +67,7 @@ function NavigationListElements($item, $l, $pinned) { strpos($item['classes'], 'pinned') !== false ? $pinned++ : ''; ?>
  • id="button-collapse-parent-" - data-id=" " + data-id="" data-dir="" data-view="" class="nav- open" folderposition="" > diff --git a/core/css/apps.scss b/core/css/apps.scss index 784d67798a6..6645b6868d5 100644 --- a/core/css/apps.scss +++ b/core/css/apps.scss @@ -148,7 +148,8 @@ kbd { a:hover, a:focus, a:active, - a.selected { + a.selected , + a.active { &, > a { opacity: 1;