Web:Client: modify navigation system at empty containers and home filter
This commit is contained in:
parent
e391bcf7a6
commit
eefd26216a
@ -2,6 +2,7 @@
|
||||
import EmptyScreenFilterAltDarkSvgUrl from "PUBLIC_DIR/images/empty_screen_filter_alt_dark.svg?url";
|
||||
import ClearEmptyFilterSvgUrl from "PUBLIC_DIR/images/clear.empty.filter.svg?url";
|
||||
import React from "react";
|
||||
import { useNavigate, useLocation } from "react-router-dom";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import EmptyContainer from "./EmptyContainer";
|
||||
@ -15,8 +16,7 @@ const EmptyFilterContainer = ({
|
||||
t,
|
||||
selectedFolderId,
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
|
||||
linkStyles,
|
||||
isRooms,
|
||||
isArchiveFolder,
|
||||
@ -24,6 +24,9 @@ const EmptyFilterContainer = ({
|
||||
setClearSearch,
|
||||
theme,
|
||||
}) => {
|
||||
const navigate = useNavigate();
|
||||
const location = useLocation();
|
||||
|
||||
const subheadingText = t("EmptyFilterSubheadingText");
|
||||
const descriptionText = isRooms
|
||||
? t("Common:SearchEmptyRoomsDescription")
|
||||
@ -39,14 +42,16 @@ const EmptyFilterContainer = ({
|
||||
|
||||
if (isRoomsFolder) {
|
||||
const newFilter = RoomsFilter.getDefault();
|
||||
fetchRooms(selectedFolderId, newFilter)
|
||||
.catch((err) => toastr.error(err))
|
||||
.finally(() => setIsLoading(false));
|
||||
|
||||
navigate(`/rooms/shared/filter?${newFilter.toUrlParams()}`);
|
||||
} else {
|
||||
const newFilter = FilesFilter.getDefault();
|
||||
fetchFiles(selectedFolderId, newFilter)
|
||||
.catch((err) => toastr.error(err))
|
||||
.finally(() => setIsLoading(false));
|
||||
|
||||
newFilter.folder = selectedFolderId;
|
||||
|
||||
const path = location.pathname.split("/filter")[0];
|
||||
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
}
|
||||
};
|
||||
|
||||
@ -86,8 +91,6 @@ export default inject(
|
||||
const isRooms = isRoomsFolder || isArchiveFolder;
|
||||
|
||||
return {
|
||||
fetchFiles: filesStore.fetchFiles,
|
||||
fetchRooms: filesStore.fetchRooms,
|
||||
selectedFolderId: selectedFolderStore.id,
|
||||
setIsLoading: filesStore.setIsLoading,
|
||||
isRooms,
|
||||
|
@ -6,20 +6,23 @@ import EmptyScreenCorporateSvgUrl from "PUBLIC_DIR/images/empty_screen_corporate
|
||||
import EmptyScreenCorporateDarkSvgUrl from "PUBLIC_DIR/images/empty_screen_corporate_dark.svg?url";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import React, { useEffect } from "react";
|
||||
import { useNavigate, useLocation } from "react-router-dom";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import EmptyContainer from "./EmptyContainer";
|
||||
import Link from "@docspace/components/link";
|
||||
import Box from "@docspace/components/box";
|
||||
import { Text } from "@docspace/components";
|
||||
import { ReactSVG } from "react-svg";
|
||||
import FilesFilter from "@docspace/common/api/files/filter";
|
||||
import RoomsFilter from "@docspace/common/api/rooms/filter";
|
||||
import Loaders from "@docspace/common/components/Loaders";
|
||||
import { showLoader, hideLoader } from "./EmptyFolderContainerUtils";
|
||||
import { FolderType, RoomSearchArea } from "@docspace/common/constants";
|
||||
|
||||
const EmptyFolderContainer = ({
|
||||
t,
|
||||
onCreate,
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
|
||||
setIsLoading,
|
||||
parentId,
|
||||
linkStyles,
|
||||
@ -30,33 +33,70 @@ const EmptyFolderContainer = ({
|
||||
|
||||
onClickInviteUsers,
|
||||
folderId,
|
||||
tReady,
|
||||
isLoadedFetchFiles,
|
||||
viewAs,
|
||||
setIsLoadedEmptyPage,
|
||||
|
||||
theme,
|
||||
|
||||
navigationPath,
|
||||
rootFolderType,
|
||||
clearFiles,
|
||||
}) => {
|
||||
const navigate = useNavigate();
|
||||
const location = useLocation();
|
||||
|
||||
const onBackToParentFolder = () => {
|
||||
setIsLoading(true);
|
||||
|
||||
isRooms
|
||||
? fetchRooms(parentId).finally(() => setIsLoading(false))
|
||||
: fetchFiles(parentId).finally(() => setIsLoading(false));
|
||||
};
|
||||
if (isRooms) {
|
||||
const path =
|
||||
rootFolderType === FolderType.Archive
|
||||
? "rooms/archived"
|
||||
: "rooms/shared";
|
||||
|
||||
useEffect(() => {
|
||||
if (isLoadedFetchFiles && tReady) {
|
||||
setIsLoadedEmptyPage(true);
|
||||
const newFilter = RoomsFilter.getDefault();
|
||||
|
||||
newFilter.searchArea =
|
||||
rootFolderType === FolderType.Archive
|
||||
? RoomSearchArea.Archive
|
||||
: RoomSearchArea.Active;
|
||||
|
||||
const state = {
|
||||
title: navigationPath[0].title,
|
||||
isRoot: true,
|
||||
isEmpty: false,
|
||||
rootFolderType,
|
||||
};
|
||||
|
||||
clearFiles(false);
|
||||
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`, {
|
||||
state,
|
||||
});
|
||||
} else {
|
||||
setIsLoadedEmptyPage(false);
|
||||
}
|
||||
}, [isLoadedFetchFiles, tReady]);
|
||||
let path = location.pathname.split("/filter")[0];
|
||||
const splittedPath = path.split("/");
|
||||
if (splittedPath.length > 3) {
|
||||
splittedPath[3] = `${parentId}`;
|
||||
}
|
||||
const newFilter = FilesFilter.getDefault();
|
||||
newFilter.folder = `${parentId}`;
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
setIsLoadedEmptyPage(false);
|
||||
};
|
||||
}, []);
|
||||
const parentIdx = navigationPath.findIndex((v) => v.id === parentId);
|
||||
|
||||
const parentItem = navigationPath[parentIdx];
|
||||
|
||||
const state = {
|
||||
title: parentItem.title,
|
||||
isRoot: navigationPath.length === 1,
|
||||
isEmpty: false,
|
||||
rootFolderType,
|
||||
};
|
||||
|
||||
clearFiles(false);
|
||||
navigate(`${splittedPath.join("/")}/filter?${newFilter.toUrlParams()}`, {
|
||||
state,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const onInviteUsersClick = () => {
|
||||
if (!isRooms) return;
|
||||
@ -147,21 +187,6 @@ const EmptyFolderContainer = ({
|
||||
? EmptyScreenAltSvgUrl
|
||||
: EmptyScreenAltSvgDarkUrl;
|
||||
|
||||
useEffect(
|
||||
() => (!isLoadedFetchFiles || !tReady ? showLoader() : hideLoader()),
|
||||
[isLoadedFetchFiles, tReady]
|
||||
);
|
||||
|
||||
if (!isLoadedFetchFiles || !tReady) {
|
||||
return (
|
||||
<Loaders.EmptyContainerLoader
|
||||
style={{ display: "none", marginTop: 32 }}
|
||||
id="empty-container-loader"
|
||||
viewAs={viewAs}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<EmptyContainer
|
||||
headerText={isRooms ? t("RoomCreated") : t("EmptyScreenFolder")}
|
||||
@ -187,21 +212,15 @@ export default inject(
|
||||
selectedFolderStore,
|
||||
contextOptionsStore,
|
||||
}) => {
|
||||
const {
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
|
||||
isLoadedFetchFiles,
|
||||
viewAs,
|
||||
setIsLoadedEmptyPage,
|
||||
} = filesStore;
|
||||
const { clearFiles } = filesStore;
|
||||
const {
|
||||
navigationPath,
|
||||
parentId,
|
||||
access,
|
||||
|
||||
id: folderId,
|
||||
roomType,
|
||||
security,
|
||||
rootFolderType,
|
||||
} = selectedFolderStore;
|
||||
|
||||
let id;
|
||||
@ -219,19 +238,19 @@ export default inject(
|
||||
const canInviteUsers = isRooms && security?.EditAccess; // skip sub-folders
|
||||
|
||||
return {
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
setIsLoading: filesStore.setIsLoading,
|
||||
parentId: id ?? parentId,
|
||||
isRooms,
|
||||
canCreateFiles,
|
||||
canInviteUsers,
|
||||
|
||||
navigationPath,
|
||||
rootFolderType,
|
||||
clearFiles,
|
||||
|
||||
onClickInviteUsers,
|
||||
folderId,
|
||||
isLoadedFetchFiles,
|
||||
viewAs,
|
||||
setIsLoadedEmptyPage,
|
||||
|
||||
theme: auth.settingsStore.theme,
|
||||
};
|
||||
}
|
||||
|
@ -18,9 +18,7 @@ const RoomNoAccessContainer = (props) => {
|
||||
t,
|
||||
setIsLoading,
|
||||
linkStyles,
|
||||
fetchRooms,
|
||||
setAlreadyFetchingRooms,
|
||||
categoryType,
|
||||
|
||||
isEmptyPage,
|
||||
sectionWidth,
|
||||
theme,
|
||||
@ -39,22 +37,11 @@ const RoomNoAccessContainer = (props) => {
|
||||
const onGoToShared = () => {
|
||||
setIsLoading(true);
|
||||
|
||||
setAlreadyFetchingRooms(true);
|
||||
fetchRooms(null, null)
|
||||
.then(() => {
|
||||
const filter = RoomsFilter.getDefault();
|
||||
const filter = RoomsFilter.getDefault();
|
||||
|
||||
const filterParamsStr = filter.toUrlParams();
|
||||
const filterParamsStr = filter.toUrlParams();
|
||||
|
||||
const url = getCategoryUrl(categoryType, filter.folder);
|
||||
|
||||
const pathname = `${url}?${filterParamsStr}`;
|
||||
|
||||
navigate(pathname);
|
||||
})
|
||||
.finally(() => {
|
||||
setIsLoading(false);
|
||||
});
|
||||
navigate(`rooms/shared/filter?${filterParamsStr}`);
|
||||
};
|
||||
|
||||
const goToButtons = (
|
||||
@ -94,16 +81,12 @@ const RoomNoAccessContainer = (props) => {
|
||||
export default inject(({ auth, filesStore }) => {
|
||||
const {
|
||||
setIsLoading,
|
||||
fetchRooms,
|
||||
categoryType,
|
||||
setAlreadyFetchingRooms,
|
||||
|
||||
isEmptyPage,
|
||||
} = filesStore;
|
||||
return {
|
||||
setIsLoading,
|
||||
fetchRooms,
|
||||
categoryType,
|
||||
setAlreadyFetchingRooms,
|
||||
|
||||
isEmptyPage,
|
||||
theme: auth.settingsStore.theme,
|
||||
};
|
||||
|
@ -5,7 +5,7 @@ import EmptyFolderImageSvgUrl from "PUBLIC_DIR/images/empty-folder-image.svg?url
|
||||
import React, { useEffect } from "react";
|
||||
import { useNavigate, useLocation } from "react-router-dom";
|
||||
import styled from "styled-components";
|
||||
import { FolderType } from "@docspace/common/constants";
|
||||
import { FolderType, RoomSearchArea } from "@docspace/common/constants";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { withTranslation, Trans } from "react-i18next";
|
||||
import EmptyContainer from "./EmptyContainer";
|
||||
@ -14,6 +14,7 @@ import Text from "@docspace/components/text";
|
||||
import Box from "@docspace/components/box";
|
||||
|
||||
import RoomsFilter from "@docspace/common/api/rooms/filter";
|
||||
import FilesFilter from "@docspace/common/api/files/filter";
|
||||
import { getCategoryUrl } from "SRC_DIR/helpers/utils";
|
||||
|
||||
import PlusIcon from "PUBLIC_DIR/images/plus.react.svg";
|
||||
@ -70,6 +71,10 @@ const RootFolderContainer = (props) => {
|
||||
sectionWidth,
|
||||
setIsLoadedEmptyPage,
|
||||
security,
|
||||
|
||||
myFolder,
|
||||
roomsFolder,
|
||||
clearFiles,
|
||||
} = props;
|
||||
const personalDescription = t("EmptyFolderDecription");
|
||||
|
||||
@ -103,41 +108,44 @@ const RootFolderContainer = (props) => {
|
||||
|
||||
const roomHeader = "Welcome to DocSpace";
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
setIsLoadedEmptyPage(false);
|
||||
};
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
setIsLoadedEmptyPage(!isLoading);
|
||||
}, [isLoading]);
|
||||
|
||||
const onGoToPersonal = () => {
|
||||
const newFilter = filter.clone();
|
||||
const newFilter = FilesFilter.getDefault();
|
||||
|
||||
newFilter.folder = myFolderId;
|
||||
|
||||
const isEmpty = myFolder.filesCount + myFolder.foldersCount === 0;
|
||||
|
||||
const state = {
|
||||
title: myFolder.title,
|
||||
isEmpty,
|
||||
isRoot: true,
|
||||
rootFolderType: myFolder.rootFolderType,
|
||||
};
|
||||
|
||||
clearFiles(isEmpty);
|
||||
setIsLoading(true);
|
||||
fetchFiles(myFolderId, newFilter).finally(() => setIsLoading(false));
|
||||
|
||||
navigate(`/rooms/personal/filter?${newFilter.toUrlParams()}`, { state });
|
||||
};
|
||||
|
||||
const onGoToShared = () => {
|
||||
const newFilter = RoomsFilter.getDefault();
|
||||
|
||||
newFilter.searchArea = RoomSearchArea.Active;
|
||||
|
||||
const isEmpty = roomsFolder.foldersCount === 0;
|
||||
|
||||
const state = {
|
||||
title: roomsFolder.title,
|
||||
isEmpty,
|
||||
isRoot: true,
|
||||
rootFolderType: roomsFolder.rootFolderType,
|
||||
};
|
||||
|
||||
clearFiles(isEmpty);
|
||||
setIsLoading(true);
|
||||
|
||||
setAlreadyFetchingRooms(true);
|
||||
fetchRooms(null, null)
|
||||
.then(() => {
|
||||
const filter = RoomsFilter.getDefault();
|
||||
|
||||
const filterParamsStr = filter.toUrlParams();
|
||||
|
||||
const url = getCategoryUrl(categoryType, filter.folder);
|
||||
|
||||
const pathname = `${url}?${filterParamsStr}`;
|
||||
|
||||
navigate(pathname);
|
||||
})
|
||||
.finally(() => {
|
||||
setIsLoading(false);
|
||||
});
|
||||
navigate(`/rooms/shared/filter?${newFilter.toUrlParams()}`, { state });
|
||||
};
|
||||
|
||||
const getEmptyFolderProps = () => {
|
||||
@ -383,11 +391,13 @@ export default inject(
|
||||
categoryType,
|
||||
setAlreadyFetchingRooms,
|
||||
isEmptyPage,
|
||||
clearFiles,
|
||||
|
||||
setIsLoadedEmptyPage,
|
||||
} = filesStore;
|
||||
const { title, rootFolderType, security } = selectedFolderStore;
|
||||
const { isPrivacyFolder, myFolderId } = treeFoldersStore;
|
||||
const { isPrivacyFolder, myFolderId, myFolder, roomsFolder } =
|
||||
treeFoldersStore;
|
||||
|
||||
return {
|
||||
theme,
|
||||
@ -413,6 +423,10 @@ export default inject(
|
||||
|
||||
setIsLoadedEmptyPage,
|
||||
security,
|
||||
|
||||
myFolder,
|
||||
roomsFolder,
|
||||
clearFiles,
|
||||
};
|
||||
}
|
||||
)(withTranslation(["Files"])(observer(RootFolderContainer)));
|
||||
|
@ -22,7 +22,7 @@ const EmptyContainer = ({
|
||||
isFiltered,
|
||||
parentId,
|
||||
theme,
|
||||
setCreateRoomDialogVisible,
|
||||
|
||||
sectionWidth,
|
||||
isRoomNotFoundOrMoved,
|
||||
isGracePeriod,
|
||||
@ -100,8 +100,7 @@ export default inject(
|
||||
|
||||
const { isGracePeriod } = auth.currentTariffStatusStore;
|
||||
|
||||
const { setCreateRoomDialogVisible, setInviteUsersWarningDialogVisible } =
|
||||
dialogsStore;
|
||||
const { setInviteUsersWarningDialogVisible } = dialogsStore;
|
||||
|
||||
const isRoomNotFoundOrMoved =
|
||||
isFiltered === null &&
|
||||
@ -111,7 +110,6 @@ export default inject(
|
||||
return {
|
||||
theme: auth.settingsStore.theme,
|
||||
isFiltered,
|
||||
setCreateRoomDialogVisible,
|
||||
|
||||
parentId: selectedFolderStore.parentId,
|
||||
isRoomNotFoundOrMoved,
|
||||
|
@ -8,7 +8,9 @@ const useAccounts = ({
|
||||
t,
|
||||
isAccountsPage,
|
||||
location,
|
||||
|
||||
setIsLoading,
|
||||
setFirstLoad,
|
||||
|
||||
setSelectedNode,
|
||||
fetchPeople,
|
||||
@ -29,6 +31,7 @@ const useAccounts = ({
|
||||
})
|
||||
.finally(() => {
|
||||
setIsLoading(false);
|
||||
setFirstLoad(false);
|
||||
});
|
||||
}, [isAccountsPage, location.pathname, location.search]);
|
||||
};
|
||||
|
@ -2,12 +2,15 @@ import React from "react";
|
||||
|
||||
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
|
||||
|
||||
const useSettings = ({ t, isSettingsPage, location }) => {
|
||||
const useSettings = ({ t, isSettingsPage, setFirstLoad, setIsLoading }) => {
|
||||
React.useEffect(() => {
|
||||
if (!isSettingsPage) return;
|
||||
|
||||
setDocumentTitle(t("Common:Settings"));
|
||||
}, [isSettingsPage, location]);
|
||||
|
||||
setIsLoading(false);
|
||||
setFirstLoad(false);
|
||||
}, [isSettingsPage]);
|
||||
};
|
||||
|
||||
export default useSettings;
|
||||
|
@ -1,6 +1,6 @@
|
||||
import React, { useCallback, useEffect } from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { useLocation } from "react-router-dom";
|
||||
import { useLocation, useNavigate } from "react-router-dom";
|
||||
import { isMobile, isMobileOnly } from "react-device-detect";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import find from "lodash/find";
|
||||
@ -11,6 +11,8 @@ import Loaders from "@docspace/common/components/Loaders";
|
||||
import { withLayoutSize } from "@docspace/common/utils";
|
||||
import { getUser } from "@docspace/common/api/people";
|
||||
import RoomsFilter from "@docspace/common/api/rooms/filter";
|
||||
import AccountsFilter from "@docspace/common/api/people/filter";
|
||||
import FilesFilter from "@docspace/common/api/files/filter";
|
||||
import {
|
||||
FilterGroups,
|
||||
FilterKeys,
|
||||
@ -199,29 +201,27 @@ const SectionFilterContent = ({
|
||||
createThumbnails,
|
||||
setViewAs,
|
||||
setIsLoading,
|
||||
selectedFolderId,
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
|
||||
fetchTags,
|
||||
infoPanelVisible,
|
||||
isRooms,
|
||||
isTrash,
|
||||
userId,
|
||||
isPersonalRoom,
|
||||
setCurrentRoomsFilter,
|
||||
|
||||
providers,
|
||||
isLoadedEmptyPage,
|
||||
isEmptyPage,
|
||||
|
||||
clearSearch,
|
||||
setClearSearch,
|
||||
setMainButtonMobileVisible,
|
||||
isArchiveFolder,
|
||||
accountsViewAs,
|
||||
groups,
|
||||
fetchPeople,
|
||||
|
||||
accountsFilter,
|
||||
}) => {
|
||||
const location = useLocation();
|
||||
const navigate = useNavigate();
|
||||
|
||||
const isAccountsPage = location.pathname.includes("accounts");
|
||||
|
||||
@ -229,8 +229,8 @@ const SectionFilterContent = ({
|
||||
|
||||
const onFilter = React.useCallback(
|
||||
(data) => {
|
||||
setIsLoading(true);
|
||||
if (isAccountsPage) {
|
||||
setIsLoading(true);
|
||||
const status = getStatus(data);
|
||||
|
||||
const role = getRole(data);
|
||||
@ -257,9 +257,8 @@ const SectionFilterContent = ({
|
||||
newFilter.group = group;
|
||||
|
||||
newFilter.payments = payments;
|
||||
//console.log(newFilter);
|
||||
|
||||
fetchPeople(newFilter, true).finally(() => setIsLoading(false));
|
||||
navigate(`accounts/filter?${newFilter.toUrlParams()}`);
|
||||
} else if (isRooms) {
|
||||
const type = getType(data) || null;
|
||||
|
||||
@ -270,13 +269,6 @@ const SectionFilterContent = ({
|
||||
const providerType = getProviderType(data) || null;
|
||||
const tags = getTags(data) || null;
|
||||
|
||||
// const withSubfolders =
|
||||
// getFilterFolders(data) === FilterKeys.withSubfolders;
|
||||
|
||||
// const withContent = getFilterContent(data) === FilterKeys.withContent;
|
||||
|
||||
setIsLoading(true);
|
||||
|
||||
const newFilter = roomsFilter.clone();
|
||||
|
||||
newFilter.page = 0;
|
||||
@ -311,12 +303,12 @@ const SectionFilterContent = ({
|
||||
newFilter.withoutTags = false;
|
||||
}
|
||||
|
||||
// newFilter.withSubfolders = withSubfolders;
|
||||
// newFilter.searchInContent = withContent;
|
||||
const path =
|
||||
newFilter.searchArea === RoomSearchArea.Active
|
||||
? "rooms/shared"
|
||||
: "rooms/archived";
|
||||
|
||||
fetchRooms(selectedFolderId, newFilter).finally(() =>
|
||||
setIsLoading(false)
|
||||
);
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
} else {
|
||||
const filterType = getFilterType(data) || null;
|
||||
|
||||
@ -342,24 +334,21 @@ const SectionFilterContent = ({
|
||||
withSubfolders === FilterKeys.excludeSubfolders ? "false" : "true";
|
||||
newFilter.searchInContent = withContent === "true" ? "true" : null;
|
||||
|
||||
setIsLoading(true);
|
||||
const path = location.pathname.split("/filter")[0];
|
||||
|
||||
fetchFiles(selectedFolderId, newFilter).finally(() =>
|
||||
setIsLoading(false)
|
||||
);
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
}
|
||||
},
|
||||
[
|
||||
isRooms,
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
fetchPeople,
|
||||
|
||||
setIsLoading,
|
||||
roomsFilter,
|
||||
accountsFilter,
|
||||
filter,
|
||||
selectedFolderId,
|
||||
|
||||
isAccountsPage,
|
||||
location.pathname,
|
||||
]
|
||||
);
|
||||
|
||||
@ -367,82 +356,78 @@ const SectionFilterContent = ({
|
||||
if (isAccountsPage) {
|
||||
return;
|
||||
}
|
||||
|
||||
setIsLoading(true);
|
||||
if (isRooms) {
|
||||
const newFilter = RoomsFilter.getDefault();
|
||||
newFilter.searchArea = roomsFilter.searchArea;
|
||||
|
||||
fetchRooms(selectedFolderId, newFilter).finally(() =>
|
||||
setIsLoading(false)
|
||||
);
|
||||
const path =
|
||||
roomsFilter.searchArea === RoomSearchArea.Active
|
||||
? "rooms/shared"
|
||||
: "rooms/archived";
|
||||
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
} else {
|
||||
const newFilter = filter.clone();
|
||||
newFilter.page = 0;
|
||||
newFilter.filterValue = "";
|
||||
|
||||
setIsLoading(true);
|
||||
const path = location.pathname.split("/filter")[0];
|
||||
|
||||
fetchFiles(selectedFolderId, newFilter).finally(() => {
|
||||
setIsLoading(false);
|
||||
});
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
}
|
||||
}, [
|
||||
isRooms,
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
|
||||
selectedFolderId,
|
||||
filter,
|
||||
|
||||
roomsFilter,
|
||||
isAccountsPage,
|
||||
|
||||
location.pathname,
|
||||
]);
|
||||
|
||||
const onSearch = React.useCallback(
|
||||
(data = "") => {
|
||||
setIsLoading(true);
|
||||
if (isAccountsPage) {
|
||||
const newFilter = accountsFilter.clone();
|
||||
newFilter.page = 0;
|
||||
newFilter.search = data;
|
||||
|
||||
setIsLoading(true);
|
||||
|
||||
fetchPeople(newFilter, true).finally(() => setIsLoading(false));
|
||||
navigate(`accounts/filter?${newFilter.toUrlParams()}`);
|
||||
} else if (isRooms) {
|
||||
const newFilter = roomsFilter.clone();
|
||||
|
||||
newFilter.page = 0;
|
||||
newFilter.filterValue = data;
|
||||
|
||||
setIsLoading(true);
|
||||
const path =
|
||||
newFilter.searchArea === RoomSearchArea.Active
|
||||
? "rooms/shared"
|
||||
: "rooms/archived";
|
||||
|
||||
fetchRooms(selectedFolderId, newFilter).finally(() =>
|
||||
setIsLoading(false)
|
||||
);
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
} else {
|
||||
const newFilter = filter.clone();
|
||||
newFilter.page = 0;
|
||||
newFilter.search = data;
|
||||
|
||||
setIsLoading(true);
|
||||
const path = location.pathname.split("/filter")[0];
|
||||
|
||||
fetchFiles(selectedFolderId, newFilter).finally(() => {
|
||||
setIsLoading(false);
|
||||
});
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
}
|
||||
},
|
||||
[
|
||||
isRooms,
|
||||
isAccountsPage,
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
fetchPeople,
|
||||
selectedFolderId,
|
||||
|
||||
filter,
|
||||
roomsFilter,
|
||||
accountsFilter,
|
||||
location.pathname,
|
||||
]
|
||||
);
|
||||
|
||||
@ -463,29 +448,21 @@ const SectionFilterContent = ({
|
||||
setIsLoading(true);
|
||||
|
||||
if (isAccountsPage) {
|
||||
fetchPeople(newFilter, true).finally(() => setIsLoading(false));
|
||||
navigate(`accounts/filter?${newFilter.toUrlParams()}`);
|
||||
} else if (isRooms) {
|
||||
fetchRooms(selectedFolderId, newFilter).finally(() =>
|
||||
setIsLoading(false)
|
||||
);
|
||||
const path =
|
||||
newFilter.searchArea === RoomSearchArea.Active
|
||||
? "rooms/shared"
|
||||
: "rooms/archived";
|
||||
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
} else {
|
||||
fetchFiles(selectedFolderId, newFilter).finally(() =>
|
||||
setIsLoading(false)
|
||||
);
|
||||
const path = location.pathname.split("/filter")[0];
|
||||
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
}
|
||||
},
|
||||
[
|
||||
isRooms,
|
||||
isAccountsPage,
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
fetchPeople,
|
||||
selectedFolderId,
|
||||
filter,
|
||||
roomsFilter,
|
||||
accountsFilter,
|
||||
]
|
||||
[isRooms, isAccountsPage, setIsLoading, filter, roomsFilter, accountsFilter]
|
||||
);
|
||||
|
||||
const onChangeViewAs = React.useCallback(
|
||||
@ -1748,6 +1725,7 @@ const SectionFilterContent = ({
|
||||
|
||||
const removeSelectedItem = React.useCallback(
|
||||
({ key, group }) => {
|
||||
setIsLoading(true);
|
||||
if (isAccountsPage) {
|
||||
const newFilter = accountsFilter.clone();
|
||||
newFilter.page = 0;
|
||||
@ -1769,11 +1747,8 @@ const SectionFilterContent = ({
|
||||
newFilter.payments = null;
|
||||
}
|
||||
|
||||
setIsLoading(true);
|
||||
fetchPeople(newFilter, true).finally(() => setIsLoading(false));
|
||||
navigate(`accounts/filter?${newFilter.toUrlParams()}`);
|
||||
} else if (isRooms) {
|
||||
setIsLoading(true);
|
||||
|
||||
const newFilter = roomsFilter.clone();
|
||||
|
||||
if (group === FilterGroups.roomFilterProviderType) {
|
||||
@ -1819,9 +1794,12 @@ const SectionFilterContent = ({
|
||||
|
||||
newFilter.page = 0;
|
||||
|
||||
fetchRooms(selectedFolderId, newFilter).finally(() =>
|
||||
setIsLoading(false)
|
||||
);
|
||||
const path =
|
||||
newFilter.searchArea === RoomSearchArea.Active
|
||||
? "rooms/shared"
|
||||
: "rooms/archived";
|
||||
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
} else {
|
||||
const newFilter = filter.clone();
|
||||
|
||||
@ -1841,25 +1819,12 @@ const SectionFilterContent = ({
|
||||
|
||||
newFilter.page = 0;
|
||||
|
||||
setIsLoading(true);
|
||||
const path = location.pathname.split("/filter")[0];
|
||||
|
||||
fetchFiles(selectedFolderId, newFilter).finally(() =>
|
||||
setIsLoading(false)
|
||||
);
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
}
|
||||
},
|
||||
[
|
||||
isRooms,
|
||||
isAccountsPage,
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
fetchPeople,
|
||||
setIsLoading,
|
||||
roomsFilter,
|
||||
filter,
|
||||
accountsFilter,
|
||||
selectedFolderId,
|
||||
]
|
||||
[isRooms, isAccountsPage, setIsLoading, roomsFilter, filter, accountsFilter]
|
||||
);
|
||||
|
||||
const onSortButtonClick = (isOpen) => {
|
||||
@ -1869,25 +1834,30 @@ const SectionFilterContent = ({
|
||||
};
|
||||
|
||||
const clearAll = () => {
|
||||
setIsLoading(true);
|
||||
if (isAccountsPage) {
|
||||
setIsLoading(true);
|
||||
fetchPeople(null, true).finally(() => setIsLoading(false));
|
||||
} else if (isRooms) {
|
||||
setIsLoading(true);
|
||||
const newFilter = AccountsFilter.getDefault();
|
||||
|
||||
navigate(`accounts/filter?${newFilter.toUrlParams()}`);
|
||||
} else if (isRooms) {
|
||||
const newFilter = RoomsFilter.getDefault();
|
||||
|
||||
if (isArchiveFolder) {
|
||||
newFilter.searchArea = RoomSearchArea.Archive;
|
||||
}
|
||||
|
||||
fetchRooms(selectedFolderId, newFilter).finally(() =>
|
||||
setIsLoading(false)
|
||||
);
|
||||
} else {
|
||||
setIsLoading(true);
|
||||
const path =
|
||||
newFilter.searchArea === RoomSearchArea.Active
|
||||
? "rooms/shared"
|
||||
: "rooms/archived";
|
||||
|
||||
fetchFiles(selectedFolderId).finally(() => setIsLoading(false));
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
} else {
|
||||
const newFilter = FilesFilter.getDefault();
|
||||
|
||||
const path = location.pathname.split("/filter")[0];
|
||||
|
||||
navigate(`${path}/filter?${newFilter.toUrlParams()}`);
|
||||
}
|
||||
};
|
||||
|
||||
@ -1930,14 +1900,13 @@ export default inject(
|
||||
auth,
|
||||
filesStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
|
||||
tagsStore,
|
||||
peopleStore,
|
||||
}) => {
|
||||
const {
|
||||
fetchFiles,
|
||||
filter,
|
||||
fetchRooms,
|
||||
|
||||
roomsFilter,
|
||||
setIsLoading,
|
||||
setViewAs,
|
||||
@ -1973,20 +1942,19 @@ export default inject(
|
||||
|
||||
const {
|
||||
filterStore,
|
||||
usersStore,
|
||||
|
||||
groupsStore,
|
||||
viewAs: accountsViewAs,
|
||||
} = peopleStore;
|
||||
|
||||
const { groups } = groupsStore;
|
||||
|
||||
const { getUsersList: fetchPeople } = usersStore;
|
||||
const { filter: accountsFilter } = filterStore;
|
||||
|
||||
return {
|
||||
user,
|
||||
userId: user.id,
|
||||
selectedFolderId: selectedFolderStore.id,
|
||||
|
||||
selectedItem: filter.selectedItem,
|
||||
filter,
|
||||
roomsFilter,
|
||||
@ -1999,8 +1967,7 @@ export default inject(
|
||||
isArchiveFolder,
|
||||
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
fetchRooms,
|
||||
|
||||
fetchTags,
|
||||
setViewAs,
|
||||
createThumbnails,
|
||||
@ -2023,7 +1990,7 @@ export default inject(
|
||||
|
||||
accountsViewAs,
|
||||
groups,
|
||||
fetchPeople,
|
||||
|
||||
accountsFilter,
|
||||
};
|
||||
}
|
||||
|
@ -100,7 +100,6 @@ const PureHome = (props) => {
|
||||
frameConfig,
|
||||
withPaging,
|
||||
isEmptyPage,
|
||||
isLoadedEmptyPage,
|
||||
|
||||
setPortalTariff,
|
||||
|
||||
@ -164,14 +163,16 @@ const PureHome = (props) => {
|
||||
t,
|
||||
isAccountsPage,
|
||||
location,
|
||||
|
||||
setIsLoading,
|
||||
setFirstLoad,
|
||||
|
||||
setSelectedNode,
|
||||
fetchPeople,
|
||||
setPortalTariff,
|
||||
});
|
||||
|
||||
useSettings({ t, isSettingsPage, location });
|
||||
useSettings({ t, isSettingsPage, setFirstLoad, setIsLoading });
|
||||
|
||||
useSDK({
|
||||
frameConfig,
|
||||
@ -341,7 +342,7 @@ export default inject(
|
||||
refreshFiles,
|
||||
setViewAs,
|
||||
isEmptyPage,
|
||||
isLoadedEmptyPage,
|
||||
|
||||
disableDrag,
|
||||
isErrorRoomNotAvailable,
|
||||
setIsPreview,
|
||||
@ -488,7 +489,7 @@ export default inject(
|
||||
setViewAs,
|
||||
withPaging,
|
||||
isEmptyPage,
|
||||
isLoadedEmptyPage,
|
||||
|
||||
setPortalTariff,
|
||||
|
||||
accountsViewAs,
|
||||
|
@ -2573,7 +2573,6 @@ class FilesStore {
|
||||
const items = [...newFolders, ...this.files];
|
||||
|
||||
if (items.length > 0 && this.isEmptyPage) {
|
||||
console.log("set false");
|
||||
this.setIsEmptyPage(false);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user