aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2020-01-16 15:28:03 +0100
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2020-01-22 10:43:02 +0100
commit6201b0b5b19490ec78ee4c41a6bfeeb6b767a46b (patch)
tree14c340fa44573693e8b76752da6ce198b6426f30 /apps/files/src
parentcbe2bafc7a961467a559a2b369274d2614e34ea0 (diff)
downloadnextcloud-server-6201b0b5b19490ec78ee4c41a6bfeeb6b767a46b.tar.gz
nextcloud-server-6201b0b5b19490ec78ee4c41a6bfeeb6b767a46b.zip
Allow to await the sidebar
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'apps/files/src')
-rw-r--r--apps/files/src/services/Sidebar.js10
-rw-r--r--apps/files/src/sidebar.js6
-rw-r--r--apps/files/src/views/Sidebar.vue69
3 files changed, 42 insertions, 43 deletions
diff --git a/apps/files/src/services/Sidebar.js b/apps/files/src/services/Sidebar.js
index f2a1f8f2124..917302df610 100644
--- a/apps/files/src/services/Sidebar.js
+++ b/apps/files/src/services/Sidebar.js
@@ -76,16 +76,6 @@ export default class Sidebar {
}
/**
- * Open the sidebar for the given file
- *
- * @memberof Sidebar
- * @param {string} path the file path to load
- */
- open(path) {
- this.#state.file = path
- }
-
- /**
* Close the sidebar
*
* @memberof Sidebar
diff --git a/apps/files/src/sidebar.js b/apps/files/src/sidebar.js
index 16e2035190f..f0f6fef6b9c 100644
--- a/apps/files/src/sidebar.js
+++ b/apps/files/src/sidebar.js
@@ -51,10 +51,10 @@ window.addEventListener('DOMContentLoaded', () => {
}
// Init vue app
- const AppSidebar = new Vue({
- // eslint-disable-next-line vue/match-component-file-name
+ const View = Vue.extend(SidebarView)
+ const AppSidebar = new View({
name: 'SidebarRoot',
- render: h => h(SidebarView),
})
AppSidebar.$mount('#app-sidebar')
+ window.OCA.Files.Sidebar.open = AppSidebar.open
})
diff --git a/apps/files/src/views/Sidebar.vue b/apps/files/src/views/Sidebar.vue
index 81c4e728380..4bc56075970 100644
--- a/apps/files/src/views/Sidebar.vue
+++ b/apps/files/src/views/Sidebar.vue
@@ -237,35 +237,6 @@ export default {
isSystemTagsEnabled() {
return OCA && 'SystemTags' in OCA
- }
- },
-
- watch: {
- // update the sidebar data
- async file(curr, prev) {
- this.resetData()
- if (curr && curr.trim() !== '') {
- try {
- this.fileInfo = await FileInfo(this.davPath)
- // adding this as fallback because other apps expect it
- this.fileInfo.dir = this.file.split('/').slice(0, -1).join('/')
-
- // DEPRECATED legacy views
- // TODO: remove
- this.views.forEach(view => {
- view.setFileInfo(this.fileInfo)
- })
-
- this.$nextTick(() => {
- if (this.$refs.sidebar) {
- this.$refs.sidebar.updateTabs()
- }
- })
- } catch (error) {
- this.error = t('files', 'Error while loading the file data')
- console.error('Error while loading the file data', error)
- }
- }
},
},
@@ -405,7 +376,45 @@ export default {
if (OCA.SystemTags && OCA.SystemTags.View) {
OCA.SystemTags.View.toggle()
}
- }
+ },
+
+ /**
+ * Open the sidebar for the given file
+ *
+ * @memberof Sidebar
+ * @param {string} path the file path to load
+ */
+ async open(path) {
+ // update current opened file
+ this.Sidebar.file = path
+
+ // reset previous data
+ this.resetData()
+ if (path && path.trim() !== '') {
+ try {
+ this.fileInfo = await FileInfo(this.davPath)
+ // adding this as fallback because other apps expect it
+ this.fileInfo.dir = this.file.split('/').slice(0, -1).join('/')
+
+ // DEPRECATED legacy views
+ // TODO: remove
+ this.views.forEach(view => {
+ view.setFileInfo(this.fileInfo)
+ })
+
+ this.$nextTick(() => {
+ if (this.$refs.sidebar) {
+ this.$refs.sidebar.updateTabs()
+ }
+ })
+ } catch (error) {
+ this.error = t('files', 'Error while loading the file data')
+ console.error('Error while loading the file data', error)
+
+ throw new Error(error)
+ }
+ }
+ },
},
}
</script>