From 93654ccae5acb9e069cc6fadffc0cc9779b76b62 Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Sun, 19 Mar 2023 10:23:55 +0100 Subject: [PATCH 1/5] check for already inserted fields --- apps/web/pages/api/documents/[id]/sign.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/web/pages/api/documents/[id]/sign.ts b/apps/web/pages/api/documents/[id]/sign.ts index c2b4e02d6..c42d06b7c 100644 --- a/apps/web/pages/api/documents/[id]/sign.ts +++ b/apps/web/pages/api/documents/[id]/sign.ts @@ -73,6 +73,7 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) { const nonSignatureFields = await prisma.field.findMany({ where: { documentId: document.id, + inserted: false, type: { in: [FieldType.DATE, FieldType.TEXT] }, }, }); From cd5f6fde327c6c97ec64799d98b6f0332d331fbe Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Sun, 19 Mar 2023 10:28:15 +0100 Subject: [PATCH 2/5] remove debug statement --- apps/web/components/editor/pdf-editor.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/web/components/editor/pdf-editor.tsx b/apps/web/components/editor/pdf-editor.tsx index 4d01048b6..be6122d51 100644 --- a/apps/web/components/editor/pdf-editor.tsx +++ b/apps/web/components/editor/pdf-editor.tsx @@ -86,7 +86,6 @@ export default function PDFEditor(props: any) { selectedRecipient={selectedRecipient} onChange={setSelectedFieldType} /> - {fields.length} From 071398273a7fed859daa69aea4ba1484153c6b9a Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Sun, 19 Mar 2023 11:08:15 +0100 Subject: [PATCH 3/5] bugfix multiple fields added after field type change: removed "drag drop" feeling handlers --- apps/web/components/editor/field-type-selector.tsx | 3 --- apps/web/components/editor/pdf-editor.tsx | 7 ------- 2 files changed, 10 deletions(-) diff --git a/apps/web/components/editor/field-type-selector.tsx b/apps/web/components/editor/field-type-selector.tsx index 40413a499..09d75903d 100644 --- a/apps/web/components/editor/field-type-selector.tsx +++ b/apps/web/components/editor/field-type-selector.tsx @@ -25,9 +25,6 @@ export default function FieldTypeSelector(props: any) { onChange={(e: any) => { setSelectedFieldType(e); }} - onMouseDown={(e: any) => { - if (e.button === 0) props.setAdding(true); - }} >
{fieldTypes.map((fieldType) => ( diff --git a/apps/web/components/editor/pdf-editor.tsx b/apps/web/components/editor/pdf-editor.tsx index be6122d51..7dda2b876 100644 --- a/apps/web/components/editor/pdf-editor.tsx +++ b/apps/web/components/editor/pdf-editor.tsx @@ -20,7 +20,6 @@ export default function PDFEditor(props: any) { const noRecipients = props?.document.Recipient.length === 0 || props?.document.Recipient.every((e: any) => !e.email); - const [adding, setAdding] = useState(false); function onPositionChangedHandler(position: any, id: any) { if (!position) return; @@ -62,11 +61,6 @@ export default function PDFEditor(props: any) { onMouseUp={(e: any, page: number) => { e.preventDefault(); e.stopPropagation(); - console.log(adding); - if (adding) { - addField(e, page); - setAdding(false); - } }} onMouseDown={(e: any, page: number) => { if (e.button === 0) addField(e, page); @@ -82,7 +76,6 @@ export default function PDFEditor(props: any) { />
From 266ecf0f8dfd13334b05943b9a184c5f0b3cf31c Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Sun, 19 Mar 2023 11:17:04 +0100 Subject: [PATCH 4/5] bugfix racecondition in adding field to ui in parallel --- apps/web/components/editor/pdf-editor.tsx | 2 +- apps/web/components/editor/pdf-signer.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/web/components/editor/pdf-editor.tsx b/apps/web/components/editor/pdf-editor.tsx index 7dda2b876..793b2cb27 100644 --- a/apps/web/components/editor/pdf-editor.tsx +++ b/apps/web/components/editor/pdf-editor.tsx @@ -96,7 +96,7 @@ export default function PDFEditor(props: any) { ); createOrUpdateField(props?.document, signatureField).then((res) => { - setFields(fields.concat(res)); + setFields((prevState) => [...prevState, res]); }); } } diff --git a/apps/web/components/editor/pdf-signer.tsx b/apps/web/components/editor/pdf-signer.tsx index a7988e7e9..714194239 100644 --- a/apps/web/components/editor/pdf-signer.tsx +++ b/apps/web/components/editor/pdf-signer.tsx @@ -69,7 +69,7 @@ export default function PDFSigner(props: any) { ); const signedField = { ...dialogField }; signedField.signature = signature; - setFields(fields.concat(signedField)); + setFields((prevState) => [...prevState, signedField]); setOpen(false); setDialogField(null); } @@ -174,7 +174,7 @@ export default function PDFSigner(props: any) { ); createOrUpdateField(props.document, freeSignatureField).then((res) => { - setFields(fields.concat(res)); + setFields((prevState) => [...prevState, res]); setDialogField(res); setOpen(true); }); From d32b9871db34b2ec2419ab0fd3a9112c6d9e1b6d Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Tue, 21 Mar 2023 14:30:40 +0100 Subject: [PATCH 5/5] revert regression --- apps/web/pages/api/documents/[id]/sign.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/web/pages/api/documents/[id]/sign.ts b/apps/web/pages/api/documents/[id]/sign.ts index a382c7964..e4d22487d 100644 --- a/apps/web/pages/api/documents/[id]/sign.ts +++ b/apps/web/pages/api/documents/[id]/sign.ts @@ -78,7 +78,6 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) { const nonSignatureFields = await prisma.field.findMany({ where: { documentId: document.id, - inserted: false, type: { in: [FieldType.DATE, FieldType.TEXT] }, }, });