diff --git a/apps/files/src/views/Sidebar.vue b/apps/files/src/views/Sidebar.vue index 9bd7005b9e07c..9d000c5bf2813 100644 --- a/apps/files/src/views/Sidebar.vue +++ b/apps/files/src/views/Sidebar.vue @@ -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,17 @@ export default defineComponent({ } }, + /** + * Handle if the current node was updated + * @param {import('@nextcloud/files').Node} node The deleted node + */ + onNodeUpdated(node) { + if (this.fileInfo && node && this.fileInfo.id === node.fileid) { + this.close() + this.open(node.path) + } + }, + /** * Allow to set the Sidebar as fullscreen from OCA.Files.Sidebar *