diff --git a/packages/client/src/components/GlobalEvents/EditRoomEvent.js b/packages/client/src/components/GlobalEvents/EditRoomEvent.js index 7e8b056037..590c7cd48b 100644 --- a/packages/client/src/components/GlobalEvents/EditRoomEvent.js +++ b/packages/client/src/components/GlobalEvents/EditRoomEvent.js @@ -81,7 +81,8 @@ const EditRoomEvent = ({ defaultRoomsQuota, isDefaultRoomsQuotaSet, - setWatermarks, + setInitialWatermarks, + getWatermarkRequest, watermarksSettings, isNotWatermarkSet, }) => { @@ -194,8 +195,11 @@ const EditRoomEvent = ({ if (removedTags.length) actions.push(removeTagsFromRoom(room.id, removedTags)); + + if (watermarksSettings && !isNotWatermarkSet()) { - const request = setWatermarkSettings(room.id, watermarksSettings); + + const request = getWatermarkRequest(room, watermarksSettings); actions.push(request); } @@ -298,8 +302,8 @@ const EditRoomEvent = ({ const [tags, watermarks] = await Promise.all(requests); setFetchedTags(tags); - console.log("watermarks", watermarks); - setWatermarks(watermarks, true); + + setInitialWatermarks(watermarks); setIsInitLoading(false); }; @@ -367,8 +371,12 @@ export default inject( const { updateInfoPanelSelection } = infoPanelStore; const { defaultRoomsQuota, isDefaultRoomsQuotaSet } = currentQuotaStore; - const { setWatermarks, watermarksSettings, isNotWatermarkSet } = - createEditRoomStore; + const { + setInitialWatermarks, + watermarksSettings, + isNotWatermarkSet, + getWatermarkRequest, + } = createEditRoomStore; return { defaultRoomsQuota, @@ -406,9 +414,10 @@ export default inject( updateInfoPanelSelection, changeRoomOwner, - setWatermarks, + setInitialWatermarks, watermarksSettings, isNotWatermarkSet, + getWatermarkRequest, }; }, )(observer(EditRoomEvent)); diff --git a/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/Watermarks/ImageWatermark.js b/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/Watermarks/ImageWatermark.js index 9862f37c6a..ded9aea60a 100644 --- a/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/Watermarks/ImageWatermark.js +++ b/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/Watermarks/ImageWatermark.js @@ -56,11 +56,12 @@ import { Text } from "@docspace/shared/components/text"; import { ComboBox } from "@docspace/shared/components/combobox"; import { inject, observer } from "mobx-react"; import { StyledWatermark } from "./StyledComponent"; -import { FileInput } from "@docspace/shared/components/file-input"; -import { imageProcessing } from "@docspace/shared/utils/common"; import { DropDownItem } from "@docspace/shared/components/drop-down-item"; +import FilesSelectorInput from "SRC_DIR/components/FilesSelectorInput"; +import { FilesSelectorFilterTypes } from "@docspace/shared/enums"; + const scaleOptions = [ { key: 100, label: "100" }, { key: 200, label: "200" }, @@ -77,7 +78,7 @@ const rotateOptions = [ { key: 90, label: "90" }, ]; const getInitialScale = (scale, isEdit) => { - if (!isEdit || scale === undefined || scale === 0) return scaleOptions[0]; + if (!isEdit || !scale) return scaleOptions[0]; return scaleOptions.find((item) => { return item.key === scale; @@ -85,7 +86,7 @@ const getInitialScale = (scale, isEdit) => { }; const getInitialRotate = (rotate, isEdit) => { - if (!isEdit || rotate === undefined) return rotateOptions[0]; + if (!isEdit) return rotateOptions[0]; const item = rotateOptions.find((item) => { return item.key === rotate; @@ -96,9 +97,8 @@ const getInitialRotate = (rotate, isEdit) => { const ImageWatermark = ({ isEdit, - setWatermarks, - watermarksSettings, + initialWatermarksSettings, }) => { const { t } = useTranslation(["CreateEditRoomDialog", "Common"]); @@ -106,49 +106,51 @@ const ImageWatermark = ({ if (initialInfo.current === null) { initialInfo.current = { - dataScale: scaleOptions, - dataRotate: rotateOptions, - rotate: getInitialRotate(watermarksSettings?.rotate, isEdit), - scale: getInitialScale(watermarksSettings?.imageScale, isEdit), - url: watermarksSettings?.imageUrl ?? "", + rotate: getInitialRotate(initialWatermarksSettings?.rotate, isEdit), + scale: getInitialScale(initialWatermarksSettings?.imageScale, isEdit), + url: initialWatermarksSettings?.imageUrl ?? "", }; } const initialInfoRef = initialInfo.current; useEffect(() => { - if (!isEdit) - setWatermarks( - { - rotate: initialInfoRef.rotate.key, - imageScale: initialInfoRef.scale.key, - imageUrl: initialInfoRef.url, - text: "", - additions: 0, - }, - true, - ); + setWatermarks( + { + rotate: initialInfoRef.rotate.key, + additions: 0, + isImage: true, + enabled: true, + ...(initialWatermarksSettings && { + imageHeight: initialWatermarksSettings.imageHeight, + imageScale: initialWatermarksSettings.imageScale, + imageWidth: initialWatermarksSettings.imageWidth, + imageUrl: initialWatermarksSettings.imageUrl, + }), + }, + true, + ); }, []); const [selectedRotate, setRotate] = useState(initialInfoRef.rotate); const [selectedScale, setScale] = useState(initialInfoRef.scale); - const onInput = (file) => { - console.log("onInput", file); + // const onInput = (file) => { + // console.log("onInput", file); - imageProcessing(file) - .then((f) => { - if (f instanceof File) setWatermarks({ image: f }); - }) - .catch((error) => { - if ( - error instanceof Error && - error.message === "recursion depth exceeded" - ) { - toastr.error(t("Common:SizeImageLarge")); - } - }); - }; + // imageProcessing(file) + // .then((f) => { + // if (f instanceof File) setWatermarks({ image: f }); + // }) + // .catch((error) => { + // if ( + // error instanceof Error && + // error.message === "recursion depth exceeded" + // ) { + // toastr.error(t("Common:SizeImageLarge")); + // } + // }); + // }; const onScaleChange = (item) => { setScale(item); @@ -185,7 +187,7 @@ const ImageWatermark = ({ className="access-right-item" key={item.key} data-key={item.key} - onClick={() => onRotateChange(item)} + onClick={() => onScaleChange(item)} > {item.label}% @@ -194,10 +196,20 @@ const ImageWatermark = ({ return