Skip to content

Commit a0c2fd0

Browse files
fix: resolve issue of disappear widgets when adding it on multiple pages
1 parent 740b5ea commit a0c2fd0

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

apps/OpenSign/src/components/pdf/Placeholder.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ function Placeholder(props) {
116116
: ""
117117
});
118118
const [dateFormat, setDateFormat] = useState([]);
119+
const [clickonWidget, setClickonWidget] = useState({});
119120
const [startDate, setStartDate] = useState(
120121
props.pos.type === "date" &&
121122
getDefaultdate(
@@ -519,6 +520,7 @@ function Placeholder(props) {
519520
props.setCurrWidgetsDetails(props.pos);
520521
setIsDateModal(!isDateModal);
521522
e.stopPropagation();
523+
setClickonWidget(props.pos);
522524
if (props.data) {
523525
props.setSignKey(props.pos.key);
524526
props.setUniqueId(props.data.Id);
@@ -923,11 +925,7 @@ function Placeholder(props) {
923925
<span>{t("font-size")} :</span>
924926
<select
925927
className="ml-[3px] md:ml:[7px] op-select op-select-bordered op-select-sm focus:outline-none hover:border-base-content text-xs"
926-
value={
927-
props.fontSize ||
928-
props.currWidgetsDetails?.options?.fontSize ||
929-
"12"
930-
}
928+
value={props.fontSize || clickonWidget.options?.fontSize || "12"}
931929
onChange={(e) => props.setFontSize(e.target.value)}
932930
>
933931
{fontsizeArr.map((size, ind) => {
@@ -942,7 +940,7 @@ function Placeholder(props) {
942940
<span>{t("color")}: </span>
943941
<select
944942
value={
945-
props.fontColor || props.pos.options?.fontColor || "black"
943+
props.fontColor || clickonWidget.options?.fontColor || "black"
946944
}
947945
onChange={(e) => props.setFontColor(e.target.value)}
948946
className="ml-[4px] md:ml[7px] op-select op-select-bordered op-select-sm focus:outline-none hover:border-base-content text-xs"

apps/OpenSign/src/pages/PlaceHolderSign.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -581,7 +581,11 @@ function PlaceHolderSign() {
581581
setSignerPos(signerPos);
582582
} else {
583583
updatesignerPos = signerPos.map((x) =>
584-
x.Id === uniqueId ? { ...x, placeHolder: [placeHolder] } : x
584+
x.Id === uniqueId && x?.placeHolder
585+
? { ...x, placeHolder: [...x.placeHolder, placeHolder] }
586+
: x.Id === uniqueId
587+
? { ...x, placeHolder: [placeHolder] }
588+
: x
585589
);
586590
setSignerPos(updatesignerPos);
587591
}

apps/OpenSign/src/pages/TemplatePlaceholder.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,7 @@ const TemplatePlaceholder = () => {
450450
(data) => data.pageNumber === pageNumber
451451
);
452452
}
453+
453454
//checking current page has already some placeholders then update that placeholder and add upcoming placehoder position
454455
if (getPlaceHolder && currentPagePosition) {
455456
const updatePlace = getPlaceHolder.filter(
@@ -468,7 +469,11 @@ const TemplatePlaceholder = () => {
468469
setSignerPos(updatesignerPos);
469470
} else {
470471
const updatesignerPos = signerPos.map((x) =>
471-
x.Id === uniqueId ? { ...x, placeHolder: [placeHolder] } : x
472+
x.Id === uniqueId && x?.placeHolder
473+
? { ...x, placeHolder: [...x.placeHolder, placeHolder] }
474+
: x.Id === uniqueId
475+
? { ...x, placeHolder: [placeHolder] }
476+
: x
472477
);
473478
setSignerPos(updatesignerPos);
474479
}

0 commit comments

Comments
 (0)