diff --git a/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/VirtualDataRoomBlock.js b/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/VirtualDataRoomBlock.js index ca8f15d4fb..da5fe16a21 100644 --- a/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/VirtualDataRoomBlock.js +++ b/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/VirtualDataRoomBlock.js @@ -72,14 +72,17 @@ const VirtualDataRoomBlock = ({ t, roomParams, setRoomParams, - isEdit, - isWatermarks, + isEdit = false, + isWatermarks = false, + setWatermarks, }) => { const role = t("Translations:RoleViewer"); const [fileLifetimeChecked, setFileLifetimeChecked] = useState(false); const [copyAndDownloadChecked, setCopyAndDownloadChecked] = useState(false); - const [watermarksChecked, setWatermarksChecked] = useState(isWatermarks); + const [watermarksChecked, setWatermarksChecked] = useState( + isWatermarks && isEdit, + ); const onChangeAutomaticIndexing = () => { setRoomParams({ ...roomParams, indexing: !roomParams.indexing }); @@ -95,6 +98,8 @@ const VirtualDataRoomBlock = ({ const onChangeAddWatermarksToDocuments = () => { setWatermarksChecked(!watermarksChecked); + + setWatermarks({ enabled: !watermarksChecked }); }; return ( @@ -141,9 +146,10 @@ const VirtualDataRoomBlock = ({ }; export default inject(({ createEditRoomStore }) => { - const { watermarksSettings } = createEditRoomStore; + const { watermarksSettings, setWatermarks } = createEditRoomStore; return { + setWatermarks, isWatermarks: watermarksSettings?.enabled, }; })(observer(VirtualDataRoomBlock)); diff --git a/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/Watermarks/index.js b/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/Watermarks/index.js index 11280b2cfd..f0b00100a0 100644 --- a/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/Watermarks/index.js +++ b/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/Watermarks/index.js @@ -81,24 +81,27 @@ const tabsOptions = (t) => [ }, ]; -const getInitialTabs = (additions, t) => { +const getInitialTabs = (additions, isEdit, t) => { const dataTabs = tabsOptions(t); - if (!additions) return [dataTabs[0]]; + if (!isEdit || !additions) return [dataTabs[0]]; return dataTabs.filter((item) => additions & WatermarkAdditions[item.key]); }; -const getInitialRotate = (rotate, t) => { +const getInitialRotate = (rotate, isEdit, t) => { const dataRotate = rotateOptions(t); - if (rotate === undefined) return dataRotate[0]; + if (!isEdit || rotate === undefined) return dataRotate[0]; return dataRotate.find((item) => { return item.key === rotate; }); }; +const getInitialText = (text, isEdit) => { + return isEdit && text ? text : ""; +}; const Watermarks = ({ setWatermarks, watermarksSettings, isEdit }) => { const { t } = useTranslation(["CreateEditRoomDialog", "Common"]); const [type, setType] = useState(viewerInfoWatermark); @@ -109,8 +112,9 @@ const Watermarks = ({ setWatermarks, watermarksSettings, isEdit }) => { initialInfo.current = { dataRotate: rotateOptions(t), dataTabs: tabsOptions(t), - initialRotate: getInitialRotate(watermarksSettings?.rotate, t), - initialTabs: getInitialTabs(watermarksSettings?.additions, t), + initialRotate: getInitialRotate(watermarksSettings?.rotate, isEdit, t), + initialTabs: getInitialTabs(watermarksSettings?.additions, isEdit, t), + initialText: getInitialText(watermarksSettings?.text, isEdit), }; } @@ -118,14 +122,16 @@ const Watermarks = ({ setWatermarks, watermarksSettings, isEdit }) => { useEffect(() => { if (!isEdit) { - setWatermarks({ - rotate: initialInfoRef.initialRotate.key, - text: "", - additions: WatermarkAdditions.UserName, - }); + setWatermarks( + { + rotate: initialInfoRef.initialRotate.key, + text: "", + additions: WatermarkAdditions.UserName, + enabled: true, + }, + true, + ); } - - return () => setWatermarks(null); }, []); const onSelectType = (e) => { @@ -156,7 +162,7 @@ const Watermarks = ({ setWatermarks, watermarksSettings, isEdit }) => { dataPosition={initialInfoRef.dataRotate} dataTabs={initialInfoRef.dataTabs} initialTab={initialInfoRef.initialTabs} - initialText={watermarksSettings?.text} + initialText={initialInfoRef.initialText} /> )} diff --git a/packages/client/src/store/CreateEditRoomStore.js b/packages/client/src/store/CreateEditRoomStore.js index 26c2bd391f..ffb84f78cb 100644 --- a/packages/client/src/store/CreateEditRoomStore.js +++ b/packages/client/src/store/CreateEditRoomStore.js @@ -97,12 +97,9 @@ class CreateEditRoomStore { setWatermarks = (watermarksSettings, isInit = false) => { if (isInit) { - this.initialWatermarksSettings = { - ...watermarksSettings, - enabled: true, - }; + this.initialWatermarksSettings = watermarksSettings; + this.watermarksSettings = watermarksSettings; - this.watermarksSettings = this.initialWatermarksSettings; return; } @@ -118,7 +115,6 @@ class CreateEditRoomStore { }; isEqualWatermarkChanges = () => { - return isEqual(this.watermarksSettings, this.initialWatermarksSettings); };