diff --git a/apps/OpenSign/src/components/pdf/Placeholder.js b/apps/OpenSign/src/components/pdf/Placeholder.js index d7c8f7d36..3f8ba02c0 100644 --- a/apps/OpenSign/src/components/pdf/Placeholder.js +++ b/apps/OpenSign/src/components/pdf/Placeholder.js @@ -114,6 +114,10 @@ function Placeholder(props) { props.pos?.options?.validation?.format ) ); + const [getCheckboxRenderWidth, setGetCheckboxRenderWidth] = useState({ + width: null, + height: null + }); const dateFormatArr = [ "L", "DD-MM-YYYY", @@ -125,6 +129,21 @@ function Placeholder(props) { "DD MMM, YYYY", "DD MMMM, YYYY" ]; + + useEffect(() => { + const updateWidth = () => { + const rndElement = document.getElementById(props.pos.key); + if (rndElement) { + const { width, height } = rndElement.getBoundingClientRect(); + setGetCheckboxRenderWidth({ width: width, height: height }); + } + }; + + // Delay to ensure rendering is complete + const timer = setTimeout(updateWidth, 0); + + return () => clearTimeout(timer); + }, [props.pos]); //function change format array list with selected date and format const changeDateFormat = () => { const updateDate = []; @@ -330,8 +349,8 @@ function Placeholder(props) { className="fa-solid fa-gear settingIcon" style={{ color: "#188ae2", - right: "9px", - top: "-28px" + right: "29px", + top: "-19px" }} > ) : ( @@ -351,19 +370,7 @@ function Placeholder(props) { handleOnClickSettingIcon(); }} className="fa-solid fa-gear settingIcon" - style={{ - color: "#188ae2", - right: ["checkbox", radioButtonWidget].includes( - props.pos.type - ) - ? "24px" - : "47px", - top: ["checkbox", radioButtonWidget].includes( - props.pos.type - ) - ? "-28px" - : "-19px" - }} + style={{ color: "#188ae2", right: "47px", top: "-19px" }} > ) )} @@ -382,19 +389,7 @@ function Placeholder(props) { props.handleLinkUser(props.data.Id); props.setUniqueId(props.data.Id); }} - style={{ - color: "#188ae2", - right: - props.pos.type === "checkbox" || - props.pos.type === radioButtonWidget - ? "8px" - : "32px", - top: - props.pos.type === "checkbox" || - props.pos.type === radioButtonWidget - ? "-28px" - : "-18px" - }} + style={{ color: "#188ae2", right: "32px", top: "-18px" }} > )} @@ -472,19 +467,7 @@ function Placeholder(props) { className="fa-regular fa-copy signCopy" onClick={(e) => handleCopyPlaceholder(e)} onTouchEnd={(e) => handleCopyPlaceholder(e)} - style={{ - color: "#188ae2", - right: - props.pos.type === "checkbox" || - props.pos.type === radioButtonWidget - ? "-9px" - : "12px", - top: - props.pos.type === "checkbox" || - props.pos.type === radioButtonWidget - ? "-28px" - : "-18px" - }} + style={{ color: "#188ae2", right: "12px", top: "-18px" }} > ) @@ -528,6 +499,7 @@ function Placeholder(props) { return ( + ) : props.data && props.isNeedSign && props.pos.type !== "checkbox" ? ( props.data?.signerObjId === props.signerObjId && props.pos.type !== radioButtonWidget && @@ -670,6 +629,7 @@ function Placeholder(props) { setDraggingEnabled={setDraggingEnabled} pos={props.pos} isPlaceholder={props.isPlaceholder} + getCheckboxRenderWidth={getCheckboxRenderWidth} /> )} {isMobile ? ( @@ -677,7 +637,7 @@ function Placeholder(props) { style={{ left: props.xPos(props.pos, props.isSignYourself), top: props.yPos(props.pos, props.isSignYourself), - width: props.posWidth(props.pos, props.isSignYourself), + width: "auto", //props.posWidth(props.pos, props.isSignYourself), // height: props.posHeight(props.pos, props.isSignYourself), zIndex: "10" }} diff --git a/apps/OpenSign/src/components/pdf/PlaceholderBorder.js b/apps/OpenSign/src/components/pdf/PlaceholderBorder.js index 22907f296..f209307c2 100644 --- a/apps/OpenSign/src/components/pdf/PlaceholderBorder.js +++ b/apps/OpenSign/src/components/pdf/PlaceholderBorder.js @@ -6,16 +6,13 @@ import { resizeBorderExtraWidth } from "../../constant/Utils"; function PlaceholderBorder(props) { - const getResizeBorderExtraWidth = - props.pos.type === "checkbox" || props.pos.type === radioButtonWidget - ? 38 - : resizeBorderExtraWidth(); + const getResizeBorderExtraWidth = resizeBorderExtraWidth(); const defaultWidth = defaultWidthHeight(props.pos.type).width; const defaultHeight = defaultWidthHeight(props.pos.type).height; const handleMinWidth = () => { if (props.pos.type === "checkbox" || props.pos.type === radioButtonWidget) { - return "120%"; + return props.getCheckboxRenderWidth.width + getResizeBorderExtraWidth; } else { return props.pos.Width ? props.pos.Width + getResizeBorderExtraWidth @@ -24,7 +21,7 @@ function PlaceholderBorder(props) { }; const handleMinHeight = () => { if (props.pos.type === "checkbox" || props.pos.type === radioButtonWidget) { - return "120%"; + return props.getCheckboxRenderWidth.height + getResizeBorderExtraWidth; } else { return props.pos.Height ? props.pos.Height + getResizeBorderExtraWidth diff --git a/apps/OpenSign/src/styles/signature.css b/apps/OpenSign/src/styles/signature.css index 47c3d9e73..8229cdb05 100644 --- a/apps/OpenSign/src/styles/signature.css +++ b/apps/OpenSign/src/styles/signature.css @@ -339,8 +339,6 @@ display: flex !important; justify-content: center !important; align-items: center !important; - min-width:max-content; - min-height: max-content; } .finishBtn {