This commit is contained in:
Timur Ercan
2023-02-28 19:40:14 +01:00
parent 2f02134bc4
commit 00d8724be5

View File

@ -19,7 +19,7 @@ export default function PDFSigner(props: any) {
const router = useRouter(); const router = useRouter();
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
const [signingDone, setSigningDone] = useState(false); const [signingDone, setSigningDone] = useState(false);
const [signatures, setSignatures] = useState<any[]>([]); const [localSignatures, setLocalSignatures] = useState<any[]>([]);
const [fields, setFields] = useState<any[]>(props.fields); const [fields, setFields] = useState<any[]>(props.fields);
const [dialogField, setDialogField] = useState<any>(); const [dialogField, setDialogField] = useState<any>();
@ -49,7 +49,7 @@ export default function PDFSigner(props: any) {
signatureImage: dialogResult.signatureImage, signatureImage: dialogResult.signatureImage,
}; };
setSignatures(signatures.concat(signature)); setLocalSignatures(localSignatures.concat(signature));
fields.splice( fields.splice(
fields.findIndex(function (i) { fields.findIndex(function (i) {
@ -65,7 +65,7 @@ export default function PDFSigner(props: any) {
} }
function sign() { function sign() {
const body = { documentId: props.document.id, signatures: signatures }; const body = { documentId: props.document.id, signatures: localSignatures };
toast.promise( toast.promise(
fetch( fetch(
`/api/documents/${props.document.id}/sign?token=${router.query.token}`, `/api/documents/${props.document.id}/sign?token=${router.query.token}`,
@ -142,7 +142,7 @@ export default function PDFSigner(props: any) {
// If there are no fields to sign at least one signature is enough // If there are no fields to sign at least one signature is enough
return fields.every((field) => field.signature); return fields.every((field) => field.signature);
} else { } else {
return signatures.length > 0; return localSignatures.length > 0;
} }
} }
@ -175,7 +175,7 @@ export default function PDFSigner(props: any) {
const removedField = fieldWithoutRemoved.splice(fieldIndex, 1); const removedField = fieldWithoutRemoved.splice(fieldIndex, 1);
setFields(fieldWithoutRemoved); setFields(fieldWithoutRemoved);
const signaturesWithoutRemoved = [...signatures]; const signaturesWithoutRemoved = [...localSignatures];
const removedSignature = signaturesWithoutRemoved.splice( const removedSignature = signaturesWithoutRemoved.splice(
signaturesWithoutRemoved.findIndex(function (i) { signaturesWithoutRemoved.findIndex(function (i) {
return i.fieldId === id; return i.fieldId === id;
@ -183,10 +183,10 @@ export default function PDFSigner(props: any) {
1 1
); );
setSignatures(signaturesWithoutRemoved); setLocalSignatures(signaturesWithoutRemoved);
deleteField(field).catch((err) => { deleteField(field).catch((err) => {
setFields(fieldWithoutRemoved.concat(removedField)); setFields(fieldWithoutRemoved.concat(removedField));
setSignatures(signaturesWithoutRemoved.concat(removedSignature)); setLocalSignatures(signaturesWithoutRemoved.concat(removedSignature));
}); });
} }
} }