From c25b34529e38c5932705289f666305323c40c175 Mon Sep 17 00:00:00 2001 From: Shruti3004 <mail2shruti.ag@gmail.com> Date: Tue, 14 Feb 2023 08:31:47 +0000 Subject: [PATCH] Implemented recursive strategy for nested prefills --- packages/form-manager/src/app.service.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/form-manager/src/app.service.ts b/packages/form-manager/src/app.service.ts index a2a29cf..c32b89e 100644 --- a/packages/form-manager/src/app.service.ts +++ b/packages/form-manager/src/app.service.ts @@ -63,10 +63,11 @@ export class AppService { }*/ for (const key in prefillSpec) { if (prefillSpec.hasOwnProperty(key)) { - const element = instance.getElementsByTagName(key)[0]; + const key_arr = key.split('_*_'); + const element = this.findElementRecursively(0, key_arr, instance); if (element) { console.log(prefillSpec[key]); - console.log(eval(prefillSpec[key])); + // console.log(eval(prefillSpec[key])); element.textContent = eval(prefillSpec[key]); } } @@ -74,6 +75,12 @@ export class AppService { return doc.toString(); } + findElementRecursively(start: number, key_arr: any, instance: any) { + if (!instance) return null; + if (!key_arr[start + 1]) return instance.getElementsByTagName(key_arr[start])?.[0] + return this.findElementRecursively(start + 1, key_arr, instance.getElementsByTagName(key_arr[start])?.[0]) + } + prefillFormXML(form: string, onFormSuccessData: any, prefillSpec: any): string { console.log("MAI YAHAN AA GAYA"); const formFilePath = join(__dirname, `forms/${form}.xml`); -- GitLab