aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src/views/favorites.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files/src/views/favorites.ts')
-rw-r--r--apps/files/src/views/favorites.ts28
1 files changed, 28 insertions, 0 deletions
diff --git a/apps/files/src/views/favorites.ts b/apps/files/src/views/favorites.ts
index 67c4fd58a86..366fe56da12 100644
--- a/apps/files/src/views/favorites.ts
+++ b/apps/files/src/views/favorites.ts
@@ -124,6 +124,21 @@ export default () => {
})
/**
+ * 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
*/
@@ -174,4 +189,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)
+ }
}