Web: Client: Data import: fixed blinking
This commit is contained in:
parent
25f56df43b
commit
9979e71115
@ -100,34 +100,8 @@ const SelectFileStep = ({
|
||||
)
|
||||
return;
|
||||
|
||||
if (res.parseResult.migratorName !== "GoogleWorkspace") {
|
||||
const workspacesEnum = {
|
||||
GoogleWorkspace: "google",
|
||||
Nextcloud: "nextcloud",
|
||||
Workspace: "onlyoffice",
|
||||
};
|
||||
const migratorName = res.parseResult.migratorName;
|
||||
|
||||
navigate(
|
||||
`/portal-settings/data-import/migration/${workspacesEnum[migratorName]}?service=${migratorName}`,
|
||||
);
|
||||
}
|
||||
|
||||
if (!res.isCompleted && res.parseResult.users.length > 0) {
|
||||
setStep(6);
|
||||
return;
|
||||
}
|
||||
|
||||
if (res.isCompleted) {
|
||||
setUsers(res.parseResult);
|
||||
setStep(2);
|
||||
return;
|
||||
}
|
||||
|
||||
setProgress(res.progress);
|
||||
setIsFileError(false);
|
||||
setShowReminder(true);
|
||||
setIsFileLoading(true);
|
||||
|
||||
uploadInterval.current = setInterval(async () => {
|
||||
const res = await getMigrationStatus();
|
||||
|
@ -5,6 +5,7 @@ import { getStepTitle, getGoogleStepDescription } from "../../../utils";
|
||||
import { tablet, isMobile } from "@docspace/shared/utils/device";
|
||||
import useViewEffect from "SRC_DIR/Hooks/useViewEffect";
|
||||
import styled, { css } from "styled-components";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
|
||||
import StepContent from "./Stepper";
|
||||
import BreakpointWarning from "SRC_DIR/components/BreakpointWarning";
|
||||
@ -70,9 +71,13 @@ const GoogleWorkspace = ({
|
||||
viewAs,
|
||||
setViewAs,
|
||||
currentDeviceType,
|
||||
getMigrationStatus,
|
||||
setUsers,
|
||||
}) => {
|
||||
const [showReminder, setShowReminder] = useState(false);
|
||||
const [currentStep, setCurrentStep] = useState(1);
|
||||
const [shouldRender, setShouldRender] = useState(false);
|
||||
const navigate = useNavigate();
|
||||
|
||||
const onNextStep = () => {
|
||||
if (currentStep !== 6) {
|
||||
@ -124,11 +129,51 @@ const GoogleWorkspace = ({
|
||||
currentDeviceType,
|
||||
});
|
||||
|
||||
useEffect(() => clearCheckedAccounts, []);
|
||||
useEffect(() => {
|
||||
getMigrationStatus().then((res) => {
|
||||
if (
|
||||
!res ||
|
||||
res.parseResult.successedUsers + res.parseResult.failedUsers > 0
|
||||
) {
|
||||
setShouldRender(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (res.parseResult.migratorName !== "GoogleWorkspace") {
|
||||
const workspacesEnum = {
|
||||
GoogleWorkspace: "google",
|
||||
Nextcloud: "nextcloud",
|
||||
Workspace: "onlyoffice",
|
||||
};
|
||||
const migratorName = res.parseResult.migratorName;
|
||||
|
||||
setShouldRender(true);
|
||||
navigate(
|
||||
`/portal-settings/data-import/migration/${workspacesEnum[migratorName]}?service=${migratorName}`,
|
||||
);
|
||||
}
|
||||
|
||||
if (!res.isCompleted && res.parseResult.users.length > 0) {
|
||||
setCurrentStep(6);
|
||||
setShouldRender(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (res.isCompleted) {
|
||||
setUsers(res.parseResult);
|
||||
setCurrentStep(2);
|
||||
}
|
||||
setShouldRender(true);
|
||||
});
|
||||
|
||||
return clearCheckedAccounts;
|
||||
}, []);
|
||||
|
||||
if (isMobile())
|
||||
return <BreakpointWarning sectionName={t("Settings:DataImport")} />;
|
||||
|
||||
if (!shouldRender) return;
|
||||
|
||||
return (
|
||||
<GoogleWrapper>
|
||||
<Text className="workspace-subtitle">
|
||||
@ -159,9 +204,17 @@ const GoogleWorkspace = ({
|
||||
};
|
||||
|
||||
export default inject(({ setup, settingsStore, importAccountsStore }) => {
|
||||
const { clearCheckedAccounts } = importAccountsStore;
|
||||
const { clearCheckedAccounts, getMigrationStatus, setUsers } =
|
||||
importAccountsStore;
|
||||
const { viewAs, setViewAs } = setup;
|
||||
const { currentDeviceType } = settingsStore;
|
||||
|
||||
return { clearCheckedAccounts, viewAs, setViewAs, currentDeviceType };
|
||||
return {
|
||||
clearCheckedAccounts,
|
||||
viewAs,
|
||||
setViewAs,
|
||||
currentDeviceType,
|
||||
getMigrationStatus,
|
||||
setUsers,
|
||||
};
|
||||
})(withTranslation(["Common, Settings"])(observer(GoogleWorkspace)));
|
||||
|
@ -180,35 +180,9 @@ const SelectFileStep = ({
|
||||
res.parseResult.successedUsers + res.parseResult.failedUsers > 0
|
||||
)
|
||||
return;
|
||||
|
||||
if (res.parseResult.migratorName !== "Nextcloud") {
|
||||
const workspacesEnum = {
|
||||
GoogleWorkspace: "google",
|
||||
Nextcloud: "nextcloud",
|
||||
Workspace: "onlyoffice",
|
||||
};
|
||||
const migratorName = res.parseResult.migratorName;
|
||||
|
||||
navigate(
|
||||
`/portal-settings/data-import/migration/${workspacesEnum[migratorName]}?service=${migratorName}`,
|
||||
);
|
||||
}
|
||||
|
||||
if (!res.isCompleted && res.parseResult.users.length > 0) {
|
||||
setStep(6);
|
||||
return;
|
||||
}
|
||||
|
||||
if (res.isCompleted) {
|
||||
setUsers(res.parseResult);
|
||||
setStep(2);
|
||||
return;
|
||||
}
|
||||
|
||||
setProgress(res.progress);
|
||||
|
||||
setIsFileError(false);
|
||||
setIsSaveDisabled(true);
|
||||
setIsFileLoading(true);
|
||||
|
||||
uploadInterval.current = setInterval(async () => {
|
||||
const res = await getMigrationStatus();
|
||||
|
@ -4,6 +4,7 @@ import { withTranslation } from "react-i18next";
|
||||
import { isMobile } from "@docspace/shared/utils/device";
|
||||
import useViewEffect from "SRC_DIR/Hooks/useViewEffect";
|
||||
import styled from "styled-components";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
|
||||
import { Text } from "@docspace/shared/components/text";
|
||||
import BreakpointWarning from "SRC_DIR/components/BreakpointWarning";
|
||||
@ -32,9 +33,13 @@ const NextcloudWorkspace = (props) => {
|
||||
viewAs,
|
||||
setViewAs,
|
||||
currentDeviceType,
|
||||
getMigrationStatus,
|
||||
setUsers,
|
||||
} = props;
|
||||
const [currentStep, setCurrentStep] = useState(1);
|
||||
const [shouldRender, setShouldRender] = useState(false);
|
||||
const StepsData = getStepsData(t, currentStep, setCurrentStep);
|
||||
const navigate = useNavigate();
|
||||
|
||||
useViewEffect({
|
||||
view: viewAs,
|
||||
@ -42,12 +47,50 @@ const NextcloudWorkspace = (props) => {
|
||||
currentDeviceType,
|
||||
});
|
||||
|
||||
useEffect(() => clearCheckedAccounts, []);
|
||||
useEffect(() => {
|
||||
getMigrationStatus().then((res) => {
|
||||
if (
|
||||
!res ||
|
||||
res.parseResult.successedUsers + res.parseResult.failedUsers > 0
|
||||
) {
|
||||
setShouldRender(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (res.parseResult.migratorName !== "Nextcloud") {
|
||||
const workspacesEnum = {
|
||||
GoogleWorkspace: "google",
|
||||
Nextcloud: "nextcloud",
|
||||
Workspace: "onlyoffice",
|
||||
};
|
||||
const migratorName = res.parseResult.migratorName;
|
||||
|
||||
setShouldRender(true);
|
||||
navigate(
|
||||
`/portal-settings/data-import/migration/${workspacesEnum[migratorName]}?service=${migratorName}`,
|
||||
);
|
||||
}
|
||||
|
||||
if (!res.isCompleted && res.parseResult.users.length > 0) {
|
||||
setCurrentStep(6);
|
||||
setShouldRender(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (res.isCompleted) {
|
||||
setUsers(res.parseResult);
|
||||
setCurrentStep(2);
|
||||
setShouldRender(true);
|
||||
}
|
||||
});
|
||||
|
||||
return clearCheckedAccounts;
|
||||
}, []);
|
||||
|
||||
if (isMobile())
|
||||
return <BreakpointWarning sectionName={t("Settings:DataImport")} />;
|
||||
|
||||
if (!tReady) return;
|
||||
if (!tReady || !shouldRender) return;
|
||||
|
||||
return (
|
||||
<>
|
||||
@ -77,7 +120,8 @@ const NextcloudWorkspace = (props) => {
|
||||
};
|
||||
|
||||
export default inject(({ setup, settingsStore, importAccountsStore }) => {
|
||||
const { clearCheckedAccounts } = importAccountsStore;
|
||||
const { clearCheckedAccounts, getMigrationStatus, setUsers } =
|
||||
importAccountsStore;
|
||||
const { initSettings, viewAs, setViewAs } = setup;
|
||||
const { currentDeviceType } = settingsStore;
|
||||
|
||||
@ -88,6 +132,8 @@ export default inject(({ setup, settingsStore, importAccountsStore }) => {
|
||||
viewAs,
|
||||
setViewAs,
|
||||
currentDeviceType,
|
||||
getMigrationStatus,
|
||||
setUsers,
|
||||
};
|
||||
})(
|
||||
withTranslation(["Common, SMTPSettings, Settings"])(
|
||||
|
@ -99,32 +99,8 @@ const SelectFileStep = ({
|
||||
)
|
||||
return;
|
||||
|
||||
if (res.parseResult.migratorName !== "Workspace") {
|
||||
const workspacesEnum = {
|
||||
GoogleWorkspace: "google",
|
||||
Nextcloud: "nextcloud",
|
||||
Workspace: "onlyoffice",
|
||||
};
|
||||
const migratorName = res.parseResult.migratorName;
|
||||
|
||||
navigate(`/portal-settings/data-import/migration/${workspacesEnum[migratorName]}?service=${migratorName}`);
|
||||
}
|
||||
|
||||
if (!res.isCompleted && res.parseResult.users.length > 0) {
|
||||
setStep(5);
|
||||
return;
|
||||
}
|
||||
|
||||
if (res.isCompleted) {
|
||||
setUsers(res.parseResult);
|
||||
setStep(2);
|
||||
return;
|
||||
}
|
||||
|
||||
setProgress(res.progress);
|
||||
setIsFileError(false);
|
||||
setShowReminder(true);
|
||||
setIsFileLoading(true);
|
||||
|
||||
uploadInterval.current = setInterval(async () => {
|
||||
const res = await getMigrationStatus();
|
||||
|
@ -5,6 +5,7 @@ import { getStepTitle, getWorkspaceStepDescription } from "../../../utils";
|
||||
import { tablet, isMobile } from "@docspace/shared/utils/device";
|
||||
import useViewEffect from "SRC_DIR/Hooks/useViewEffect";
|
||||
import styled, { css } from "styled-components";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
|
||||
import StepContent from "./Stepper";
|
||||
import BreakpointWarning from "SRC_DIR/components/BreakpointWarning";
|
||||
@ -69,9 +70,13 @@ const OnlyofficeWorkspace = ({
|
||||
viewAs,
|
||||
setViewAs,
|
||||
currentDeviceType,
|
||||
getMigrationStatus,
|
||||
setUsers,
|
||||
}) => {
|
||||
const [showReminder, setShowReminder] = useState(false);
|
||||
const [currentStep, setCurrentStep] = useState(1);
|
||||
const [shouldRender, setShouldRender] = useState(false);
|
||||
const navigate = useNavigate();
|
||||
|
||||
const onNextStep = () => {
|
||||
if (currentStep !== 6) {
|
||||
@ -123,12 +128,52 @@ const OnlyofficeWorkspace = ({
|
||||
currentDeviceType,
|
||||
});
|
||||
|
||||
useEffect(() => clearCheckedAccounts, []);
|
||||
useEffect(() => {
|
||||
getMigrationStatus().then((res) => {
|
||||
if (
|
||||
!res ||
|
||||
res.parseResult.successedUsers + res.parseResult.failedUsers > 0
|
||||
) {
|
||||
setShouldRender(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (res.parseResult.migratorName !== "Workspace") {
|
||||
const workspacesEnum = {
|
||||
GoogleWorkspace: "google",
|
||||
Nextcloud: "nextcloud",
|
||||
Workspace: "onlyoffice",
|
||||
};
|
||||
const migratorName = res.parseResult.migratorName;
|
||||
|
||||
setShouldRender(true);
|
||||
navigate(
|
||||
`/portal-settings/data-import/migration/${workspacesEnum[migratorName]}?service=${migratorName}`,
|
||||
);
|
||||
}
|
||||
|
||||
if (!res.isCompleted && res.parseResult.users.length > 0) {
|
||||
setCurrentStep(5);
|
||||
setShouldRender(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (res.isCompleted) {
|
||||
setUsers(res.parseResult);
|
||||
setCurrentStep(2);
|
||||
}
|
||||
setShouldRender(true);
|
||||
});
|
||||
|
||||
return clearCheckedAccounts;
|
||||
}, []);
|
||||
|
||||
if (isMobile()) {
|
||||
return <BreakpointWarning sectionName={t("Settings:DataImport")} />;
|
||||
}
|
||||
|
||||
if (!shouldRender) return;
|
||||
|
||||
return (
|
||||
<WorkspaceWrapper>
|
||||
<Text className="workspace-subtitle">
|
||||
@ -151,7 +196,7 @@ const OnlyofficeWorkspace = ({
|
||||
onPrevStep={onPrevStep}
|
||||
showReminder={showReminder}
|
||||
setShowReminder={setShowReminder}
|
||||
setStep={setCurrentStep}
|
||||
setCurrentStep={setCurrentStep}
|
||||
/>
|
||||
</div>
|
||||
</WorkspaceWrapper>
|
||||
@ -159,9 +204,17 @@ const OnlyofficeWorkspace = ({
|
||||
};
|
||||
|
||||
export default inject(({ setup, settingsStore, importAccountsStore }) => {
|
||||
const { clearCheckedAccounts } = importAccountsStore;
|
||||
const { clearCheckedAccounts, getMigrationStatus, setUsers } =
|
||||
importAccountsStore;
|
||||
const { viewAs, setViewAs } = setup;
|
||||
const { currentDeviceType } = settingsStore;
|
||||
|
||||
return { clearCheckedAccounts, viewAs, setViewAs, currentDeviceType };
|
||||
return {
|
||||
clearCheckedAccounts,
|
||||
viewAs,
|
||||
setViewAs,
|
||||
currentDeviceType,
|
||||
getMigrationStatus,
|
||||
setUsers,
|
||||
};
|
||||
})(withTranslation(["Common, Settings"])(observer(OnlyofficeWorkspace)));
|
||||
|
Loading…
Reference in New Issue
Block a user