From 8c92affd0d58ffbabaadc6417c61f9743b7b0cd3 Mon Sep 17 00:00:00 2001 From: Vlada Gazizova <94864088+gazizova-vlada@users.noreply.github.com> Date: Tue, 30 Jul 2024 11:15:24 +0300 Subject: [PATCH] Client:Sort:Added saving sorting between tabs. --- .../Section/Tabs/MyDocumentsTabs/index.js | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/packages/client/src/pages/Home/Section/Tabs/MyDocumentsTabs/index.js b/packages/client/src/pages/Home/Section/Tabs/MyDocumentsTabs/index.js index 0dfe92a42f..51f216292b 100644 --- a/packages/client/src/pages/Home/Section/Tabs/MyDocumentsTabs/index.js +++ b/packages/client/src/pages/Home/Section/Tabs/MyDocumentsTabs/index.js @@ -38,6 +38,7 @@ const MyDocumentsTabs = ({ setFilter, showBodyLoader, isRoot, + user, }) => { const { t } = useTranslation(["Common", "Files"]); @@ -56,13 +57,25 @@ const MyDocumentsTabs = ({ const filter = FilesFilter.getDefault(); const url = window.DocSpace.location.pathname; - if (e.id === "recent") { + const recent = e.id === "recent"; + + const filterStorageItem = user?.id + ? recent + ? localStorage.getItem(`UserFilterRecent=${user.id}`) + : localStorage.getItem(`UserFilter=${user.id}`) + : null; + + if (filterStorageItem) { + const splitFilter = filterStorageItem.split(","); + + filter.sortBy = splitFilter[0]; + filter.sortOrder = splitFilter[1]; + } else if (recent) filter.sortBy = "LastOpened"; + + if (recent) { filter.folder = e.id; filter.searchArea = 3; - filter.sortBy = "LastOpened"; - } else { - filter.searchArea = null; - } + } else filter.searchArea = null; setFilter(filter); window.DocSpace.navigate(`${url}?${filter.toUrlParams()}`); @@ -83,17 +96,18 @@ const MyDocumentsTabs = ({ }; export default inject( - ({ treeFoldersStore, filesStore, clientLoadingStore }) => { + ({ treeFoldersStore, filesStore, clientLoadingStore, userStore }) => { const { isPersonalRoom, isRecentTab, isRoot } = treeFoldersStore; const { setFilter } = filesStore; const { showBodyLoader } = clientLoadingStore; - + const { user } = userStore; return { isPersonalRoom, isRecentTab, setFilter, showBodyLoader, isRoot, + user, }; }, )(observer(MyDocumentsTabs));