From c87a6ba811afbf472db00781102afb987fe9e3d6 Mon Sep 17 00:00:00 2001 From: skjnldsv Date: Fri, 14 Feb 2025 16:10:20 +0100 Subject: [PATCH] fix(files): attach sidebar to main content for vue debug Signed-off-by: skjnldsv --- apps/files/src/{sidebar.js => sidebar.ts} | 12 +++++++-- apps/files/src/views/Sidebar.vue | 31 +++++++++++++---------- webpack.modules.js | 2 +- 3 files changed, 28 insertions(+), 17 deletions(-) rename apps/files/src/{sidebar.js => sidebar.ts} (84%) diff --git a/apps/files/src/sidebar.js b/apps/files/src/sidebar.ts similarity index 84% rename from apps/files/src/sidebar.js rename to apps/files/src/sidebar.ts index 61f8be419b6..35a379ad649 100644 --- a/apps/files/src/sidebar.js +++ b/apps/files/src/sidebar.ts @@ -23,6 +23,8 @@ window.addEventListener('DOMContentLoaded', function() { const contentElement = document.querySelector('body > .content') || document.querySelector('body > #content') + let vueParent + // Make sure we have a proper layout if (contentElement) { // Make sure we have a mountpoint @@ -31,14 +33,20 @@ window.addEventListener('DOMContentLoaded', function() { sidebarElement.id = 'app-sidebar' contentElement.appendChild(sidebarElement) } + + // Helps with vue debug, as we mount the sidebar to the + // content element which is a vue instance itself + vueParent = contentElement.__vue__ as Vue } // Init vue app const View = Vue.extend(SidebarView) const AppSidebar = new View({ name: 'SidebarRoot', - }) - AppSidebar.$mount('#app-sidebar') + parent: vueParent, + }).$mount('#app-sidebar') + + // Expose Sidebar methods window.OCA.Files.Sidebar.open = AppSidebar.open window.OCA.Files.Sidebar.close = AppSidebar.close window.OCA.Files.Sidebar.setFullScreenMode = AppSidebar.setFullScreenMode diff --git a/apps/files/src/views/Sidebar.vue b/apps/files/src/views/Sidebar.vue index 1867ea6a591..fbbd2df4bb9 100644 --- a/apps/files/src/views/Sidebar.vue +++ b/apps/files/src/views/Sidebar.vue @@ -38,8 +38,7 @@ + :file-id="fileInfo.id" /> -