Web: Client: Refactoring.

This commit is contained in:
Tatiana Lopaeva 2024-05-07 16:01:59 +03:00
parent 029e6534af
commit c3334f0695
3 changed files with 32 additions and 24 deletions

View File

@ -72,14 +72,17 @@ const VirtualDataRoomBlock = ({
t, t,
roomParams, roomParams,
setRoomParams, setRoomParams,
isEdit, isEdit = false,
isWatermarks, isWatermarks = false,
setWatermarks,
}) => { }) => {
const role = t("Translations:RoleViewer"); const role = t("Translations:RoleViewer");
const [fileLifetimeChecked, setFileLifetimeChecked] = useState(false); const [fileLifetimeChecked, setFileLifetimeChecked] = useState(false);
const [copyAndDownloadChecked, setCopyAndDownloadChecked] = useState(false); const [copyAndDownloadChecked, setCopyAndDownloadChecked] = useState(false);
const [watermarksChecked, setWatermarksChecked] = useState(isWatermarks); const [watermarksChecked, setWatermarksChecked] = useState(
isWatermarks && isEdit,
);
const onChangeAutomaticIndexing = () => { const onChangeAutomaticIndexing = () => {
setRoomParams({ ...roomParams, indexing: !roomParams.indexing }); setRoomParams({ ...roomParams, indexing: !roomParams.indexing });
@ -95,6 +98,8 @@ const VirtualDataRoomBlock = ({
const onChangeAddWatermarksToDocuments = () => { const onChangeAddWatermarksToDocuments = () => {
setWatermarksChecked(!watermarksChecked); setWatermarksChecked(!watermarksChecked);
setWatermarks({ enabled: !watermarksChecked });
}; };
return ( return (
@ -141,9 +146,10 @@ const VirtualDataRoomBlock = ({
}; };
export default inject(({ createEditRoomStore }) => { export default inject(({ createEditRoomStore }) => {
const { watermarksSettings } = createEditRoomStore; const { watermarksSettings, setWatermarks } = createEditRoomStore;
return { return {
setWatermarks,
isWatermarks: watermarksSettings?.enabled, isWatermarks: watermarksSettings?.enabled,
}; };
})(observer(VirtualDataRoomBlock)); })(observer(VirtualDataRoomBlock));

View File

@ -81,24 +81,27 @@ const tabsOptions = (t) => [
}, },
]; ];
const getInitialTabs = (additions, t) => { const getInitialTabs = (additions, isEdit, t) => {
const dataTabs = tabsOptions(t); const dataTabs = tabsOptions(t);
if (!additions) return [dataTabs[0]]; if (!isEdit || !additions) return [dataTabs[0]];
return dataTabs.filter((item) => additions & WatermarkAdditions[item.key]); return dataTabs.filter((item) => additions & WatermarkAdditions[item.key]);
}; };
const getInitialRotate = (rotate, t) => { const getInitialRotate = (rotate, isEdit, t) => {
const dataRotate = rotateOptions(t); const dataRotate = rotateOptions(t);
if (rotate === undefined) return dataRotate[0]; if (!isEdit || rotate === undefined) return dataRotate[0];
return dataRotate.find((item) => { return dataRotate.find((item) => {
return item.key === rotate; return item.key === rotate;
}); });
}; };
const getInitialText = (text, isEdit) => {
return isEdit && text ? text : "";
};
const Watermarks = ({ setWatermarks, watermarksSettings, isEdit }) => { const Watermarks = ({ setWatermarks, watermarksSettings, isEdit }) => {
const { t } = useTranslation(["CreateEditRoomDialog", "Common"]); const { t } = useTranslation(["CreateEditRoomDialog", "Common"]);
const [type, setType] = useState(viewerInfoWatermark); const [type, setType] = useState(viewerInfoWatermark);
@ -109,8 +112,9 @@ const Watermarks = ({ setWatermarks, watermarksSettings, isEdit }) => {
initialInfo.current = { initialInfo.current = {
dataRotate: rotateOptions(t), dataRotate: rotateOptions(t),
dataTabs: tabsOptions(t), dataTabs: tabsOptions(t),
initialRotate: getInitialRotate(watermarksSettings?.rotate, t), initialRotate: getInitialRotate(watermarksSettings?.rotate, isEdit, t),
initialTabs: getInitialTabs(watermarksSettings?.additions, t), initialTabs: getInitialTabs(watermarksSettings?.additions, isEdit, t),
initialText: getInitialText(watermarksSettings?.text, isEdit),
}; };
} }
@ -118,14 +122,16 @@ const Watermarks = ({ setWatermarks, watermarksSettings, isEdit }) => {
useEffect(() => { useEffect(() => {
if (!isEdit) { if (!isEdit) {
setWatermarks({ setWatermarks(
rotate: initialInfoRef.initialRotate.key, {
text: "", rotate: initialInfoRef.initialRotate.key,
additions: WatermarkAdditions.UserName, text: "",
}); additions: WatermarkAdditions.UserName,
enabled: true,
},
true,
);
} }
return () => setWatermarks(null);
}, []); }, []);
const onSelectType = (e) => { const onSelectType = (e) => {
@ -156,7 +162,7 @@ const Watermarks = ({ setWatermarks, watermarksSettings, isEdit }) => {
dataPosition={initialInfoRef.dataRotate} dataPosition={initialInfoRef.dataRotate}
dataTabs={initialInfoRef.dataTabs} dataTabs={initialInfoRef.dataTabs}
initialTab={initialInfoRef.initialTabs} initialTab={initialInfoRef.initialTabs}
initialText={watermarksSettings?.text} initialText={initialInfoRef.initialText}
/> />
)} )}
</StyledBody> </StyledBody>

View File

@ -97,12 +97,9 @@ class CreateEditRoomStore {
setWatermarks = (watermarksSettings, isInit = false) => { setWatermarks = (watermarksSettings, isInit = false) => {
if (isInit) { if (isInit) {
this.initialWatermarksSettings = { this.initialWatermarksSettings = watermarksSettings;
...watermarksSettings, this.watermarksSettings = watermarksSettings;
enabled: true,
};
this.watermarksSettings = this.initialWatermarksSettings;
return; return;
} }
@ -118,7 +115,6 @@ class CreateEditRoomStore {
}; };
isEqualWatermarkChanges = () => { isEqualWatermarkChanges = () => {
return isEqual(this.watermarksSettings, this.initialWatermarksSettings); return isEqual(this.watermarksSettings, this.initialWatermarksSettings);
}; };