mirror of
https://github.com/nextcloud/server.git
synced 2026-04-15 22:11:17 -04:00
fix(files): Update sidebar when renaming node
fixes #51408 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
This commit is contained in:
parent
450633e224
commit
26df3ce530
1 changed files with 31 additions and 0 deletions
|
|
@ -325,12 +325,14 @@ export default defineComponent({
|
|||
},
|
||||
created() {
|
||||
subscribe('files:node:deleted', this.onNodeDeleted)
|
||||
subscribe('files:node:updated', this.onNodeUpdated)
|
||||
|
||||
window.addEventListener('resize', this.handleWindowResize)
|
||||
this.handleWindowResize()
|
||||
},
|
||||
beforeDestroy() {
|
||||
unsubscribe('file:node:deleted', this.onNodeDeleted)
|
||||
unsubscribe('file:node:deleted', this.onNodeUpdated)
|
||||
window.removeEventListener('resize', this.handleWindowResize)
|
||||
},
|
||||
|
||||
|
|
@ -549,6 +551,35 @@ export default defineComponent({
|
|||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Handle if the current node was updated
|
||||
* @param {import('@nextcloud/files').Node} node The deleted node
|
||||
*/
|
||||
async onNodeUpdated(node) {
|
||||
if (this.fileInfo && node && this.fileInfo.id === node.fileid && node.path !== this.file) {
|
||||
this.loading = true
|
||||
this.fileInfo = null
|
||||
this.Sidebar.file = node.path
|
||||
this.node = await fetchNode(this.file)
|
||||
this.fileInfo = FileInfo(this.node)
|
||||
// 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.tabs) {
|
||||
this.$refs.tabs.updateTabs()
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Allow to set the Sidebar as fullscreen from OCA.Files.Sidebar
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in a new issue