Web: Client: Data Import: refactoring
This commit is contained in:
parent
388e10de89
commit
aa14ed85ce
@ -42,7 +42,6 @@ const ImportProcessingStep = (props: ImportProcessingStepProps) => {
|
||||
const {
|
||||
t,
|
||||
migratorName,
|
||||
|
||||
incrementStep,
|
||||
setIsLoading,
|
||||
proceedFileMigration,
|
||||
@ -50,8 +49,7 @@ const ImportProcessingStep = (props: ImportProcessingStepProps) => {
|
||||
} = props as InjectedImportProcessingStepProps;
|
||||
|
||||
const [percent, setPercent] = useState(0);
|
||||
const [isVisible, setIsVisible] = useState(false);
|
||||
|
||||
const [isVisibleProgress, setIsVisibleProgress] = useState(false);
|
||||
const [failTries, setFailTries] = useState(FAIL_TRIES);
|
||||
|
||||
const uploadInterval = useRef<number>();
|
||||
@ -59,7 +57,7 @@ const ImportProcessingStep = (props: ImportProcessingStepProps) => {
|
||||
const handleFileMigration = async () => {
|
||||
setIsLoading(true);
|
||||
setPercent(0);
|
||||
setIsVisible(true);
|
||||
setIsVisibleProgress(true);
|
||||
try {
|
||||
await proceedFileMigration(migratorName);
|
||||
|
||||
@ -78,17 +76,12 @@ const ImportProcessingStep = (props: ImportProcessingStepProps) => {
|
||||
}
|
||||
|
||||
setPercent(res.progress);
|
||||
|
||||
if (res.progress > 10) {
|
||||
setIsVisible(false);
|
||||
} else {
|
||||
setIsVisible(true);
|
||||
}
|
||||
setIsVisibleProgress(res.progress <= 10);
|
||||
|
||||
if (res.isCompleted || res.progress === 100) {
|
||||
clearInterval(uploadInterval.current);
|
||||
setIsLoading(false);
|
||||
setIsVisible(false);
|
||||
setIsVisibleProgress(false);
|
||||
setPercent(100);
|
||||
setTimeout(() => {
|
||||
incrementStep();
|
||||
@ -111,7 +104,7 @@ const ImportProcessingStep = (props: ImportProcessingStepProps) => {
|
||||
<Wrapper>
|
||||
<ProgressBar
|
||||
percent={percent}
|
||||
isInfiniteProgress={isVisible}
|
||||
isInfiniteProgress={isVisibleProgress}
|
||||
className="data-import-progress-bar"
|
||||
/>
|
||||
</Wrapper>
|
||||
|
@ -89,18 +89,13 @@ const FileUploadContainer = styled.div`
|
||||
.cancelUploadButton {
|
||||
@media ${mobile} {
|
||||
margin-bottom: 0;
|
||||
|
||||
width: auto;
|
||||
|
||||
position: fixed;
|
||||
inset-inline: 0px;
|
||||
bottom: 0px;
|
||||
|
||||
padding: 16px;
|
||||
|
||||
background: ${(props) =>
|
||||
props.theme.client.settings.migration.workspaceBackground};
|
||||
|
||||
gap: 0;
|
||||
}
|
||||
}
|
||||
@ -134,17 +129,14 @@ const FAIL_TRIES = 2;
|
||||
|
||||
const SelectFileStep = (props: SelectFileStepProps) => {
|
||||
const {
|
||||
t,
|
||||
isMultipleUpload,
|
||||
migratorName,
|
||||
acceptedExtensions,
|
||||
|
||||
t,
|
||||
incrementStep,
|
||||
setWorkspace,
|
||||
|
||||
cancelUploadDialogVisible,
|
||||
setCancelUploadDialogVisible,
|
||||
|
||||
initMigrationName,
|
||||
singleFileUploading,
|
||||
getMigrationStatus,
|
||||
@ -204,12 +196,13 @@ const SelectFileStep = (props: SelectFileStepProps) => {
|
||||
|
||||
if (res.isCompleted || res.progress === 100) {
|
||||
clearInterval(uploadInterval.current);
|
||||
if (
|
||||
|
||||
const totalUsers =
|
||||
res.parseResult.users.length +
|
||||
res.parseResult.existUsers.length +
|
||||
res.parseResult.withoutEmailUsers.length >
|
||||
0
|
||||
) {
|
||||
res.parseResult.existUsers.length +
|
||||
res.parseResult.withoutEmailUsers.length;
|
||||
|
||||
if (totalUsers > 0) {
|
||||
setUsers(res.parseResult);
|
||||
setIsBackupEmpty(false);
|
||||
setLoadingStatus("done");
|
||||
|
@ -24,7 +24,7 @@
|
||||
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
|
||||
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
|
||||
import styled, { css } from "styled-components";
|
||||
import styled from "styled-components";
|
||||
import { Text } from "@docspace/shared/components/text";
|
||||
import { Box } from "@docspace/shared/components/box";
|
||||
import { RowContent } from "@docspace/shared/components/row-content";
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { tablet } from "@docspace/shared/utils/device";
|
||||
import styled, { css } from "styled-components";
|
||||
import styled from "styled-components";
|
||||
|
||||
import { EmptyScreenContainer } from "@docspace/shared/components/empty-screen-container";
|
||||
import { IconButton } from "@docspace/shared/components/icon-button";
|
||||
@ -91,7 +91,6 @@ const RowView = (props: RowViewProps) => {
|
||||
t,
|
||||
sectionWidth,
|
||||
accountsData,
|
||||
|
||||
checkedUsers,
|
||||
withEmailUsers,
|
||||
toggleAccount,
|
||||
|
@ -27,7 +27,7 @@
|
||||
import { useRef } from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { Base } from "@docspace/shared/themes";
|
||||
import styled, { css } from "styled-components";
|
||||
import styled from "styled-components";
|
||||
|
||||
import { EmptyScreenContainer } from "@docspace/shared/components/empty-screen-container";
|
||||
import { IconButton } from "@docspace/shared/components/icon-button";
|
||||
@ -97,7 +97,6 @@ const TableView = (props: TypeSelectTableViewProps) => {
|
||||
sectionWidth,
|
||||
accountsData,
|
||||
typeOptions,
|
||||
|
||||
userId,
|
||||
checkedUsers,
|
||||
toggleAccount,
|
||||
|
@ -43,7 +43,6 @@ const DataImport = (props: DataImportProps) => {
|
||||
viewAs,
|
||||
setViewAs,
|
||||
currentDeviceType,
|
||||
|
||||
getMigrationStatus,
|
||||
isMigrationInit,
|
||||
setUsers,
|
||||
@ -74,15 +73,14 @@ const DataImport = (props: DataImportProps) => {
|
||||
|
||||
const { parseResult, error, isCompleted } = response;
|
||||
|
||||
if (
|
||||
error ||
|
||||
parseResult.failedArchives.length > 0 ||
|
||||
const isErrorOrFailedParse = error || parseResult.failedArchives.length > 0;
|
||||
const isNoUsersParsed =
|
||||
parseResult.users.length +
|
||||
parseResult.existUsers.length +
|
||||
parseResult.withoutEmailUsers.length ===
|
||||
0
|
||||
)
|
||||
return;
|
||||
0;
|
||||
|
||||
if (isErrorOrFailedParse || isNoUsersParsed) return;
|
||||
|
||||
if (parseResult.operation === "parse") {
|
||||
setWorkspace(parseResult.migratorName);
|
||||
@ -160,7 +158,6 @@ export default inject<TStore>(
|
||||
viewAs,
|
||||
setViewAs,
|
||||
currentDeviceType,
|
||||
|
||||
getMigrationStatus,
|
||||
isMigrationInit,
|
||||
setUsers,
|
||||
|
Loading…
Reference in New Issue
Block a user