Web:Client: fix restore backup file input

This commit is contained in:
Timofey Boyko 2023-06-29 17:12:41 +03:00
parent 1df8d8c7b5
commit 16c2d0ac92
4 changed files with 36 additions and 7 deletions

View File

@ -136,7 +136,11 @@ export type FilesSelectorProps = {
fileTitle: string, fileTitle: string,
openNewTab: boolean openNewTab: boolean
) => void; ) => void;
onSelectFile?: (fileInfo: { id: string | number; title: string }) => void; onSelectFile?: (fileInfo: {
id: string | number;
title: string;
path?: string[];
}) => void;
withFooterInput?: boolean; withFooterInput?: boolean;
withFooterCheckbox?: boolean; withFooterCheckbox?: boolean;

View File

@ -100,6 +100,7 @@ const FilesSelector = ({
const [selectedFileInfo, setSelectedFileInfo] = React.useState<{ const [selectedFileInfo, setSelectedFileInfo] = React.useState<{
id: number | string; id: number | string;
title: string; title: string;
path?: string[];
} | null>(null); } | null>(null);
const [total, setTotal] = React.useState<number>(0); const [total, setTotal] = React.useState<number>(0);
@ -357,7 +358,22 @@ const FilesSelector = ({
selectedItemId && selectedItemId &&
onSave(null, selectedItemId, fileName, isChecked); onSave(null, selectedItemId, fileName, isChecked);
onSelectTreeNode && onSelectTreeNode(selectedTreeNode); onSelectTreeNode && onSelectTreeNode(selectedTreeNode);
onSelectFile && selectedFileInfo && onSelectFile(selectedFileInfo);
const info: {
id: string | number;
title: string;
path?: string[];
} = {
id: selectedFileInfo?.id || "",
title: selectedFileInfo?.title || "",
path: [],
};
breadCrumbs.forEach((item, index) => {
if (index !== 0 && info.path) info.path.push(item.label);
});
onSelectFile && selectedFileInfo && onSelectFile(info);
!withoutImmediatelyClose && onCloseAction(); !withoutImmediatelyClose && onCloseAction();
} }
}; };

View File

@ -72,10 +72,13 @@ SelectFileInput.defaultProps = {
}; };
export default inject( export default inject(
({ clientLoadingStore, treeFoldersStore, selectFileDialogStore }) => { (
{ clientLoadingStore, treeFoldersStore, selectFileDialogStore },
{ fileName: fileNameProps }
) => {
const { setFirstLoad } = clientLoadingStore; const { setFirstLoad } = clientLoadingStore;
const { folderId, setFolderId, setFile, fileInfo } = selectFileDialogStore; const { folderId, setFolderId, setFile, fileInfo } = selectFileDialogStore;
const fileName = fileInfo?.title; const fileName = fileInfo?.title || fileNameProps;
const { setExpandedPanelKeys } = treeFoldersStore; const { setExpandedPanelKeys } = treeFoldersStore;
return { return {
setFirstLoad, setFirstLoad,

View File

@ -59,6 +59,7 @@ const RestoreBackup = (props) => {
useState(false); useState(false);
const [isVisibleSelectFileDialog, setIsVisibleSelectFileDialog] = const [isVisibleSelectFileDialog, setIsVisibleSelectFileDialog] =
useState(false); useState(false);
const [path, setPath] = useState("");
const startRestoreBackup = useCallback(async () => { const startRestoreBackup = useCallback(async () => {
try { try {
@ -149,7 +150,7 @@ const RestoreBackup = (props) => {
onClick={onChangeRadioButton} onClick={onChangeRadioButton}
selected={radioButtonState} selected={radioButtonState}
spacing="16px" spacing="16px"
isDisabled={!isEnableRestore} // isDisabled={!isEnableRestore}
/> />
</> </>
); );
@ -160,12 +161,17 @@ const RestoreBackup = (props) => {
{radioButtonState === BACKUP_ROOM && ( {radioButtonState === BACKUP_ROOM && (
<RoomsModule <RoomsModule
isDisabled={!isEnableRestore} // isDisabled={!isEnableRestore}
t={t} t={t}
fileName={path}
isPanelVisible={isVisibleSelectFileDialog} isPanelVisible={isVisibleSelectFileDialog}
onClose={onModalClose} onClose={onModalClose}
onClickInput={onClickInput} onClickInput={onClickInput}
onSelectFile={(file) => setRestoreResource(file.id)} onSelectFile={(file) => {
const newPath = file.path.join("/");
setPath(`${newPath}/${file.title}`);
setRestoreResource(file.id);
}}
/> />
)} )}
{radioButtonState === DISK_SPACE && ( {radioButtonState === DISK_SPACE && (