diff --git a/apps/OpenSign/src/components/pdf/EmbedTab.js b/apps/OpenSign/src/components/pdf/EmbedTab.js index 655ccaf9b..8891d0dcc 100644 --- a/apps/OpenSign/src/components/pdf/EmbedTab.js +++ b/apps/OpenSign/src/components/pdf/EmbedTab.js @@ -246,7 +246,7 @@ export class AppComponent{ {" "} {t("public-template-mssg-4")} 0) { if (documentData[0]?.IsPublic) { props?.setTemplateStatus && @@ -359,20 +359,30 @@ function PdfRequestFiles(props) { props?.setTemplateStatus({ status: "Private" }); + setIsLoading(false); + setHandleError(t("something-went-wrong-mssg")); + console.error("error: TemplateId is not public"); + return; } } else { props?.setTemplateStatus && props?.setTemplateStatus({ status: "Invalid" }); + setIsLoading(false); + setHandleError(t("something-went-wrong-mssg")); + console.error("error: Invalid TemplateId"); + return; } } catch (err) { - console.log("err in get template details ", err); + setIsLoading(false); if (err?.response?.data?.code === 101) { setHandleError(t("error-template")); } else { setHandleError(t("something-went-wrong-mssg")); } + console.error("error: Invalid TemplateId"); + return; } }; //function for get document details for perticular signer with signer'object id @@ -1641,7 +1651,6 @@ function PdfRequestFiles(props) { ); }; - console.log("templateId", props.templateId); return ( diff --git a/apps/OpenSign/src/script/PublicTemplate.js b/apps/OpenSign/src/script/PublicTemplate.js index 741c66f7c..c684b00b0 100644 --- a/apps/OpenSign/src/script/PublicTemplate.js +++ b/apps/OpenSign/src/script/PublicTemplate.js @@ -11,28 +11,37 @@ import { isPublicStaging } from "../constant/const"; pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.min.mjs`; // Wrapper component to manage props -const PublicScriptFileWrapper = ({ initialProps }) => { - const [props, setProps] = useState(initialProps); +const PublicScriptFileWrapper = () => { + const [props, setProps] = useState(""); - // Make the setProps function globally accessible useEffect(() => { + // Assigns the function 'setProps' to the global 'window' object as 'updatePublicTemplateProps'. + // This allows 'setProps' to be accessed and called globally across different scripts or components, + // enabling dynamic updates to the public template's properties. window.updatePublicTemplateProps = setProps; - + const publicScript = document.getElementById("opensign-script"); + // condition for using plan js load opensign-script then get templateId + if (publicScript) { + // Get the custom templateId attribute + const templateId = publicScript.getAttribute("templateId"); + if (templateId) { + setProps({ templateId: templateId }); + } else { + const error = "error: TemplateId is missing"; + throw new Error(error); + } + } return () => { window.updatePublicTemplateProps = undefined; }; }, []); - return <PdfRequestFiles {...props} />; }; const appId = isPublicStaging ? "opensign" : "legadranaxn"; -//"opensign" - const serverUrl = isPublicStaging ? "https://staging-app.opensignlabs.com/api/app" : "https://app.opensignlabs.com/api/app"; -// "https://staging-app.opensignlabs.com/api/app" localStorage.setItem("baseUrl", `${serverUrl}/`); localStorage.setItem("parseAppId", appId); @@ -58,7 +67,7 @@ const root = ReactDOM.createRoot(document.getElementById("script-component")); root.render( <div data-theme="opensigncss"> <Provider store={store}> - <PublicScriptFileWrapper initialProps={{ text: "templateId" }} /> + <PublicScriptFileWrapper /> </Provider> </div> );