@unlev/exeq 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +38 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +38 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1303,11 +1303,18 @@ function SignerView({
|
|
|
1303
1303
|
const [fields, setFields] = useState3([]);
|
|
1304
1304
|
const [selectedFieldId, setSelectedFieldId] = useState3(null);
|
|
1305
1305
|
const [signer, setSigner] = useState3(initialSigner || "Signer 1");
|
|
1306
|
+
const initializedRef = useRef4(false);
|
|
1306
1307
|
const [loading, setLoading] = useState3(false);
|
|
1307
1308
|
const [submitting, setSubmitting] = useState3(false);
|
|
1308
1309
|
const [pdfSource, setPdfSource] = useState3(null);
|
|
1309
1310
|
const [callbackUrl, setCallbackUrl] = useState3(initialCallbackUrl || "");
|
|
1310
1311
|
const containerRef = useRef4(null);
|
|
1312
|
+
useEffect3(() => {
|
|
1313
|
+
if (initialSigner) {
|
|
1314
|
+
setSigner(initialSigner);
|
|
1315
|
+
setSelectedFieldId(null);
|
|
1316
|
+
}
|
|
1317
|
+
}, [initialSigner]);
|
|
1311
1318
|
useEffect3(() => {
|
|
1312
1319
|
if (initialTemplate) {
|
|
1313
1320
|
let templateFields = initialTemplate.fields;
|
|
@@ -1321,7 +1328,15 @@ function SignerView({
|
|
|
1321
1328
|
return value !== void 0 ? { ...f, value } : f;
|
|
1322
1329
|
});
|
|
1323
1330
|
}
|
|
1324
|
-
|
|
1331
|
+
if (initializedRef.current) {
|
|
1332
|
+
setFields((prev) => {
|
|
1333
|
+
const valueMap = new Map(prev.filter((f) => f.value).map((f) => [f.id, f.value]));
|
|
1334
|
+
return templateFields.map((f) => valueMap.has(f.id) ? { ...f, value: valueMap.get(f.id) } : f);
|
|
1335
|
+
});
|
|
1336
|
+
} else {
|
|
1337
|
+
setFields(templateFields);
|
|
1338
|
+
initializedRef.current = true;
|
|
1339
|
+
}
|
|
1325
1340
|
if (initialPdfUrl) loadPdf(initialPdfUrl);
|
|
1326
1341
|
return;
|
|
1327
1342
|
}
|
|
@@ -1334,11 +1349,31 @@ function SignerView({
|
|
|
1334
1349
|
if (cbUrl) setCallbackUrl(cbUrl);
|
|
1335
1350
|
if (pdfUrl) loadPdf(pdfUrl);
|
|
1336
1351
|
if (fieldsUrl) {
|
|
1337
|
-
fetch(fieldsUrl).then((r) => r.json()).then((template) =>
|
|
1352
|
+
fetch(fieldsUrl).then((r) => r.json()).then((template) => {
|
|
1353
|
+
if (initializedRef.current) {
|
|
1354
|
+
setFields((prev) => {
|
|
1355
|
+
const valueMap = new Map(prev.filter((f) => f.value).map((f) => [f.id, f.value]));
|
|
1356
|
+
return template.fields.map((f) => valueMap.has(f.id) ? { ...f, value: valueMap.get(f.id) } : f);
|
|
1357
|
+
});
|
|
1358
|
+
} else {
|
|
1359
|
+
setFields(template.fields);
|
|
1360
|
+
initializedRef.current = true;
|
|
1361
|
+
}
|
|
1362
|
+
}).catch((err) => console.error("Failed to load fields:", err));
|
|
1338
1363
|
}
|
|
1339
1364
|
const handleMessage = (e) => {
|
|
1340
1365
|
if (e.data?.type === "load-signing") {
|
|
1341
|
-
if (e.data.fields)
|
|
1366
|
+
if (e.data.fields) {
|
|
1367
|
+
if (initializedRef.current) {
|
|
1368
|
+
setFields((prev) => {
|
|
1369
|
+
const valueMap = new Map(prev.filter((f) => f.value).map((f) => [f.id, f.value]));
|
|
1370
|
+
return e.data.fields.map((f) => valueMap.has(f.id) ? { ...f, value: valueMap.get(f.id) } : f);
|
|
1371
|
+
});
|
|
1372
|
+
} else {
|
|
1373
|
+
setFields(e.data.fields);
|
|
1374
|
+
initializedRef.current = true;
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1342
1377
|
if (e.data.pdfUrl) loadPdf(e.data.pdfUrl);
|
|
1343
1378
|
if (e.data.signer) setSigner(e.data.signer);
|
|
1344
1379
|
if (e.data.callbackUrl) setCallbackUrl(e.data.callbackUrl);
|