Client:TableHeader:When switching between tabs in files, the application of new sorting to the previously opened tab has been fixed.

This commit is contained in:
Vlada Gazizova 2024-08-28 15:15:44 +03:00
parent 8d8d84b961
commit 3c0ef253cc
3 changed files with 27 additions and 14 deletions

View File

@ -453,11 +453,14 @@ class FilesTableHeader extends React.Component {
showStorageInfo,
roomsFilter,
filter,
changeDocumentsTabs,
} = this.props;
const sortBy = isRooms ? roomsFilter.sortBy : filter.sortBy;
const sortOrder = isRooms ? roomsFilter.sortOrder : filter.sortOrder;
const tabChangeCompleted = !(this.state.isRecentTab && changeDocumentsTabs);
if (
isArchiveFolder !== prevProps.isArchiveFolder ||
isRooms !== prevProps.isRooms ||
@ -466,20 +469,9 @@ class FilesTableHeader extends React.Component {
columnInfoPanelStorageName !== prevProps.columnInfoPanelStorageName ||
isRecentTab !== this.state.isRecentTab ||
showStorageInfo !== prevProps.showStorageInfo ||
sortBy !== this.state.sortBy ||
sortOrder !== this.state.sortOrder
(tabChangeCompleted && sortBy !== this.state.sortBy) ||
(tabChangeCompleted && sortOrder !== this.state.sortOrder)
) {
console.log(
"isRecentTab this.state.isRecentTab",
isRecentTab,
this.state.isRecentTab,
);
console.log("sortBy this.state.sortBy", sortBy, this.state.sortBy);
console.log(
"sortOrder this.state.sortOrder",
sortOrder,
this.state.sortOrder,
);
return this.getTableColumns(true);
}
@ -694,6 +686,7 @@ export default inject(
} = tableStore;
const { isPublicRoom, publicRoomKey } = publicRoomStore;
const { changeDocumentsTabs } = selectedFolderStore;
return {
setRoomsFilter,
@ -758,6 +751,7 @@ export default inject(
isDefaultRoomsQuotaSet,
showStorageInfo,
isArchiveFolder,
changeDocumentsTabs,
};
},
)(

View File

@ -39,6 +39,7 @@ const MyDocumentsTabs = ({
showBodyLoader,
isRoot,
user,
setChangeDocumentsTabs,
}) => {
const { t } = useTranslation(["Common", "Files"]);
@ -77,6 +78,7 @@ const MyDocumentsTabs = ({
filter.searchArea = 3;
} else filter.searchArea = null;
setChangeDocumentsTabs(true);
setFilter(filter);
window.DocSpace.navigate(`${url}?${filter.toUrlParams()}`);
};
@ -96,11 +98,19 @@ const MyDocumentsTabs = ({
};
export default inject(
({ treeFoldersStore, filesStore, clientLoadingStore, userStore }) => {
({
treeFoldersStore,
filesStore,
clientLoadingStore,
userStore,
selectedFolderStore,
}) => {
const { isPersonalRoom, isRecentTab, isRoot } = treeFoldersStore;
const { setFilter } = filesStore;
const { showBodyLoader } = clientLoadingStore;
const { user } = userStore;
const { setChangeDocumentsTabs } = selectedFolderStore;
return {
isPersonalRoom,
isRecentTab,
@ -108,6 +118,7 @@ export default inject(
showBodyLoader,
isRoot,
user,
setChangeDocumentsTabs,
};
},
)(observer(MyDocumentsTabs));

View File

@ -147,6 +147,8 @@ class SelectedFolderStore {
isCustomQuota: boolean | undefined;
changeDocumentsTabs = false;
constructor(settingsStore: SettingsStore) {
makeAutoObservable(this);
this.settingsStore = settingsStore;
@ -256,6 +258,10 @@ class SelectedFolderStore {
this.shared = shared;
};
setChangeDocumentsTabs = (changeDocumentsTabs: boolean) => {
this.changeDocumentsTabs = changeDocumentsTabs;
};
updateEditedSelectedRoom = (title = this.title, tags = this.tags) => {
this.title = title;
this.tags = tags;
@ -352,6 +358,8 @@ class SelectedFolderStore {
this[key] = item;
}
});
this.setChangeDocumentsTabs(false);
}
selectedFolder?.pathParts?.forEach((value) => {