@@ -21,8 +21,9 @@ import {
21
21
embedDocId ,
22
22
pdfNewWidthFun ,
23
23
signPdfFun ,
24
- calculateImgAspectRatio ,
25
- onImageSelect
24
+ onImageSelect ,
25
+ onSaveSign ,
26
+ onSaveImage
26
27
} from "../utils/Utils" ;
27
28
import Loader from "./component/loader" ;
28
29
import HandleError from "./component/HandleError" ;
@@ -482,181 +483,99 @@ function PdfRequestFiles() {
482
483
}
483
484
} ;
484
485
//function for upload stamp image
485
- const onSaveImage = ( ) => {
486
+ const saveImage = ( ) => {
487
+ //get current signers placeholder position data
486
488
const currentSigner = signerPos . filter (
487
489
( data ) => data . signerObjId === signerObjectId
488
490
) ;
489
- const i = currentSigner [ 0 ] . placeHolder . findIndex ( ( object ) => {
491
+ //get current pagenumber placeholder index
492
+ const getIndex = currentSigner [ 0 ] . placeHolder . findIndex ( ( object ) => {
490
493
return object . pageNumber === pageNumber ;
491
494
} ) ;
492
- const updateFilter = currentSigner [ 0 ] . placeHolder [ i ] . pos . filter (
493
- ( data ) =>
494
- data . key === signKey && data . Width && data . Height && data . SignUrl
495
+ //get current signer placeholder position data
496
+ const placeholderPosition = currentSigner [ 0 ] . placeHolder ;
497
+ //function of save image and get updated position with image url
498
+ const getUpdatePosition = onSaveImage (
499
+ placeholderPosition ,
500
+ getIndex ,
501
+ signKey ,
502
+ imgWH ,
503
+ image
495
504
) ;
496
- let getIMGWH = calculateImgAspectRatio ( imgWH ) ;
497
-
498
- if ( updateFilter . length > 0 ) {
499
- const getXYdata = currentSigner [ 0 ] . placeHolder [ i ] . pos ;
500
- const getPosData = getXYdata ;
501
- const addSign = getPosData . map ( ( url , ind ) => {
502
- if ( url . key === signKey ) {
503
- return {
504
- ...url ,
505
- Width : getIMGWH . newWidth ,
506
- Height : getIMGWH . newHeight ,
507
- SignUrl : image . src ,
508
- ImageType : image . imgType
509
- } ;
510
- }
511
- return url ;
512
- } ) ;
513
-
514
- const newUpdateUrl = currentSigner [ 0 ] . placeHolder . map ( ( obj , ind ) => {
515
- if ( ind === i ) {
516
- return { ...obj , pos : addSign } ;
517
- }
518
- return obj ;
519
- } ) ;
520
- const getPlaceData = currentSigner [ 0 ] . placeHolder ;
521
- getPlaceData . splice ( 0 , getPlaceData . length , ...newUpdateUrl ) ;
522
-
523
- const indexofSigner = signerPos . findIndex ( ( object ) => {
524
- return object . signerObjId === signerObjectId ;
525
- } ) ;
526
- setSignerPos ( ( prevState ) => {
527
- const newState = [ ...prevState ] ; // Create a copy of the state
528
- newState . splice ( indexofSigner , 1 , ...currentSigner ) ; // Modify the copy
529
- return newState ; // Update the state with the modified copy
530
- } ) ;
531
- } else {
532
- const getXYdata = currentSigner [ 0 ] . placeHolder [ i ] . pos ;
533
-
534
- const getPosData = getXYdata ;
535
-
536
- const addSign = getPosData . map ( ( url , ind ) => {
537
- if ( url . key === signKey ) {
538
- return {
539
- ...url ,
540
- Width : getIMGWH . newWidth ,
541
- Height : getIMGWH . newHeight ,
542
- SignUrl : image . src ,
543
- ImageType : image . imgType
544
- } ;
545
- }
546
- return url ;
547
- } ) ;
548
505
549
- const newUpdateUrl = currentSigner [ 0 ] . placeHolder . map ( ( obj , ind ) => {
550
- if ( ind === i ) {
551
- return { ...obj , pos : addSign } ;
552
- }
553
- return obj ;
554
- } ) ;
555
-
556
- const getPlaceData = currentSigner [ 0 ] . placeHolder ;
557
- getPlaceData . splice ( 0 , getPlaceData . length , ...newUpdateUrl ) ;
558
-
559
- const indexofSigner = signerPos . findIndex ( ( object ) => {
560
- return object . signerObjId === signerObjectId ;
561
- } ) ;
562
- setSignerPos ( ( prevState ) => {
563
- const newState = [ ...prevState ] ; // Create a copy of the state
564
- newState . splice ( indexofSigner , 1 , ...currentSigner ) ; // Modify the copy
565
- return newState ; // Update the state with the modified copy
566
- } ) ;
567
- }
506
+ //replace updated placeholder position with old data
507
+ placeholderPosition . splice (
508
+ 0 ,
509
+ placeholderPosition . length ,
510
+ ...getUpdatePosition
511
+ ) ;
512
+ //get current signers placeholder position data index number in array
513
+ const indexofSigner = signerPos . findIndex ( ( object ) => {
514
+ return object . signerObjId === signerObjectId ;
515
+ } ) ;
516
+ //update current signers data with new placeholder position array data
517
+ setSignerPos ( ( prevState ) => {
518
+ const newState = [ ...prevState ] ; // Create a copy of the state
519
+ newState . splice ( indexofSigner , 1 , ...currentSigner ) ; // Modify the copy
520
+ return newState ; // Update the state with the modified copy
521
+ } ) ;
568
522
} ;
569
523
570
524
//function for save button to save signature or image url
571
- const onSaveSign = ( isDefaultSign ) => {
525
+ const saveSign = ( isDefaultSign ) => {
572
526
const signatureImg = isDefaultSign ? defaultSignImg : signature ;
573
- const isSign = true ;
574
- let getIMGWH ;
527
+ let imgWH = { width : "" , height : "" } ;
575
528
setIsSignPad ( false ) ;
576
529
setIsImageSelect ( false ) ;
577
530
setImage ( ) ;
531
+
532
+ //get current signers placeholder position data
533
+ const currentSigner = signerPos . filter (
534
+ ( data ) => data . signerObjId === signerObjectId
535
+ ) ;
536
+ //get current pagenumber placeholder index
537
+ const getIndex = currentSigner [ 0 ] . placeHolder . findIndex ( ( object ) => {
538
+ return object . pageNumber === pageNumber ;
539
+ } ) ;
540
+
541
+ //set default signature image width and height
578
542
if ( isDefaultSign ) {
579
543
const img = new Image ( ) ;
580
544
img . src = defaultSignImg ;
581
545
if ( img . complete ) {
582
- let imgWH = {
546
+ imgWH = {
583
547
width : img . width ,
584
548
height : img . height
585
549
} ;
586
- getIMGWH = calculateImgAspectRatio ( imgWH ) ;
587
550
}
588
551
}
589
- const currentSigner = signerPos . filter (
590
- ( data ) => data . signerObjId === signerObjectId
552
+ //get current signer placeholder position data
553
+ const placeholderPosition = currentSigner [ 0 ] . placeHolder ;
554
+ //function of save signature image and get updated position with signature image url
555
+ const getUpdatePosition = onSaveSign (
556
+ placeholderPosition ,
557
+ getIndex ,
558
+ signKey ,
559
+ signatureImg ,
560
+ imgWH ,
561
+ isDefaultSign
591
562
) ;
592
563
593
- const i = currentSigner [ 0 ] . placeHolder . findIndex ( ( object ) => {
594
- return object . pageNumber === pageNumber ;
564
+ const updateSignerData = currentSigner . map ( ( obj , ind ) => {
565
+ if ( obj . signerObjId === signerObjectId ) {
566
+ return { ...obj , placeHolder : getUpdatePosition } ;
567
+ }
568
+ return obj ;
595
569
} ) ;
596
570
597
- let updateFilter ;
598
-
599
- updateFilter = currentSigner [ 0 ] . placeHolder [ i ] . pos . filter (
600
- ( data ) => data . key === signKey && data . SignUrl
571
+ const index = signerPos . findIndex (
572
+ ( data ) => data . signerObjId === signerObjectId
601
573
) ;
602
-
603
- const getXYdata = currentSigner [ 0 ] . placeHolder [ i ] . pos ;
604
- const getPosData = getXYdata ;
605
- const posWidth = isDefaultSign
606
- ? getIMGWH . newWidth
607
- : isSign && getPosData [ 0 ] . ImageType
608
- ? 150
609
- : getPosData [ 0 ] . Width
610
- ? getPosData [ 0 ] . Width
611
- : 150 ;
612
- const posHidth = isDefaultSign
613
- ? getIMGWH . newHeight
614
- : isSign && getPosData [ 0 ] . ImageType
615
- ? 60
616
- : getPosData [ 0 ] . Height
617
- ? getPosData [ 0 ] . Height
618
- : 60 ;
619
- if ( updateFilter . length > 0 ) {
620
- updateFilter [ 0 ] . SignUrl = signatureImg ;
621
- updateFilter [ 0 ] . Width = posWidth ;
622
- updateFilter [ 0 ] . Height = posHidth ;
623
- } else {
624
- const addSign = getPosData . map ( ( url , ind ) => {
625
- if ( url . key === signKey ) {
626
- return {
627
- ...url ,
628
- SignUrl : signatureImg ,
629
- Width : posWidth ,
630
- Height : posHidth ,
631
- ImageType : "sign"
632
- } ;
633
- }
634
- return url ;
635
- } ) ;
636
-
637
- const newUpdateUrl = currentSigner [ 0 ] . placeHolder . map ( ( obj , ind ) => {
638
- if ( obj . pageNumber === pageNumber ) {
639
- return { ...obj , pos : addSign } ;
640
- }
641
- return obj ;
642
- } ) ;
643
-
644
- const newUpdatePos = currentSigner . map ( ( obj , ind ) => {
645
- if ( obj . signerObjId === signerObjectId ) {
646
- return { ...obj , placeHolder : newUpdateUrl } ;
647
- }
648
- return obj ;
649
- } ) ;
650
-
651
- const index = signerPos . findIndex (
652
- ( data ) => data . signerObjId === signerObjectId
653
- ) ;
654
- setSignerPos ( ( prevState ) => {
655
- const newState = [ ...prevState ] ; // Create a copy of the state
656
- newState . splice ( index , 1 , ...newUpdatePos ) ; // Modify the copy
657
- return newState ; // Update the state with the modified copy
658
- } ) ;
659
- }
574
+ setSignerPos ( ( prevState ) => {
575
+ const newState = [ ...prevState ] ;
576
+ newState . splice ( index , 1 , ...updateSignerData ) ;
577
+ return newState ;
578
+ } ) ;
660
579
} ;
661
580
662
581
const checkSignerBackColor = ( obj ) => {
@@ -782,6 +701,7 @@ function PdfRequestFiles() {
782
701
allPages = { allPages }
783
702
setAllPages = { setAllPages }
784
703
setPageNumber = { setPageNumber }
704
+ pageNumber = { pageNumber }
785
705
/>
786
706
787
707
{ /* pdf render view */ }
@@ -831,8 +751,8 @@ function PdfRequestFiles() {
831
751
onImageChange = { onImageChange }
832
752
setSignature = { setSignature }
833
753
image = { image }
834
- onSaveImage = { onSaveImage }
835
- onSaveSign = { onSaveSign }
754
+ onSaveImage = { saveImage }
755
+ onSaveSign = { saveSign }
836
756
defaultSign = { defaultSignImg }
837
757
/>
838
758
{ /* pdf header which contain funish back button */ }
0 commit comments