@@ -580,22 +580,33 @@ function PlaceHolderSign() {
580580 }
581581 setSignerPos ( updatesignerPos ) ;
582582 } else {
583- let updatesignerPos ;
584583 //if condition when widget type is prefill label text widget
585584 if ( dragTypeValue === textWidget ) {
586- const prefileTextWidget = {
587- signerPtr : { } ,
588- signerObjId : "" ,
589- blockColor : "#f58f8c" ,
590- placeHolder : [ placeHolder ] ,
591- Role : "prefill" ,
592- Id : key
593- } ;
594- signerPos . push ( prefileTextWidget ) ;
595- setSignerPos ( signerPos ) ;
585+ //check text widgets data (prefill) already exist then and want to add text widget on new page
586+ //create new page entry with old data and update placeholder
587+ if ( filterSignerPos ) {
588+ const addPrefillData =
589+ filterSignerPos && filterSignerPos ?. placeHolder ;
590+ addPrefillData . push ( placeHolder ) ;
591+ const updatePrefillPos = signerPos . map ( ( x ) =>
592+ x . Role === "prefill" ? { ...x , placeHolder : addPrefillData } : x
593+ ) ;
594+ setSignerPos ( updatePrefillPos ) ;
595+ } //else condition if user do not have any text widget data
596+ else {
597+ const prefillTextWidget = {
598+ signerPtr : { } ,
599+ signerObjId : "" ,
600+ blockColor : "#f58f8c" ,
601+ placeHolder : [ placeHolder ] ,
602+ Role : "prefill" ,
603+ Id : key
604+ } ;
605+ setSignerPos ( ( prev ) => [ ...prev , prefillTextWidget ] ) ;
606+ }
596607 } else {
597608 //else condition to add placeholder widgets on multiple page first time
598- updatesignerPos = signerPos . map ( ( x ) =>
609+ const updatesignerPos = signerPos . map ( ( x ) =>
599610 x . Id === uniqueId && x ?. placeHolder
600611 ? { ...x , placeHolder : [ ...x . placeHolder , placeHolder ] }
601612 : x . Id === uniqueId
@@ -770,15 +781,17 @@ function PlaceHolderSign() {
770781 signerupdate . push ( newUpdatePos [ 0 ] ) ;
771782 setSignerPos ( signerupdate ) ;
772783 } else {
773- const updatedData = signerPos . map ( ( item ) => {
774- if ( item . Id === Id ) {
775- // Create a copy of the item object and delete the placeHolder field
776- const updatedItem = { ...item } ;
777- delete updatedItem . placeHolder ;
778- return updatedItem ;
779- }
780- return item ;
781- } ) ;
784+ const updatedData = signerPos
785+ . filter ( ( item ) => ! ( item . Id === Id && item . Role === "prefill" ) ) // Remove prefill object
786+ . map ( ( item ) => {
787+ if ( item . Id === Id && item . Role !== "prefill" ) {
788+ // Create a copy of the item object and delete the placeHolder field
789+ const updatedItem = { ...item } ;
790+ delete updatedItem . placeHolder ;
791+ return updatedItem ;
792+ }
793+ return item ;
794+ } ) ;
782795 setSignerPos ( updatedData ) ;
783796 }
784797 }
0 commit comments