diff --git a/app/javascript/vue/projects/modals/move.vue b/app/javascript/vue/projects/modals/move.vue
index 08eaa66ab..0b92d73a9 100644
--- a/app/javascript/vue/projects/modals/move.vue
+++ b/app/javascript/vue/projects/modals/move.vue
@@ -98,20 +98,19 @@ export default {
if (this.query === '') {
return this.foldersTree;
}
- return this.foldersTree.map((folder) => (
- {
- folder: folder.folder,
- children: folder.children.filter((child) => (
- child.folder.name.toLowerCase().includes(this.query.toLowerCase())
- )),
- }
- )).filter((folder) => (
- folder.folder.name.toLowerCase().includes(this.query.toLowerCase())
- || folder.children.length > 0
- ));
+ return this.filteredFoldersTreeHelper(this.foldersTree);
},
},
methods: {
+ filteredFoldersTreeHelper(foldersTree) {
+ return foldersTree.map(({ folder, children }) => {
+ if (folder.name.toLowerCase().includes(this.query.toLowerCase())) {
+ return { folder, children };
+ }
+ const filteredChildren = this.filteredFoldersTreeHelper(children);
+ return filteredChildren.length ? { folder, children: filteredChildren } : null;
+ }).filter(Boolean);
+ },
selectFolder(folderId) {
this.selectedFolderId = folderId;
},
diff --git a/app/javascript/vue/storage_locations/modals/assign/container_selector.vue b/app/javascript/vue/storage_locations/modals/assign/container_selector.vue
index d42b661b3..c5bd98e2b 100644
--- a/app/javascript/vue/storage_locations/modals/assign/container_selector.vue
+++ b/app/javascript/vue/storage_locations/modals/assign/container_selector.vue
@@ -18,7 +18,7 @@
{{ i18n.t('storage_locations.index.move_modal.search_header') }}
-