From 2a4b72999b6c953d30826cb4c32616479ceef908 Mon Sep 17 00:00:00 2001 From: Louis Chemineau Date: Thu, 20 Jun 2024 16:22:05 +0200 Subject: [PATCH] fix(files): Update favorites navigation list on folder renames Signed-off-by: Louis Chemineau --- apps/files/src/views/favorites.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/apps/files/src/views/favorites.ts b/apps/files/src/views/favorites.ts index b246eb597932d..e09587a0d5da8 100644 --- a/apps/files/src/views/favorites.ts +++ b/apps/files/src/views/favorites.ts @@ -106,6 +106,21 @@ export default () => { removePathFromFavorites(node.path) }) + /** + * Update favourites navigation when a folder is renamed + */ + subscribe('files:node:renamed', (node: Node) => { + if (node.type !== FileType.Folder) { + return + } + + if (node.attributes.favorite !== 1) { + return + } + + updateNodeFromFavorites(node as Folder) + }) + /** * Sort the favorites paths array and * update the order property of the existing views @@ -157,4 +172,17 @@ export default () => { Navigation.remove(id) updateAndSortViews() } + + // Update a folder from the favorites paths array and update the views + const updateNodeFromFavorites = function(node: Folder) { + const favoriteFolder = favoriteFolders.find((folder) => folder.fileid === node.fileid) + + // Skip if it does not exists + if (favoriteFolder === undefined) { + return + } + + removePathFromFavorites(favoriteFolder.path) + addToFavorites(node) + } }