Web: Files: SelecFileDialog: Added selection of the selected folder.
This commit is contained in:
parent
8f33a74e85
commit
d89657ff5f
@ -12,6 +12,7 @@ import SelectFolderDialog from "../SelectFolderDialog";
|
|||||||
import FolderTreeBody from "../SelectFolderDialog/folderTreeBody";
|
import FolderTreeBody from "../SelectFolderDialog/folderTreeBody";
|
||||||
import FileListBody from "./fileListBody";
|
import FileListBody from "./fileListBody";
|
||||||
import Button from "@appserver/components/button";
|
import Button from "@appserver/components/button";
|
||||||
|
import { isArrayEqual } from "@appserver/components/utils/array";
|
||||||
class SelectFileDialogModalViewBody extends React.Component {
|
class SelectFileDialogModalViewBody extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
@ -25,6 +26,7 @@ class SelectFileDialogModalViewBody extends React.Component {
|
|||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
const { foldersType, onSetLoadingData, onSelectFolder } = this.props;
|
const { foldersType, onSetLoadingData, onSelectFolder } = this.props;
|
||||||
|
|
||||||
switch (foldersType) {
|
switch (foldersType) {
|
||||||
case "common":
|
case "common":
|
||||||
SelectFolderDialog.getCommonFolders()
|
SelectFolderDialog.getCommonFolders()
|
||||||
@ -63,6 +65,13 @@ class SelectFileDialogModalViewBody extends React.Component {
|
|||||||
};
|
};
|
||||||
onSelect = (folder) => {
|
onSelect = (folder) => {
|
||||||
const { onSelectFolder } = this.props;
|
const { onSelectFolder } = this.props;
|
||||||
|
const { selectedKeys } = this.state;
|
||||||
|
|
||||||
|
if (isArrayEqual(folder, selectedKeys)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setState({ selectedKeys: folder });
|
||||||
|
|
||||||
onSelectFolder && onSelectFolder(folder[0]);
|
onSelectFolder && onSelectFolder(folder[0]);
|
||||||
};
|
};
|
||||||
render() {
|
render() {
|
||||||
@ -82,7 +91,7 @@ class SelectFileDialogModalViewBody extends React.Component {
|
|||||||
loadNextPage,
|
loadNextPage,
|
||||||
selectedFolder,
|
selectedFolder,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
const { isAvailableFolders, isLoading } = this.state;
|
const { isAvailableFolders, isLoading, selectedKeys } = this.state;
|
||||||
console.log("filesList", filesList);
|
console.log("filesList", filesList);
|
||||||
return (
|
return (
|
||||||
<StyledAsidePanel visible={isPanelVisible}>
|
<StyledAsidePanel visible={isPanelVisible}>
|
||||||
@ -107,18 +116,22 @@ class SelectFileDialogModalViewBody extends React.Component {
|
|||||||
certainFolders
|
certainFolders
|
||||||
isAvailableFolders
|
isAvailableFolders
|
||||||
filter={filter}
|
filter={filter}
|
||||||
|
selectedKeys={selectedKeys}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="modal-dialog_files-body">
|
<div className="modal-dialog_files-body">
|
||||||
<FileListBody
|
{selectedFolder && (
|
||||||
isLoadingData={isLoadingData}
|
<FileListBody
|
||||||
filesList={filesList}
|
isLoadingData={isLoadingData}
|
||||||
onFileClick={onFileClick}
|
filesList={filesList}
|
||||||
hasNextPage={hasNextPage}
|
onFileClick={onFileClick}
|
||||||
isNextPageLoading={isNextPageLoading}
|
hasNextPage={hasNextPage}
|
||||||
loadNextPage={loadNextPage}
|
isNextPageLoading={isNextPageLoading}
|
||||||
selectedFolder={selectedFolder}
|
loadNextPage={loadNextPage}
|
||||||
/>
|
selectedFolder={selectedFolder}
|
||||||
|
isCommonWithoutProvider={isCommonWithoutProvider}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</StyledSelectFilePanel>
|
</StyledSelectFilePanel>
|
||||||
|
@ -13,6 +13,7 @@ const FolderTreeBody = ({
|
|||||||
certainFolders,
|
certainFolders,
|
||||||
isAvailableFolders,
|
isAvailableFolders,
|
||||||
filter,
|
filter,
|
||||||
|
selectedKeys,
|
||||||
}) => {
|
}) => {
|
||||||
const { t } = useTranslation(["SelectFile", "Common"]);
|
const { t } = useTranslation(["SelectFile", "Common"]);
|
||||||
return (
|
return (
|
||||||
@ -26,6 +27,7 @@ const FolderTreeBody = ({
|
|||||||
onSelect={onSelect}
|
onSelect={onSelect}
|
||||||
withoutProvider={isCommonWithoutProvider}
|
withoutProvider={isCommonWithoutProvider}
|
||||||
certainFolders={certainFolders}
|
certainFolders={certainFolders}
|
||||||
|
selectedKeys={selectedKeys}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<Text as="span">{t("NotAvailableFolder")}</Text>
|
<Text as="span">{t("NotAvailableFolder")}</Text>
|
||||||
|
Loading…
Reference in New Issue
Block a user