diff --git a/apps/web/components/editor/field.tsx b/apps/web/components/editor/field.tsx index b2e3aeba6..ace442471 100644 --- a/apps/web/components/editor/field.tsx +++ b/apps/web/components/editor/field.tsx @@ -10,6 +10,8 @@ type FieldPropsType = { color: string; type: string; position: any; + positionX: number; + positionY: number; id: string; recipient: string; }; @@ -18,9 +20,10 @@ type FieldPropsType = { export default function Field(props: FieldPropsType) { const [field, setField]: any = useState(props.field); - const [position, setPosition]: any = useState( - props.field.position || { x: 0, y: -842 } - ); + const [position, setPosition]: any = useState({ + x: props.field.positionX, + y: props.field.positionY, + }); const nodeRef = React.createRef(); const onControlledDrag = (e: any, position: any) => { const { x, y } = position; @@ -41,11 +44,12 @@ export default function Field(props: FieldPropsType) { position={position} onDrag={onControlledDrag} onStop={onDragStop} + defaultPosition={{ x: 0, y: 0 }} >
{/* todo icons */} diff --git a/apps/web/components/editor/pdf-editor.tsx b/apps/web/components/editor/pdf-editor.tsx index db187c098..724935b91 100644 --- a/apps/web/components/editor/pdf-editor.tsx +++ b/apps/web/components/editor/pdf-editor.tsx @@ -12,13 +12,14 @@ const PDFViewer = dynamic(() => import("./pdf-viewer"), { export default function PDFEditor(props: any) { const [selectedValue, setSelectedValue] = useState(""); - const [fields, setFields] = useState([]); + const [fields, setFields] = useState(props.document.Field); const router = useRouter(); function onPositionChangedHandler(position: any, id: any) { if (!position) return; const newFields = [...fields]; - fields.find((e) => e.id == id).position = position; + fields.find((e) => e.id == id).positionX = position.x; + fields.find((e) => e.id == id).positionY = position.y; // no instant redraw neccessary, postion information for saving or later rerender is enough // setFields(newFields); @@ -53,7 +54,8 @@ export default function PDFEditor(props: any) { id: short.generate().toString(), page: 0, type: "signature", - position: { x: 0, y: -842 }, + positionX: 0, + positionY: 0, recipient: selectedValue, }) ); diff --git a/packages/lib/query/getDocument.ts b/packages/lib/query/getDocument.ts index f922f4c28..f317d624c 100644 --- a/packages/lib/query/getDocument.ts +++ b/packages/lib/query/getDocument.ts @@ -19,6 +19,7 @@ export const getDocument = async ( }, include: { Recipient: true, + Field: true, }, });