Client: Fixed bug 69471
This commit is contained in:
parent
2d11176958
commit
cbd298b62f
@ -26,10 +26,9 @@
|
|||||||
|
|
||||||
import React, { useMemo, useState, useCallback, useEffect } from "react";
|
import React, { useMemo, useState, useCallback, useEffect } from "react";
|
||||||
|
|
||||||
import { useTranslation, Trans } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
|
|
||||||
import { toastr } from "@docspace/shared/components/toast";
|
|
||||||
import {
|
import {
|
||||||
Events,
|
Events,
|
||||||
FilesSelectorFilterTypes,
|
FilesSelectorFilterTypes,
|
||||||
@ -78,7 +77,6 @@ import FilesSelector from "../FilesSelector";
|
|||||||
|
|
||||||
import LeaveRoomDialog from "../dialogs/LeaveRoomDialog";
|
import LeaveRoomDialog from "../dialogs/LeaveRoomDialog";
|
||||||
import ChangeRoomOwnerPanel from "../panels/ChangeRoomOwnerPanel";
|
import ChangeRoomOwnerPanel from "../panels/ChangeRoomOwnerPanel";
|
||||||
import { CreatedPDFFormDialog } from "../dialogs/CreatedPDFFormDialog";
|
|
||||||
import { PDFFormEditingDialog } from "../dialogs/PDFFormEditingDialog";
|
import { PDFFormEditingDialog } from "../dialogs/PDFFormEditingDialog";
|
||||||
import { SharePDFFormDialog } from "../dialogs/SharePDFFormDialog";
|
import { SharePDFFormDialog } from "../dialogs/SharePDFFormDialog";
|
||||||
import { FillPDFDialog } from "../dialogs/FillPDFDialog";
|
import { FillPDFDialog } from "../dialogs/FillPDFDialog";
|
||||||
@ -141,13 +139,6 @@ const Panels = (props) => {
|
|||||||
shareCollectSelector,
|
shareCollectSelector,
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
const [createPDFFormFile, setCreatePDFFormFile] = useState({
|
|
||||||
visible: false,
|
|
||||||
file: null,
|
|
||||||
localKey: "",
|
|
||||||
onClose: null,
|
|
||||||
});
|
|
||||||
|
|
||||||
const [sharePDFForm, setSharePDFForm] = useState({
|
const [sharePDFForm, setSharePDFForm] = useState({
|
||||||
visible: false,
|
visible: false,
|
||||||
data: null,
|
data: null,
|
||||||
@ -175,41 +166,6 @@ const Panels = (props) => {
|
|||||||
return text[selectFileFormRoomFilterParam];
|
return text[selectFileFormRoomFilterParam];
|
||||||
}, [selectFileFormRoomFilterParam, t]);
|
}, [selectFileFormRoomFilterParam, t]);
|
||||||
|
|
||||||
const handleCreatePDFFormFile = useCallback(
|
|
||||||
/**
|
|
||||||
* @param {CustomEvent} event
|
|
||||||
*/
|
|
||||||
(event) => {
|
|
||||||
const { file, show, localKey } = event.detail;
|
|
||||||
|
|
||||||
if (!show) {
|
|
||||||
return toastr.success(
|
|
||||||
<Trans
|
|
||||||
ns="PDFFormDialog"
|
|
||||||
i18nKey="PDFFormIsReadyToast"
|
|
||||||
components={{ 1: <strong /> }}
|
|
||||||
values={{ filename: file.title }}
|
|
||||||
/>,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
setCreatePDFFormFile({
|
|
||||||
visible: true,
|
|
||||||
file,
|
|
||||||
localKey,
|
|
||||||
onClose: () => {
|
|
||||||
setCreatePDFFormFile({
|
|
||||||
visible: false,
|
|
||||||
onClose: null,
|
|
||||||
file: null,
|
|
||||||
localKey: "",
|
|
||||||
});
|
|
||||||
},
|
|
||||||
});
|
|
||||||
},
|
|
||||||
[],
|
|
||||||
);
|
|
||||||
|
|
||||||
const handleSharePDFForm = useCallback(
|
const handleSharePDFForm = useCallback(
|
||||||
/**
|
/**
|
||||||
* @param {CustomEvent} event
|
* @param {CustomEvent} event
|
||||||
@ -229,20 +185,12 @@ const Panels = (props) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
window.addEventListener(
|
|
||||||
Events.CREATE_PDF_FORM_FILE,
|
|
||||||
handleCreatePDFFormFile,
|
|
||||||
);
|
|
||||||
window.addEventListener(Events.Share_PDF_Form, handleSharePDFForm);
|
window.addEventListener(Events.Share_PDF_Form, handleSharePDFForm);
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
window.removeEventListener(
|
|
||||||
Events.CREATE_PDF_FORM_FILE,
|
|
||||||
handleCreatePDFFormFile,
|
|
||||||
);
|
|
||||||
window.removeEventListener(Events.Share_PDF_Form, handleSharePDFForm);
|
window.removeEventListener(Events.Share_PDF_Form, handleSharePDFForm);
|
||||||
};
|
};
|
||||||
}, [handleCreatePDFFormFile, handleSharePDFForm]);
|
}, [handleSharePDFForm]);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
settingsPluginDialogVisible && (
|
settingsPluginDialogVisible && (
|
||||||
@ -357,12 +305,6 @@ const Panels = (props) => {
|
|||||||
<ChangeRoomOwnerPanel key="change-room-owner" />
|
<ChangeRoomOwnerPanel key="change-room-owner" />
|
||||||
),
|
),
|
||||||
shareFolderDialogVisible && <ShareFolderDialog key="share-folder-dialog" />,
|
shareFolderDialogVisible && <ShareFolderDialog key="share-folder-dialog" />,
|
||||||
createPDFFormFile.visible && (
|
|
||||||
<CreatedPDFFormDialog
|
|
||||||
key="created-pdf-form-dialog"
|
|
||||||
{...createPDFFormFile}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
pdfFormEditVisible && <PDFFormEditingDialog key="pdf-form-edit-dialog" />,
|
pdfFormEditVisible && <PDFFormEditingDialog key="pdf-form-edit-dialog" />,
|
||||||
sharePDFForm.visible && (
|
sharePDFForm.visible && (
|
||||||
<SharePDFFormDialog key="share-pdf-form-dialog" {...sharePDFForm} />
|
<SharePDFFormDialog key="share-pdf-form-dialog" {...sharePDFForm} />
|
||||||
|
@ -24,12 +24,13 @@
|
|||||||
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
|
// 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
|
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||||
|
|
||||||
import { useState, useEffect, useCallback, useRef, memo } from "react";
|
import { useState, useEffect, useCallback, useRef } from "react";
|
||||||
|
import { Trans } from "react-i18next";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
|
|
||||||
import { FileAction } from "@docspace/shared/enums";
|
import { FileAction } from "@docspace/shared/enums";
|
||||||
import { Events } from "@docspace/shared/enums";
|
import { Events } from "@docspace/shared/enums";
|
||||||
|
import { toastr } from "@docspace/shared/components/toast";
|
||||||
|
|
||||||
import CreateEvent from "./CreateEvent";
|
import CreateEvent from "./CreateEvent";
|
||||||
import RenameEvent from "./RenameEvent";
|
import RenameEvent from "./RenameEvent";
|
||||||
@ -40,6 +41,8 @@ import EditGroupEvent from "./GroupEvents/EditGroupEvent";
|
|||||||
import ChangeUserTypeEvent from "./ChangeUserTypeEvent";
|
import ChangeUserTypeEvent from "./ChangeUserTypeEvent";
|
||||||
import CreatePluginFile from "./CreatePluginFileEvent";
|
import CreatePluginFile from "./CreatePluginFileEvent";
|
||||||
import ChangeQuotaEvent from "./ChangeQuotaEvent";
|
import ChangeQuotaEvent from "./ChangeQuotaEvent";
|
||||||
|
import { CreatedPDFFormDialog } from "../dialogs/CreatedPDFFormDialog";
|
||||||
|
|
||||||
const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
|
const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
|
||||||
const [createDialogProps, setCreateDialogProps] = useState({
|
const [createDialogProps, setCreateDialogProps] = useState({
|
||||||
visible: false,
|
visible: false,
|
||||||
@ -98,6 +101,13 @@ const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
|
|||||||
onClose: null,
|
onClose: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const [createPDFFormFile, setCreatePDFFormFile] = useState({
|
||||||
|
visible: false,
|
||||||
|
file: null,
|
||||||
|
localKey: "",
|
||||||
|
onClose: null,
|
||||||
|
});
|
||||||
|
|
||||||
const eventHandlersList = useRef([]);
|
const eventHandlersList = useRef([]);
|
||||||
|
|
||||||
const onCreate = useCallback((e) => {
|
const onCreate = useCallback((e) => {
|
||||||
@ -236,6 +246,45 @@ const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
|
|||||||
[enablePlugins],
|
[enablePlugins],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const handleCreatePDFFormFile = useCallback(
|
||||||
|
/**
|
||||||
|
* @typedef {Object} DetailType
|
||||||
|
* @property {import("@docspace/shared/api/files/types").TFile} file
|
||||||
|
* @property {boolean} show
|
||||||
|
* @property {string} localKey
|
||||||
|
* @param {CustomEvent<DetailType>} event
|
||||||
|
*/
|
||||||
|
(event) => {
|
||||||
|
const { file, show, localKey } = event.detail;
|
||||||
|
|
||||||
|
if (!show) {
|
||||||
|
return toastr.success(
|
||||||
|
<Trans
|
||||||
|
ns="PDFFormDialog"
|
||||||
|
i18nKey="PDFFormIsReadyToast"
|
||||||
|
components={{ 1: <strong /> }}
|
||||||
|
values={{ filename: file.title }}
|
||||||
|
/>,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
setCreatePDFFormFile({
|
||||||
|
visible: true,
|
||||||
|
file,
|
||||||
|
localKey,
|
||||||
|
onClose: () => {
|
||||||
|
setCreatePDFFormFile({
|
||||||
|
visible: false,
|
||||||
|
onClose: null,
|
||||||
|
file: null,
|
||||||
|
localKey: "",
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
[],
|
||||||
|
);
|
||||||
|
|
||||||
const onChangeQuota = useCallback((e) => {
|
const onChangeQuota = useCallback((e) => {
|
||||||
const { payload } = e;
|
const { payload } = e;
|
||||||
|
|
||||||
@ -261,6 +310,21 @@ const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
window.addEventListener(
|
||||||
|
Events.CREATE_PDF_FORM_FILE,
|
||||||
|
handleCreatePDFFormFile,
|
||||||
|
);
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
window.removeEventListener(
|
||||||
|
Events.CREATE_PDF_FORM_FILE,
|
||||||
|
handleCreatePDFFormFile,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}, [handleCreatePDFFormFile]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
window.addEventListener(Events.CREATE, onCreate);
|
window.addEventListener(Events.CREATE, onCreate);
|
||||||
window.addEventListener(Events.RENAME, onRename);
|
window.addEventListener(Events.RENAME, onRename);
|
||||||
@ -360,6 +424,12 @@ const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
|
|||||||
changeQuotaDialog.visible && (
|
changeQuotaDialog.visible && (
|
||||||
<ChangeQuotaEvent key={Events.CHANGE_QUOTA} {...changeQuotaDialog} />
|
<ChangeQuotaEvent key={Events.CHANGE_QUOTA} {...changeQuotaDialog} />
|
||||||
),
|
),
|
||||||
|
createPDFFormFile.visible && !createDialogProps.visible && (
|
||||||
|
<CreatedPDFFormDialog
|
||||||
|
key="created-pdf-form-dialog"
|
||||||
|
{...createPDFFormFile}
|
||||||
|
/>
|
||||||
|
),
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -53,6 +53,7 @@ import config from "PACKAGE_FILE";
|
|||||||
import { thumbnailStatuses } from "@docspace/client/src/helpers/filesConstants";
|
import { thumbnailStatuses } from "@docspace/client/src/helpers/filesConstants";
|
||||||
import { getDaysRemaining } from "@docspace/shared/utils/common";
|
import { getDaysRemaining } from "@docspace/shared/utils/common";
|
||||||
import {
|
import {
|
||||||
|
LOADER_TIMEOUT,
|
||||||
MEDIA_VIEW_URL,
|
MEDIA_VIEW_URL,
|
||||||
PDF_FORM_DIALOG_KEY,
|
PDF_FORM_DIALOG_KEY,
|
||||||
ROOMS_PROVIDER_TYPE_NAME,
|
ROOMS_PROVIDER_TYPE_NAME,
|
||||||
@ -380,7 +381,7 @@ class FilesStore {
|
|||||||
socketHelper.on("s:modify-room", (option) => {
|
socketHelper.on("s:modify-room", (option) => {
|
||||||
switch (option.cmd) {
|
switch (option.cmd) {
|
||||||
case "create-form":
|
case "create-form":
|
||||||
this.wsCreatedPDFForm(option);
|
setTimeout(() => this.wsCreatedPDFForm(option), LOADER_TIMEOUT * 2);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user