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 {