Skip to content

Commit 09b39a4

Browse files
fix: widgets disappear issue in request sign flow
1 parent e0e7dd5 commit 09b39a4

File tree

6 files changed

+43
-88
lines changed

6 files changed

+43
-88
lines changed

apps/OpenSign/src/components/RenderDebugPdf.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ const RenderDebugPdf = (props) => {
1313
>
1414
<Document
1515
onLoadError={() => {
16-
const load = {
17-
status: false,
18-
type: "failed"
19-
};
20-
props.setPdfLoadFail(load);
16+
props.setPdfLoadFail(false);
2117
}}
2218
loading={"Loading Document.."}
2319
onLoadSuccess={props.pageDetails}

apps/OpenSign/src/components/pdf/RenderPdf.js

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useState } from "react";
1+
import React from "react";
22
import RSC from "react-scrollbars-custom";
33
import { Document, Page } from "react-pdf";
44
import {
@@ -28,7 +28,8 @@ function RenderPdf({
2828
pdfRequest,
2929
signerObjectId,
3030
signedSigners,
31-
setPdfLoadFail,
31+
pdfLoad,
32+
setPdfLoad,
3233
placeholder,
3334
setSignerPos,
3435
setXyPostion,
@@ -55,12 +56,9 @@ function RenderPdf({
5556
handleTextSettingModal,
5657
setTempSignerId,
5758
uniqueId,
58-
setPdfRenderHeight,
5959
pdfOriginalWH,
6060
scale
6161
}) {
62-
const [isLoadPdf, setIsLoadPdf] = useState(false);
63-
6462
const isMobile = window.innerWidth < 767;
6563
//check isGuestSigner is present in local if yes than handle login flow header in mobile view
6664
const isGuestSigner = localStorage.getItem("isGuestSigner");
@@ -255,8 +253,8 @@ function RenderPdf({
255253
ref={drop}
256254
id="container"
257255
>
258-
{isLoadPdf &&
259-
containerWH?.width &&
256+
{containerWH?.width &&
257+
pdfOriginalWH.length > 0 &&
260258
(pdfRequest
261259
? signerPos.map((data, key) => {
262260
return (
@@ -387,7 +385,7 @@ function RenderPdf({
387385
<div className="flex items-center justify-center">
388386
<Document
389387
onLoadError={() => {
390-
setPdfLoadFail(true);
388+
setPdfLoad(false);
391389
}}
392390
loading={"Loading Document.."}
393391
onLoadSuccess={pageDetails}
@@ -406,10 +404,6 @@ function RenderPdf({
406404
}
407405
>
408406
<Page
409-
onLoadSuccess={({ height }) => {
410-
setPdfRenderHeight && setPdfRenderHeight(height);
411-
setIsLoadPdf(true);
412-
}}
413407
key={index}
414408
pageNumber={pageNumber}
415409
width={containerWH.width}
@@ -440,8 +434,9 @@ function RenderPdf({
440434
ref={drop}
441435
id="container"
442436
>
443-
{isLoadPdf &&
437+
{pdfLoad &&
444438
containerWH?.width &&
439+
pdfOriginalWH.length > 0 &&
445440
(pdfRequest //pdf request sign flow
446441
? signerPos?.map((data, key) => {
447442
return (
@@ -576,11 +571,7 @@ function RenderPdf({
576571
{/* this component for render pdf document is in middle of the component */}
577572
<Document
578573
onLoadError={() => {
579-
const load = {
580-
status: false,
581-
type: "failed"
582-
};
583-
setPdfLoadFail(load);
574+
pdfLoad(false);
584575
}}
585576
loading={"Loading Document.."}
586577
onLoadSuccess={pageDetails}
@@ -599,10 +590,6 @@ function RenderPdf({
599590
}
600591
>
601592
<Page
602-
onLoadSuccess={({ height }) => {
603-
setPdfRenderHeight && setPdfRenderHeight(height);
604-
setIsLoadPdf(true);
605-
}}
606593
key={index}
607594
width={containerWH.width}
608595
scale={scale || 1}

apps/OpenSign/src/pages/PdfRequestFiles.js

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,7 @@ function PdfRequestFiles() {
110110
});
111111
const [myInitial, setMyInitial] = useState("");
112112
const [isInitial, setIsInitial] = useState(false);
113-
const [pdfLoadFail, setPdfLoadFail] = useState({
114-
status: false,
115-
type: "load"
116-
});
113+
const [pdfLoad, setPdfLoad] = useState(false);
117114
const [isSigned, setIsSigned] = useState(false);
118115
const [isExpired, setIsExpired] = useState(false);
119116
const [alreadySign, setAlreadySign] = useState(false);
@@ -129,7 +126,6 @@ function PdfRequestFiles() {
129126
const [isVerifyModal, setIsVerifyModal] = useState(false);
130127
const [otp, setOtp] = useState("");
131128
const [contractName, setContractName] = useState("");
132-
const [pdfRenderHeight, setPdfRenderHeight] = useState();
133129
const [zoomPercent, setZoomPercent] = useState(0);
134130
const [totalZoomPercent, setTotalZoomPercent] = useState();
135131
const [scale, setScale] = useState(1);
@@ -1020,16 +1016,15 @@ function PdfRequestFiles() {
10201016
//function for get pdf page details
10211017
const pageDetails = async (pdf) => {
10221018
let pdfWHObj = [];
1023-
for (let index = 0; index < allPages; index++) {
1024-
const firstPage = await pdf.getPage(index + 1);
1019+
const totalPages = pdf.numPages; // Get the total number of pages
1020+
for (let index = 0; index < totalPages; index++) {
1021+
const getPage = await pdf.getPage(index + 1);
10251022
const scale = 1;
1026-
const { width, height } = firstPage.getViewport({ scale });
1023+
const { width, height } = getPage.getViewport({ scale });
10271024
pdfWHObj.push({ pageNumber: index + 1, width, height });
10281025
}
10291026
setPdfOriginalWH(pdfWHObj);
1030-
setPdfLoadFail({
1031-
status: true
1032-
});
1027+
setPdfLoad(true);
10331028
};
10341029
//function for change page
10351030
function changePage(offset) {
@@ -1733,8 +1728,8 @@ function PdfRequestFiles() {
17331728
pdfRequest={true}
17341729
signerObjectId={signerObjectId}
17351730
signedSigners={signedSigners}
1736-
setPdfLoadFail={setPdfLoadFail}
1737-
pdfLoadFail={pdfLoadFail}
1731+
setPdfLoad={setPdfLoad}
1732+
pdfLoad={pdfLoad}
17381733
setSignerPos={setSignerPos}
17391734
containerWH={containerWH}
17401735
setIsInitial={setIsInitial}
@@ -1744,8 +1739,6 @@ function PdfRequestFiles() {
17441739
selectWidgetId={selectWidgetId}
17451740
setCurrWidgetsDetails={setCurrWidgetsDetails}
17461741
divRef={divRef}
1747-
setPdfRenderHeight={setPdfRenderHeight}
1748-
pdfRenderHeight={pdfRenderHeight}
17491742
setIsResize={setIsResize}
17501743
isResize={isResize}
17511744
setTotalZoomPercent={setTotalZoomPercent}

apps/OpenSign/src/pages/PlaceHolderSign.js

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,7 @@ function PlaceHolderSign() {
104104
const [defaultBody, setDefaultBody] = useState("");
105105
const [defaultSubject, setDefaultSubject] = useState("");
106106
const [isTextSetting, setIsTextSetting] = useState(false);
107-
const [pdfLoadFail, setPdfLoadFail] = useState({
108-
status: false,
109-
type: "load"
110-
});
107+
const [pdfLoad, setPdfLoad] = useState(false);
111108
const [isPageCopy, setIsPageCopy] = useState(false);
112109
const [uniqueId, setUniqueId] = useState("");
113110
const [roleName, setRoleName] = useState("");
@@ -131,7 +128,6 @@ function PlaceHolderSign() {
131128
const [requestBody, setRequestBody] = useState("");
132129
const [pdfArrayBuffer, setPdfArrayBuffer] = useState("");
133130
const isHeader = useSelector((state) => state.showHeader);
134-
const [pdfRenderHeight, setPdfRenderHeight] = useState();
135131
const [activeMailAdapter, setActiveMailAdapter] = useState("");
136132
const [isAlreadyPlace, setIsAlreadyPlace] = useState({
137133
status: false,
@@ -664,16 +660,15 @@ function PlaceHolderSign() {
664660
//function for get pdf page details
665661
const pageDetails = async (pdf) => {
666662
let pdfWHObj = [];
667-
for (let index = 0; index < allPages; index++) {
668-
const firstPage = await pdf.getPage(index + 1);
663+
const totalPages = pdf?.numPages;
664+
for (let index = 0; index < totalPages; index++) {
665+
const getPage = await pdf.getPage(index + 1);
669666
const scale = 1;
670-
const { width, height } = firstPage.getViewport({ scale });
667+
const { width, height } = getPage.getViewport({ scale });
671668
pdfWHObj.push({ pageNumber: index + 1, width, height });
672669
}
673670
setPdfOriginalWH(pdfWHObj);
674-
setPdfLoadFail({
675-
status: true
676-
});
671+
setPdfLoad(true);
677672
};
678673

679674
//function for save x and y position and show signature tab on that position
@@ -2075,8 +2070,8 @@ function PlaceHolderSign() {
20752070
handleDeleteSign={handleDeleteSign}
20762071
handleTabDrag={handleTabDrag}
20772072
handleStop={handleStop}
2078-
setPdfLoadFail={setPdfLoadFail}
2079-
pdfLoadFail={pdfLoadFail}
2073+
setPdfLoad={setPdfLoad}
2074+
pdfLoad={pdfLoad}
20802075
setSignerPos={setSignerPos}
20812076
containerWH={containerWH}
20822077
setIsResize={setIsResize}
@@ -2098,8 +2093,6 @@ function PlaceHolderSign() {
20982093
handleNameModal={setIsNameModal}
20992094
setTempSignerId={setTempSignerId}
21002095
uniqueId={uniqueId}
2101-
setPdfRenderHeight={setPdfRenderHeight}
2102-
pdfRenderHeight={pdfRenderHeight}
21032096
handleTextSettingModal={handleTextSettingModal}
21042097
pdfOriginalWH={pdfOriginalWH}
21052098
setScale={setScale}

apps/OpenSign/src/pages/SignyourselfPdf.js

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,7 @@ function SignYourSelf() {
106106
const [currWidgetsDetails, setCurrWidgetsDetails] = useState({});
107107
const [isCheckbox, setIsCheckbox] = useState(false);
108108
const [widgetType, setWidgetType] = useState("");
109-
const [pdfLoadFail, setPdfLoadFail] = useState({
110-
status: false,
111-
type: "load"
112-
});
109+
const [pdfLoad, setPdfLoad] = useState(false);
113110
const [isAlert, setIsAlert] = useState({ isShow: false, alertMessage: "" });
114111
const [isDontShow, setIsDontShow] = useState(false);
115112
const [extUserId, setExtUserId] = useState("");
@@ -120,7 +117,6 @@ function SignYourSelf() {
120117
const [isEmailVerified, setIsEmailVerified] = useState(true);
121118
const [isVerifyModal, setIsVerifyModal] = useState(false);
122119
const [otp, setOtp] = useState("");
123-
const [pdfRenderHeight, setPdfRenderHeight] = useState();
124120
const [zoomPercent, setZoomPercent] = useState(0);
125121
const isHeader = useSelector((state) => state.showHeader);
126122
const [scale, setScale] = useState(1);
@@ -854,16 +850,15 @@ function SignYourSelf() {
854850
//function for get pdf page details
855851
const pageDetails = async (pdf) => {
856852
let pdfWHObj = [];
857-
for (let index = 0; index < allPages; index++) {
858-
const firstPage = await pdf.getPage(index + 1);
853+
const totalPages = pdf?.numPages;
854+
for (let index = 0; index < totalPages; index++) {
855+
const getPage = await pdf.getPage(index + 1);
859856
const scale = 1;
860-
const { width, height } = firstPage.getViewport({ scale });
857+
const { width, height } = getPage.getViewport({ scale });
861858
pdfWHObj.push({ pageNumber: index + 1, width, height });
862859
}
863860
setPdfOriginalWH(pdfWHObj);
864-
setPdfLoadFail({
865-
status: true
866-
});
861+
setPdfLoad(true);
867862
};
868863
//function for change page numver of pdf
869864
function changePage(offset) {
@@ -1197,7 +1192,7 @@ function SignYourSelf() {
11971192
/>
11981193
)}
11991194
{/* this component used for UI interaction and show their functionality */}
1200-
{pdfLoadFail && !checkTourStatus && (
1195+
{pdfLoad && !checkTourStatus && (
12011196
<Tour
12021197
onRequestClose={closeTour}
12031198
steps={tourConfig}
@@ -1361,8 +1356,8 @@ function SignYourSelf() {
13611356
pdfUrl={pdfUrl}
13621357
numPages={numPages}
13631358
pageDetails={pageDetails}
1364-
setPdfLoadFail={setPdfLoadFail}
1365-
pdfLoadFail={pdfLoadFail}
1359+
pdfLoad={pdfLoad}
1360+
setPdfLoad={setPdfLoad}
13661361
setXyPostion={setXyPostion}
13671362
index={index}
13681363
containerWH={containerWH}
@@ -1375,8 +1370,6 @@ function SignYourSelf() {
13751370
setCurrWidgetsDetails={setCurrWidgetsDetails}
13761371
setValidateAlert={setValidateAlert}
13771372
handleTextSettingModal={handleTextSettingModal}
1378-
pdfRenderHeight={pdfRenderHeight}
1379-
setPdfRenderHeight={setPdfRenderHeight}
13801373
setScale={setScale}
13811374
scale={scale}
13821375
/>

apps/OpenSign/src/pages/TemplatePlaceholder.js

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,8 @@ const TemplatePlaceholder = () => {
8787
const [blockColor, setBlockColor] = useState("");
8888
const [selectWidgetId, setSelectWidgetId] = useState("");
8989
const [isNameModal, setIsNameModal] = useState(false);
90-
const [pdfRenderHeight, setPdfRenderHeight] = useState();
9190
const [isTextSetting, setIsTextSetting] = useState(false);
92-
const [pdfLoadFail, setPdfLoadFail] = useState({
93-
status: false,
94-
type: "load"
95-
});
91+
const [pdfLoad, setPdfLoad] = useState(false);
9692
const color = [
9793
"#93a3db",
9894
"#e6c3db",
@@ -541,16 +537,15 @@ const TemplatePlaceholder = () => {
541537
//function for get pdf page details
542538
const pageDetails = async (pdf) => {
543539
let pdfWHObj = [];
544-
for (let index = 0; index < allPages; index++) {
545-
const firstPage = await pdf.getPage(index + 1);
540+
const totalPages = pdf?.numPages;
541+
for (let index = 0; index < totalPages; index++) {
542+
const getPage = await pdf.getPage(index + 1);
546543
const scale = 1;
547-
const { width, height } = firstPage.getViewport({ scale });
544+
const { width, height } = getPage.getViewport({ scale });
548545
pdfWHObj.push({ pageNumber: index + 1, width, height });
549546
}
550547
setPdfOriginalWH(pdfWHObj);
551-
setPdfLoadFail({
552-
status: true
553-
});
548+
setPdfLoad(true);
554549
};
555550
//function for save x and y position and show signature tab on that position
556551
const handleTabDrag = (key) => {
@@ -1516,8 +1511,8 @@ const TemplatePlaceholder = () => {
15161511
handleDeleteSign={handleDeleteSign}
15171512
handleTabDrag={handleTabDrag}
15181513
handleStop={handleStop}
1519-
setPdfLoadFail={setPdfLoadFail}
1520-
pdfLoadFail={pdfLoadFail}
1514+
setPdfLoad={setPdfLoad}
1515+
pdfLoad={pdfLoad}
15211516
setSignerPos={setSignerPos}
15221517
containerWH={containerWH}
15231518
setIsResize={setIsResize}
@@ -1537,8 +1532,6 @@ const TemplatePlaceholder = () => {
15371532
selectWidgetId={selectWidgetId}
15381533
setIsCheckbox={setIsCheckbox}
15391534
handleNameModal={setIsNameModal}
1540-
setPdfRenderHeight={setPdfRenderHeight}
1541-
pdfRenderHeight={pdfRenderHeight}
15421535
handleTextSettingModal={handleTextSettingModal}
15431536
pdfOriginalWH={pdfOriginalWH}
15441537
setScale={setScale}

0 commit comments

Comments
 (0)