Skip to content

Commit 55a4cda

Browse files
Merge pull request #1302 from OpenSignLabs/react-tour
feat: add enable tour option in request signature and template form
2 parents b08fa9b + f0f270b commit 55a4cda

25 files changed

+544
-131
lines changed

apps/OpenSign/public/locales/en/translation.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,14 @@
672672
"document-logs":"Document logs",
673673
"server-down": "Unable to connect to the OpenSign server. If you are self-hosting OpenSign, please ensure that all the steps in the documentation have been followed correctly. If you're running OpenSign locally, you might be accessing it through an incorrect port number.",
674674
"admin-exists": "Admin already exists. Please login to the application using admin credentials in order to manage users.",
675+
"enable-tour":"Enable Tour",
676+
"istourenabled-help":{
677+
"p1":"This will enable a guided tour for signers, providing instructions during the signing process.",
678+
"p2":"This will disable the guided tour, ensuring a faster, uninterrupted signing experience.",
679+
"p3":"Tip: If your signers are familiar with OpenSign and frequently use it, you may want to disable the guided tour for a more seamless experience. Choose the option that best fits your document signing needs."
680+
},
681+
"form-title-1":"Document Flow Setting",
682+
"form-title-2":"Security Setting",
675683
"public-tour-message":"The template needs to be public before you can generate a shareable link.",
676684
"add-user-template": "You need to add a role before you can add fields for it.",
677685
"pdf-uncompatible": "This pdf is not compatible with opensign, please contact <[email protected]>"

apps/OpenSign/public/locales/es/translation.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,14 @@
674674
"admin-exists": "El administrador ya existe. Por favor, inicia sesión en la aplicación usando las credenciales de administrador para poder administrar los usuarios.",
675675
"public-tour-message": "Por favor, convierte la plantilla en pública para copiar la URL pública",
676676
"add-user-template": "Es necesario agregar un rol antes de poder agregarle campos.",
677-
"pdf-uncompatible": "Este pdf no es compatible con opensign, comuníquese con <[email protected]>"
677+
"pdf-uncompatible": "Este pdf no es compatible con opensign, comuníquese con <[email protected]>",
678+
"enable-tour": "Habilitar recorrido",
679+
"istourenabled-help":{
680+
"p1": "Esto permitirá realizar una visita guiada para los firmantes, brindando instrucciones durante el proceso de firma.",
681+
"p2": "Esto desactivará la visita guiada, lo que garantizará una experiencia de firma más rápida e ininterrumpida.",
682+
"p3": "Consejo: si sus firmantes están familiarizados con OpenSign y lo utilizan con frecuencia, es posible que desee desactivar la visita guiada para disfrutar de una experiencia más fluida. Elija la opción que mejor se adapte a sus necesidades de firma de documentos"
683+
},
684+
"form-title-1": "Configuración del flujo de documentos",
685+
"form-title-2": "Configuración de seguridad"
678686

679687
}

apps/OpenSign/public/locales/fr/translation.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,14 @@
671671
"document-logs":"Journaux de documents",
672672
"server-down": "Impossible de se connecter au serveur OpenSign. Si vous hébergez vous-même OpenSign, veuillez vous assurer que toutes les étapes de la documentation ont été correctement suivies. Si vous exécutez OpenSign localement, vous y accédez peut-être via un numéro de port incorrect.",
673673
"admin-exists": "L'administrateur existe déjà. Veuillez vous connecter à l'application en utilisant les informations d'identification de l'administrateur afin de gérer les utilisateurs.",
674+
"enable-tour": "Activer la visite",
675+
"istourenabled-otp-help":{
676+
"p1": "Cela permettra une visite guidée pour les signataires, fournissant des instructions pendant le processus de signature.",
677+
"p2": "Cela désactivera la visite guidée, garantissant ainsi une expérience de signature plus rapide et ininterrompue.",
678+
"p3": "Conseil : si vos signataires connaissent OpenSign et l'utilisent fréquemment, vous souhaiterez peut-être désactiver la visite guidée pour une expérience plus fluide. Choisissez l'option qui correspond le mieux à vos besoins en matière de signature de documents."
679+
},
680+
"form-title-1": "Paramètre du flux de documents",
681+
"form-title-2": "Paramètre de sécurité",
674682
"public-tour-message": "Le modèle doit être public avant que vous puissiez générer un lien partageable.",
675683
"add-user-template":"Vous devez ajouter un rôle avant de pouvoir lui ajouter des champs. ",
676684
"pdf-uncompatible":"Ce pdf n'est pas compatible avec opensign, veuillez contacter <[email protected]>"

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

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ const EditTemplate = ({ template, onSuccess }) => {
1717
SendinOrder: template?.SendinOrder ? `${template?.SendinOrder}` : "false",
1818
AutomaticReminders: template?.AutomaticReminders || false,
1919
RemindOnceInEvery: template?.RemindOnceInEvery || 5,
20-
IsEnableOTP: template?.IsEnableOTP ? `${template?.IsEnableOTP}` : "false"
20+
IsEnableOTP: template?.IsEnableOTP ? `${template?.IsEnableOTP}` : "false",
21+
IsTourEnabled: template?.IsTourEnabled
22+
? `${template?.IsTourEnabled}`
23+
: "false"
2124
});
2225
const [isSubscribe, setIsSubscribe] = useState(false);
2326
useEffect(() => {
@@ -43,6 +46,7 @@ const EditTemplate = ({ template, onSuccess }) => {
4346
e.preventDefault();
4447
e.stopPropagation();
4548
const isChecked = formData.SendinOrder === "true" ? true : false;
49+
const isTourEnabled = formData?.IsTourEnabled === "false" ? false : true;
4650
const AutoReminder = formData?.AutomaticReminders || false;
4751
const IsEnableOTP = formData.IsEnableOTP === "true" ? true : false;
4852
let reminderDate = {};
@@ -56,6 +60,7 @@ const EditTemplate = ({ template, onSuccess }) => {
5660
...formData,
5761
SendinOrder: isChecked,
5862
IsEnableOTP: IsEnableOTP,
63+
IsTourEnabled: isTourEnabled,
5964
...reminderDate
6065
};
6166
onSuccess(data);
@@ -256,6 +261,59 @@ const EditTemplate = ({ template, onSuccess }) => {
256261
</div>
257262
</div>
258263
)}
264+
265+
<div className="text-xs mt-2">
266+
<label className="block">
267+
<span>
268+
{t("enable-tour")}
269+
<a data-tooltip-id="istourenabled-tooltip" className="ml-1">
270+
<sup>
271+
<i className="fa-light fa-question rounded-full border-[#33bbff] text-[#33bbff] text-[13px] border-[1px] py-[1.5px] px-[4px]"></i>
272+
</sup>
273+
</a>{" "}
274+
</span>
275+
<Tooltip id="istourenabled-tooltip" className="z-50">
276+
<div className="max-w-[200px] md:max-w-[450px]">
277+
<p className="font-bold">{t("enable-tour")}</p>
278+
<p className="p-[5px]">
279+
<ol className="list-disc">
280+
<li>
281+
<span className="font-bold">{t("yes")}: </span>
282+
<span>{t("istourenabled-help.p1")}</span>
283+
</li>
284+
<li>
285+
<span className="font-bold">{t("no")}: </span>
286+
<span>{t("istourenabled-help.p2")}</span>
287+
</li>
288+
</ol>
289+
</p>
290+
<p>{t("istourenabled-help.p3")}</p>
291+
</div>
292+
</Tooltip>
293+
</label>
294+
<div className={` flex items-center gap-2 ml-2 mb-1 `}>
295+
<input
296+
type="radio"
297+
value={"true"}
298+
className="op-radio op-radio-xs"
299+
name="IsTourEnabled"
300+
checked={formData.IsTourEnabled === "true"}
301+
onChange={handleStrInput}
302+
/>
303+
<div className="text-center">{t("yes")}</div>
304+
</div>
305+
<div className={` flex items-center gap-2 ml-2 mb-1 `}>
306+
<input
307+
type="radio"
308+
value={"false"}
309+
name="IsTourEnabled"
310+
className="op-radio op-radio-xs"
311+
checked={formData.IsTourEnabled === "false"}
312+
onChange={handleStrInput}
313+
/>
314+
<div className="text-center">{t("no")}</div>
315+
</div>
316+
</div>
259317
<div className="mt-[1rem] flex justify-start">
260318
<button type="submit" className="op-btn op-btn-primary">
261319
{t("submit")}

apps/OpenSign/src/constant/Utils.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,7 @@ export const createDocument = async (
711711
AutomaticReminders: Doc?.AutomaticReminders || false,
712712
RemindOnceInEvery: parseInt(Doc?.RemindOnceInEvery || 5),
713713
IsEnableOTP: Doc?.IsEnableOTP || false,
714+
IsTourEnabled: Doc?.IsTourEnabled || false,
714715
IsFileAdapter: Doc?.IsFileAdapter || false
715716
};
716717

0 commit comments

Comments
 (0)