Web: Client: Data Import: refactoring

This commit is contained in:
Elyor Djalilov 2024-07-30 19:37:42 +05:00
parent 388e10de89
commit aa14ed85ce
6 changed files with 20 additions and 39 deletions

View File

@ -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>

View File

@ -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");

View File

@ -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";

View File

@ -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,

View File

@ -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,

View File

@ -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,