Skip to content

Commit cf9a4d8

Browse files
fix: issue of optional widgets disappear after signing
1 parent 775e325 commit cf9a4d8

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

apps/OpenSign/src/constant/Utils.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,8 +1334,17 @@ export const multiSignEmbed = async (
13341334
if (signyourself) {
13351335
updateItem = item.pos;
13361336
} else {
1337+
// Checking required and optional widget types
1338+
// For both required and optional widgets, handle signurl, defaultValue, and response as the widget's data
1339+
// If the widget type is checkbox or radio (whether required or optional), we don't need to validate its value.
1340+
// Instead, add an empty checkbox/radio, or if a value exists, mark the checkbox/radio as checked.
13371341
updateItem = item.pos.filter(
1338-
(data) => data?.options?.status === "required"
1342+
(data) =>
1343+
data?.options?.SignUrl ||
1344+
data?.options?.defaultValue ||
1345+
data?.options?.response ||
1346+
data?.type === "checkbox" ||
1347+
data?.type === radioButtonWidget
13391348
);
13401349
}
13411350
} else {
@@ -1355,7 +1364,6 @@ export const multiSignEmbed = async (
13551364
}
13561365
})
13571366
);
1358-
13591367
widgetsPositionArr.forEach(async (position, id) => {
13601368
let img;
13611369
if (["signature", "stamp", "initials", "image"].includes(position.type)) {
@@ -1406,7 +1414,7 @@ export const multiSignEmbed = async (
14061414
};
14071415
const color = position?.options?.fontColor;
14081416
const updateColorInRgb = getWidgetsFontColor(color);
1409-
const fontSize = parseInt(position?.options?.fontSize || 13);
1417+
const fontSize = parseInt(position?.options?.fontSize || 12);
14101418
const widgetTypeExist = [
14111419
textWidget,
14121420
textInputWidget,

0 commit comments

Comments
 (0)