Web: Client: Data Import: fix routing on the select file step
This commit is contained in:
parent
7097550c69
commit
959df75597
@ -126,9 +126,13 @@ const SelectFileStep = (props: SelectFileStepProps) => {
|
||||
files,
|
||||
setFiles,
|
||||
multipleFileUploading,
|
||||
migratingWorkspace,
|
||||
setMigratingWorkspace,
|
||||
} = props as InjectedSelectFileStepProps;
|
||||
|
||||
const [isSaveDisabled, setIsSaveDisabled] = useState(true);
|
||||
const [isSaveDisabled, setIsSaveDisabled] = useState(
|
||||
migratorName === migratingWorkspace,
|
||||
);
|
||||
const [progress, setProgress] = useState(0);
|
||||
const [isInfiniteProgress, setIsInfiniteProgress] = useState(true);
|
||||
|
||||
@ -249,6 +253,7 @@ const SelectFileStep = (props: SelectFileStepProps) => {
|
||||
setLoadingStatus("upload");
|
||||
setFailTries(FAIL_TRIES);
|
||||
setIsInfiniteProgress(true);
|
||||
setMigratingWorkspace(migratorName);
|
||||
|
||||
onUploadFile(file);
|
||||
};
|
||||
@ -284,6 +289,7 @@ const SelectFileStep = (props: SelectFileStepProps) => {
|
||||
setProgress(0);
|
||||
setLoadingStatus("none");
|
||||
clearInterval(uploadInterval.current);
|
||||
setMigratingWorkspace("");
|
||||
cancelMigration();
|
||||
};
|
||||
|
||||
@ -310,7 +316,10 @@ const SelectFileStep = (props: SelectFileStepProps) => {
|
||||
scale
|
||||
onInput={onSelectFile}
|
||||
className="upload-backup-input"
|
||||
placeholder={(files && files.join(",")) || t("Settings:BackupFile")}
|
||||
placeholder={
|
||||
(migratingWorkspace === migratorName && files && files.join(",")) ||
|
||||
t("Settings:BackupFile")
|
||||
}
|
||||
isDisabled={
|
||||
fileLoadingStatus === "upload" || fileLoadingStatus === "proceed"
|
||||
}
|
||||
@ -376,7 +385,9 @@ const SelectFileStep = (props: SelectFileStepProps) => {
|
||||
saveButtonLabel={t("Settings:UploadToServer")}
|
||||
cancelButtonLabel={t("Common:Back")}
|
||||
displaySettings
|
||||
saveButtonDisabled={isSaveDisabled}
|
||||
saveButtonDisabled={
|
||||
migratingWorkspace !== migratorName || isSaveDisabled
|
||||
}
|
||||
showReminder
|
||||
/>
|
||||
) : (
|
||||
@ -387,7 +398,9 @@ const SelectFileStep = (props: SelectFileStepProps) => {
|
||||
saveButtonLabel={t("Settings:NextStep")}
|
||||
cancelButtonLabel={t("Common:Back")}
|
||||
displaySettings
|
||||
saveButtonDisabled={isSaveDisabled}
|
||||
saveButtonDisabled={
|
||||
migratingWorkspace !== migratorName || isSaveDisabled
|
||||
}
|
||||
showReminder
|
||||
/>
|
||||
)}
|
||||
@ -422,6 +435,8 @@ export default inject<TStore>(({ dialogsStore, importAccountsStore }) => {
|
||||
files,
|
||||
setFiles,
|
||||
multipleFileUploading,
|
||||
migratingWorkspace,
|
||||
setMigratingWorkspace,
|
||||
} = importAccountsStore;
|
||||
const { cancelUploadDialogVisible, setCancelUploadDialogVisible } =
|
||||
dialogsStore;
|
||||
@ -441,5 +456,7 @@ export default inject<TStore>(({ dialogsStore, importAccountsStore }) => {
|
||||
files,
|
||||
setFiles,
|
||||
multipleFileUploading,
|
||||
migratingWorkspace,
|
||||
setMigratingWorkspace,
|
||||
};
|
||||
})(observer(SelectFileStep));
|
||||
|
@ -53,6 +53,7 @@ const DataImport = (props: DataImportProps) => {
|
||||
setFiles,
|
||||
setIsMigrationInit,
|
||||
setLoadingStatus,
|
||||
setMigratingWorkspace,
|
||||
} = props as InjectedDataImportProps;
|
||||
|
||||
const { t } = useTranslation(["Settings"]);
|
||||
@ -77,6 +78,7 @@ const DataImport = (props: DataImportProps) => {
|
||||
if (parseResult.operation === "parse" && isCompleted) {
|
||||
setUsers(parseResult);
|
||||
setWorkspace(parseResult.migratorName);
|
||||
setMigratingWorkspace(parseResult.migratorName);
|
||||
setFiles(parseResult.files);
|
||||
setIsMigrationInit(true);
|
||||
setLoadingStatus("done");
|
||||
@ -85,6 +87,7 @@ const DataImport = (props: DataImportProps) => {
|
||||
getMigrationStatus,
|
||||
setUsers,
|
||||
setWorkspace,
|
||||
setMigratingWorkspace,
|
||||
setFiles,
|
||||
setIsMigrationInit,
|
||||
setLoadingStatus,
|
||||
@ -122,6 +125,7 @@ export default inject<TStore>(
|
||||
setFiles,
|
||||
setIsMigrationInit,
|
||||
setLoadingStatus,
|
||||
setMigratingWorkspace,
|
||||
} = importAccountsStore;
|
||||
|
||||
const { setDocumentTitle } = authStore;
|
||||
@ -142,6 +146,7 @@ export default inject<TStore>(
|
||||
setFiles,
|
||||
setIsMigrationInit,
|
||||
setLoadingStatus,
|
||||
setMigratingWorkspace,
|
||||
};
|
||||
},
|
||||
)(observer(DataImport));
|
||||
|
@ -72,6 +72,8 @@ export interface InjectedSelectFileStepProps extends SelectFileStepProps {
|
||||
files: TStore["importAccountsStore"]["files"];
|
||||
setFiles: TStore["importAccountsStore"]["setFiles"];
|
||||
multipleFileUploading: TStore["importAccountsStore"]["multipleFileUploading"];
|
||||
migratingWorkspace: TStore["importAccountsStore"]["migratingWorkspace"];
|
||||
setMigratingWorkspace: TStore["importAccountsStore"]["setMigratingWorkspace"];
|
||||
}
|
||||
|
||||
export interface DataImportProps {}
|
||||
@ -89,6 +91,7 @@ export interface InjectedDataImportProps extends DataImportProps {
|
||||
setFiles: TStore["importAccountsStore"]["setFiles"];
|
||||
setIsMigrationInit: TStore["importAccountsStore"]["setIsMigrationInit"];
|
||||
setLoadingStatus: TStore["importAccountsStore"]["setLoadingStatus"];
|
||||
setMigratingWorkspace: TStore["importAccountsStore"]["setMigratingWorkspace"];
|
||||
}
|
||||
|
||||
export interface WorkspaceProps {}
|
||||
|
@ -96,6 +96,8 @@ class ImportAccountsStore {
|
||||
|
||||
workspace: TWorkspaceService | "" = "";
|
||||
|
||||
migratingWorkspace: TWorkspaceService | "" = "";
|
||||
|
||||
files: string[] = [];
|
||||
|
||||
importOptions = {
|
||||
@ -152,6 +154,10 @@ class ImportAccountsStore {
|
||||
this.workspace = workspace;
|
||||
};
|
||||
|
||||
setMigratingWorkspace = (workspace: TWorkspaceService | "") => {
|
||||
this.migratingWorkspace = workspace;
|
||||
};
|
||||
|
||||
setFiles = (files: string[]) => {
|
||||
this.files = files;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user