From 66d58d6eebafc944bf93d213a3bbed72dca77327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Tue, 8 Nov 2022 00:53:12 +0100 Subject: [PATCH] Fix sidebar not automatically hidden in Files app MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Although the Files app creates the legacy sidebar (details view) it is then replaced with the newer Vue app sidebar. Due to this ".detailsView" no longer finds an element and therefore nothing was hidden when "hideAppSidebar($('.detailsView'))" was called (for example, when changing to another section). However, "OC.Apps.hideAppSidebar()" does not properly work either with the Vue sidebar used in the Files app (once hidden the sidebar is not shown again). For simplicity, and to avoid any possible side effect in other apps from changing "OC.Apps.hideAppSidebar", now "OC.Files.Sidebar.close()" is used instead. Signed-off-by: Daniel Calviño Sánchez --- apps/files/js/app.js | 4 ++-- apps/files/js/gotoplugin.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/files/js/app.js b/apps/files/js/app.js index dcc294975b94b..4f335a5b04a8e 100644 --- a/apps/files/js/app.js +++ b/apps/files/js/app.js @@ -321,7 +321,7 @@ dir: e.dir ? e.dir : '/' }; this._changeUrl(params.view, params.dir); - OC.Apps.hideAppSidebar($('.detailsView')); + OCA.Files.Sidebar.close(); this.navigation.getActiveContainer().trigger(new $.Event('urlChanged', params)); window._nc_event_bus.emit('files:navigation:changed') } @@ -352,7 +352,7 @@ _onChangeViewerMode: function(e) { var state = !!e.viewerModeEnabled; if (e.viewerModeEnabled) { - OC.Apps.hideAppSidebar($('.detailsView')); + OCA.Files.Sidebar.close(); } $('#app-navigation').toggleClass('hidden', state); $('.app-files').toggleClass('viewer-mode no-sidebar', state); diff --git a/apps/files/js/gotoplugin.js b/apps/files/js/gotoplugin.js index 474acdab5872a..ca1823697c4a3 100644 --- a/apps/files/js/gotoplugin.js +++ b/apps/files/js/gotoplugin.js @@ -45,7 +45,7 @@ type: OCA.Files.FileActions.TYPE_DROPDOWN, actionHandler: function (fileName, context) { var fileModel = context.fileInfoModel; - OC.Apps.hideAppSidebar($('.detailsView')); + OCA.Files.Sidebar.close(); OCA.Files.App.setActiveView('files', { silent: true }); OCA.Files.App.fileList.changeDirectory(fileModel.get('path'), true, true).then(function() { OCA.Files.App.fileList.scrollTo(fileModel.get('name'));