Web: Doceditor: added and applied preparationPortalDialog

This commit is contained in:
Artem Tarasov 2022-04-13 11:36:30 +03:00
parent 172cb031b6
commit 81e6a2d04a
3 changed files with 40 additions and 5 deletions

View File

@ -7,7 +7,6 @@ import throttle from "lodash/throttle";
import Loader from "@appserver/components/loader";
import Toast from "@appserver/components/toast";
import { toast } from "react-toastify";
import {
restoreDocumentsVersion,
markAsFavorite,
@ -17,11 +16,9 @@ import {
updateFile,
checkFillFormDraft,
} from "@appserver/common/api/files";
import { EditorWrapper } from "./StyledEditor";
import { useTranslation } from "react-i18next";
import withDialogs from "./helpers/withDialogs";
import { canConvert, convertDocumentUrl } from "./helpers/utils";
const LoaderComponent = (
@ -94,6 +91,7 @@ function Editor({
isDesktopEditor,
initDesktop,
view,
preparationPortalDialog,
...rest
}) {
const [isLoaded, setIsLoaded] = useState(false);
@ -582,6 +580,7 @@ function Editor({
{sharingDialog}
{selectFileDialog}
{selectFolderDialog}
{preparationPortalDialog}
<Toast />
</EditorWrapper>
);

View File

@ -30,12 +30,13 @@ function useMfScripts() {
"./SharingDialog"
)();
const toastr = await loadComponent(STUDIO_SCOPE, "./toastr")();
const filesUtils = await loadComponent(FILES_SCOPE, "./utils")();
const authStore = await loadComponent(STUDIO_SCOPE, "./store")();
window.toastr = toastr.default;
window.filesUtils = filesUtils;
window.SharingDialog = SharingDialog.default;
window.authStore = authStore.default;
setIsInitialized(true);
setIsError(false);

View File

@ -1,7 +1,12 @@
import React, { useState } from "react";
import DynamicComponent from "../components/DynamicComponent";
import { getPresignedUri } from "@appserver/common/api/files";
import { FILES_REMOTE_ENTRY_URL, FILES_SCOPE } from "./constants";
import {
FILES_REMOTE_ENTRY_URL,
FILES_SCOPE,
STUDIO_SCOPE,
STUDIO_REMOTE_ENTRY_URL,
} from "./constants";
import Text from "@appserver/components/text";
import TextInput from "@appserver/components/text-input";
import Checkbox from "@appserver/components/checkbox";
@ -23,10 +28,28 @@ const withDialogs = (WrappedComponent) => {
const [urlSelectorFolder, setUrlSelectorFolder] = useState("");
const [extension, setExtension] = useState();
const [openNewTab, setNewOpenTab] = useState(false);
const [
preparationPortalDialogVisible,
setPreparationPortalDialogVisible,
] = useState(false);
const { t } = useTranslation(["Editor", "Common"]);
const { fileInfo, fileId, mfReady } = props;
React.useEffect(async () => {
if (window.authStore) {
await window.authStore.auth.init(true);
const { socketHelper } = window.authStore.auth.settingsStore;
socketHelper.emit({
command: "subscribe",
data: "backup-restore",
});
socketHelper.on("restore-backup", () => {
setPreparationPortalDialogVisible(true);
});
}
}, [mfReady]);
const onSDKRequestSharingSettings = () => {
setIsVisible(true);
@ -285,6 +308,17 @@ const withDialogs = (WrappedComponent) => {
/>
);
const preparationPortalDialog = mfReady && (
<DynamicComponent
system={{
scope: STUDIO_SCOPE,
url: STUDIO_REMOTE_ENTRY_URL,
module: "./PreparationPortalDialog",
}}
visible={preparationPortalDialogVisible}
/>
);
return (
<WrappedComponent
{...props}
@ -300,6 +334,7 @@ const withDialogs = (WrappedComponent) => {
selectFolderDialog={selectFolderDialog}
onSDKRequestSaveAs={onSDKRequestSaveAs}
isFolderDialogVisible={isFolderDialogVisible}
preparationPortalDialog={preparationPortalDialog}
/>
);
};