From 173c053d41c9494e56d3301ff2a8c7ce13b79387 Mon Sep 17 00:00:00 2001 From: Louis Chemineau Date: Thu, 10 Nov 2022 10:07:07 +0100 Subject: [PATCH] Hide version tab for folders Signed-off-by: Louis Chemineau --- apps/files_versions/src/files_versions_tab.js | 55 ++++++++++--------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/apps/files_versions/src/files_versions_tab.js b/apps/files_versions/src/files_versions_tab.js index b4ab075b7a8..28113d49c74 100644 --- a/apps/files_versions/src/files_versions_tab.js +++ b/apps/files_versions/src/files_versions_tab.js @@ -34,31 +34,36 @@ const View = Vue.extend(VersionTab) let TabInstance = null window.addEventListener('DOMContentLoaded', function () { - if (OCA.Files && OCA.Files.Sidebar) { - OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({ - id: 'version_vue', - name: t('files_versions', 'Version'), - iconSvg: BackupRestore, + if (OCA.Files?.Sidebar === undefined) { + return + } + + OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({ + id: 'version_vue', + name: t('files_versions', 'Version'), + iconSvg: BackupRestore, - async mount(el, fileInfo, context) { - if (TabInstance) { - TabInstance.$destroy() - } - TabInstance = new View({ - // Better integration with vue parent component - parent: context, - }) - // Only mount after we have all the info we need - await TabInstance.update(fileInfo) - TabInstance.$mount(el) - }, - update(fileInfo) { - TabInstance.update(fileInfo) - }, - destroy() { + async mount(el, fileInfo, context) { + if (TabInstance) { TabInstance.$destroy() - TabInstance = null - }, - })) - } + } + TabInstance = new View({ + // Better integration with vue parent component + parent: context, + }) + // Only mount after we have all the info we need + await TabInstance.update(fileInfo) + TabInstance.$mount(el) + }, + update(fileInfo) { + TabInstance.update(fileInfo) + }, + destroy() { + TabInstance.$destroy() + TabInstance = null + }, + enabled(fileInfo) { + return !(fileInfo?.isDirectory() ?? true) + }, + })) }) -- 2.39.5