Web: Files: SelecFileDialog: Added selection of the selected folder.

This commit is contained in:
Tatiana Lopaeva 2021-06-23 18:16:21 +03:00
parent 8f33a74e85
commit d89657ff5f
2 changed files with 25 additions and 10 deletions

View File

@ -12,6 +12,7 @@ import SelectFolderDialog from "../SelectFolderDialog";
import FolderTreeBody from "../SelectFolderDialog/folderTreeBody";
import FileListBody from "./fileListBody";
import Button from "@appserver/components/button";
import { isArrayEqual } from "@appserver/components/utils/array";
class SelectFileDialogModalViewBody extends React.Component {
constructor(props) {
super(props);
@ -25,6 +26,7 @@ class SelectFileDialogModalViewBody extends React.Component {
componentDidMount() {
const { foldersType, onSetLoadingData, onSelectFolder } = this.props;
switch (foldersType) {
case "common":
SelectFolderDialog.getCommonFolders()
@ -63,6 +65,13 @@ class SelectFileDialogModalViewBody extends React.Component {
};
onSelect = (folder) => {
const { onSelectFolder } = this.props;
const { selectedKeys } = this.state;
if (isArrayEqual(folder, selectedKeys)) {
return;
}
this.setState({ selectedKeys: folder });
onSelectFolder && onSelectFolder(folder[0]);
};
render() {
@ -82,7 +91,7 @@ class SelectFileDialogModalViewBody extends React.Component {
loadNextPage,
selectedFolder,
} = this.props;
const { isAvailableFolders, isLoading } = this.state;
const { isAvailableFolders, isLoading, selectedKeys } = this.state;
console.log("filesList", filesList);
return (
<StyledAsidePanel visible={isPanelVisible}>
@ -107,9 +116,11 @@ class SelectFileDialogModalViewBody extends React.Component {
certainFolders
isAvailableFolders
filter={filter}
selectedKeys={selectedKeys}
/>
</div>
<div className="modal-dialog_files-body">
{selectedFolder && (
<FileListBody
isLoadingData={isLoadingData}
filesList={filesList}
@ -118,7 +129,9 @@ class SelectFileDialogModalViewBody extends React.Component {
isNextPageLoading={isNextPageLoading}
loadNextPage={loadNextPage}
selectedFolder={selectedFolder}
isCommonWithoutProvider={isCommonWithoutProvider}
/>
)}
</div>
</div>
</StyledSelectFilePanel>

View File

@ -13,6 +13,7 @@ const FolderTreeBody = ({
certainFolders,
isAvailableFolders,
filter,
selectedKeys,
}) => {
const { t } = useTranslation(["SelectFile", "Common"]);
return (
@ -26,6 +27,7 @@ const FolderTreeBody = ({
onSelect={onSelect}
withoutProvider={isCommonWithoutProvider}
certainFolders={certainFolders}
selectedKeys={selectedKeys}
/>
) : (
<Text as="span">{t("NotAvailableFolder")}</Text>