From cd72e9d6996fbb9aa6fd0c5443c8a0e5b5f44e3b Mon Sep 17 00:00:00 2001 From: Vlada Gazizova <94864088+gazizova-vlada@users.noreply.github.com> Date: Tue, 30 Jul 2024 11:17:32 +0300 Subject: [PATCH] Client:Sort:Added sorting saving when opening rooms and folders. --- .../client/src/store/FilesActionsStore.js | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/packages/client/src/store/FilesActionsStore.js b/packages/client/src/store/FilesActionsStore.js index 601f0fd738..4ef3e4d9d3 100644 --- a/packages/client/src/store/FilesActionsStore.js +++ b/packages/client/src/store/FilesActionsStore.js @@ -1459,6 +1459,23 @@ class FilesActionStore { filter.folder = id; + if (isRoom) { + const key = + categoryType === CategoryType.Archive + ? `UserFilterArchiveRoom=${this.userStore.user?.id}` + : `UserFilterSharedRoom=${this.userStore.user?.id}`; + + const filterStorageSharedRoom = + this.userStore.user?.id && localStorage.getItem(key); + + if (filterStorageSharedRoom) { + const splitFilter = filterStorageSharedRoom.split(","); + + filter.sortBy = splitFilter[0]; + filter.sortOrder = splitFilter[1]; + } + } + const url = getCategoryUrl(categoryType, id); window.DocSpace.navigate(`${url}?${filter.toUrlParams()}`, { state }); @@ -2334,7 +2351,8 @@ class FilesActionStore { onMarkAsRead = (item) => this.markAsRead([], [`${item.id}`], item); openFileAction = (item, t, e) => { - const { openDocEditor, isPrivacyFolder, setSelection } = this.filesStore; + const { openDocEditor, isPrivacyFolder, setSelection, categoryType } = + this.filesStore; const { currentDeviceType } = this.settingsStore; const { fileItemsList } = this.pluginStore; const { enablePlugins } = this.settingsStore; @@ -2384,6 +2402,30 @@ class FilesActionStore { ); const filter = FilesFilter.getDefault(); + + const filterObj = FilesFilter.getFilter(window.location); + + if (isRoom) { + const key = + categoryType === CategoryType.Archive + ? `UserFilterArchiveRoom=${this.userStore.user?.id}` + : `UserFilterSharedRoom=${this.userStore.user?.id}`; + + const filterStorageSharedRoom = + this.userStore.user?.id && localStorage.getItem(key); + + if (filterStorageSharedRoom) { + const splitFilter = filterStorageSharedRoom.split(","); + + filter.sortBy = splitFilter[0]; + filter.sortOrder = splitFilter[1]; + } + } else { + // For the document section at all levels there is one sorting + filter.sortBy = filterObj.sortBy; + filter.sortOrder = filterObj.sortOrder; + } + filter.folder = id; const url = `${path}?${filter.toUrlParams()}`; @@ -2605,6 +2647,11 @@ class FilesActionStore { const filter = FilesFilter.getDefault(); + const filterObj = FilesFilter.getFilter(window.location); + + filter.sortBy = filterObj.sortBy; + filter.sortOrder = filterObj.sortOrder; + filter.folder = id; const categoryType = getCategoryType(window.DocSpace.location);