@rangertechnologies/ngnxt 2.1.105 → 2.1.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/package.json +5 -1
  2. package/esm2022/lib/ar.i18n.mjs +0 -29
  3. package/esm2022/lib/components/button/nxt-button.component.mjs +0 -130
  4. package/esm2022/lib/components/custom-button/custom-button.component.mjs +0 -39
  5. package/esm2022/lib/components/custom-calendar/custom-calendar.component.mjs +0 -366
  6. package/esm2022/lib/components/custom-date/custom-date.component.mjs +0 -47
  7. package/esm2022/lib/components/custom-date-picker/custom-date-picker.component.mjs +0 -48
  8. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +0 -219
  9. package/esm2022/lib/components/custom-image/custom-image.component.mjs +0 -34
  10. package/esm2022/lib/components/custom-input/custom-input.component.mjs +0 -93
  11. package/esm2022/lib/components/custom-label/custom-label.component.mjs +0 -21
  12. package/esm2022/lib/components/custom-model/custom-model.component.mjs +0 -48
  13. package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +0 -115
  14. package/esm2022/lib/components/custom-rich-text/custom-rich-text.component.mjs +0 -186
  15. package/esm2022/lib/components/custom-table/custom-table.component.mjs +0 -347
  16. package/esm2022/lib/components/custom-text-area/custom-text-area.component.mjs +0 -65
  17. package/esm2022/lib/components/custom-time/custom-time.component.mjs +0 -61
  18. package/esm2022/lib/components/datatable/datatable.component.mjs +0 -801
  19. package/esm2022/lib/components/dependent-table/dependent-table.component.mjs +0 -42
  20. package/esm2022/lib/components/dropdown-with-flag/dropdown-with-flag.component.mjs +0 -39
  21. package/esm2022/lib/components/file-upload/file-upload.component.mjs +0 -279
  22. package/esm2022/lib/components/file-view/file-view.component.mjs +0 -46
  23. package/esm2022/lib/components/loader/loader.component.mjs +0 -23
  24. package/esm2022/lib/components/pagination/pagination.component.mjs +0 -100
  25. package/esm2022/lib/components/pick-location/pick-location.component.mjs +0 -216
  26. package/esm2022/lib/components/search-box/search-box.component.mjs +0 -202
  27. package/esm2022/lib/components/table-appendix/table-appendix.component.mjs +0 -123
  28. package/esm2022/lib/directives/componenthost/componenthost.directive.mjs +0 -19
  29. package/esm2022/lib/en.i18n.mjs +0 -29
  30. package/esm2022/lib/i18n-config.service.mjs +0 -4
  31. package/esm2022/lib/i18n.component.mjs +0 -47
  32. package/esm2022/lib/i18n.module.mjs +0 -38
  33. package/esm2022/lib/i18n.pipe.mjs +0 -25
  34. package/esm2022/lib/i18n.service.mjs +0 -56
  35. package/esm2022/lib/interfaces/actionMeta.mjs +0 -2
  36. package/esm2022/lib/interfaces/apimeta.mjs +0 -2
  37. package/esm2022/lib/interfaces/dependencyMeta.mjs +0 -2
  38. package/esm2022/lib/model/bookletWrapper.mjs +0 -9
  39. package/esm2022/lib/model/changeWrapper.mjs +0 -11
  40. package/esm2022/lib/model/errorWrapper.mjs +0 -6
  41. package/esm2022/lib/model/tableWrapper.mjs +0 -20
  42. package/esm2022/lib/nxt-app.component.mjs +0 -22
  43. package/esm2022/lib/nxt-app.module.mjs +0 -399
  44. package/esm2022/lib/nxt-app.service.mjs +0 -14
  45. package/esm2022/lib/pages/booklet/booklet.component.mjs +0 -541
  46. package/esm2022/lib/pages/builder/element/element.component.mjs +0 -193
  47. package/esm2022/lib/pages/builder/form/form.component.mjs +0 -34
  48. package/esm2022/lib/pages/builder/menu/menu.component.mjs +0 -28
  49. package/esm2022/lib/pages/builder/properties/properties.component.mjs +0 -476
  50. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +0 -458
  51. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +0 -2387
  52. package/esm2022/lib/pages/summary-page/summary-page.component.mjs +0 -76
  53. package/esm2022/lib/pipe/date/date.pipe.mjs +0 -28
  54. package/esm2022/lib/pipe/editColumnCheck/edit-column-check.pipe.mjs +0 -28
  55. package/esm2022/lib/pipe/editColumnDropdown/edit-column-dropdown.pipe.mjs +0 -20
  56. package/esm2022/lib/pipe/editColumnType/edit-column-type.pipe.mjs +0 -20
  57. package/esm2022/lib/pipe/get-value.pipe.mjs +0 -50
  58. package/esm2022/lib/pipe/search-filter/search-filter.pipe.mjs +0 -39
  59. package/esm2022/lib/pipe/time/time.pipe.mjs +0 -26
  60. package/esm2022/lib/sample.mjs +0 -3715
  61. package/esm2022/lib/services/change.service.mjs +0 -53
  62. package/esm2022/lib/services/data.service.mjs +0 -80
  63. package/esm2022/lib/services/form-builder.service.mjs +0 -160
  64. package/esm2022/lib/services/salesforce.service.mjs +0 -46
  65. package/esm2022/lib/services/shared.service.mjs +0 -100
  66. package/esm2022/lib/services/storage.service.mjs +0 -44
  67. package/esm2022/lib/tam.i18n.mjs +0 -29
  68. package/esm2022/lib/wrapper.mjs +0 -175
  69. package/esm2022/public-api.mjs +0 -22
  70. package/esm2022/rangertechnologies-ngnxt.mjs +0 -5
  71. package/fesm2022/rangertechnologies-ngnxt.mjs +0 -12866
  72. package/fesm2022/rangertechnologies-ngnxt.mjs.map +0 -1
  73. package/index.d.ts +0 -5
  74. package/lib/ar.i18n.d.ts +0 -24
  75. package/lib/components/button/nxt-button.component.d.ts +0 -38
  76. package/lib/components/custom-button/custom-button.component.d.ts +0 -16
  77. package/lib/components/custom-calendar/custom-calendar.component.d.ts +0 -65
  78. package/lib/components/custom-date/custom-date.component.d.ts +0 -18
  79. package/lib/components/custom-date-picker/custom-date-picker.component.d.ts +0 -19
  80. package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +0 -39
  81. package/lib/components/custom-image/custom-image.component.d.ts +0 -13
  82. package/lib/components/custom-input/custom-input.component.d.ts +0 -31
  83. package/lib/components/custom-label/custom-label.component.d.ts +0 -10
  84. package/lib/components/custom-model/custom-model.component.d.ts +0 -19
  85. package/lib/components/custom-radio/custom-radio.component.d.ts +0 -33
  86. package/lib/components/custom-rich-text/custom-rich-text.component.d.ts +0 -29
  87. package/lib/components/custom-table/custom-table.component.d.ts +0 -65
  88. package/lib/components/custom-text-area/custom-text-area.component.d.ts +0 -22
  89. package/lib/components/custom-time/custom-time.component.d.ts +0 -18
  90. package/lib/components/datatable/datatable.component.d.ts +0 -126
  91. package/lib/components/dependent-table/dependent-table.component.d.ts +0 -15
  92. package/lib/components/dropdown-with-flag/dropdown-with-flag.component.d.ts +0 -16
  93. package/lib/components/file-upload/file-upload.component.d.ts +0 -47
  94. package/lib/components/file-view/file-view.component.d.ts +0 -16
  95. package/lib/components/loader/loader.component.d.ts +0 -11
  96. package/lib/components/pagination/pagination.component.d.ts +0 -36
  97. package/lib/components/pick-location/pick-location.component.d.ts +0 -44
  98. package/lib/components/search-box/search-box.component.d.ts +0 -43
  99. package/lib/components/table-appendix/table-appendix.component.d.ts +0 -30
  100. package/lib/directives/componenthost/componenthost.directive.d.ts +0 -8
  101. package/lib/en.i18n.d.ts +0 -24
  102. package/lib/i18n-config.service.d.ts +0 -2
  103. package/lib/i18n.component.d.ts +0 -11
  104. package/lib/i18n.module.d.ts +0 -9
  105. package/lib/i18n.pipe.d.ts +0 -10
  106. package/lib/i18n.service.d.ts +0 -14
  107. package/lib/interfaces/actionMeta.d.ts +0 -5
  108. package/lib/interfaces/apimeta.d.ts +0 -15
  109. package/lib/interfaces/dependencyMeta.d.ts +0 -8
  110. package/lib/model/bookletWrapper.d.ts +0 -5
  111. package/lib/model/changeWrapper.d.ts +0 -10
  112. package/lib/model/errorWrapper.d.ts +0 -5
  113. package/lib/model/tableWrapper.d.ts +0 -18
  114. package/lib/nxt-app.component.d.ts +0 -8
  115. package/lib/nxt-app.module.d.ts +0 -52
  116. package/lib/nxt-app.service.d.ts +0 -6
  117. package/lib/pages/booklet/booklet.component.d.ts +0 -68
  118. package/lib/pages/builder/element/element.component.d.ts +0 -33
  119. package/lib/pages/builder/form/form.component.d.ts +0 -11
  120. package/lib/pages/builder/menu/menu.component.d.ts +0 -10
  121. package/lib/pages/builder/properties/properties.component.d.ts +0 -551
  122. package/lib/pages/questionbook/questionbook.component.d.ts +0 -68
  123. package/lib/pages/questionnaire/questionnaire.component.d.ts +0 -220
  124. package/lib/pages/summary-page/summary-page.component.d.ts +0 -20
  125. package/lib/pipe/date/date.pipe.d.ts +0 -7
  126. package/lib/pipe/editColumnCheck/edit-column-check.pipe.d.ts +0 -7
  127. package/lib/pipe/editColumnDropdown/edit-column-dropdown.pipe.d.ts +0 -7
  128. package/lib/pipe/editColumnType/edit-column-type.pipe.d.ts +0 -7
  129. package/lib/pipe/get-value.pipe.d.ts +0 -7
  130. package/lib/pipe/search-filter/search-filter.pipe.d.ts +0 -8
  131. package/lib/pipe/time/time.pipe.d.ts +0 -7
  132. package/lib/sample.d.ts +0 -11
  133. package/lib/services/change.service.d.ts +0 -22
  134. package/lib/services/data.service.d.ts +0 -13
  135. package/lib/services/form-builder.service.d.ts +0 -75
  136. package/lib/services/salesforce.service.d.ts +0 -11
  137. package/lib/services/shared.service.d.ts +0 -15
  138. package/lib/services/storage.service.d.ts +0 -13
  139. package/lib/tam.i18n.d.ts +0 -24
  140. package/lib/wrapper.d.ts +0 -203
  141. package/public-api.d.ts +0 -15
  142. package/rangertechnologies-ngnxt-2.1.105.tgz +0 -0
  143. package/src/lib/style.css +0 -1817
@@ -1 +0,0 @@
1
- {"version":3,"file":"rangertechnologies-ngnxt.mjs","sources":["../../../projects/nxt-app/src/lib/nxt-app.service.ts","../../../projects/nxt-app/src/lib/nxt-app.component.ts","../../../projects/nxt-app/src/lib/services/change.service.ts","../../../projects/nxt-app/src/lib/wrapper.ts","../../../projects/nxt-app/src/lib/model/errorWrapper.ts","../../../projects/nxt-app/src/lib/sample.ts","../../../projects/nxt-app/src/lib/services/salesforce.service.ts","../../../projects/nxt-app/src/lib/services/data.service.ts","../../../projects/nxt-app/src/lib/services/shared.service.ts","../../../projects/nxt-app/src/lib/i18n-config.service.ts","../../../projects/nxt-app/src/lib/i18n.service.ts","../../../projects/nxt-app/src/lib/components/custom-rich-text/custom-rich-text.component.ts","../../../projects/nxt-app/src/lib/components/custom-rich-text/custom-rich-text.component.html","../../../projects/nxt-app/src/lib/model/changeWrapper.ts","../../../projects/nxt-app/src/lib/i18n.pipe.ts","../../../projects/nxt-app/src/lib/components/pick-location/pick-location.component.ts","../../../projects/nxt-app/src/lib/components/pick-location/pick-location.component.html","../../../projects/nxt-app/src/lib/components/custom-input/custom-input.component.ts","../../../projects/nxt-app/src/lib/components/custom-input/custom-input.component.html","../../../projects/nxt-app/src/lib/components/custom-text-area/custom-text-area.component.ts","../../../projects/nxt-app/src/lib/components/custom-text-area/custom-text-area.component.html","../../../projects/nxt-app/src/lib/pipe/get-value.pipe.ts","../../../projects/nxt-app/src/lib/components/custom-table/custom-table.component.ts","../../../projects/nxt-app/src/lib/components/custom-table/custom-table.component.html","../../../projects/nxt-app/src/lib/components/custom-date-picker/custom-date-picker.component.ts","../../../projects/nxt-app/src/lib/components/custom-date-picker/custom-date-picker.component.html","../../../projects/nxt-app/src/lib/components/dropdown-with-flag/dropdown-with-flag.component.ts","../../../projects/nxt-app/src/lib/components/dropdown-with-flag/dropdown-with-flag.component.html","../../../projects/nxt-app/src/lib/components/custom-dropdown/custom-dropdown.component.ts","../../../projects/nxt-app/src/lib/components/custom-dropdown/custom-dropdown.component.html","../../../projects/nxt-app/src/lib/components/custom-label/custom-label.component.ts","../../../projects/nxt-app/src/lib/components/custom-label/custom-label.component.html","../../../projects/nxt-app/src/lib/pages/questionnaire/questionnaire.component.ts","../../../projects/nxt-app/src/lib/pages/questionnaire/questionnaire.component.html","../../../projects/nxt-app/src/lib/services/storage.service.ts","../../../projects/nxt-app/src/lib/components/custom-calendar/custom-calendar.component.ts","../../../projects/nxt-app/src/lib/components/custom-calendar/custom-calendar.component.html","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.ts","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.html","../../../projects/nxt-app/src/lib/components/file-upload/file-upload.component.ts","../../../projects/nxt-app/src/lib/components/file-upload/file-upload.component.html","../../../projects/nxt-app/src/lib/components/dependent-table/dependent-table.component.ts","../../../projects/nxt-app/src/lib/components/dependent-table/dependent-table.component.html","../../../projects/nxt-app/src/lib/components/table-appendix/table-appendix.component.ts","../../../projects/nxt-app/src/lib/components/table-appendix/table-appendix.component.html","../../../projects/nxt-app/src/lib/components/custom-date/custom-date.component.ts","../../../projects/nxt-app/src/lib/components/custom-date/custom-date.component.html","../../../projects/nxt-app/src/lib/components/custom-time/custom-time.component.ts","../../../projects/nxt-app/src/lib/components/custom-time/custom-time.component.html","../../../projects/nxt-app/src/lib/components/custom-button/custom-button.component.ts","../../../projects/nxt-app/src/lib/components/custom-button/custom-button.component.html","../../../projects/nxt-app/src/lib/components/custom-model/custom-model.component.ts","../../../projects/nxt-app/src/lib/components/custom-model/custom-model.component.html","../../../projects/nxt-app/src/lib/components/custom-image/custom-image.component.ts","../../../projects/nxt-app/src/lib/components/custom-image/custom-image.component.html","../../../projects/nxt-app/src/lib/components/custom-radio/custom-radio.component.ts","../../../projects/nxt-app/src/lib/components/custom-radio/custom-radio.component.html","../../../projects/nxt-app/src/lib/pages/questionbook/questionbook.component.ts","../../../projects/nxt-app/src/lib/pages/questionbook/questionbook.component.html","../../../projects/nxt-app/src/lib/pages/booklet/booklet.component.ts","../../../projects/nxt-app/src/lib/pages/booklet/booklet.component.html","../../../projects/nxt-app/src/lib/components/file-view/file-view.component.ts","../../../projects/nxt-app/src/lib/components/file-view/file-view.component.html","../../../projects/nxt-app/src/lib/pages/summary-page/summary-page.component.ts","../../../projects/nxt-app/src/lib/pages/summary-page/summary-page.component.html","../../../projects/nxt-app/src/lib/i18n.module.ts","../../../projects/nxt-app/src/lib/i18n.component.ts","../../../projects/nxt-app/src/lib/en.i18n.ts","../../../projects/nxt-app/src/lib/ar.i18n.ts","../../../projects/nxt-app/src/lib/tam.i18n.ts","../../../projects/nxt-app/src/lib/components/loader/loader.component.ts","../../../projects/nxt-app/src/lib/components/loader/loader.component.html","../../../projects/nxt-app/src/lib/directives/componenthost/componenthost.directive.ts","../../../projects/nxt-app/src/lib/services/form-builder.service.ts","../../../projects/nxt-app/src/lib/pages/builder/element/element.component.ts","../../../projects/nxt-app/src/lib/pages/builder/element/element.component.html","../../../projects/nxt-app/src/lib/pages/builder/properties/properties.component.ts","../../../projects/nxt-app/src/lib/pages/builder/properties/properties.component.html","../../../projects/nxt-app/src/lib/pages/builder/menu/menu.component.ts","../../../projects/nxt-app/src/lib/pages/builder/menu/menu.component.html","../../../projects/nxt-app/src/lib/pages/builder/form/form.component.ts","../../../projects/nxt-app/src/lib/pages/builder/form/form.component.html","../../../projects/nxt-app/src/lib/nxt-app.module.ts","../../../projects/nxt-app/src/lib/components/button/nxt-button.component.ts","../../../projects/nxt-app/src/lib/components/button/nxt-button.component.html","../../../projects/nxt-app/src/lib/components/pagination/pagination.component.ts","../../../projects/nxt-app/src/lib/components/pagination/pagination.component.html","../../../projects/nxt-app/src/lib/pipe/search-filter/search-filter.pipe.ts","../../../projects/nxt-app/src/lib/pipe/date/date.pipe.ts","../../../projects/nxt-app/src/lib/pipe/time/time.pipe.ts","../../../projects/nxt-app/src/lib/pipe/editColumnCheck/edit-column-check.pipe.ts","../../../projects/nxt-app/src/lib/pipe/editColumnDropdown/edit-column-dropdown.pipe.ts","../../../projects/nxt-app/src/lib/pipe/editColumnType/edit-column-type.pipe.ts","../../../projects/nxt-app/src/lib/components/datatable/datatable.component.ts","../../../projects/nxt-app/src/lib/components/datatable/datatable.component.html","../../../projects/nxt-app/src/public-api.ts","../../../projects/nxt-app/src/rangertechnologies-ngnxt.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NxtAppService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-nxt-app',\n template: `\n <p>\n nxt-app works!\n </p>\n `,\n styles: []\n})\nexport class NxtAppComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ChangeWrapper } from '../model/changeWrapper';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ChangeService {\n // Reference: https://angular.io/guide/observables\n constructor() { }\n\n // Observable parentQuestion sources\n private changeAnnouncedSource = new Subject<ChangeWrapper>();\n private changeConfirmedSource = new Subject<string>();\n private validationSource = new Subject<string>();\n private fieldSource = new Subject<any>();\n // VD 13Sep24 - databind changes\n private customChanges = new Subject<any>();\n\n // Observable parentQuestion streams\n changeAnnounced$ = this.changeAnnouncedSource.asObservable();\n changeConfirmed$ = this.changeConfirmedSource.asObservable();\n submitValidate$ = this.validationSource.asObservable();\n changeField$ = this.fieldSource.asObservable();\n // VD 13Sep24 - databind changes\n customChange$ = this.customChanges.asObservable();\n\n // Service message commands\n announceChange(changeValue: ChangeWrapper) {\n // console.log('inside announceChange');\n console.log(changeValue);\n this.changeAnnouncedSource.next(changeValue);\n }\n\n confirmChange(childQuestion: string) {\n // console.log('inside confirmChange');\n console.log(childQuestion);\n this.changeConfirmedSource.next(childQuestion);\n }\n // VD 13Sep24 - databind changes\n dataChanges(data: string) {\n console.log('inside data bind change service');\n this.customChanges.next(data);\n }\n\n submitChange(value:string){\n this.validationSource.next(value);\n }\n fieldChange(value:any){\n console.log('getValue',value);\n this.fieldSource.next(value);\n }\n}\n","import { ErrorWrapper } from \"./model/errorWrapper\";\n// HA 19DEC23 Included style in the objects to use them in ts\n// RS 09DEC24 Changed keys\nexport class QuestionBook {\n id: number;\n Name: string;\n category: string;\n next : string;\n cancel : string;\n back : string;\n submit : string;\n edit : string;\n firstQuestion: string;\n title: string;\n nextTrackingId: string;\n backTrackingId: string;\n cancelTrackingId: string;\n submitTrackingId: string;\n totalQuestions: number;\n summaryText?: string;\n Questions__r?: QuestionR;\n progressBar: boolean;\n subTitle: string;\n qTyp: string;\n possibilities: string;\n summarySubText: string;\n isShengel?: boolean;\n style: {\n labelClass : any,\n labelStyle : any,\n labelValueStyle : any,\n inputClass : any,\n inputStyle : any,\n showLabel : boolean,\n bookStyle : any,\n direction: any,\n questionStyle: any;\n };\n}\nexport class Question {\n id: string;\n Name: string;\n referenceField?:string;\n dependentRef?: string;\n allowedFileExtensions :string;\n question : string;\n questionText : any;\n type: string;\n nextQuestion?: string;\n isOptional: boolean;\n title: string;\n subTitle: string;\n isTitle: boolean;\n x24Hours: boolean;\n errorMessage: string;\n isDateBackward : boolean;\n isDateForward : boolean;\n isHidden: boolean;\n groupName: string;\n questionNumber?: string;\n Question_Options__r?: OptionR;\n static x24Hours: boolean;\n options: any;\n size: number;\n subText: string;\n trackingId: string;\n timeText: string;\n dateText: string;\n additionalRichContent? : string;\n Questions__r?: QuestionR;\n RecordType: {\n Name: string;\n };\n subQuestions : any;\n input?: any;\n error?: ErrorWrapper;\n valueName?:string;\n dropDownOnly?:boolean;\n isDependentPicklist?:boolean;\n tableDataValue?:any[];\n tableHeader?:string;\n startDate?:any;\n selectedValue?:string;\n minDate?: any ;\n isShengel?: boolean;\n style: {\n labelClass : any,\n labelStyle : any,\n labelValueStyle : any,\n inputClass : any,\n inputStyle : any,\n showLabel : boolean,\n bookStyle : any,\n direction: any,\n questionStyle: any;\n };\n}\nexport class LocalQuestion {\n id: string;\n Name: string;\n allowedFileExtensions :string;\n question : string;\n questionText : string;\n type: string;\n title: string;\n subTitle: string;\n nextQuestion?: string;\n isOptional: boolean;\n isTitle: boolean;\n isHidden: boolean;\n x24Hours: boolean;\n errorMessage: string;\n isDateBackward : boolean;\n isDateForward : boolean;\n timeText : string;\n dateText : string;\n groupName: string;\n questionNumber?: string;\n Question_Options__r?: OptionR;\n subText : string;\n size: number;\n trackingId: string;\n additionalRichContent? : string;\n selectedValue:string;\n Questions__r?: QuestionR;\n RecordType: {\n Name: string;\n };\n input?: string;\n error?: ErrorWrapper;\n static x24Hours: boolean;\n uniqueSubQId: string;\n style: {\n labelClass : any,\n labelStyle : any,\n labelValueStyle : any,\n inputClass : any,\n inputStyle : any,\n showLabel : boolean,\n bookStyle : any,\n direction: any,\n questionStyle: any;\n };\n}\nexport class QuestionR {\n records?: Question[];\n}\nexport class OptionR {\n records?: Option[];\n} \nexport class Option {\n id: string;\n Name: string;\n value: string;\n trackingId: string;\n nextQuestion?: string;\n} \nexport class OptionValue {\n id: string;\n Name: string;\n value: string;\n nextQuestion?: string;\n checked: boolean;\n}\nexport class AnswerBook {\n id: string;\n questionBookId: string;\n status: string;\n Answers__r?: AnswerR;\n answers: any;\n}\nexport class Answer {\n id: string;\n quesValue: string;\n ansValue : string;\n qTyp: string;\n quesId: string;\n groupText: string;\n}\nexport class AnswerR {\n records?: Answer[];\n}\nexport class AnswerWrapper {\n ansId?: string;\n ansNumber?: number;\n abId: string;\n quesId: string;\n quesValue: string;\n qTyp: string;\n ansValue: string;\n groupText: string;\n squesValue: string;\n myVal: any; // HA 02FEB24 To display the values in summary\n}\nexport class AttachmentWrapper {\n parentId: string;\n fileName: string;\n fileContent: string;\n}\nexport class Attachment {\n public attachmentId: string;\n public attachmentName: string;\n public attachmentMetaData: any;\n constructor(id: string,name:string,metaData:any){\n this.attachmentId = id;\n this.attachmentName = name;\n this.attachmentMetaData = metaData;\n }\n}","export class ErrorWrapper {\n errorCode: string;\n errorMsg: string;\n errorDetails: string;\n}\n","import { Question, QuestionBook, AnswerBook } from \"./wrapper\";\r\n/*\r\nexport const TESTQUESTIONS: Question[] = [\r\n{ Id: 11, Name: '001', question: 'What is your Name?' },\r\n{ Id: 12, Name: '002', question: 'What is your favourite City?' },\r\n{ Id: 13, Name: '003', question: 'How many languages you speak?' },\r\n{ Id: 14, Name: '004', question: 'Share your feedback?' },\r\n];\r\n*/\r\n// Dynamic Field Changes\r\n// HA 19DEC23 Included style in the objects to use them in ts\r\n// RS 09DEC24 Changed keys\r\nexport const TESTQB: QuestionBook = {\r\nid: 2,\r\nName: 'QB-0000',\r\ncategory: 'Simple',\r\nnext : 'weiter',\r\ncancel :'zurück',\r\nback : 'zurück',\r\nsubmit : 'absenden',\r\nedit : 'Bearbeiten',\r\nnextTrackingId: '12345',\r\nbackTrackingId: '12345',\r\ncancelTrackingId: '12345',\r\nsubmitTrackingId: '12345',\r\nfirstQuestion: '1',\r\ntitle: 'Demo Unconditional',\r\ntotalQuestions: 3,\r\nsubTitle: 'subTitle',\r\nqTyp:'type',\r\npossibilities: 'poss',\r\nsummarySubText: 'subText',\r\nprogressBar: true,\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n}\r\n// Text Question\r\nexport const TESTQUESTION: Question = {\r\nid: '11',\r\nName: 'QN-00001',\r\ntype: 'Text',\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'What is your Name?',\r\nquestion: 'What is your Name?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nisTitle: true,\r\nx24Hours: true,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nselectedValue : 'test',\r\nisHidden : false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n// DateTime Question\r\nexport const DTQUESTION: Question = {\r\nid: '12',\r\nName: 'QN-00002',\r\ntype: 'DateTime',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'When did the incident happen?',\r\nquestion: 'When did the incident happen?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\nselectedValue : 'test',\r\nisTitle: true,\r\nx24Hours: true,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : true,\r\nisDateForward : true ,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n// File Question\r\nexport const FILEQUESTION: Question = {\r\nid: '13',\r\nName: 'QN-00003',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\ntype: 'File',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Upload the Incident Report/Images?',\r\nquestion: 'Upload the Incident Report/Images?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: true,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nselectedValue : 'test',\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n\r\n\r\n//RS 06JAN25\r\n//Rich text Questions\r\nexport const RTAQUESTION: Question = {\r\n id: '14',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-00004',\r\n type: 'RichTextArea',\r\n subQuestions : [\r\n {\r\n id: '170',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'Explain the particulars of the Incident?',\r\n question: 'Explain the particulars of the Incident?',\r\n nextQuestion: 'a013t000013SS89AAG',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden: false,\r\n groupName: 'Basic',\r\n size:1,\r\n questionNumber: '1',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n };\r\n\r\n// DateTime Question\r\nexport const TAQUESTION: Question = {\r\nid: '14',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nName: 'QN-00004',\r\ntype: 'TextArea',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Explain the particulars of the Incident?',\r\nquestion: 'Explain the particulars of the Incident?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nselectedValue : 'test',\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n// Radio Question\r\nexport const RADIOQUESTION: Question = {\r\nid: '15',\r\nName: 'QN-00005',\r\ntype: 'Radio',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Choose your favorite role',\r\nselectedValue : 'test',\r\nquestion: 'Choose your favorite role',\r\ntrackingId: '1234',\r\nnextQuestion: '',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber:'5',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\noptions: {\r\nrecords: [\r\n {\r\n id: '121',\r\n Name: '121N',\r\n value: '121V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '122',\r\n Name: '122N',\r\n value: '122V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '123',\r\n Name: '123N',\r\n value: '123V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n}\r\n};\r\n// Checkbox Question\r\nexport const CHECKQUESTION: Question = {\r\nid: '16',\r\nName: 'QN-00006',\r\ntype: 'Checkbox',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Choose your favorite spots',\r\nquestion: 'Choose your favorite spots',\r\ntrackingId: '1234',\r\nnextQuestion: '',\r\nisOptional: false,\r\nisTitle: false,\r\nselectedValue : 'test',\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber:'6',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'CONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\noptions: {\r\nrecords: [\r\n {\r\n id: '121',\r\n Name: '121N',\r\n value: '121V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '122',\r\n Name: '122N',\r\n value: '122V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '123',\r\n Name: '123N',\r\n value: '123V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n}\r\n};\r\nexport const GOOGLE_MAP_API_KEY = 'AIzaSyA18odJnD-pDsu7EVJ7WiXVM5sVvpjAQxw';\r\n// Book Question\r\nexport const BOOKQUESTION: Question = {\r\nid: '17',\r\nName: 'QN-00007',\r\ntype: 'Book',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nallowedFileExtensions : '.pdf',\r\ntrackingId: '1234',\r\nquestion: 'Provide your Address',\r\nsubQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nquestionText: 'Provide your Address',\r\nselectedValue : 'test',\r\nnextQuestion: '',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber:'7',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n},\r\nQuestions__r: {\r\nrecords: [\r\n{\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n},\r\n{\r\n id: '171',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n{\r\n id: '172',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n{\r\n id: '173',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n{\r\n id: '174',\r\n Name: 'QN-000074',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n type: 'Text',\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n]\r\n},\r\nRecordType: {\r\nName: 'CONDITIONAL'\r\n},\r\n};","import { Injectable } from '@angular/core';\nimport {Router} from '@angular/router';\n\ndeclare class Visualforce {\n static remoting: { Manager: { invokeAction: any } };\n}\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class SalesforceService {\n public getSFResource = (path: string) => `${window['_VfResources']}${path}`;\n public getRNXTMethodName = () => `${window['_rnxtMethodName']}`;\n\n public remoteAction(methodName: string,\n params: string[],\n resolve,\n reject,\n config?: any) {\n // console.log('inside SalesforceService.remoteAction for ' + methodName);\n const self = this;\n var nsMethodName = this.getRNXTMethodName();\n //console.log('method name in lib = ' + nsMethodName);\n\n Visualforce.remoting.Manager.invokeAction(\n nsMethodName,\n //'NxtController.process',\n //`{!$RemoteAction.NxtController.process}`,\n ...params,\n function (result, event) {\n try {\n result = JSON.parse(result);\n } catch (error) {\n reject(error);\n }\n //console.log('Function called was - ' + methodName);\n //console.log(result);\n //console.log(resolve(result));\n if (result.status) {\n resolve(result);\n } else {\n resolve(result);\n }\n },\n config || { buffer: false, escape: false }\n );\n }\n\n constructor(private _router: Router) {\n\n }\n}\n","import { Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataService {\n // VD 23JAN24 optionally declared httpClient\n constructor(@Optional() private http: HttpClient) { }\n\n public getAPIData(tkn: string, \n params: string[],\n resolve,\n reject,\n config?: any) {\n console.log('inside DataService.getAPIData for ' + tkn);\n const self = this;\n\n // Call the ShengelGo Server\n const headers = new HttpHeaders().set('Authorization', `${tkn}`);\n headers.append('Accept', 'application/json');\n headers.append('Access-Control-Allow-Origin', '*');\n\n // MR 23JAN24 - This should be removed, for now testing with dev-hse-api\n this.http.get('https://dev-hse-api.rangerfusion.com/nxt/api/process/?dataType=' + params[0] + '&operation=' + params[1] + '&param=' + params[2], { headers: headers , observe: 'response' })\n .subscribe(response => {\n if(response.status == 200) {\n resolve(response.body);\n } else {\n reject(response.body);\n }\n }, error => {\n console.log(error.status);\n reject(error);\n });\n }\n\n //calling the node api\n public getAPIFromNode(dataType: string, operation: string, param1: string,param2: string,api:string){\n const apiUrl = api ? api : 'http://localhost:3001/nxt';\n console.log('indside data service..');\n // let params = new HttpParams()\n // .set('dataType', dataType)\n // .set('operation', operation)\n // .set('param1', param1)\n // .set('param2',param2)\n\n let body = {\n \"dataType\" :dataType ,\n \"operation\" :operation ,\n \"param1\" :param1, \n \"param2\" : param2,\n }\n return this.http.post<any>(apiUrl,body );\n\n }\n\n \n// VD 22May24 -funtion to handling multiple child objects\npublic getValue(element:any, column:string){\n const initialEl = element;\n let flds = column.split('.');\n for(let i=0; i<flds.length; i++){\n let splitFlds = flds[i].split('[');\n if(splitFlds.length === 1){\n element = element[flds[i]] || '' as any;\n } else {\n let index = Number(splitFlds[1].split(']')[0]);\n element = element[splitFlds[0]][index] || '' as any;\n }\n }\n return element;\n}\n\n// VD 23JAN24 get callout \n public apiResponse(endpoint: string): Observable<any> {\n return this.http?.get(endpoint);\n }\n\n}\n","import { Injectable, Optional } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SharedService {\n // VD 23JAN24 optionally declared httpClient\n constructor(@Optional() private __http: HttpClient) { }\n // loader changes\n private loadingSubject = new BehaviorSubject<boolean>(false);\n public isLoading$ = this.loadingSubject.asObservable();\n\n processViewFile(fileName: string = '',api:string) {\n if (fileName) {\n this.viewFile(fileName,api).subscribe( (apiResponse: any) => {\n if (apiResponse && apiResponse.sas_url) {\n window.open(apiResponse.sas_url, '_blank');\n }\n }, (apiError) => {\n console.error('ERROR WHILE VIEWING File');\n });\n }\n }\n\n viewFile(fileName: string = '',api:string) {\n const params = { file_name: fileName };\n return this.__http.post(api , params);\n }\n\n docIcon(ext) {\n if (ext === 'pdf') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PDF.png';\n } else if (ext === 'xlsx') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-XLSX.png';\n } else if (ext === 'docx') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-DOCX.png';\n } else if (ext === 'avi') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-AVI.png';\n } else if (ext === 'doc') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-DOC.png';\n } else if (ext === 'gif') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-GIF.png';\n } else if (ext === 'jpg') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-JPG.png';\n } else if (ext === 'mov') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MOV.png';\n } else if (ext === 'mp3') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MP3.png';\n } else if (ext === 'mp4') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MP4.png';\n } else if (ext === 'mpeg') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MPEG.png';\n } else if (ext === 'mpg') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MPG.png';\n } else if (ext === 'png') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PNG.png';\n } else if (ext === 'ppt') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PPT.png';\n } else if (ext === 'txt') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-TXT.png';\n } else if (ext === 'xls') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-XLS.png';\n } else {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_document.svg';\n }\n }\n // VD loader changes\n\n showLoader() {\n this.loadingSubject.next(true);\n }\n\n hideLoader() {\n this.loadingSubject.next(false);\n }\n}\n","// HA 19DEC23 File created for translation\nimport { InjectionToken } from '@angular/core';\n\nexport const i18nConfigService = new InjectionToken<any>('i18nConfig');\n","// HA 19DEC23 File created for translation\nimport { Injectable, Inject, EventEmitter, Output } from '@angular/core';\n// import arI18n from '../../assets/i18n/fr.i18n';\n// import enI18n from '../../assets/i18n/en.i18n';\nimport { i18nConfigService } from './i18n-config.service';\nimport { HttpClient } from '@angular/common/http';\nimport { DOCUMENT } from '@angular/common';\n@Injectable(\n // {providedIn: 'root'}\n)\nexport class I18nService {\n @Output() dropdownChanged = new EventEmitter<string>();\n currentLanguage = '';\n\n constructor(@Inject(i18nConfigService) public langList, @Inject(DOCUMENT) private document: Document) {\n this.initLang();\n }\n\n initLang() {\n if (localStorage.getItem('lang')) {\n this.currentLanguage = localStorage.getItem('lang');\n if(this.currentLanguage === 'rtl'){\n this.languageChange(this.currentLanguage);\n }\n } else {\n localStorage.setItem('lang', 'EN');\n this.currentLanguage = 'ltr';\n }\n }\n\n getString(key) {\n // HA 28DEC23 added ternary to avoid exceptions\n // VD 23JAN24 added ternary to avoid exceptions\n return this.langList[this.langList.map((e, i) => e.lang === this.currentLanguage ? i : null).filter(e => e !== null)[0]]?.file?.default[key];\n }\n\n languageChange(lang) {\n this.currentLanguage = lang;\n let htmlTag = this.document.getElementsByTagName('html')[0] as HTMLHtmlElement;\n htmlTag.dir = this.currentLanguage === 'rtl' ? 'rtl' : 'ltr';\n localStorage.setItem('lang', lang);\n this.dropdownChanged.emit(this.currentLanguage);\n }\n}\n","// Changes commented out due to Angular version compatibility; will apply after upgrade.\n// // RS 06JAN2025\nimport { Component, EventEmitter, Input, OnInit, Output, OnDestroy, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { I18nService } from '../../i18n.service';\nimport { Subscription } from 'rxjs';\nimport { ChangeService } from '../../services/change.service';\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\nimport { QuillEditorComponent, QuillModules } from 'ngx-quill';\nimport { FormsModule } from '@angular/forms'\nimport Quill from 'quill';\nimport { Mention } from 'quill-mention';\nimport ImageResizor from 'quill-image-resizor'\nimport { CommonModule } from '@angular/common';\n\n// RS 17JAN2025\n// An array fontFamilyArr is created containing a list of font family names as strings.\nconst fontFamilyArr = [\"Roboto\", \"Roboto Condensed\", \"Arial\", \"Verdana\", \"Tahoma\", \"Trebuchet MS\",\n \"Georgia\", \"Times New Roman\", \"Courier New\", \"Palatino Linotype\",\n \"Segoe UI\", \"Calibri\", \"Calibri Light\", \"Sans-Serif\", \"Helvetica\",\n \"Impact\", \"Garamond\", \"Comic Sans MS\", \"Lucida Console\", \"Franklin Gothic Medium\"];\n\n// Register Quill modules\nQuill.register('modules/mention', Mention);\nImageResizor.Quill = Quill\nQuill.register('modules/imageResizor', ImageResizor)\n\n// RS 17JAN2025\n//The Quill font style attributor is imported and it is registered with Quil\nlet fonts: any = Quill.import(\"attributors/style/font\");\nfonts.whitelist = fontFamilyArr;\nQuill.register(fonts, true);\n\nexport const QuillConfiguration: QuillModules = {\n imageResizor: {},\n toolbar: {\n container: [\n [{ 'font': fontFamilyArr }], //RS 17JAN2025 Added font family dropdown\n ['bold', 'italic', 'underline', 'strike'],\n ['blockquote', 'code-block'],\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ color: [] }, { background: [] }],\n [{ align: [] }],\n ['link', 'image', 'video'],\n ['formula'],\n ['clean'],\n ],\n },\n mention: {\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\n mentionDenotationChars: ['@', '#'],\n source: function (searchTerm: string, renderList: any) {\n const values = [\n { id: 1, value: 'User 1' },\n { id: 2, value: 'User 2' },\n ];\n\n if (searchTerm.length === 0) {\n renderList(values, searchTerm);\n } else {\n const matches = values.filter((item) =>\n item.value.toLowerCase().includes(searchTerm.toLowerCase())\n );\n renderList(matches, searchTerm);\n }\n },\n },\n};\n\n// resize: {\n// displaySize: true,\n// modules: ['Resize', 'DisplaySize', 'Toolbar'],\n// toolbarStyles: {\n// backgroundColor: 'black',\n// border: 'none',\n// color: 'white'\n// },\n// handleStyles: {\n// backgroundColor: 'black',\n// border: 'none',\n// color: 'white'\n// }\n// },\n@Component({\n imports: [QuillEditorComponent, FormsModule ,CommonModule],\n selector: 'app-custom-rich-text',\n standalone: true,\n templateUrl: './custom-rich-text.component.html',\n styleUrls: ['./custom-rich-text.component.css']\n})\n\nexport class CustomRichTextComponent implements OnInit, OnDestroy {\n @Input() value: any | any[] = '';\n @Input() placeholder: string;\n @Input() error: any;\n @Input() question: any;\n @Input() rows:Number; //The number of visible text lines for the control\n @Input() readOnly = false;\n @Output() textValueChange: EventEmitter<string> = new EventEmitter<string>();\n @Input() minLength?: number;\n @Input() maxLength?: number;\n // @Input() value: any = ''; // Set default value\n\n quillConfiguration: QuillModules = QuillConfiguration;\n subscription: Subscription;\n\n constructor(\n public i18nService: I18nService,\n private changeService: ChangeService\n ) { }\n\n ngOnInit(): void {\n console.log('Rich Text Init:', {\n value: this.value,\n question: this.question\n });\n if (this.value === undefined || this.value === null) {\n this.value = '';\n this.textValueChange.emit('');\n\n }\n this.initializeDependency();\n }\n\n // Separated dependency initialization for better organization\n private initializeDependency(): void {\n if (this.question?.subText) {\n console.log('subText:', this.question.subText);\n try {\n const dependencyObj: DependencyMeta = JSON.parse(this.question.subText);\n if (dependencyObj?.sourceQuestionId) {\n this.subscription = this.changeService.changeAnnounced$.subscribe(\n (changeValue) => {\n console.log('Change Value:', changeValue);\n if (changeValue && changeValue.valueObj &&\n changeValue.fromQuestionId === dependencyObj.sourceQuestionId) {\n this.value = changeValue.valueObj[dependencyObj.valueField];\n this.textValueChange.emit(this.value);\n }\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\n }\n );\n }\n } catch (error) {\n console.error('Error parsing subText:', error);\n }\n }\n}\n\n\n// onEditorChange(event: any): void {\n// if (event && event.html !== undefined) {\n// this.textValueChange.emit(event.html);\n// } else {\n// this.textValueChange.emit('');\n// }\n// }\n// onEditorChange(event: any): void {\n// console.log('Typing detected...', event.html);\n\n// if (this.typingTimer) {\n// clearTimeout(this.typingTimer); // Clear previous timer\n// }\n// this.typingTimer = setTimeout(() => {\n// console.log('Debounced event fired:', event.html);\n\n// const newValue = event?.html ? event.html : ''; // Ensure empty values are handled\n// this.textValueChange.emit(newValue);\n// }, this.doneTypingInterval);\n// }\n\n// RS 28JAN2015\nonEditorFocusOut(): void {\n const currentValue = this.value || '';\n this.textValueChange.emit(currentValue);\n console.log('Rich Text Editor Focus Out - Emitting Value:', currentValue);\n}\n\n // Added ngOnDestroy to prevent memory leaks\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n\n","<!-- RS 06JAN25 -->\n<div class=\"rich-text-container\">\n <quill-editor\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n [modules]=\"quillConfiguration\"\n [readOnly]=\"readOnly\"\n (focusout)=\"onEditorFocusOut()\"\n [class.error]=\"error\">\n </quill-editor>\n <div *ngIf=\"error\" class=\"error-message\">\n {{ error }}\n </div>\n</div>","export class ChangeWrapper {\n fromQuestionId: string;\n fromQuestionName: string;\n toQuestionId: string;\n toQuestionName: string;\n valueObj: any;\n selectedObj: string; // HA 19JAN24 As we need dropdown as object also, to store we are using\n referenceField:string;\n field:string; // VD 20Aug24 getting the field name\n}\n","// HA 19DEC23 File created for translation\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { I18nService } from './i18n.service';\n\n@Pipe({\n name: 'i18n'\n})\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n transform(value: any, ...args: any[]): any {\n if (value) {\n return this.i18nService.getString(value);\n }\n return value;\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input,ChangeDetectorRef, NgModule, NgZone, OnInit, Output, SimpleChanges, ViewChild, OnChanges } from '@angular/core';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\n // VD 21DEC23 - dependent field change\nimport { ChangeWrapper } from '../../model/changeWrapper';\nimport { Question } from '../../wrapper';\ndeclare var $: any;\n\n@Component({\n selector: 'app-pick-location',\n templateUrl: './pick-location.component.html',\n styleUrls: ['./pick-location.component.css']\n})\nexport class PickLocationComponent implements OnInit ,OnChanges {\n latitude = null;\n longitude = null;\n zoom: number = 10;\n private geoCoder;\n // public formGroup: FormGroup;\n @ViewChild('search', { static: true })\n public searchElementRef: ElementRef<HTMLInputElement>;\n showModal: boolean = false;\n @Input() address:string;\n // VD 21DEC23 - dependent field change\n @Input() question: Question\n @Output() locationSelected: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\n navigatorGeolocation: any;\n markerPosition: { lat: any; lng: any; };\n center: { lat: any; lng: any; };\n markerOptions:any;\n @Input() apiKey: any; // HA10012024 declared Api key to src\n\n constructor(\n // private mapsAPILoader: MapsAPILoader,\n public i18nService: I18nService,\n private ngZone: NgZone,\n private cdr: ChangeDetectorRef\n ) {\n // HA09012024 is to avoid google is undefined error and calling the below created function\n }\n\n ngOnInit(): void {\n // HA-11-01-2024 Changed the map Call from constructor to ngOnInit as it was giving undefined values in the outsourced\n if(this.apiKey){\n this.loadGoogleMapsScript().then(() => {\n this.geoCoder = new google.maps.Geocoder();\n this.markerOptions = new google.maps.Marker ({\n draggable: true,\n animation: google.maps.Animation.DROP\n });\n this.initAutocomplete();\n this.onMarkerDragEnd();\n });\n }\n }\n// RS 23JAN2025\n ngOnChanges(changes: SimpleChanges) {\n if (changes['address'] && changes['address'].currentValue !== changes['address'].previousValue) {\n // Ensure latitude & longitude update when the address changes\n if (this.address) {\n this.geoCoder.geocode({ address: this.address }, (results, status) => {\n if (status === 'OK' && results[0]?.geometry?.location) {\n this.latitude = results[0].geometry.location.lat();\n this.longitude = results[0].geometry.location.lng();\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\n this.center = { lat: this.latitude, lng: this.longitude };\n this.zoom = 18;\n this.cdr.detectChanges(); // Force Angular to update the UI\n\n }\n });\n } else {\n // Reset if no address is provided\n this.latitude = null;\n this.longitude = null;\n this.markerPosition = null;\n this.center = null;\n this.cdr.detectChanges(); // FORCE UI UPDATE\n\n }\n }\n }\n\n\n\n\n\n // HA09012024 is to avoid google is undefined error\n private loadGoogleMapsScript(): Promise<void> {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n // HA10012024 Assigned Api key to src\n script.src = `https://maps.googleapis.com/maps/api/js?key=${this.apiKey}&libraries=geometry,places`;\n script.async = true;\n script.defer = true;\n document.body.appendChild(script);\n\n return new Promise<void>((resolve, reject) => {\n script.onload = () => {\n resolve();\n };\n script.onerror = (error: any) => {\n reject(error);\n };\n });\n }\n\n initAutocomplete(): void {\n if (this.geoCoder) {\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef?.nativeElement, {\n types: []\n });\n autocomplete.addListener('place_changed', () => {\n this.ngZone.run(() => {\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\n\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n this.latitude = place.geometry.location.lat();\n this.longitude = place.geometry.location.lng();\n this.zoom = 18;\n this.address = place.formatted_address;\n // VD 21DEC23 - dependent field change\n let change = new ChangeWrapper();\n // RS 09DEC24 Changed keys\n change.fromQuestionId = this.question.id;\n let addObj = {};\n addObj['address'] = this.address;\n addObj['latitude'] = this.latitude;\n addObj['longitude'] = this.longitude;\n change.valueObj = addObj;\n this.locationSelected.emit(change);\n });\n });\n }\n }\n\n onMarkerDragEnd(): void {\n google.maps.event.addListener(this.markerOptions, 'dragend', (event) => {\n console.log('dragable working',event);\n this.latitude = event.latLng.lat();\n this.longitude = event.latLng.lng();\n this.getAddress(this.latitude, this.longitude);\n });\n }\n\n onMapClick(event: google.maps.MapMouseEvent): void {\n console.log('onMapClick',event);\n this.latitude = event.latLng.lat();\n this.longitude = event.latLng.lng();\n this.getAddress(this.latitude, this.longitude);\n }\n\n\n private setCurrentLocation() {\n if ('geolocation' in navigator) {\n navigator.geolocation.getCurrentPosition((position) => {\n this.latitude = position.coords.latitude;\n this.longitude = position.coords.longitude;\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\n this.center = { lat: this.latitude, lng: this.longitude };\n this.zoom = 8;\n this.getAddress(this.latitude, this.longitude);\n });\n }\n }\n\n\n getAddress(latitude: number, longitude: number) {\n if (this.geoCoder) {\n this.geoCoder.geocode({ location: { lat: latitude, lng: longitude } }, (results, status) => {\n console.log('results',results);\n console.log('status',status);\n if (status === 'OK') {\n if (results[0]) {\n // this.zoom = 18;\n this.address = results[0].formatted_address;\n // VD 21DEC23 - dependent field change\n let change = new ChangeWrapper();\n // RS 09DEC24 Changed keys\n change.fromQuestionId = this.question.id;\n let addObj1 = {};\n addObj1['address'] = this.address;\n addObj1['latitude'] = latitude;\n addObj1['longitude'] = longitude;\n change.valueObj = addObj1;\n this.locationSelected.emit(change);\n } else {\n console.log('No results found');\n }\n } else {\n console.log('Geocoder failed due to: ' + status);\n }\n });\n }\n }\n\n openMap() {\n this.showModal = true;\n if(!this.address){\n this.latitude = this.longitude = null;\n }\n if (!(this.latitude && this.longitude)) {\n this.setCurrentLocation();\n }else{\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\n this.center = { lat: this.latitude, lng: this.longitude };\n this.zoom = 8;\n }\n }\n\n closeModal() {\n this.showModal = false;\n }\n\n\n}\n\n","<div>\n <!-- <label class=\"she-label\">Location</label> -->\n <!-- HA 19DEC23 For translation -->\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"{{ 'enterLocation' | i18n:i18nService.currentLanguage }}\"\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"{{ 'searchNearestLocation' | i18n:i18nService.currentLanguage }}\" autocorrect=\"off\"\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\n >\n <a (click)=\"openMap()\"\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\n <!-- HA 19DEC23 For translation -->\n </i> {{ 'pickLocation' | i18n:i18nService.currentLanguage }}</a>\n</div>\n\n<div class=\"map-overlay\" *ngIf=\"showModal\">\n <div class=\"map-modal\">\n <div class=\"map-modal-content\">\n <div class=\"map-modal-header\">\n <!-- HA 19DEC23 For translation -->\n <h4>{{ 'pickYourLocation' | i18n:i18nService.currentLanguage }}</h4>\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\n </div>\n <!-- Modal content goes here -->\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\n [fullscreenControl]=\"true\">\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\n </agm-map> -->\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\n </google-map>\n </div>\n </div>\n</div>\n\n\n\n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { ChangeService } from '../../services/change.service';\nimport { ChangeWrapper } from '../../model/changeWrapper';\nimport { Question } from '../../wrapper';\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\nimport { DataService } from '../../services/data.service';\n\n@Component({\n selector: 'app-custom-input',\n templateUrl: './custom-input.component.html',\n styleUrls: ['./custom-input.component.css']\n})\n\nexport class CustomInputComponent implements OnInit {\n @Input() value: any | any[]; // input value\n @Input() question: Question\n @Input() disabled: boolean = false; // input disabled or not\n @Input() placeholder:string;\n @Input() error:any;\n @Input() fromShengel: boolean = false;\n @Input() readOnly :boolean = false; // VD 12Jun24 - readonly change\n\n @Input() ngClassValue:any;\n @Input() idValue:any;\n @Input() focusEvent: any;\n @Output() inputValue = new EventEmitter<any>(); \n\n subscription: Subscription;\n\n constructor(private changeService: ChangeService, public i18nService: I18nService, private dataService: DataService) { \n }\n\n // RS 09DEC24 Changed keys\n ngOnInit(): void {\n // Since the idValue holds the Parent Question\n if(this.question.subText != undefined) {\n this.disabled = true;\n let dependencyObj: DependencyMeta = JSON.parse(this.question.subText);\n if(dependencyObj.disabled && dependencyObj.disabled == \"false\"){\n this.disabled = false;\n }else{\n this.disabled = true;\n }\n // Subscribe for the changes\n this.subscription = this.changeService.changeAnnounced$.subscribe(\n (changeValue) => {\n if(changeValue != undefined) {\n // console.log('inside subscription for the change');\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\n // VD 20Aug24 handling the multiple object\n this.value = this.dataService.getValue(changeValue.valueObj,dependencyObj.valueField);\n this.inputValue.emit(this.value);\n }\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\n }\n }\n );\n }\n }\n\n ngOnChange(): void {\n }\n\n ngOnDestroy() {\n // prevent memory leak when component destroyed\n this.subscription?.unsubscribe();\n }\n \n onInputChange(input:any){\n this.inputValue.emit(input.target.value);\n }\n}\n"," <!-- HA 19DEC23 Included Style value from Salesforce -->\n <!-- HA 18-JAN-24 Added these classes for style, HA 31-JAN-24 Added ternary for style -->\n <!-- HA 02FEB24 question input will hold the value to display -->\n <!-- // VD 12Jun24 - readonly change-->\n <!-- RS 09DEC24 Changed keys--> \n <input *ngIf=\"!fromShengel\" type=\"text\" \n [(ngModel)]=\"question.input\" \n [ngClass]=\"ngClassValue\"\n class=\"she-line-input form-control\"\n [id]=\"idValue\"\n (focus)=\"focusEvent\"\n [readOnly]=\"readOnly\"\n [style.border-color]=\"error ? 'red !important' : ''\"\n [style]=\"question?.style?.inputStyle\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n (input)=\"onInputChange($event)\" />\n\n<input *ngIf=\"fromShengel\" \n [(ngModel)]=\"question.input\"\n type=\"text\" \n [readOnly]=\"readOnly\"\n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder ? placeholder : '' \"\n [disabled]=\"disabled\"\n [style]=\"question?.style?.inputStyle\"\n (input)=\"onInputChange($event)\" />\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{question?.errorMessage}}*</span>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\nimport { Subscription } from 'rxjs';\nimport { ChangeService } from '../../services/change.service';\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\n\n@Component({\n selector: 'app-custom-text-area',\n templateUrl: './custom-text-area.component.html',\n styleUrls: ['./custom-text-area.component.css']\n})\nexport class CustomTextAreaComponent implements OnInit {\n @Input() value: any | any[]; // input value\n @Input() placeholder:string;\n @Input() rows:Number; //The number of visible text lines for the control\n @Input() error:any;\n @Input() question:any;\n @Input() readOnly = false; // VD 12Jun24 - readonly change\n @Output() textareaValueChange: EventEmitter<string> = new EventEmitter<string>(); \n subscription: Subscription;\n\n constructor(public i18nService: I18nService,private changeService: ChangeService) { }\n // RS 09DEC24 Changed keys\n ngOnInit(): void {\n // 10MAY24 - VD Dependent update\n if(this.question.subText){\n let dependencyObj: DependencyMeta = JSON.parse(this.question.subText);\n if(dependencyObj.sourceQuestionId){\n // Subscribe for the changes\n this.subscription = this.changeService.changeAnnounced$.subscribe(\n (changeValue) => {\n if(changeValue != undefined) {\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\n this.value = changeValue.valueObj[dependencyObj.valueField];\n this.textareaValueChange.emit(this.value);\n }\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\n }\n }\n );\n }\n }\n \n }\n\n onTextareaChange(event:any): void {\n this.textareaValueChange.emit(event.target.value);\n }\n\n}\n","<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<!-- RS 09DEC24 Changed keys--> \n<textarea \n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)] =\"value\" \n [rows]=\"rows\" \n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly\"\n (input)=\"onTextareaChange($event)\"\n></textarea>\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{ question?.errorMessage }}</span>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'getValue',\n standalone: true\n})\nexport class GetValuePipe implements PipeTransform {\n\n transform(arg:any, element: any, column: any): any {\n const initialEl = element;\n let flds = column.split('.');\n for(let i=0; i<flds.length; i++){\n let splitFlds = flds[i].split('[');\n if(splitFlds.length === 1){\n if(typeof element[flds[i]] === \"number\"){\n element = element[flds[i]] || 0 as any;\n // VD 23Aug24 handle boolean Type\n }else if(typeof element[flds[i]] === \"boolean\"){\n console.log('inside boolean1');\n element = element[flds[i]];\n } else {\n element = element[flds[i]] || \"\" as any;\n }\n \n } else {\n let index = Number(splitFlds[1].split(']')[0]);\n if(typeof element[flds[i]] === \"number\"){\n element = element[splitFlds[0]][index] || 0 as any;\n // VD 23Aug24 handle boolean Type\n }else if(typeof element[flds[i]] === \"boolean\"){\n console.log('inside boolean');\n element = element[splitFlds[0]][index];\n }else {\n element = element[splitFlds[0]][index] || '' as any;\n }\n }\n }\n // Object.assign(initialEl, { [column]: element });\n return element; \n }\n\n\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\nimport { TableWrapper } from '../../model/tableWrapper';\nimport { SalesforceService } from '../../services/salesforce.service';\nimport { Question } from '../../wrapper';\nimport { DataService } from '../../services/data.service';\nimport { APIMeta } from '../../interfaces/apimeta';\nimport { Observable, Subscription } from 'rxjs';\nimport { ChangeService } from '../../services/change.service';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-custom-table',\n templateUrl: './custom-table.component.html',\n styleUrls: ['./custom-table.component.css']\n})\n\nexport class CustomTableComponent implements OnInit, OnDestroy {\n @Input() question: Question\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() saveTableData: EventEmitter<any> = new EventEmitter<any>();\n tableInfo: TableWrapper;\n tableHeader = [];\n tableData = [];\n filteredData = []; // New property for filtered data\n//RS 03FEB2025\n// Default UI configurations to control row addition, pagination, actions column visibility, search functionality, and the number of items per page.\nshowAddRow: boolean = true;\nshowPagination: boolean = true;\nshowActions: boolean = true;\nshowSearch: boolean = true;\nitemsPerPage: number = 5;\n addRowColSpan: number;\n tableSize: number; // HA 28DEC23 table size declaration\n objName: any;\n filterLogic: any;\n fieldMeta: string;\n firStr: string;\n searchBox: boolean = false;\n @Input() apiMeta: string;\n public options: string[];\n isDisabled: boolean = true;\n subscription: Subscription;\n\n public labelField: string;\n\n //RS 03FEB2025\n // New properties for search and pagination\n searchTerm: string = '';\n currentPage: number = 1;\n totalItems: number = 0;\n pages: number[] = [];\n Math = Math;\n constructor(private changeService: ChangeService,public i18nService: I18nService, private sfService: SalesforceService, private dataService: DataService) { }\n // RS 09DEC24 Changed keys\n // Add new properties for save functionality\n hasUnsavedChanges: boolean = false;\n savedData: any[] = [];\n ngOnInit(): void {\n\n // this.tableData = [];\n// Clear any existing data first\nthis.resetComponentState();\nsetTimeout(() => console.log('After reset:', this.tableData), 2000);\ntry {\n const parsedMeta = JSON.parse(this.question['fieldsMeta']);\n if (!parsedMeta || !Array.isArray(parsedMeta) || parsedMeta.length === 0) {\n console.warn('No valid metadata provided');\n return;\n }\n\n //RS 03FEB2025\n // Extracts table configuration settings dynamically from metadata and applies them, ensuring flexibility in UI customization\n if (parsedMeta[0]?.tableConfig) {\n const config = parsedMeta[0].tableConfig;\n this.showAddRow = config.showAddRow !== false;\n this.showPagination = config.showPagination !== false;\n this.showActions = config.showActions !== false;\n this.showSearch = config.showSearch !== false;\n this.itemsPerPage = config.itemsPerPage || 5;\n \n // Remove the config object from headers\n this.tableHeader = parsedMeta.slice(1);\n } else {\n // If no config object found, use all objects as headers\n this.tableHeader = parsedMeta;\n }\n\n // this.tableHeader = JSON.parse(this.question['fieldsMeta']);\n this.tableSize = 10/this.tableHeader.length;\n// 12JUN24 - default table value\n if(this.question?.input){\n this.tableData = this.question?.input;\n this.filteredData = [...this.tableData];\n this.updatePagination();\n }\n if(this.apiMeta !== undefined) {\n this.options = [];\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\n this.labelField = apiObj.field;\n if(apiObj.endpoint){\n this.dataService.apiResponse(apiObj.endpoint)?.subscribe((apiResponse) => {\n let responses;\n if(apiObj.variable){\n // VD 22May24 - handling multiple child objects\n responses = this.dataService.getValue(apiResponse,apiObj.variable);\n let results = [];\n // HA 19JAN24 To avoid undefined error in console\n for (let i = 0; i < responses?.length; i++) {\n var resp = responses[i];\n results.push(resp);\n }\n this.options = results;\n }else{ // VD 19JAN24 - if response has value(which is array) only\n responses = apiResponse;\n this.options = responses;\n }\n this.options = this.options.map((obj: any) => ({ ...obj, edit: false }));\n // Reference https://www.npmjs.com/package/@ng-select/ng-select\n this.tableData = this.options;\n console.log('tableData', this.tableData);\n \n });\n }\n \n // VD NOV23 - handle the dependent update for dropdown\n let sourceId = apiObj.sourceQuestionId;\n let field = apiObj.field; // VD 13MAY24 - dynamic field changes\n if(sourceId){\n // // VD 10May24 Subscribe for the changes\n this.subscription = this.changeService.changeAnnounced$.subscribe(\n (changeValue) => {\n if(changeValue != undefined) {\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == apiObj.sourceQuestionId) {\n console.log('changes happen');\n this.options = this.options.map((obj: any) => ({ ...obj, edit: false }));\n let item = changeValue.valueObj;\n let validItem = true;\n // VD 13MAY24 - bind dynamic field\n if(this.tableData.length > 0){\n this.tableData.forEach(element => {\n // VD 26Jun24 - to handle multiple objects\n const objElementValue = this.dataService.getValue(element,field);\n const objItemValue = this.dataService.getValue(item,field)\n if(objElementValue == objItemValue){\n validItem = false;\n }\n });\n }\n // if(validItem){\n // if(this.tableData.length > 0){\n // this.tableData = [...this.tableData,item];\n // this.emitTableDataValue(this.tableData);\n // }else {\n // this.tableData.push(item);\n // this.emitTableDataValue(this.tableData);\n // }\n // }\n //RS 14FEB2025\n //Update Pagination before emit\n if (validItem) {\n if (this.tableData.length > 0) {\n this.tableData = [...this.tableData, item];\n } else {\n this.tableData.push(item);\n }\n // Update filteredData and pagination\n this.filteredData = [...this.tableData];\n this.updatePagination();\n this.emitTableDataValue(this.tableData);\n }\n }\n this.changeService.confirmChange(apiObj.sourceQuestionId);\n }\n }\n );\n }\n }\n this.updatePagination();\n //RS 03FEB2025\n //Handles errors during metadata parsing by setting default values to ensure the table functions properly\n } catch (error) {\n console.error('Error parsing fieldsMeta:', error);\n this.showAddRow = true;\n this.showPagination = true;\n this.showActions = true;\n this.showSearch = true;\n this.itemsPerPage = 5;\n }\n //RS 03FEB2025\n // Initialize saved data\n if (this.question?.input) {\n this.savedData = JSON.parse(JSON.stringify(this.question.input));\n }\n console.log('tableData', this.tableData);\n console.log('tableHeader', this.tableHeader);\n console.log('tableInfo', this.tableInfo);\n }\n //RS 03FEB2025\n // → Filters table data based on user input and updates pagination accordingly.\n search(): void {\n if (!this.searchTerm.trim()) {\n this.filteredData = [...this.tableData];\n } else {\n const searchTermLower = this.searchTerm.toLowerCase();\n this.filteredData = this.tableData.filter(item => {\n return this.tableHeader.some(header => {\n const value = this.dataService.getValue(item, header.apiName);\n return value && value.toString().toLowerCase().includes(searchTermLower);\n });\n });\n }\n this.currentPage = 1;\n this.updatePagination();\n }\n//RS 03FEB2025\n// Calculates total pages, updates the page list, and ensures the current page is within valid bounds.\n updatePagination(): void {\n this.totalItems = this.filteredData.length;\n const totalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n this.pages = Array.from({length: totalPages}, (_, i) => i + 1);\n if (this.currentPage > totalPages) {\n this.currentPage = totalPages || 1;\n }\n }\n//RS 03FEB2025\n//Returns a paginated subset of filteredData based on the current page and items per page\n get paginatedData(): any[] {\n const startIndex = (this.currentPage - 1) * this.itemsPerPage;\n return this.filteredData.slice(startIndex, startIndex + this.itemsPerPage);\n }\n//RS 03FEB2025\n//Updates currentPage when the user selects a different page\n setPage(page: number): void {\n if (page >= 1 && page <= this.pages.length) {\n this.currentPage = page;\n }\n }\n//RS 03FEB2025\n//Resets table data, filters, pagination, UI settings, and unsubscribes from any subscriptions.\n private resetComponentState(): void {\n this.tableData = [];\n this.filteredData = [];\n this.tableHeader = [];\n this.options = [];\n this.searchTerm = '';\n this.currentPage = 1;\n this.showAddRow = true;\n this.showPagination = true;\n this.showActions = true;\n this.showSearch = true;\n this.itemsPerPage = 5;\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n addRow(): void {\n let newItem = {};\n this.tableHeader.forEach(item => {\n if(item.apiName){\n newItem[item.apiName]= \"\";\n }\n });\n // const updatedTableData = [...this.tableData, newItem];\n // this.tableData = updatedTableData;\n // this.emitTableDataValue(updatedTableData);\n this.tableData.push(newItem);\n this.filteredData = [...this.tableData];\n this.updatePagination();\n this.hasUnsavedChanges = true;\n\n this.emitTableDataValue(this.tableData);\n }\n\n updateRadio(item: any, value: string): void {\n item.value = value;\n this.emitTableDataValue(this.tableData);\n }\n // VD 23Aug24 handle Type\n // updateLabel(rowIndex: number, label: string, value: any): void {\n // this.tableData[rowIndex][label] = value;\n // this.emitTableDataValue(this.tableData);\n // }\n // Modified update methods to track changes\n updateLabel(rowIndex: number, label: string, value: any): void {\n this.tableData[rowIndex][label] = value;\n this.hasUnsavedChanges = true;\n this.emitTableDataValue(this.tableData);\n }\n //RS 03FEB2025\n deleteRow(rowIndex: number){\n // this.tableData.splice(rowIndex, 1);\n const actualIndex = (this.currentPage - 1) * this.itemsPerPage + rowIndex;\n this.tableData.splice(actualIndex, 1);\n this.filteredData = [...this.tableData];\n this.updatePagination();\n this.hasUnsavedChanges = true;\n\n this.emitTableDataValue(this.tableData);\n }\n //RS 03FEB2025\n // Saves the current table data state, resets the hasUnsavedChanges flag, and emits the updated data.\n saveTable(): void {\n this.savedData = JSON.parse(JSON.stringify(this.tableData));\n this.hasUnsavedChanges = false;\n this.saveTableData.emit(this.tableData);\n }\n //RS 03FEB2025\n // Restores the last saved state of the table and resets the pagination and UI state\n revertChanges(): void {\n this.tableData = JSON.parse(JSON.stringify(this.savedData));\n this.filteredData = [...this.tableData];\n this.hasUnsavedChanges = false;\n this.updatePagination();\n this.emitTableDataValue(this.tableData);\n }\n editRow(rowIndex: number){\n var a = 0;\n this.tableData.forEach(element => {\n if(a === rowIndex){\n element.edit = true;\n }\n a++;\n });\n }\n\n updateNumber(item: any, label: string, value: string){\n item.value[label] = value;\n this.emitTableDataValue(this.tableData);\n }\n\n\n emitTableDataValue(updatedTableData: any[]): void {\n this.valueChange.emit(updatedTableData);\n }\n//RS 03FEB2025\n// Cleans up resources and resets the component state when the component is destroyed to prevent memory leaks\nngOnDestroy() {\n this.resetComponentState();\n console.log('Component Destroyed');\n\n}\n}","<!-- RS 03FEB2025 -->\n<!-- Search Bar -->\n<!-- Search, Revert & Save in Same Line -->\n<div class=\"d-flex align-items-center justify-content-between mb-3\">\n <!-- Search Bar -->\n <div class=\"search-container me-auto\">\n <div class=\"input-group\">\n <input \n type=\"text\" \n class=\"form-control search-input\"\n [(ngModel)]=\"searchTerm\"\n (input)=\"search()\"\n placeholder=\"Search...\"\n >\n <div class=\"search-icon\">\n <!-- RS 03FEB2025 -->\n <!-- Search icon for user input -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\"></circle>\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line>\n </svg>\n </div>\n </div>\n </div>\n\n <!-- Buttons -->\n <div>\n <!-- RS 03FEB2025 --><!-- Cancel button (visible only when changes are unsaved) -->\n <button \n class=\"btn btn-secondary me-2\" \n *ngIf=\"hasUnsavedChanges\" \n (click)=\"revertChanges()\"\n >\n Cancel\n </button>\n <!-- Save button (disabled if no unsaved changes) --><!-- RS 03FEB2025 -->\n <button \n class=\"btn btn-primary\" \n [disabled]=\"!hasUnsavedChanges\"\n (click)=\"saveTable()\"\n >\n Save Table\n </button>\n </div>\n</div>\n<!-- Table Container -->\n<div class=\"table-container\">\n <table class=\"table table-striped table-bordered\">\n <thead>\n <!-- HA 28DEC23 changed table header values and changed table size logic to evenly visible -->\n <!-- <th><input type=\"checkbox\" (change)=\"selectAll($event.target.checked)\"></th> -->\n <tr>\n <th *ngFor=\"let header of tableHeader\" [style.width]=\"header.width || 'auto'\">\n {{ header.label }}\n </th>\n <!-- Actions column (only if showActions is true) --><!-- RS 03FEB2025 -->\n <th *ngIf=\"showActions\" style=\"width: 140px\" class=\"actions-columns\">Actions</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of paginatedData; let i = index\">\n <td *ngFor=\"let header of tableHeader\">\n <!-- Image with text input -->\n <ng-container *ngIf=\"header.fldType === 'imagetext'\">\n <div class=\"d-flex align-items-center\">\n <img [src]=\"item.imageSrc\" [alt]=\"item.altText\" style=\"width: 35px; height: 32px; margin-right: 5px;\">\n <input type=\"text\" \n [(ngModel)]=\"item[header.fieldName]\" \n (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" \n class=\"she-line-input table-input\">\n </div>\n </ng-container>\n\n <!-- Image only -->\n <ng-container *ngIf=\"header.fldType === 'image'\">\n <img [src]=\"item[header.fieldName]\" [alt]=\"item.altText\" style=\"width: 35px; height: 32px;\">\n </ng-container>\n <!--VD 23Aug24 handle readOnly -->\n <!-- Text input -->\n <ng-container *ngIf=\"header.fldType === 'Text'\">\n <input type=\"text\" \n [readonly]=\"header.readOnly\" \n [disabled]=\"!item.edit\" \n [ngClass]=\"{'editInput': item.edit && !header.readOnly}\"\n [ngModel]=\"'' | getValue: item : header.apiName\" \n (ngModelChange)=\"updateLabel(i, header.apiName,$event)\" \n class=\"she-line-input table-input\">\n </ng-container>\n <!--VD 23Aug24 handle Number Type -->\n <!-- Number input -->\n <!-- VD 26Jun24 - pipe change to handle multiple objects-->\n <ng-container *ngIf=\"header.fldType === 'Number'\">\n <input type=\"number\" \n [readonly]=\"header.readOnly\" \n [disabled]=\"!item.edit\" \n [ngClass]=\"{'editInput': item.edit && !header.readOnly}\"\n [ngModel]=\"'' | getValue: item : header.apiName\" \n (ngModelChange)=\"updateLabel(i, header.apiName,$event)\" \n class=\"she-line-input table-input\">\n </ng-container>\n\n <!-- Radio input -->\n <ng-container *ngIf=\"header.fldType === 'radio'\">\n <input type=\"radio\" \n [name]=\"item.name\" \n [checked]=\"item.value == header.fieldName\" \n (click)=\"updateRadio(item, header.fieldName)\">\n </ng-container>\n </td>\n <!-- Actions column --><!-- RS 03FEB2025 -->\n <td *ngIf=\"showActions\" class=\"actions-column\">\n <div class=\"d-flex justify-content-around\">\n <button class=\"btn btn-link p-0\" (click)=\"editRow(i)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#03A9F4\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M12 20h9\" />\n <path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4Z\" />\n <path d=\"m15 5 3 3\" />\n </svg>\n Edit\n </button>\n <button class=\"btn btn-link p-0\" (click)=\"deleteRow(i)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#F44336\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M3 6h18\" />\n <path d=\"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\" />\n <path d=\"m10 11 1 6\" />\n <path d=\"m14 11-1 6\" />\n <path d=\"M4 6l1 14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2l1-14\" />\n </svg>\n \n Delete\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<!-- Pagination --><!-- RS 03FEB2025 -->\n<div *ngIf=\"showPagination\" class=\"pagination-container\">\n <div class=\"d-flex justify-content-end align-items-center\">\n <div class=\"items-per-page\">\n <span>Items per page:</span>\n <select [(ngModel)]=\"itemsPerPage\" (change)=\"updatePagination()\" class=\"form-select form-select-sm\">\n <option value=\"5\">5</option>\n <option value=\"10\">10</option>\n <option value=\"20\">20</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <div class=\"page-info ms-3 me-3\">\n {{((currentPage - 1) * itemsPerPage + 1)}} - {{Math.min(currentPage * itemsPerPage, totalItems)}} of {{totalItems}}\n </div>\n <nav aria-label=\"Table pagination\">\n <!-- First page --><!-- RS 03FEB2025 -->\n <ul class=\"pagination mb-0\">\n <li class=\"page-item\" [class.disabled]=\"currentPage === 1\">\n <a class=\"page-link\" (click)=\"setPage(1)\">«</a>\n </li>\n <li class=\"page-item\" [class.disabled]=\"currentPage === 1\">\n <a class=\"page-link\" (click)=\"setPage(currentPage - 1)\">‹</a>\n </li>\n <!-- Dynamic pagination --><!-- RS 03FEB2025 -->\n <li class=\"page-item\" *ngFor=\"let page of pages\" [class.active]=\"page === currentPage\">\n <a class=\"page-link\" (click)=\"setPage(page)\">{{page}}</a>\n </li>\n <li class=\"page-item\" [class.disabled]=\"currentPage === pages.length\">\n <a class=\"page-link\" (click)=\"setPage(currentPage + 1)\">›</a>\n </li>\n <!-- Last page -->\n <li class=\"page-item\" [class.disabled]=\"currentPage === pages.length\">\n <a class=\"page-link\" (click)=\"setPage(pages.length)\">»</a>\n </li>\n </ul>\n </nav>\n </div>\n</div>\n<!-- RS 03FEB2025 -->\n<!-- Add Row Button -->\n<div *ngIf=\"showAddRow\" (click)=\"addRow()\" class=\"addRowClass\">\n <div class=\"circle-button\">+</div>\n</div>\n","import { Component, OnInit,Input,Output,EventEmitter} from '@angular/core';\nimport { I18nService } from '../../i18n.service';\n\n@Component({\n selector: 'app-custom-date-picker',\n templateUrl: './custom-date-picker.component.html',\n styleUrls: ['./custom-date-picker.component.css']\n})\nexport class CustomDatePickerComponent implements OnInit {\n @Input() date: string;\n @Input() minDate:any;\n @Input() maxDate:any;\n @Input() error:any;\n @Input() errorMessage:string;\n @Input() readOnly = false; // VD 12Jun24 - readonly change\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\n dateSelected:any\n constructor(public i18nService: I18nService) { }\n\n ngOnInit(): void {\n console.log('read only check',this.readOnly);\n this.dateSelected = new Date(this.date);\n }\n\n onDateChange(event: any) {\n this.dateChange.emit(event);\n }\n\n}\n","<!-- <div class=\"date-picker-container\">\n <label>{{label}}</label>\n <input type=\"date\" [min]=\"minDate\" [max]=\"maxDate\" [required]=\"required\" (change)=\"onDateChanged($event)\">\n</div> -->\n<!-- <mat-form-field>\n <input matInput [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [min]=\"minDate\" [max]=\"maxDate\" [(ngModel)]=\"selectedDate\" (dateChange)=\"onDateChange($event)\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n</mat-form-field> -->\n<!--VD 12Jun24 - readonly change --> \n<!-- VD 01Aug24 - validation change-->\n<p>\n <input \n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"dateSelected\" \n [owlDateTimeTrigger]=\"dt\" \n [owlDateTime]=\"dt\" \n [min]=\"minDate\"\n [disabled]=\"readOnly\"\n placeholder=\"DD/MM/YYYY HH:MM\"\n (input)=\"onDateChange($event)\"\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onDateChange($event)\">\n <owl-date-time #dt></owl-date-time>\n</p>\n<span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>\n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\n\n@Component({\n selector: 'app-dropdown-with-flag',\n templateUrl: './dropdown-with-flag.component.html',\n styleUrls: ['./dropdown-with-flag.component.css']\n})\nexport class DropdownWithFlagComponent implements OnInit {\n @Input() certified:boolean= false;\n // @Input() getValue:string = '';\n @Input() JobPerformerCertificates: any[] = [];\n @Output() flagDropDownChange: EventEmitter<any> = new EventEmitter<any>(); \n selectedValue:string = '';\n\n constructor(public i18nService: I18nService) { }\n\n ngOnInit(): void {\n }\n ngOnChanges(){\n this.selectedValue = null;\n }\n \n onJobPerformerCertified(event:any){\n this.flagDropDownChange.emit(event);\n }\n\n}\n","<div class=\"she-title\">\n <label class=\"switch\">\n <input class=\"switch-input\" type=\"checkbox\" disabled=\"true\" [checked]=\"certified\"/>\n <span class=\"switch-label\" data-on=\"Certified\" data-off=\"Not Certified\"></span> \n <span class=\"switch-handle\"></span> \n </label> \n <!-- HA 19DEC23 For translation -->\n <ng-select *ngIf=\"certified\"\n style=\"margin-left: 36px; width: 205px; margin-bottom: 8px;\" \n [items]=\"JobPerformerCertificates\"\n [(ngModel)]=\"selectedValue\"\n (change)=\"onJobPerformerCertified($event)\"\n placeholder=\"---{{ 'select' | i18n:i18nService.currentLanguage }}---\">\n </ng-select>\n </div> ","import { Component, OnInit,Input,Output,EventEmitter, Optional } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { APIMeta } from '../../interfaces/apimeta';\nimport { ChangeWrapper } from '../../model/changeWrapper';\nimport { ChangeService } from '../../services/change.service';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\n// VD 23JAN24 used service file for callout\nimport { DataService } from '../../services/data.service';\n\n@Component({\n selector: 'app-custom-dropdown',\n templateUrl: './custom-dropdown.component.html',\n styleUrls: ['./custom-dropdown.component.css']\n})\nexport class CustomDropdownComponent implements OnInit {\n @Input() options: string[];\n @Input() placeholder: string;\n @Input() apiMeta: string;\n @Input() selectedValue: string;\n @Input() progressBar: boolean;\n @Input() id:string;\n @Input() readOnly = false; // VD 12Jun24 - readonly change\n @Input() errorMessage: string;\n @Input() error:any;\n @Input() fromShengel: boolean = false;\n @Input() question:any;\n @Input() referenceField:string;\n @Input() token:string; // VD 19JAN24 - getting token as input\n @Output() valueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\n invalidFieldIds:string[] = [];\n constructor( \n private changeService: ChangeService, \n private dataService: DataService,\n public i18nService: I18nService,\n ) { \n this.changeService.submitValidate$.subscribe((data)=>{\n // to get the error message's field id's\n this.invalidFieldIds.push(data);\n })\n }\n\n public labelField: string;\n public valueField: string;\n subscription: Subscription;\n public apiObj:APIMeta;\n public uniqueKey:string;\n\n ngOnInit(): void {\n \n }\n getOptions(){\n console.log('test click');\n // console.log('inside oninit of custom-dropdown of ' + this.id);\n // console.log(this.apiMeta);\n //VD 07Aug24 - isDependentField change\n // VD 25Oct24 - changes\n this.placeholder = this.placeholder ? this.placeholder : '---Select option---';\n if(this.apiMeta) {\n try {\n this.apiObj = JSON.parse(this.apiMeta);\n // Check if apiObj and apiObj.field are defined\n if (this.apiObj && this.apiObj.field) {\n this.labelField = this.apiObj.field;\n this.uniqueKey = this.apiObj.uniqueKey;\n const cachedOptions = localStorage.getItem(this.uniqueKey);\n if (cachedOptions) {\n this.options = JSON.parse(cachedOptions);\n }else {\n if(!this.apiObj.isDependentField){\n this.options = [];\n }\n\n // VD 09Sep24- setup the query param for api call // MR 08JAN24 DependentField API Fix moved below logic from above if condition\n let fullEndPoint ;\n if(this.apiObj.endpoint) {\n if(this.apiObj.queryValueReference && this.apiObj.queryField) {\n // process the end point with query param\n let queryReferences = this.apiObj.queryValueReference.split(',');\n let queryFields = this.apiObj.queryField.split(','); // MR 08JAN24 similar to above valuereference get list of QUERY Fields\n let queryValues = this.apiObj.queryValue.split(','); // MR 08JAN24 similar to above valuereference get list of QUERY Values (Default)\n let queryParams = [];\n let qIndex = 0; // MR 08JAN24 Query Index\n // Iterate over queryReferences and find the corresponding element in referenceData\n queryReferences.forEach(reference => {\n // Find the element in referenceData that matches the current reference\n // RS 09DEC24 Changed keys\n let matchingElement = this.question?.referenceQueryData.find(element => element.referenceField === reference);\n // If a matching element is found, get its input value and create a query parameter\n if (reference && matchingElement) { // MR 08JAN24 if reference exist & matching element found\n queryParams.push(`${queryFields[qIndex]}=${matchingElement.input}`); // MR 08JAN24 removed reference\n } else { // MR 08JAN24 included option for multiple query params and default value in case of reference is not found\n queryParams.push(`${queryFields[qIndex]}=${queryValues[qIndex]}`);\n }\n\n qIndex++;\n });\n fullEndPoint = this.apiObj.endpoint + '?' + queryParams.join('&');\n console.log(fullEndPoint);\n } else {\n // if no query param get the actual endPoint\n fullEndPoint = this.apiObj.endpoint;\n }\n\n // VD 19JAN24 - added one more param for authentication\n this.dataService.apiResponse(fullEndPoint)?.subscribe((apiResponse) => {\n // HA 18-JAN-24 Assigned apiresponse directly if we have the response in array also\n // VD 19JAN24 - if response has key with value(which is array)\n let responses;\n if(this.apiObj.variable){\n // VD 21May24 - handling multiple child objects\n // VD 22May24 - used common service file\n responses = this.dataService.getValue(apiResponse,this.apiObj.variable);\n let results = [];\n // HA 19JAN24 To avoid undefined error in console\n for (let i = 0; i < responses?.length; i++) {\n var resp = responses[i];\n results.push(resp);\n }\n this.options = results;\n }else{ // VD 19JAN24 - if response has value(which is array) only\n responses = apiResponse;\n this.options = responses;\n }\n // VD 25Oct24 - Store fetched options in local storage\n if(this.uniqueKey){\n localStorage.setItem(this.uniqueKey, JSON.stringify(this.options));\n }\n // Reference https://www.npmjs.com/package/@ng-select/ng-select\n })\n }\n\n // VD NOV23 - handle the dependent update for dropdown\n // VD 09Sep24- push the dependent field values for dropdown\n let sourceId = this.apiObj.sourceQuestionId;\n if(sourceId && this.apiObj.variable || this.apiObj.valueField){\n // Subscribe for the changes\n this.subscription = this.changeService.changeAnnounced$.subscribe(\n (changeValue) => {\n if(changeValue != undefined) {\n // console.log('inside subscription for the change');\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == this.apiObj.sourceQuestionId) {\n // this.selectedValue = changeValue.valueObj[this.apiObj.valueField];\n // let value ={};\n // value['name'] = this.selectedValue;\n let responses;\n if(this.apiObj.variable){\n responses = this.dataService.getValue(changeValue.valueObj,this.apiObj.variable);\n let results = [];\n for (let i = 0; i < responses?.length; i++) {\n var resp = responses[i];\n results.push(resp);\n }\n this.options = results;\n }else{\n responses = changeValue.valueObj;\n this.options = responses;\n }\n // VD 25Oct24 - Store fetched options in local storage\n if(this.uniqueKey){\n localStorage.setItem(this.uniqueKey, JSON.stringify(this.options));\n }\n }\n this.changeService.confirmChange(this.apiObj.sourceQuestionId);\n }\n }\n );\n }\n }\n }\n } catch (error) {\n console.error('Error parsing apiMeta:', error);\n }\n } \n}\n// VD 22May24 - used common service file\n\n selectChange(event:any) {\n console.log('inside selectChange from ' + this.id);\n // console.log(event);\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\n change.fromQuestionId = this.id;\n change.valueObj = event ? event : '';\n change.referenceField = this.referenceField;\n change.selectedObj = event ? event[this.labelField] : '';\n this.valueChange.emit(change);\n // once got value in dropdown remove the error validation\n if(event){\n this.invalidFieldIds =[];\n }\n }\n}\n","<!-- HA 18-JAN-24 Commenting these lines as we don't have to use shengel here -->\n<!-- <select\n [ngClass]=\"{\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\n 'custom-select': !progressBar\n }\" class=\"custom-select mr-sm-2 dd-height\" \n [id]=\"id\" \n [(ngModel)]=\"selectedValue\"\n (change)=\"selectChange($event.target.value);\" \n [style.borderColor]=\"error ? 'red' : '#858585'\"\n [style.color]=\"error ? 'red' : ''\">\n <option *ngFor=\"let option of options\" [value]=\"this.apiMeta !== undefined ? option.title : option.value\" class=\"option\">{{ this.apiMeta !== undefined ? option.title : option.value }}</option>\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\n</select> -->\n<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<!-- VD 07Aug24 - isDependentField change-->\n<!-- VD 25Oct24 - changes-->\n<!-- RS 09DEC24 Changed keys--> \n<ng-select\n [class]=\"invalidFieldIds.includes(id) || error ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\n [(ngModel)]=\"selectedValue\" \n [placeholder]=\"placeholder\"\n [disabled]=\"readOnly\"\n (click)=\"getOptions()\"\n (change)=\"selectChange($event)\"\n [id]=\"id\">\n <ng-option \n *ngFor=\"let option of options\" \n [value]=\"apiObj && !apiObj.isDependentField ? option : option?.value\">\n {{ apiObj && !apiObj.isDependentField && option ? option[labelField] : option?.value }}\n </ng-option> \n</ng-select>\n<span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{errorMessage}}</span>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ChangeService } from '../../services/change.service';\n\n@Component({\n selector: 'app-custom-label',\n templateUrl: './custom-label.component.html',\n styleUrls: ['./custom-label.component.css']\n})\nexport class CustomLabelComponent implements OnInit {\n\n @Input() labelValue:string;\n @Input() labelStyle: string;\n\n constructor() { \n }\n\n ngOnInit(): void {\n }\n\n}\n","\n<div style={{labelStyle}}>{{ labelValue }}</div>\n","import {\n Component,\n OnInit,\n OnChanges,\n Inject,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ElementRef,\n SimpleChanges,\n} from \"@angular/core\";\nimport { ActivatedRoute, Params } from \"@angular/router\";\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { IMyDateModel, IMyDpOptions } from \"mydatepicker\";\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\nimport { UntypedFormBuilder } from \"@angular/forms\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\n//import { NgxIndexedDBService, IndexDetails} from 'ngx-indexed-db';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport * as moment from 'moment';\nimport { DataService } from '../../services/data.service';\nimport { ChangeService } from '../../services/change.service';\nimport { SharedService } from \"../../services/shared.service\";\nimport {\n Question,\n QuestionBook,\n AnswerBook,\n AnswerWrapper,\n Option,\n OptionValue,\n AttachmentWrapper,\n Attachment,\n LocalQuestion\n} from \"../../wrapper\";\nimport { ErrorWrapper } from \"../../model/errorWrapper\";\nimport {\n TESTQUESTION,\n DTQUESTION,\n FILEQUESTION,\n TAQUESTION,\n RADIOQUESTION,\n CHECKQUESTION,\n BOOKQUESTION,\n TESTQB,\n RTAQUESTION //RS 06JAN25\n} from \"../../sample\";\nimport { from } from \"rxjs\";\n// HA 19DEC23 imported translation service\nimport { I18nService } from \"../../i18n.service\";\n@Component({\n selector: \"lib-questionnaire\",\n templateUrl: \"./questionnaire.component.html\",\n encapsulation: ViewEncapsulation.None,\n providers: [ChangeService],\n styleUrls: [\"./questionnaire.component.css\"],\n})\nexport class QuestionnaireComponent implements OnInit {\n @Input() qbId: string;\n @Input() insuranceStartDate: string;\n @Input() serv: string;\n @Input() tkn: string;\n @Input() api: string; // VD getting the api as input\n @Output() handleEvent = new EventEmitter();\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\n @Output() handleQuestion: EventEmitter<any> = new EventEmitter();\n @Output() handleBook: EventEmitter<any> = new EventEmitter();\n @Output() handleSubmit: EventEmitter<any> = new EventEmitter();\n\n params: Params;\n public deviceInfo = null;\n public abItem: AnswerBook;\n public qbItem: QuestionBook;\n public questionItem: Question;\n public answerWrap: AnswerWrapper;\n \n // CONDITIONAL TYPES\n public radioFlag: boolean = false;\n public dataFlag: boolean = false;\n \n // OPTIONONLY TYPES\n public dropdownFlag: boolean = false;\n public checkboxFlag: boolean = false;\n \n // UNCONDITIONAL TYPES\n public textFlag: boolean = false;\n public taFlag: boolean = false;\n public rtaFlag: boolean = false;\n public dtFlag: boolean = false;\n public timeFlag: boolean = false;\n public dateFlag: boolean = false;\n public fileFlag: boolean = false;\n public emailFlag: boolean = false;\n public numberFlag: boolean = false;\n public alphanumericFlag: boolean = false;\n public bookFlag: boolean = false;\n public listFlag: boolean= false;\n //Back button\n public backButtonFlag: boolean = false;\n // VD disabled\n public isButtonDisabled: boolean = false;\n public optionValues: OptionValue[] = [];\n public subQuestions: Question[] = [];\n public inpValue: string;\n public answerMap = new Map();\n public dateMap = new Map();\n public selectedhourMap = new Map();\n public selectedminuteMap = new Map();\n public attachmentsMap = new Map();\n public sqOptions = new Map();\n public subAnsMap = new Map();\n public localSubQuestions: LocalQuestion[] = [];\n public questionStack = [];\n public questionName = [];\n public attachments: any[] = [];\n public attachmentIdList: any[] = [];\n public attachmentId: string = \"\";\n public attachment: any;\n public allowedFileExtension: string[];\n public fileExceededLimit: boolean = false;\n public fileTypeIncorrect: boolean = false;\n public back: boolean = false;\n public backicon: boolean = true;\n public check: boolean;\n public pop: boolean;\n public localDate: string;\n public currentName: string;\n public pathquestion: number;\n public percent: number;\n public count: number;\n public taFocusOut: boolean = false;\n public notValidAccNum: boolean = false;\n public splCCBackClick: boolean = false;\n public summary = [];\n public localSubQMap = new Map();\n public keyIndex: number = 0;\n //public sques: string;\n public selDate: any = {};\n public selectDate: string;\n private today: Date = new Date();\n private el: HTMLElement;\n public innerhtml: any;\n public possibilities: any;\n public innerhtml1: any;\n public summaryData =[];\n \n public hours: any[] = [\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"05\",\n \"06\",\n \"07\",\n \"08\",\n \"09\",\n \"10\",\n \"11\",\n \"12\",\n ];\n \n public minutes: string[] = [\n \"00\",\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"05\",\n \"06\",\n \"07\",\n \"08\",\n \"09\",\n \"10\",\n \"11\",\n \"12\",\n \"13\",\n \"14\",\n \"15\",\n \"16\",\n \"17\",\n \"18\",\n \"19\",\n \"20\",\n \"21\",\n \"22\",\n \"23\",\n \"24\",\n \"25\",\n \"26\",\n \"27\",\n \"28\",\n \"29\",\n \"30\",\n \"31\",\n \"32\",\n \"33\",\n \"34\",\n \"35\",\n \"36\",\n \"37\",\n \"38\",\n \"39\",\n \"40\",\n \"41\",\n \"42\",\n \"43\",\n \"44\",\n \"45\",\n \"46\",\n \"47\",\n \"48\",\n \"49\",\n \"50\",\n \"51\",\n \"52\",\n \"53\",\n \"54\",\n \"55\",\n \"56\",\n \"57\",\n \"58\",\n \"59\",\n ];\n \n public selectedHour: string = \"\";\n public selectedMinute: string = \"\";\n public selectedMeridiem: string = \"\";\n public valueName: string = \"\";\n public valueName1: string = \"\";\n public bookFlagAccept: string[];\n public recordId: string;\n public currentQuestionId: string;\n public spinnerType: string;\n public spinnerName: string;\n public nextValue:string ='';\n \n start_date?: any;\n \n //search component\n public tempoAddress: any[] = [];\n public selectedValue: string;\n public selectedPostalcode: string;\n public selectedProvince: string;\n public selectedCity: string;\n public selectedArea: string;\n public localaddress: any[] = [];\n public allAddress :any [] = [];\n public PostalCode:string;\n public places: any[] = [];\n public province:any[]=[];\n \n // REQ-01 PROGRESS BAR\n public progressStyle: string = \"0%\";\n public answerCount: number = 0;\n public indexCount: number = 0;\n public addFlag: boolean = true;\n public myDatePickerOptions: IMyDpOptions = {};\n individualBookButton: boolean;\n \n public allInputValues = []; // HA 02FEB24 To store all the input values\n constructor(\n private sfService: SalesforceService,\n private dataService: DataService,\n private changeService: ChangeService,\n private sharedService: SharedService,\n private route: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private spinner: NgxSpinnerService,\n private _formBuilder: UntypedFormBuilder,\n //private dbService: NgxIndexedDBService,\n private deviceService: DeviceDetectorService,\n el: ElementRef,\n public i18nService: I18nService\n ) {\n // VD 10Aug24-spinner changes\n this.spinnerName = \"sp1\";\n this.spinnerType = \"ball-spin-clockwise-fade\";\n }\n \n // HA 02FEB24 On date change need to store the changed value so passing the question\n // RS 09DEC24 Changed keys\n onDateChanged(event: IMyDateModel, ques: any) {\n //console.log('Inside the onDateChanged');\n //to change the border color\n if (this.qbItem.progressBar) {\n //console.log('Inside the progressBar cond');\n this.inpValue =\n event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\n if(this.questionItem.type ==\"Book\"){\n this.selectDate = event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\n }\n } else {\n //console.log('Inside the ELSE of progressBar cond');\n if(this.questionItem.type ==\"Book\"){\n this.selectDate = event.date.day + \"-\" + event.date.month + \"-\" + event.date.year;\n }\n this.inpValue =\n event.date.year + \"-\" + event.date.month + \"-\" + event.date.day;\n }\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"border-color:#87be1c;width:100%\");\n this.dateMap.set(this.questionItem.id, event);\n if (\n event.date.day === 0 &&\n event.date.month === 0 &&\n event.date.year === 0\n ) {\n this.dateMap.delete(this.questionItem.id);\n this.answerMap.delete(this.questionItem.id);\n }\n //console.log('this.inpValue = '+this.inpValue);\n //console.log('this.selectDate = '+this.selectDate);\n // HA 02FEB24 Assigning input value to ques input\n ques.input = this.inpValue;\n }\n\n ngOnInit() {\n this.deviceInfo = this.deviceService.getDeviceInfo();\n this.route.queryParams.subscribe((params: Params) => {\n if (params['id']) {\n this.individualBookButton = true;\n }else if(params['bookletId']){\n this.individualBookButton = false;\n }\n });\n this.inpValue = \"\";\n this.selectedMeridiem = \"AM\";\n this.processQB();\n //console.log(localStorage.getItem('address'));\n if(localStorage.getItem(\"address\")){\n this.localaddress = JSON.parse(localStorage.getItem(\"address\"));\n //console.log('Length='+this.localaddress.length);\n this.allAddress=this.localaddress.filter((item, index) => {\n if (this.localaddress.indexOf(item) == index){\n return item;\n }\n });\n this.allAddress.sort(function(a, b){\n return a.zipCode - b.zipCode\n });\n } else if(this.deviceInfo.os === 'iOS'){\n let openRequest = indexedDB.open(\"addressDB\");\n openRequest.onsuccess = (event) => {\n const targetNew = event.target as IDBRequest;\n let dbNew = targetNew.result;\n const requestNew = dbNew.transaction('addressTable')\n .objectStore('addressTable')\n .get(1);\n requestNew.onsuccess = ()=> {\n const tempVar = requestNew.result;\n this.localaddress = JSON.parse(tempVar.wholeAddressString);\n this.allAddress=this.localaddress.filter((item, index) => {\n if (this.localaddress.indexOf(item) == index){\n return item;\n }\n });\n this.allAddress.sort(function(a, b){\n return a.zipCode - b.zipCode\n });\n }\n };\n }\n }\n// call when bookId changes\n ngOnChanges(simplechanges: SimpleChanges) {\n if(simplechanges['qbId']){\n this.processQB();\n }\n }\n // RS 09DEC24 Changed keys\n date_TimeMap() {\n this.selectedhourMap.set(this.questionItem.id, this.selectedHour);\n this.selectedminuteMap.set(this.questionItem.id, this.selectedMinute);\n }\n \n day() {\n this.myDatePickerOptions = {\n dateFormat: \"dd.mm.yyyy\",\n sunHighlight: false,\n disableDateRanges: [],\n showClearDateBtn: false,\n disableSince: {\n year: 0,\n month: 0,\n day: 0,\n },\n disableUntil: {\n year: 0,\n month: 0,\n day: 0,\n },\n showTodayBtn: false,\n dayLabels: {\n su: \"Dom\",\n mo: \"Lun\",\n tu: \"Mar\",\n we: \"Mié\",\n th: \"Jue\",\n fr: \"Vie\",\n sa: \"Sáb\",\n },\n monthLabels: {\n 1: \"Ene\",\n 2: \"Feb\",\n 3: \"Mar\",\n 4: \"Abr\",\n 5: \"Mayo\",\n 6: \"Jun\",\n 7: \"Jul\",\n 8: \"Ago\",\n 9: \"Sep\",\n 10: \"Oct\",\n 11: \"Nov\",\n 12: \"Dic\",\n },\n };\n }\n \n change() {\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\n if (this.selDate === null || this.inpValue.length === 0) {\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"width:100%;border: 1px solid red\");\n } else {\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"border: 1px solid #87be1c ;width:100%\");\n }\n }\n \n processQB() {\n \n console.log('ProcessQB');\n //this.qbItem\n console.log(this.qbId);\n //console.log('Version in process is 8bf11efa7f91a391d957bf6b5078edc7e656b67c');\n if (this.qbId) {\n if (this.qbId.length == 18) {\n this.readQuestionBook(this.qbId);\n } else {\n //console.log('Inside the else part');\n //console.log('Setting the Question Directly for testing');\n this.questionItem = DTQUESTION;\n this.qbItem = TESTQB;\n this.processQuestion();\n }\n }\n }\n \n trimLastDummy(input: string) {\n return (input = input.substring(0, input.length - 6));\n }\n \n getProperTime(def: string, input: string) {\n return input === \"\" ? def : input;\n }\n // RS 09DEC24 Changed keys\n //Summary Question Clickable Logic\n handleEditClick(value: string) {\n this.backicon = false;\n if (this.abItem?.status == \"Pending\") {\n if (value == null) {\n return;\n }\n this.readQuestion(value);\n //console.log(' in side summaryopen'+ this.summary.length);\n \n //Assign question stack length from summary part\n var arrayLength = this.questionStack.length;\n var lengthValue = this.questionStack.indexOf(value);\n \n for (let i = arrayLength; i > lengthValue; i--) {\n this.questionStack.pop();\n }\n if (this.qbItem.progressBar === true) {\n var arrayLength1 = this.questionName.length;\n for (let j = arrayLength1; j > lengthValue; j--) {\n this.questionName.pop();\n }\n }\n this.summary = [];\n this.summaryData = [];\n }\n }\n \n handleNextClick() {\n // this.sharedService.showLoader();\n this.spinner.show(this.spinnerName);\n this.isButtonDisabled = true;\n this.backButtonFlag = false;\n this.AnswerSave();\n }\n \n AnswerSave(){\n //this.updateProgress();\n if (this.currentQuestionId === null) {\n return;\n }\n var questionTxt='';\n this.clearError();\n this.handleEvent.emit(this.qbItem.nextTrackingId);\n this.recordId = null;\n var cQuestion: Question = new Question();\n cQuestion = this.questionItem;\n // MR 30JAN24 - Added Condition for this.questionItem.Questions__r (Book Question and Non-Book)\n if(this.questionItem.subQuestions) {\n // Create an array of objects to store the values\n for (var i=0; i<this.questionItem.subQuestions.length;i++) {\n if(this.questionItem.subQuestions[i].questionText){\n var questionText = this.questionItem.subQuestions[i].questionText.replace(/<[^>]+>/g, ''); // Remove HTML tags from the questionText value\n }else{\n questionText = 'undefined';\n }\n const input = this.questionItem.subQuestions[i].input;\n const obj = { [questionText]: input }; // Create an object with the questionText as the key and the input as the value\n this.summaryData.push(obj); // Add the object to the data array\n }\n } else {\n var questionText = this.questionItem.questionText.replace(/<[^>]+>/g, '');\n const input = this.questionItem.input;\n const obj = { [questionText]: input }; // Create an object with the questionText as the key and the input as the value\n this.summaryData.push(obj); // Add the object to the data array\n }\n \n var typ = cQuestion.type;\n // this.sques += cQuestion.question + '@@##$$';\n var quesValue = cQuestion.questionText;\n var mailformat =\n \"^[^.][a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+[^.]@[^-][a-zA-Z0-9.-]+[^-].[a-zA-Z]{2,}$\";\n \n // Process Inputs\n if (this.checkboxFlag) {\n this.inpValue = \"\";\n // Save all the selected options in the inpValue\n for (var ov of this.optionValues.filter((item) => item.checked)) {\n this.inpValue += ov.value + \"@@##$$\";\n this.recordId = ov.nextQuestion;\n }\n this.inpValue = this.trimLastDummy(this.inpValue);\n } else if (this.emailFlag) {\n if (this.inpValue && this.inpValue.match(mailformat)) {\n this.recordId = this.questionItem.nextQuestion;\n } else {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.alphanumericFlag) {\n var isNotValidAccNum = this.isNotValidAccNumber(this.inpValue);\n if (isNotValidAccNum) {\n this.notValidAccNum = true;\n this.recordId = this.questionItem.nextQuestion;\n return;\n }\n this.notValidAccNum = false;\n } else if (this.numberFlag) {\n if (this.inpValue) {\n this.recordId = this.questionItem.nextQuestion;\n } else {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.bookFlag) {\n this.inpValue = \"\";\n var hasMissingInput = false;\n for (var item of this.questionItem.subQuestions) {\n var count = 0;\n \n if(item.type == \"Date\" || item.type == \"Time\") {\n //this one\n this.change();\n if(item.type == \"Date\"){\n //console.log('Inside the date type cond = '+this.selectDate);\n this.inpValue = this.selectDate;\n //console.log(this.inpValue)\n //console.log(this.selectDate)\n \n }\n if(item.type == \"Time\"){\n //console.log(this.selectedHour+this.selectedMeridiem+this.selectedMinute)\n \n if (this.questionItem.x24Hours === false) {\n this.questionItem.input =\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\n ? Number(this.selectedHour) + 12\n : this.selectedHour) +\n \":\" +\n this.selectedMinute + \" PM\";\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\n }\n if (this.qbItem.progressBar) {\n if(this.selectDate){\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\n }else{\n this.inpValue = \" \"+this.questionItem.input;\n }\n } else {\n if(this.selectDate){\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\n }else{\n this.inpValue = \" \"+this.questionItem.input;\n }\n \n }\n }\n if (this.questionItem.x24Hours === true) {\n this.questionItem.input =\n this.selectedHour + \":\" + this.selectedMinute;\n if (this.qbItem.progressBar) {\n this.inpValue = this.questionItem.input;\n } else {\n this.inpValue = this.questionItem.input;\n }\n }\n }\n // HA 31-JAN-24 Removed the selectHour and selectMinute condition\n if (this.selDate === null || this.selDate === undefined || !this.inpValue || !this.selectDate) {\n //console.log('Inside the null condition of input');\n this.questionItem.error = new ErrorWrapper();\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"width:100%;border-bottom: 1px solid red !important;\");\n return;\n }\n this.date_TimeMap();\n }\n // HA 31-JAN-24 Added text error condition\n if(item.type== \"Text\"){\n if (!item.input) {\n item.input = \"\";\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n // this.inpValue = item.input; 634\n }\n \n if (\n !item.isOptional &&\n // ((item.type != \"File\" && !item.input && item.type != 'Date' && item.type != 'Time') ||\n // (item.type == \"File\" && this.attachments.length == 0))\n (item.type == \"File\" && this.attachments.length == 0)\n ) {\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n if (item.type == \"Radio\") {\n if (!item.input) {\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n }\n if (item.type == \"Dropdown\") {\n if (!item.input) {\n item.input = \"\";\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n }\n if (item.type == \"Email\") {\n if (item.input && item.input.match(mailformat)) {\n this.recordId = cQuestion.nextQuestion;\n } else {\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n }\n if (item.type == \"File\" && this.attachments.length > 0) {\n for (var attachmentItem of this.attachments) {\n this.inpValue +=\n attachmentItem.attachmentId +\n \"@#$\" +\n attachmentItem.attachmentName +\n \",\";\n if (item.input == this.inpValue) {\n this.recordId = cQuestion.nextQuestion;\n //console.log('inside' + recordId);\n }\n }\n // this.attachments = [];\n } //item.input == this.inpValue;\n \n this.inpValue += (item.input != undefined ? item.input : \"\") + \"@@##$$\";\n questionTxt += item.question + \"@@##$$\";\n //console.log('inside book1' + this.inpValue)\n }\n if (hasMissingInput) {\n return;\n }\n this.inpValue = this.trimLastDummy(this.inpValue);\n questionTxt = questionTxt ? this.trimLastDummy(questionTxt) : questionTxt;\n }\n else if (this.listFlag) {\n this.inpValue = '';\n var hasMissingInput = false;\n if(this.localSubQMap.has(this.questionItem.id)){\n this.subAnsMap = new Map();\n for (var localQues of this.localSubQMap.get(this.questionItem.id)) {\n if(!localQues.input) {\n localQues.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n if(!this.subAnsMap.has(localQues.id)){\n // console.log('inside ans map')\n this.subAnsMap.set(localQues.id,localQues.input);\n } else {\n // console.log('inside ans map else')\n this.subAnsMap.set(localQues.id,this.subAnsMap.get(localQues.id) + '$$@@##'+localQues.input);\n }\n }\n \n if (hasMissingInput) {\n //console.log('file two')\n return;\n }\n this.subAnsMap.forEach((value, key) => {\n // console.log('inside Map' );\n // console.log(value);\n this.inpValue += (value != undefined ? value : '') + '@@##$$';\n });\n this.inpValue = this.trimLastDummy(this.inpValue);\n }\n }\n else if (this.dropdownFlag) {\n if (this.inpValue.length <= 1) {\n this.inpValue = \".\";\n this.questionItem.error = new ErrorWrapper();\n }\n } else if (this.dtFlag && this.dateFlag && this.timeFlag) {\n //this one\n this.change();\n if (this.inpValue) {\n this.selectedHour = this.getProperTime(\"12\", this.selectedHour);\n this.selectedMinute = this.getProperTime(\"00\", this.selectedMinute);\n this.selectedMeridiem = this.getProperTime(\"AM\", this.selectedMeridiem);\n //console.log(this.inpValue.length);\n \n if (this.questionItem.x24Hours === false) {\n this.questionItem.input =\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\n ? Number(this.selectedHour) + 12\n : this.selectedHour) +\n \":\" +\n this.selectedMinute + \" PM\";\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\n }\n if (this.qbItem.progressBar) {\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\n } else {\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\n }\n }\n if (this.questionItem.x24Hours === true) {\n this.questionItem.input =\n this.selectedHour + \":\" + this.selectedMinute;\n if (this.qbItem.progressBar) {\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\n } else {\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\n }\n }\n if (this.qbItem.progressBar) {\n //console.log(\"ans => \" + this.inpValue);\n var date1: any = this.inpValue.split(\" \");\n date1 = date1[0].split(\"/\");\n date1 = [date1[2], date1[1], date1[0]].join(\"-\");\n date1 = new Date(date1);\n //console.log(date1)\n var date2: any = this.insuranceStartDate.split(\" \");\n date2 = new Date(date2[0]);\n //console.log(date2);\n if (date1 < date2) {\n this.questionItem.error = new ErrorWrapper();\n this.questionItem.error.errorMsg =\n \"No es posible dar de alta la reclamación debido a que la fecha del incidente es anterior a la fecha de contratación de la póliza\";\n //console.log('inside')\n return;\n }\n }\n if (this.selDate === null || !this.inpValue) {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n this.date_TimeMap();\n }\n } else if (this.timeFlag && this.dtFlag && !this.dateFlag) {\n this.date_TimeMap();\n if (this.questionItem.x24Hours === false) {\n this.inpValue =\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\n ? Number(this.selectedHour) + 12\n : this.selectedHour) +\n \":\" +\n this.selectedMinute;\n } else {\n this.inpValue = this.selectedHour + \":\" + this.selectedMinute;\n }\n if (this.inpValue.length < 5) {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.dateFlag && this.dtFlag && !this.timeFlag) {\n this.change();\n if (this.inpValue.length < 7 || this.selDate === null) {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.fileFlag) {\n //console.log('four')\n this.inpValue = \"\";\n if (this.attachments.length > 0) {\n for (var attachmentItem of this.attachments) {\n this.inpValue +=\n attachmentItem.attachmentId +\n \"@#$\" +\n attachmentItem.attachmentName +\n \",\";\n }\n //console.log('inside filesss' + this.inpValue);\n this.inpValue = this.inpValue.substr(0, this.inpValue.length - 1);\n } else {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n }\n \n // Check for the answer before saving to the DB\n if (!this.questionItem.isOptional && !this.inpValue) {\n // Show error that the question must be answered\n this.questionItem.error = new ErrorWrapper();\n // VD disabled\n //this.sharedService.hideLoader();\n this.spinner.hide(this.spinnerName);\n this.isButtonDisabled = false\n return;\n }\n // Save the Answer in the DB\n this.answerWrap = new AnswerWrapper();\n this.answerWrap.abId = this.abItem.id;\n this.answerWrap.quesId = cQuestion.id;\n this.answerWrap.quesValue = quesValue;\n this.answerWrap.qTyp = typ;\n // HA 02FEB24 To display the values in summary using this\n this.allInputValues = [];\n this.subQuestions.forEach(element => {\n var inputValue = {};\n inputValue['Id'] = element?.id;\n inputValue['type'] = element?.type;\n inputValue['referenceField'] = element?.referenceField;\n inputValue['questionText'] = element?.questionText;\n inputValue['input'] = element?.input;\n inputValue ? this.allInputValues.push(inputValue) : this.allInputValues;\n });\n this.answerWrap.myVal = this.allInputValues;\n this.answerWrap.ansValue = this.inpValue;\n this.answerWrap.groupText = cQuestion.groupName;\n console.log('this.answerWrap.qTyp',this.answerWrap.qTyp);\n if(this.answerWrap.qTyp == \"Alphanumeric\"){\n this.answerWrap.ansValue = 'ES'+ this.inpValue;\n // console.log('Bank condition');\n // console.log(this.answerWrap.ansValue);\n }\n /*if (cQuestion.type == 'Book'){\n for (var qb of cQuestion.Questions__r.records){\n //console.log(qb.question+'****'+\"@@##$$\")\n }\n }*/\n //this.answerWrap.squesValue = cQuestion.question;\n this.questionItem.input = this.inpValue;\n // emit the current question with input to parent\n let questionAns = {}\n questionAns['questionDetail'] = this.questionItem;\n questionAns['answerBookDetail'] = this.abItem;\n console.log(questionAns);\n this.handleQuestion.emit(questionAns);\n console.log('questionItem-->');\n console.log(this.questionItem);\n this.answerWrap.squesValue = questionTxt ? questionTxt : cQuestion.question;\n this.saveAnswer();\n }\n // RS 09DEC24 Changed keys\n next() {\n var cQuestion: Question = new Question();\n cQuestion = this.questionItem;\n var typ = cQuestion.type;\n // If no error then move to next steps\n if (this.questionItem.error) {\n return;\n }\n \n this.questionStack.push(cQuestion.id);\n // this.questionName.push(cQuestion.Name);\n \n // CONDITIONAL vs OPTIONONLY & UNCONDITIONAL\n // HA 31-JAN-24 Added ternary even in else conditions below\n if (cQuestion?.RecordType?.Name == \"CONDITIONAL\") {\n for (var cOpt of cQuestion.options) {\n // Radio / Data\n //console.log('Option => ' + cOpt.value + ' matching with ' + ansVal);\n if (cOpt.value == this.inpValue) {\n //console.log('Match Found using ' + cOpt.nextQuestion);\n if(cOpt.nextQuestion){\n this.recordId = cOpt.nextQuestion;\n }else {\n this.recordId = cQuestion.nextQuestion;\n }\n //console.log('conditional record id'+ this.recordId);\n }\n }\n // Could be of type Data and existing value\n if (this.recordId && typ == \"Data\") {\n this.recordId = cQuestion.nextQuestion;\n }\n } else if (cQuestion?.RecordType?.Name == \"OPTIONONLY\") {\n // OPTIONONLY logic\n this.recordId = cQuestion.nextQuestion;\n } else if (cQuestion?.RecordType?.Name == \"UNCONDITIONAL\") {\n //Unconditional logic\n //console.log(\"inside unconditional\");\n //inside Book Type\n if (cQuestion.type == \"Book\" && cQuestion.questionNumber !='6') {\n //console.log(\"inside book\");\n for (let opt of cQuestion.subQuestions) {\n //console.log(opt.type);\n if (opt.type == \"Dropdown\" || opt.type == \"Radio\") {\n for (var opt1 of opt.options) {\n if (this.valueName == opt1.value) {\n this.recordId =opt1.nextQuestion || cQuestion.nextQuestion;\n } else {\n //console.log('Else'+this.recordId)\n this.recordId = cQuestion.nextQuestion;\n \n }\n }\n } else {\n this.recordId = cQuestion.nextQuestion;\n }\n }\n }\n else if(cQuestion.type == \"Book\" && cQuestion.questionNumber =='6' ) {\n for (let opt of cQuestion.subQuestions) {\n if (opt.type == \"Dropdown\" || opt.type == \"Radio\"){\n for (var opt1 of opt.options) {\n if (this.valueName == opt1.value) {\n this.recordId = opt1.nextQuestion;\n }\n }\n }\n }\n }\n \n else {\n this.recordId = cQuestion.nextQuestion;\n }\n }\n // HA 31-JAN-24 Added else to keep the assignment default\n else{\n this.recordId = cQuestion.nextQuestion;\n }\n \n // CATEGORIZATION\n //this.stepperCateg();\n \n // Calling the progres bar update function\n this.answerCount++;\n this.updateProgress();\n \n \n // CATEGORIZATION\n //this.stepperCateg();\n \n if (this.recordId) {\n this.readQuestion(this.recordId);\n this.pop = true;\n } else {\n this.pop = false;\n // VD disabled\n // this.sharedService.hideLoader();\n this.spinner.hide(this.spinnerName);\n this.isButtonDisabled = false;\n // Reset the Variables\n this.inpValue = \"\";\n this.answerWrap = new AnswerWrapper();\n this.optionValues = [];\n this.subQuestions = [];\n \n this.resetFlag(typ);\n this.questionItem = null;\n \n // Show Summary\n for (var q of this.questionStack) {\n //console.log('Handling Question => ' + q);\n var ansWrap = this.answerMap.get(q);\n if (ansWrap) {\n //console.log('Handling Answer for ' + ansWrap.quesId + ' of type ' + ansWrap.qTyp);\n if(ansWrap.qTyp == 'File' || ansWrap.qTyp == 'Book'||ansWrap.qTyp == 'List' || ansWrap.qTyp == 'Checkbox'){\n var newStr = '';\n for (var ansStr of ansWrap.ansValue.split('@@##$$')) {\n for (var ansStr1 of ansStr.split('$$@@##')) {\n // if(ansStr1.includes('answerString')){ //remove the answer string\n // const withoutAnswerString = ansStr1.replace(\"answerString: \", \"\");\n // ansStr1 = withoutAnswerString;\n // }\n if (ansStr1.length > 0) {\n if (newStr.length == 0) {\n newStr = ansStr1;\n } else {\n newStr += '; ' + ansStr1; //comma(,) changed as semi colon(;) because of address contains comma(,)\n if(this.attachmentsMap.has(ansWrap.quesId)){\n for(var att of this.attachmentsMap.get(ansWrap.quesId)){\n newStr = newStr.replace(att.attachmentId,'');\n }\n }\n newStr = (newStr.replace(',,',', ')).replace(', ,',', ');\n newStr = newStr.startsWith(',') ? newStr.substring(1, newStr.length) : (newStr.endsWith(',') ? newStr.substring(0, newStr.length - 1) : newStr);\n }\n }\n }\n }\n ansWrap.ansValue = newStr;\n ansWrap.myVal = this.allInputValues;\n }\n // VD Check if the summary already contains an entry for the same quesId\n const existingAnsWrap = this.summary.find(item => item.quesId === ansWrap.quesId);\n if (existingAnsWrap) {\n // If it exists, update the ansValue and myVal\n existingAnsWrap.ansValue = ansWrap.ansValue;\n existingAnsWrap.myVal = ansWrap.myVal;\n } else {\n // If it doesn't exist, push the ansWrap to the summary array\n this.summary.push(ansWrap);\n }\n this.backicon = true;\n }\n }\n }\n }\n \n getText(value) {\n var doc = new DOMParser().parseFromString(value, \"text/html\");\n //console.log( doc.documentElement.textContent);\n return this.sanitizer.bypassSecurityTrustHtml(\n doc.documentElement.textContent\n );\n }\n \n handleBackClick() {\n this.back = true;\n if (this.pop === true) {\n this.questionName.pop();\n }\n this.handleEvent.emit(this.qbItem.backTrackingId);\n var cQuestion: Question = new Question();\n cQuestion = this.questionItem;\n if(cQuestion.questionNumber =='1'){\n this.handleEvent.emit(this.qbItem.back);\n }\n \n \n this.answerCount--;\n this.updateProgress();\n // CATEGORIZATION\n //this.stepperCateg();\n \n if (this.summary) {\n //console.log('summary true');\n this.summary = [];\n }\n if(this.summaryData){\n this.summaryData =[];\n }\n \n // Read the previous question from DB\n // VD disabled\n // this.sharedService.showLoader();\n this.spinner.show(this.spinnerName);\n this.isButtonDisabled = true;\n this.readQuestion(this.questionStack.pop());\n //console.log(this.questionStack);\n }\n \n handleBackClickNew() {\n this.handleEvent.emit(this.qbItem.edit);\n }\n \n //updating status once Q&A completed.\n \n private updateAnswerBook = (uuid: string) => {\n if(this.serv == \"api\") {\n // this.dataService.getAPIData(\n // this.tkn,\n // [\"AnswerBook\", \"Update\", uuid],\n // this.successupdateAB,\n // this.failureupdateAB\n // );\n let paramMap = { createAnswerBookFlag: false };\n // HA 09FEB24 to clear the error: createAnswerBook is false\n paramMap['c__qb_id'] = uuid;\n paramMap[\"c__record_id\"] = '';\n this.dataService.getAPIFromNode('AnswerBook','Update',uuid,JSON.stringify(paramMap),this.api).subscribe(\n (data)=>{\n console.log('updated succussfully');\n console.log(data);\n this.successupdateAB(JSON.parse(data))\n },(error) => {\n console.error('Failed to fetch question books', error);\n }\n )\n } else {\n // VD 15FEB24 - used processNew method\n // VD 31NOV24 param changes with new method\n let paramMap = { createAnswerBookFlag: false };\n paramMap['c__qb_id'] = uuid;\n paramMap[\"c__record_id\"] = '';\n let para = {\n dataType: \"AnswerBook\",\n operation: \"Update\",\n param1: uuid,\n paramJSON: JSON.stringify(paramMap),\n languageCode : ''\n }\n // VD 12Jun24 - translation changes\n this.sfService.remoteAction(\n \"NxtController.processData\",\n [JSON.stringify(para)],\n this.successupdateAB,\n this.failureupdateAB\n );\n }\n }\n \n private successupdateAB = (response) => {\n console.log(response);\n let data = response;\n if(data){\n this.handleSubmit.emit(data);\n this.abItem.status = \"Completed\";\n this.deleteAnswers(data.AnswerBook)\n }\n };\n \n // VD for delete answers\n deleteAnswers(answerbook){\n if(this.serv == \"api\"){\n if(answerbook && answerbook.status == 'Completed'){\n const ansBookId = answerbook.id;\n let paramMap = { createAnswerBookFlag: false };\n // HA 09FEB24 to clear the error: createAnswerBook is false\n paramMap['c__qb_id'] = '';\n paramMap[\"c__record_id\"] = '';\n this.dataService.getAPIFromNode('AnswerBook','delete',ansBookId,JSON.stringify(paramMap),this.api).subscribe(\n (data)=>{\n console.log(data);\n this.successDeleteAB(JSON.parse(data))\n },(error) => {\n console.error('Failed to fetch question books', error);\n }\n )\n }\n }\n }\n // VD for delete answers\n private successDeleteAB = (response) => {\n console.log(response);\n if(response.status == 'success'){\n console.log(response.message);\n }else {\n console.error('error', response.message);\n }\n }\n\n private failureupdateAB = (response) => {\n //console.log('status failed')\n };\n\n private readQuestionBook = (uuid: string) => {\n if(this.serv == \"api\") {\n // this.dataService.getAPIData(\n // this.tkn,\n // [\"QuestionBook\", \"read\", uuid],\n // this.successReadBook,\n // this.failureReadBook\n // );\n //this.sharedService.showLoader();\n this.spinner.show(this.spinnerName);\n let paramMap = { createAnswerBookFlag: true };\n // HA 09FEB24 to clear the error: createAnswerBook is false\n paramMap['c__qb_id'] = uuid;\n paramMap[\"c__record_id\"] = '';\n this.dataService.getAPIFromNode('QuestionBook','read',uuid,JSON.stringify(paramMap),this.api).subscribe(\n (data)=>{\n // this.sharedService.hideLoader();\n // this.spinner.hide(this.spinnerName);\n // VD disabled\n this.isButtonDisabled = false;\n console.log(data);\n // this.sharedService.hide();\n this.successReadBook(JSON.parse(data))\n },(error) => {\n console.error('Failed to fetch question books', error);\n }\n )\n } else {\n // MR 30JAN24 - Passing flag from NGNXT\n let paramMap = { createAnswerBookFlag: true };\n // HA 09FEB24 to clear the error: createAnswerBook is false\n // VD 31NOV24 param changes with new method\n paramMap['c__qb_id'] = uuid;\n paramMap[\"c__record_id\"] = '';\n let para1 = {\n dataType: \"QuestionBook\",\n operation: \"read\",\n param1: uuid,\n paramJSON: JSON.stringify(paramMap),\n languageCode : ''\n }\n // , JSON.stringify(paramMap)\n// VD 12Jun24 - translation changes\n this.sfService.remoteAction(\n // HA 09FEB24 to clear the error: createAnswerBook is false\n \"NxtController.processData\",\n [JSON.stringify(para1)],\n this.successReadBook,\n this.failureReadBook\n );\n }\n }\n private successReadBook = (response) => {\n console.log('Inside the successReadBook');\n console.log(response);\n if(response != null || response != undefined){\n this.qbItem = response.questionbook;\n this.abItem = response.answerbook;\n this.handleBook.emit(response);\n\n }\n // console.log('readingQuestion using ' + this.qbItem);\n if (this.abItem?.status == \"Pending\") {\n if (\n this.abItem.answers == null ||\n this.abItem.answers.length == 0\n ) {\n this.readQuestion(this.qbItem.firstQuestion);\n } else {\n // Populate the existing answers\n var lastQuestionId = \"\";\n\n for (var ansObject of this.abItem.answers) {\n lastQuestionId = ansObject.quesId;\n\n this.questionStack.push(ansObject.quesId);\n\n this.answerMap.set(ansObject.quesId, {\n quesValue: ansObject.quesValue,\n ansValue: ansObject.ansValue,\n quesId: ansObject.quesId,\n qTyp: ansObject.qTyp,\n groupText:ansObject.groupText,\n });\n\n //console.log(this.questionStack)\n if (ansObject.qTyp == \"Book\") {\n var av1 = ansObject.ansValue.split(\"@@##$$\");\n // //console.log(\"book log\");\n\n // //console.log(\"bookid\" + av1[0]);\n this.attachmentsMap.set(ansObject.quesId, [\n { attachmentName: av1[1], attachmentId: av1[0] },\n ]);\n // //console.log(this.attachmentsMap);\n } else if (ansObject.qTyp == \"File\") {\n // //console.log(\"inside if\");\n var attList;\n var att;\n for (var attVar of ansObject.ansValue.split(\",\")) {\n var attIdName = attVar.split(\"@@##$$\");\n att.attachmentName = attIdName[1];\n att.attachmentId = attIdName[0];\n attList.push(att);\n }\n this.attachmentsMap.set(ansObject.quesId, attList);\n // //console.log(this.attachmentsMap);\n }\n }\n\n this.questionStack.pop();\n //console.log(this.answerMap);\n // Read the last answered question\n this.readQuestion(lastQuestionId);\n }\n } else if (this.abItem?.status == \"Completed\") {\n this.handleEvent.emit(\"Summaryupdated\");\n this.spinner.hide(this.spinnerName);\n // Temporary Fix for duplicate answers on the summary.\n this.summary = [];\n this.percent = 100;\n this.progressStyle = \"100%\";\n if(this.serv != 'api'){\n // VD 31NOV24 wrapper changes\n for (var answer of this.abItem.answers) {\n var answers = {};\n if (answer.qTyp == \"File\") {\n var files = \"\";\n var fIndex = 0;\n var fileList = answer.ansValue.split(\",\");\n for (var fileIdName of fileList) {\n var fileName = fileIdName.split(\"@#$\");\n if (fIndex == 0) {\n files = fileName[1];\n } else {\n files = files + \" ,\" + fileName[1];\n }\n fIndex++;\n }\n\n answers = {\n groupText:answer.groupText,\n quesValue: answer.quesValue,\n ansValue: files,\n };\n // this.summary.push(answers);\n } else if (answer.qTyp == \"Book\") {\n /* var quesNo=0;\n if(answer.ansValue.includes(\"@@##$$\")){\n //console.log('line 1223');\n for (var bqAnswerValue of answer.ansValue.split(\"@@##$$\")) {\n var quesValue=answer.questionText.split(\"@@##$$\");\n answers = {};\n answers = {\n // groupText:answer.questionText,\n quesValue: \"&lt;p&gt;\"+ quesValue[quesNo]+\"&lt;p&gt;\",\n ansValue: bqAnswerValue,\n };\n quesNo++;\n this.summary.push(answers);\n }\n }*/\n if(answer.ansValue.includes(\"@@##$$\")){\n var answervalues = answer.ansValue.split(\"@@##$$\");\n //console.log('value')\n answers = {\n //groupText:answer.groupText,\n quesValue: answer.quesValue,\n ansValue: answervalues,\n };\n //console.log(answers)\n // this.summary.push(answers);\n }\n else{\n answers = {\n //groupText:answer.groupText,\n quesValue: answer.quesValue,\n ansValue: answer.ansValue,\n };\n // this.summary.push(answers);\n }\n } else {\n // var ans1 = answer.ansValue.split(\"@@##$$\");\n answers = {\n //groupText:answer.groupText,\n quesValue: answer.quesValue,\n ansValue: answer.ansValue,\n };\n // this.summary.push(answers);\n }\n }\n }\n\n }\n };\n\n private failureReadBook = (response) => {\n console.log('Inside the failureReadBook');\n console.log(response);\n };\n\n private readAnswerbook = (uuid: string) => {\n if(this.serv = \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"AnswerBook\", \"read\", uuid],\n this.successAnswerBookRead,\n this.failureAnswerBookRead\n );\n } else {\n // VD 15FEB24 - used processNew method\n let paramMap = { createAnswerBookFlag: false };\n paramMap['c__qb_id'] = uuid;\n paramMap[\"c__record_id\"] = '';\n // VD 31NOV24 param changes with new method\n let para2 = {\n dataType: \"AnswerBook\",\n operation: \"read\",\n param1: uuid,\n paramJSON: JSON.stringify(paramMap),\n languageCode : ''\n }\n// VD 12Jun24 - translation changes\n this.sfService.remoteAction(\n \"NxtController.processData\",\n [JSON.stringify(para2)],\n this.successAnswerBookRead,\n this.failureAnswerBookRead\n );\n }\n }\n\n\n private successAnswerBookRead = (response) => {\n if (this.abItem?.status == \"Completed\") {\n for (var answer of this.abItem.answers) {\n var av = answer.ansValue.split(\"@@##$$\");\n var answers = { quesValue: answer.quesValue, ansValue: av, groupText:answer.groupText };\n //console.log(answers)\n this.summary.push(answers);\n }\n this.handleEvent.emit(\"Summaryupdated\");\n }\n };\n\n private failureAnswerBookRead = (response) => {\n //console.log('inside failureread');\n //console.log(response);\n };\n\n private readQuestion = (uuid: string) => {\n if(this.serv == \"api\") {\n // this.dataService.getAPIData(\n // this.tkn,\n // [\"Question\", \"read\", uuid],\n // this.successRead,\n // this.failureRead\n // );\n //this.sharedService.showLoader();\n let paramMap = { createAnswerBookFlag: true };\n // HA 09FEB24 to clear the error: createAnswerBook is false\n paramMap['c__qb_id'] = uuid;\n paramMap[\"c__record_id\"] = '';\n this.dataService.getAPIFromNode('Question','read',uuid,JSON.stringify(paramMap),this.api).subscribe(\n (data)=>{\n // this.sharedService.hideLoader();\n this.spinner.hide(this.spinnerName);\n // VD disabled\n this.isButtonDisabled = false;\n console.log('data came sucessfully');\n console.log(data);\n this.successRead(JSON.parse(data))\n },(error) => {\n //this.sharedService.hideLoader();\n this.spinner.hide(this.spinnerName);\n console.error('Failed to fetch question books', error);\n }\n )\n } else {\n // HA 09FEB24 to clear the error: createAnswerBook is false\n // // VD 15FEB24 - make createAnswerBookFlag false only\n let paramMap = { createAnswerBookFlag: false };\n paramMap['c__qb_id'] = uuid;\n paramMap[\"c__record_id\"] = '';\n // VD 31NOV24 param changes with new method\n let para2 = {\n dataType: \"Question\",\n operation: \"read\",\n param1: uuid,\n paramJSON: JSON.stringify(paramMap),\n languageCode : ''\n }\n this.sfService.remoteAction(\n // HA 09FEB24 to clear the error: createAnswerBook is false\n \"NxtController.processData\",\n [JSON.stringify(para2)],\n this.successRead,\n this.failureRead\n );\n }\n }\n\n private successRead = (response) => {\n this.spinner.hide(this.spinnerName);\n // VD disabled\n this.isButtonDisabled = false;\n console.log('Inside the successRead');\n console.log(response);\n // HA 02FEB24 For testing for used this and in future it can be used to test with static data\n // var ab = ['first','last','123','12-12-2000','22','Male','12 cross 1','EmContact','98765','A','Single'];\n // for(const [index,item] of response.question.subQuestions.entries()){\n // item.input = ab[index];\n // }\n // console.log(this.questionItem);\n // Reset the Variables\n\n if (this.questionItem) {\n this.inpValue = \"\";\n this.answerWrap = new AnswerWrapper();\n this.optionValues = [];\n this.subQuestions = [];\n this.resetFlag(this.questionItem.type);\n }\n this.questionItem = response.question;\n // console.log(this.questionItem);\n\n if(this.questionItem.type === 'Alphanumeric'){\n this.splCCBackClick = true;\n }\n\n this.currentQuestionId = this.questionItem.id;\n this.handlePage.emit(this.questionItem.trackingId);\n // Handle the subQuestion options\n if (response.sqOptions) {\n //var newRecords = [];\n for (var q of this.questionItem.subQuestions) {\n //console.log(q.Name);\n var sq = response.sqOptions[q.id];\n if (sq) {\n //console.log('found options for subquestion ' + q.Name);\n if (!q.options) {\n q.options = sq.options;\n }\n }\n }\n }\n this.processQuestion();\n this.innerhtml = this.sanitizer.bypassSecurityTrustHtml(\n this.questionItem.additionalRichContent\n );\n this.trackId();\n };\n\n trackId() {\n var qtrackId = this.questionItem.trackingId;\n //console.log('trackId-question'+qtrackId);\n }\n\n private failureRead = (response) => {\n //console.log('inside failureread');\n //console.log(response);\n };\n\n private saveAnswer = () => {\n // Set the Answer Number based on the Question Stack Length\n if (this.inpValue != \".\") {\n this.currentQuestionId = null;\n }\n this.answerWrap.ansNumber = this.questionStack.length + 1;\n\n if(this.serv == \"api\") {\n // this.dataService.getAPIData(\n // this.tkn,\n // [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\n // this.successSave,\n // this.failureSave\n // );\n let paramMap = { createAnswerBookFlag: false };\n // HA 09FEB24 to clear the error: createAnswerBook is false\n paramMap['c__qb_id'] = '';\n paramMap[\"c__record_id\"] = '';\n this.dataService.getAPIFromNode('Answer','create',JSON.stringify(this.answerWrap),JSON.stringify(paramMap),this.api).subscribe(\n (data)=>{\n console.log('data came sucessfully');\n console.log(data);\n this.successSave(JSON.parse(data))\n },(error) => {\n console.error('Failed to fetch question books', error);\n }\n )\n } else {\n // VD 15FEB24 - used processNew method\n let paramMap = { createAnswerBookFlag: false };\n paramMap['c__qb_id'] = '';\n paramMap[\"c__record_id\"] = '';\n // VD 31NOV24 param changes with new method\n let para3 = {\n dataType: \"Answer\",\n operation: \"create\",\n param1: JSON.stringify(this.answerWrap),\n paramJSON: JSON.stringify(paramMap),\n languageCode : ''\n }\n// VD 12Jun24 - translation changes\n this.sfService.remoteAction(\n \"NxtController.processData\",\n [JSON.stringify(para3)],\n this.successSave,\n this.failureSave\n );\n }\n };\n\n htmlDecode(input) {\n var doc = new DOMParser().parseFromString(input, \"text/html\");\n return doc.documentElement.textContent;\n }\n\n private successSave = (response) => {\n if (response.status == \"success\") {\n //this.abItem = response.answerbook;\n this.answerMap.set(response.answer.quesId, response.answer);\n } else {\n this.questionItem.error = new ErrorWrapper();\n this.questionItem.error.errorMsg = response.error.errorMsg;\n }\n if(!this.backButtonFlag){\n this.next();\n }\n };\n\n private failureSave = (response) => {\n //console.log('inside failureSave');\n //console.log(response);\n };\n\n private processQuestion = () => {\n // console.log('Inside the processQuestion');\n // console.log('splCCBackClick = '+this.splCCBackClick);\n // console.log(this.questionStack);\n //console.log(this.questionItem);\n this.pop = true;\n\n // if(!this.back){\n // this.questionName.push(this.questionItem.Name)\n // }\n\n if (this.qbItem.progressBar === true) {\n if (!this.back) {\n this.questionName.push(this.questionItem.Name);\n }\n this.back = false;\n if (this.questionName[0] === this.questionName[1]) {\n this.questionName.pop();\n }\n\n this.currentName = this.questionItem.Name;\n this.pathquestion = this.questionName.indexOf(this.currentName);\n this.possibilities = this.qbItem.possibilities;\n }\n\n this.myDatePickerOptions;\n this.day();\n //console.log('processing question ' + this.questionItem.Name + ' existing answers are ' + this.answerMap.size); // => ' + JSON.stringify(this.questionItem));\n\n // Set the Flags to show right fields\n this.setFlag(this.questionItem.type);\n //console.log('After the setFlag method dtFlag = '+this.dtFlag);\n\n // Check the existing answer from answerMap\n if (this.answerMap.has(this.questionItem.id)) {\n // //console.log(\"existing answer found for this.questionItem.Name\");\n var eAnswer = this.answerMap.get(this.questionItem.id);\n // Get the existing answer from the Map\n this.inpValue = eAnswer.ansValue;\n //console.log('inpValue has been set to ' + this.inpValue);\n if (this.attachmentsMap.has(this.questionItem.id)) {\n this.attachments = this.attachmentsMap.get(this.questionItem.id);\n }\n } else {\n //console.log('inside removing attachment array');\n this.attachments = [];\n }\n // console.log(this.inpValue);\n if(this.splCCBackClick && this.inpValue && this.inpValue.includes('ES')){\n // console.log('Inside the if cond');\n this.splCCBackClick = false;\n this.inpValue = this.inpValue.replace('ES','');\n }\n\n if (this.checkboxFlag) {\n // Set the Options for Checkbox\n this.setOptions(this.questionItem.options);\n } else if (this.bookFlag) {\n //console.log('Inise the expected bookFlag cond');\n //console.log('dtFlag = '+this.dtFlag);\n// HA 20FEB24 Label Fix\n this.questionItem.subQuestions.forEach(element => {\n element.questionText = element.questionText.replace(/<[^>]+>/g, '');\n });\n this.setSubQuestions(this.questionItem.subQuestions);\n } else if (this.listFlag) {\n // Set the LocalSubQuestions\n // console.log('inside list flag');\n // console.log(this.questionItem.Questions__r.records);\n // console.log(this.abItem.Questions__r.records);\n if(!this.localSubQMap.has(this.questionItem.id)){\n this.setSubQuestions(this.questionItem.subQuestions);\n }\n } else if (this.dtFlag) {\n //console.log('Inise the unexpected dtFlag cond');\n this.selectedHour = \"\";\n this.selectedMinute = \"\";\n this.selDate = \"\";\n // 2021-5-16T00:00\n if (this.dateMap.has(this.questionItem.id)) {\n this.selDate = this.dateMap.get(this.questionItem.id);\n }\n if (this.selectedhourMap.has(this.questionItem.id)) {\n this.selectedHour = this.selectedhourMap.get(this.questionItem.id);\n }\n if (this.selectedminuteMap.has(this.questionItem.id)) {\n this.selectedMinute = this.selectedminuteMap.get(this.questionItem.id);\n }\n if (this.questionItem.x24Hours === true) {\n this.hours.push(\n \"13\",\n \"14\",\n \"15\",\n \"16\",\n \"17\",\n \"18\",\n \"19\",\n \"20\",\n \"21\",\n \"22\",\n \"23\",\n \"00\"\n );\n }\n if (this.questionItem.x24Hours === false) {\n this.hours = this.hours.slice(0, 12);\n }\n if (this.dtFlag && this.inpValue) {\n var dtVal = this.inpValue.split(\"T\");\n var dtval0 = this.inpValue.split(\" \");\n this.inpValue = dtVal[0];\n this.inpValue = dtval0[0];\n\n this.questionItem.input = dtVal[1];\n this.questionItem.input = dtval0[1];\n }\n if (\n this.questionItem.isDateBackward ||\n this.questionItem.isDateForward\n ) {\n if (this.questionItem.isDateBackward === true) {\n this.myDatePickerOptions.disableSince = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate() + 1,\n };\n }\n if (this.questionItem.isDateForward === true) {\n this.myDatePickerOptions.disableUntil = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate(),\n };\n }\n }\n } else if (this.fileFlag) {\n this.fileUI();\n // logic\n this.allowedFileExtension =\n this.questionItem.allowedFileExtensions?.split(\";\");\n //console.log(this.allowedFileExtension);\n }\n\n if (this.qbItem.progressBar === true) {\n this.updateProgress();\n }\n };\n\n setFlag(typ) {\n //console.log('inside setFlag for ' + typ);\n\n if (typ) {\n // Set the Flags\n if (typ == \"Text\") {\n this.textFlag = true;\n\n //this.numberFlag = true;\n } else if (typ == \"Number\") {\n this.numberFlag = true;\n } else if (typ == \"AlphaNumeric\") {\n this.alphanumericFlag = true;\n /*if(this.inpValue.length === 0){\n this.inpValue='ES'\n }*/\n } else if (typ == \"Email\") {\n this.emailFlag = true;\n } else if (typ == \"File\") {\n this.fileFlag = true;\n } else if (typ == \"DateTime\") {\n this.dtFlag = true;\n this.timeFlag = true;\n this.dateFlag = true;\n } else if (typ == \"TextArea\") {\n this.taFlag = true;\n } else if (typ == \"Radio\") {\n this.radioFlag = true;\n } \n // else if (typ == \"RichTextArea\") {\n // this.rtaFlag = true;\n // } \n else if (typ == \"Dropdown\") {\n this.dropdownFlag = true;\n } else if (typ == \"Checkbox\") {\n this.checkboxFlag = true;\n } else if (typ == \"Book\") {\n this.bookFlag = true;\n }else if (typ == 'List'){\n this.listFlag = true;\n } else if (typ == \"Time\") {\n //console.log('Inside the Time cond');\n this.dtFlag = true;\n this.timeFlag = true;\n //console.log(this.dtFlag);\n } else if (typ == \"Date\") {\n //console.log('Inside the Date cond');\n this.dtFlag = true;\n this.dateFlag = true;\n //console.log(this.dtFlag);\n }\n }\n }\n\n resetFlag(typ) {\n if (typ) {\n // Set the Flags\n if (typ == \"Text\") {\n this.textFlag = false;\n //this.numberFlag = false;\n } else if (typ == \"Number\") {\n this.numberFlag = false;\n } else if (typ == \"Alphanumeric\") {\n this.alphanumericFlag = false;\n } else if (typ == \"Email\") {\n this.emailFlag = false;\n } else if (typ == \"File\") {\n this.fileFlag = false;\n } \n // else if (typ == \"RichTextArea\") {\n // this.rtaFlag = false;\n // } \n else if (typ == \"DateTime\") {\n this.dtFlag = false;\n this.dateFlag = false;\n this.timeFlag = false;\n } else if (typ == \"TextArea\") {\n this.taFlag = false;\n } else if (typ == \"Radio\") {\n this.radioFlag = false;\n } else if (typ == \"Dropdown\") {\n this.dropdownFlag = false;\n } else if (typ == \"Checkbox\") {\n this.checkboxFlag = false;\n } else if (typ == \"Book\") {\n this.bookFlag = false;\n } else if (typ == 'List'){\n this.listFlag = false;\n } else if (typ == \"Time\") {\n this.dtFlag = false;\n this.timeFlag = false;\n } else if (typ == \"Date\") {\n this.dtFlag = false;\n this.dateFlag = false;\n }\n }\n }\n\n setOptions(records) {\n for (var opt of records) {\n var ov = new OptionValue();\n ov.id = opt.id;\n ov.Name = opt.Name;\n ov.value = opt.value;\n ov.nextQuestion = opt.nextQuestion;\n ov.checked = false;\n\n if (\n this.inpValue &&\n this.inpValue.split(\"@@##$$\").includes(opt.value)\n ) {\n ov.checked = true;\n }\n\n this.optionValues.push(ov);\n }\n }\n\n // Capture and Process Child Event\n childEventCapture(event, ques?:any) {\n console.log('inside childEventCapture ');\n console.log(event);\n this.changeService.announceChange(event);\n // HA 31-JAN-24 Assign values to dropdown question\n ques.input = event?.valueObj;\n //ques.input = event; // here when using the ng-select got event as value\n }\n\n// RS 06JAN25\n// for richtext\n handleRichTextChange(value: string) {\n // this.inpValue = value;\n // this.clearError(); \n console.log('Rich Text Change Captured:', value);\n}\n\n setSubQuestions(records) {\n // console.log('inside setSubQuestions');\n // console.log(records);\n var qaMap = new Map();\n // console.log(this.inpValue);\n if (this.inpValue) {\n var aIndex = 0;\n // search changed as semi colon because of address contains comma\n if ((this.inpValue.search(\"; \") == -1)) {\n // const withoutAnswerString = this.inpValue.replace(\"answerString: \", \"\"); //remove the answer string\n // this.inpValue = withoutAnswerString;\n this.inpValue = this.inpValue + '@@##$$' ;\n for (var ansStr of this.inpValue.split(\"@@##$$\")) {\n aIndex++;\n qaMap.set(aIndex, ansStr);\n //console.log('Setting the qaMap for ' + aIndex + ' with ' + ansStr);\n }\n } else {\n for (var ansStr of this.inpValue.split(\"; \")) {\n aIndex++;\n qaMap.set(aIndex, ansStr);\n //console.log('Setting the qaMap ' + aIndex + ' with ' + ansStr);\n }\n }\n }\n // console.log('after setting values from inpvalue qa map are');\n // console.log(qaMap);\n\n for (var ques of records) {\n if (ques.type == \"File\") {\n this.valueName1 = ques.allowedFileExtensions;\n //console.log(this.valueName1);\n }\n\n var ans = '';\n if (qaMap.has(ques.questionNumber)) {\n ques.input = qaMap.get(ques.questionNumber);\n // console.log('after fetching map values');\n // console.log(ques.input);\n if(ques.input.indexOf('$$@@##') > 0){\n // console.log('answer supposed to be trimmed');\n // console.log(ques.input);\n ans = ques.input.substring(ques.input.indexOf('$$@@##')+6,ques.input.length);\n // console.log(ans);\n ques.input = ques.input.substring(0,ques.input.indexOf('$$@@##'));\n // console.log(ques.input);\n }\n }\n\n if ((ques.type === \"Date\") && (ques.isDateBackward || ques.isDateForward)) {\n //console.log('Inside the date backward/forward cond');\n if (ques.isDateBackward === true) {\n //console.log('Inside the isDateBackward');\n this.myDatePickerOptions.disableSince = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate() + 1,\n };\n }\n if (ques.isDateForward === true) {\n //console.log('Inside the isDateForward');\n this.myDatePickerOptions.disableUntil = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate(),\n };\n }\n //console.log(this.myDatePickerOptions);\n }\n\n this.subQuestions.push(ques);\n for(var i=0; i<this.subQuestions.length;i++){\n // to show/hide the dependent dropdown only field using the dropDownOnly boolean\n if(this.subQuestions[i].size == 4){\n this.subQuestions[i].dropDownOnly = true;\n }else{\n this.subQuestions[i].dropDownOnly = false;\n }\n }\n if(ans != ''){\n for(var an of (ans.split('$$@@##'))){\n var sQ = new Question();\n Object.assign(sQ,ques);\n sQ.input = an;\n this.subQuestions.push(sQ);\n }\n }\n }\n if (this.valueName1 != null && this.valueName1.length > 0) {\n this.bookFlagAccept = this.valueName1.split(\";\");\n //console.log(this.subQuestions);\n }\n this.structLocalSubQuestion(null);\n // HA 02FEB24 On Edit to display the value usiing this\n if(this.allInputValues.length > 0){\n this.subQuestions.forEach(element => {\n for(let singleInput of this.allInputValues){\n if(element.id == singleInput.id){\n element.input = singleInput.input;\n }\n }\n });\n }\n }\n\n optionChange(selValue) {\n let radioTrackingId: string = \"\";\n for (var opt of this.questionItem.options) {\n //console.log('optionChange TrackingId'+opt.trackingId);\n if (opt.value == selValue) {\n //console.log('inside if'+opt.trackingId)\n radioTrackingId = opt.trackingId;\n }\n }\n\n this.handleEvent.emit(radioTrackingId);\n this.clearError();\n // //console.log('inside optionChange using ' + selValue);\n\n this.inpValue = selValue;\n }\n\n clearError() {\n if (this.questionItem.error) {\n this.questionItem.error = null;\n }\n }\n\n clearLocalSubQuesError(quesId) {\n quesId.error = null;\n }\n\n inputValidate(e) {\n var keyCode = e.keyCode || e.which;\n // Only ASCII character in that range allowed\n var ASCIICode = (e.which) ? e.which : e.keyCode;\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)){\n return false;\n }else{\n return true;\n }\n }\n\n CCOnChange(inpValue: string) {\n\n if (inpValue.length == 2) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 7) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 12) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 17) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 22) {\n this.inpValue += \" \";\n }\n\n }\n\n isNotValidAccNumber(s: string) {\n s = s.replace(/\\s+/g, \"\");\n s = 'ES' + s;\n var isNotValidStr = false;\n if (s.length == 24) {\n for (var i = 0; i < s.length; i++) {\n if (i <= 1 && /[a-zA-Z]/.test(s.charAt(i))) {\n //console.log(\"Valid char: \" + s.charAt(i));\n } else if (i > 1 && /[0-9]/.test(s.charAt(i))) {\n //console.log(\"Valid numeric: \" + s.charAt(i));\n } else {\n isNotValidStr = true;\n //console.log(\"Not a valid char\");\n }\n }\n } else {\n isNotValidStr = true;\n //console.log(\"Not a valid acc number\");\n }\n return isNotValidStr;\n }\n\n clearSQError(quesId) {\n var sqList = this.subQuestions.filter((item) => item.id == quesId);\n for (var sq of sqList) {\n sq.error = null;\n }\n }\n\n uploadFile(event,ques?:any) {\n //console.log('inside upload');\n this.clearError();\n this.fileTypeIncorrect = false;\n var local = this;\n local.attachment = event.target.files[0];\n // Validate the file extension\n //console.log(local.attachment);\n let fileNameWithType: string =\n local.attachment && local.attachment.name.toLowerCase();\n if (\n !fileNameWithType.endsWith(\".jpg\") &&\n !fileNameWithType.endsWith(\".png\") &&\n !fileNameWithType.endsWith(\".pdf\") &&\n !fileNameWithType.endsWith(\".jpeg\") &&\n !fileNameWithType.endsWith(\".heic\") &&\n !fileNameWithType.endsWith(\".heif\") &&\n !fileNameWithType.endsWith(\".JPG\") &&\n !fileNameWithType.endsWith(\".PNG\") &&\n !fileNameWithType.endsWith(\".PDF\") &&\n !fileNameWithType.endsWith(\".JPEG\") &&\n !fileNameWithType.endsWith(\".HEIC\") &&\n !fileNameWithType.endsWith(\".HEIF\")\n ) {\n local.fileTypeIncorrect = true;\n }\n // Return when the file type is incorrect\n if (local.fileTypeIncorrect) {\n return;\n }\n let fileContent: any;\n var reader = new FileReader();\n\n reader.onload = function () {\n fileContent = reader.result;\n local.fileExceededLimit = local.attachment.size > 3242880; //Validating file size\n // Upload the file to Salesforce when the limit is within range\n if (!local.fileExceededLimit) {\n let fileWrapper = new AttachmentWrapper();\n fileWrapper.parentId = local.abItem.id;\n fileWrapper.fileName = local.attachment.name;\n fileWrapper.fileContent = fileContent;\n local.createAttachment(fileWrapper);\n ques.input = fileWrapper.fileName;\n }\n };\n this.spinner.show(this.spinnerName);\n reader.readAsDataURL(event.target.files[0]);\n }\n\n private successAttachmentCreate = (response) => {\n let createdAttachment: Attachment = new Attachment(\n response.attachmentId,\n response.attachmentName,\n this.attachment.lastModifiedDate\n );\n this.attachments.push(createdAttachment);\n this.attachmentsMap.set(this.questionItem.id, this.attachments);\n this.spinner.hide(this.spinnerName);\n };\n\n private successAttachmentDelete = (response) => {\n for (let i = 0; i < this.attachments.length; i++) {\n if (this.attachments[i].attachmentId === this.attachmentId) {\n this.attachments.splice(i, 1);\n }\n }\n };\n\n private failureAttachmentCreate = (response) => {\n //console.log('inside failureAttachmentCreate');\n };\n\n private failureAttachmentDelete = (response) => {\n //console.log('inside failureAttachmentDelete');\n };\n\n handleSubmitClick() {\n this.handleEvent.emit(this.qbItem.submitTrackingId);\n this.updateAnswerBook(this.abItem.id);\n }\n\n handleCancelClick() {\n this.handleEvent.emit(this.qbItem.cancelTrackingId);\n }\n\n private createAttachment = (fileWrapper: any) => {\n if(this.serv == \"api\") {\n // this.dataService.getAPIData(\n // this.tkn,\n // [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\n // this.successAttachmentCreate,\n // this.failureAttachmentCreate\n // );\n let paramMap = { createAnswerBookFlag: false };\n paramMap['c__qb_id'] = '';\n paramMap[\"c__record_id\"] = '';\n this.dataService.getAPIFromNode('Attachment','create', JSON.stringify(fileWrapper),JSON.stringify(paramMap),this.api).subscribe(\n (data)=>{\n console.log('updated succussfully');\n console.log(data);\n this.successAttachmentCreate(JSON.parse(data))\n },(error) => {\n this.failureAttachmentCreate(error);\n console.error('Failed to fetch question books', error);\n }\n )\n } else {\n // VD 15FEB24 - used processNew method\n let paramMap = { createAnswerBookFlag: false };\n paramMap['c__qb_id'] = '';\n paramMap[\"c__record_id\"] = '';\n // VD 12Jun24 - translation changes\n // VD 31NOV24 param changes with new method\n let para3 = {\n dataType: \"Attachment\",\n operation: \"create\",\n param1: JSON.stringify(fileWrapper),\n paramJSON: JSON.stringify(paramMap),\n languageCode : ''\n }\n this.sfService.remoteAction(\n \"NxtController.processData\",\n [JSON.stringify(para3)],\n this.successAttachmentCreate,\n this.failureAttachmentCreate\n );\n }\n }\n\n deleteAttachment(attachmentId: string) {\n this.attachmentId = attachmentId;\n this.handleEvent.emit(\"deleteAttachment\");\n this.deleteSFAttachment(attachmentId);\n }\n\n private deleteSFAttachment = (fileId: string) => {\n if(this.serv == \"api\") {\n // this.dataService.getAPIData(\n // this.tkn,\n // [\"Attachment\", \"delete\", fileId],\n // this.successAttachmentDelete,\n // this.failureAttachmentDelete\n // );\n let paramMap = { createAnswerBookFlag: false };\n paramMap['c__qb_id'] = '';\n paramMap[\"c__record_id\"] = '';\n this.dataService.getAPIFromNode('Attachment','delete',fileId ,JSON.stringify(paramMap),this.api).subscribe(\n (data)=>{\n console.log('updated succussfully');\n console.log(data);\n this.successAttachmentDelete(JSON.parse(data))\n },(error) => {\n this.failureAttachmentDelete(error);\n console.error('Failed to fetch question books', error);\n }\n )\n } else {\n // VD 15FEB24 - used processNew method\n let paramMap = { createAnswerBookFlag: false };\n paramMap['c__qb_id'] = '';\n paramMap[\"c__record_id\"] = '';\n // VD 31NOV24 param changes with new method\n let para4 = {\n dataType: \"Attachment\",\n operation: \"delete\",\n param1: fileId,\n paramJSON: JSON.stringify(paramMap),\n languageCode : ''\n }\n this.sfService.remoteAction(\n \"NxtController.processData\",\n [fileId,JSON.stringify(para4)],\n this.successAttachmentDelete,\n this.failureAttachmentDelete\n );\n }\n }\n\n getFileName(fileNamewithIdandType) {\n //truncate file path\n var fileNameWithType = fileNamewithIdandType.substr(\n fileNamewithIdandType.indexOf(\"::::\") + 4\n );\n return fileNameWithType; //fileNameWithType.replace(/^(.*(\\/|\\\\))(.+)$/, '$3');\n }\n fileUI() {\n if (this.attachments.length === 0) {\n }\n }\n\n //Update function for categorization\n // stepperCateg() {\n // this.firstFormGroup = this._formBuilder.group({\n // firstCtrl: ['', Validators.required]\n // });\n // this.secondFormGroup = this._formBuilder.group({\n // secondCtrl: ['', Validators.required]\n // });\n\n // }\n\n // Update Function for the Progress Bar\n updateProgress() {\n if (this.qbItem.progressBar === true) {\n let j = [];\n for (let i = 0; i < this.possibilities.total; i++) {\n var pathposs = Object.values(this.possibilities.paths[i].questions);\n if (pathposs[this.pathquestion] === this.currentName) {\n j.push(i);\n this.check = true;\n } else {\n this.check = false;\n }\n }\n if (j.length === 1) {\n this.count = j[0];\n }\n if (j.length > 1) {\n var width =\n 90 * (this.questionStack.length / this.possibilities.maxQuestions);\n this.progressStyle = Math.round(width) + \"%\";\n } else if (j.length === 1) {\n var width =\n 90 *\n (this.questionStack.length /\n this.possibilities.paths[this.count].count);\n this.progressStyle = Math.round(width) + \"%\";\n }\n this.percent = +Math.round(width);\n }\n }\n\n townName(area) {\n this.selectedValue = area.town;\n //console.log('this value='+this.selectedValue)\n this.tempoAddress = [];\n }\n\n getTownLocal() {\n this.tempoAddress = [];\n if (this.selectedValue.length > 0) {\n for (var val of this.localaddress) {\n if (\n val.town.substring(0, this.selectedValue.length) == this.selectedValue\n ) {\n //console.log(val.country)\n this.tempoAddress.push(val);\n //console.log('tempoAddress'+this.tempoAddress)\n if (this.tempoAddress.length == 6) {\n break;\n }\n }\n }\n }\n document.getElementById(\"selectList\").style.display = \"block\";\n this.setSearchListWidth();\n }\n\n clearList() {\n setTimeout(() => {\n this.tempoAddress = [];\n }, 500);\n }\n\n setSearchListWidth() {\n //to resize search list based on the screen size\n const searchBoxWidth = window.document.getElementById(\"autocomplete-input\").offsetWidth;\n document.getElementById(\"selectList\").style.width = searchBoxWidth + \"px\";\n }\n\n getCode(){\n this.tempoAddress = [];\n if (this.selectedPostalcode.length > 0) {\n for (var val of this.allAddress) {\n if (val.zipCode.substring(0, this.selectedPostalcode.length) == this.selectedPostalcode) {\n //console.log(val.country)\n this.tempoAddress.push(val);\n //console.log('tempoAddress'+this.tempoAddress)\n if (this.tempoAddress.length == 6) {\n break;\n }\n }\n }\n }\n document.getElementById(\"selectList\").style.display = \"block\";\n this.setSearchListWidth();\n }\n getPostalcode(value){\n this.places=[];\n this.province=[];\n var province;\n var town;\n this.selectedPostalcode = value.zipCode;\n this.selectedValue = value.country;\n this.tempoAddress=[];\n\n\n for(var val of this.localaddress){\n if(this.selectedPostalcode == val.zipCode ){\n this.places.push(val);\n this.province.push(val);\n this.selectedValue = val.country;\n province = val.province\n town = val.town;\n }\n }\n if(this.places.length == 1){\n\n this.selectedProvince =province;\n this.selectedCity = town;\n }else if(this.places.length >1 || this.places.length ==0){\n\n this.selectedCity ='';\n this.selectedProvince='';\n }\n }\n closeDropdown() {\n if(this.selectedPostalcode.length == 5){\n this.getPostalcode({zipCode:this.selectedPostalcode});\n }\n\n setTimeout(()=> {\n document.getElementById('selectList').style.display = \"none\";\n }, 500);\n }\n\n\n //Plus button implementation.\n structLocalSubQuestion(ques: LocalQuestion){\n // console.log('inside structLocalSubQuestion');\n for(var i = 0; i < this.subQuestions.length; i++){\n var localSubQuestion = new LocalQuestion();\n localSubQuestion.id = this.subQuestions[i].id;\n localSubQuestion.Name = this.subQuestions[i].Name;\n localSubQuestion.question = this.subQuestions[i].question;\n localSubQuestion.questionText = this.subQuestions[i].questionText;\n localSubQuestion.type = this.subQuestions[i].type;\n localSubQuestion.title = this.subQuestions[i].title;\n localSubQuestion.subTitle = this.subQuestions[i].subTitle;\n localSubQuestion.isOptional = this.subQuestions[i].isOptional;\n localSubQuestion.errorMessage = this.subQuestions[i].errorMessage;\n localSubQuestion.nextQuestion = this.subQuestions[i].nextQuestion;\n localSubQuestion.groupName = this.subQuestions[i].groupName;\n localSubQuestion.questionNumber = this.subQuestions[i].questionNumber;\n localSubQuestion.allowedFileExtensions = this.subQuestions[i].allowedFileExtensions;\n localSubQuestion.uniqueSubQId = ''+this.subQuestions[i].id + i;\n localSubQuestion.input = this.subQuestions[i].input;\n this.localSubQuestions.push(localSubQuestion);\n }\n // console.log('final local sub questions');\n // console.log(this.localSubQuestions);\n // console.log(this.questionItem.id);\n this.localSubQMap.set(this.questionItem.id,this.localSubQuestions);\n this.localSubQuestions = [];\n // console.log('final key localSubQMap map');\n // console.log(this.localSubQMap);\n }\n\n addInputBox(question: LocalQuestion, index: number){\n var arra = this.localSubQMap.get(this.questionItem.id);\n var qIndex = arra.indexOf(question);\n var ques: LocalQuestion = new LocalQuestion();\n Object.assign(ques, question);\n //console.log((ques.uniqueSubQId).substring(18, (ques.uniqueSubQId).length)+1);\n if(this.keyIndex == index){\n ques.uniqueSubQId = ques.id + (String(index+1));\n this.keyIndex++;\n }else{\n this.keyIndex++;\n ques.uniqueSubQId = ques.id + (String(this.keyIndex));\n }\n ques.input = '';\n arra.splice(qIndex+1, 0, ques);\n\n this.localSubQMap.set(this.questionItem.id,arra);\n //console.log(this.localSubQMap);\n }\n\n removeAddress(quesUniqueId: string, qName: string) {\n //console.log(quesUniqueId)\n var val = this.localSubQMap.get(this.questionItem.id);\n var keyindex = 0;\n\n for(let i=0; i<val.length; i++){\n if(val[i].Name == qName){\n keyindex++;\n }\n }\n\n if(this.localSubQMap.has(this.questionItem.id) && keyindex >1){\n var reorder = val.filter((item) => item.uniqueSubQId !== quesUniqueId)\n this.localSubQMap.set(this.questionItem.id,reorder);\n keyindex--;\n }\n }\n\n getLocalSubQuestions(id: String){\n return this.localSubQMap.get(id);\n }\n\n //Single Add button functionality for List type\nAdd(question: LocalQuestion){\n this.addFlag = false;\n var arra = this.localSubQMap.get(this.questionItem.id);\n var index = arra.length;\n var a = arra.slice(-1).pop();\n this.indexCount = a.questionNumber;\n\n for (var i = 0; i < this.indexCount ; i++) {\n var ques: LocalQuestion = new LocalQuestion();\n Object.assign(ques, question[i]);\n this.keyIndex++;\n ques.uniqueSubQId = ques.id + (String(this.keyIndex));\n ques.input = '';\n arra.splice(index+(this.indexCount-1), 0, ques);\n this.localSubQMap.set(this.questionItem.id,arra);\n }\n this.addFlag = true;\n }\n\n handleLocationSelected(location: any,ques:any) {\n ques.input = location;\n }\n\n selectedInput(input:any ,ques:any){\n ques.input = input;\n }\n\n handleTextareaValueChange(value :string){\n console.log('Selected text-area text:', value);\n }\n getData(data:any){\n console.log('table data',data);\n }\n\n dependentChange(value:any){\n this.nextValue = value;\n }\n\n displayDate(dateSelected: any,ques:any){\n // Parse the date string using moment and assign it to this.selectedDate\n ques.input = moment(dateSelected.value , 'YYYY-MM-DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss').toString();\n }\n\n getKey(item: any): any {\n return Object.keys(item)[0];\n }\n\n getValue(item: any): any {\n return Object.values(item)[0];\n }\n}","<!-- Spinner -->\n<ngx-spinner size=\"medium\" [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\n<!-- custom loader -->\n<!-- <app-loader></app-loader> -->\n<!-- Back Processing -->\n<!-- <div *ngIf=\"backicon == false\" >\n <div class=\"backicon\" >\n <button (click)=\"handleBackClick()\" [class]=\" abItem?.status == 'Completed' ? 'summary-volver':'app-back1'\">\n <img class=\"icon-arrow-back\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-arrow-back.png\" alt=\"Scroll down\"> {{ qbItem?.back }}\n </button>\n </div>\n</div> -->\n\n<!-- Question Hanlding -->\n<!-- VD removed unwanted condition -->\n<!-- RS 09DEC24 Changed keys-->\n<div *ngIf=\"questionItem\" class=\"questiondiv1 padd-bottom\">\n <!-- Progress Bar & Title -->\n <div *ngIf=\"questionItem.title\">\n <h1>{{ questionItem?.title }}</h1>\n <div>{{ questionItem?.subTitle }}</div>\n </div>\n\n <!-- Progress & Grouping -->\n <div>\n <!-- Pie Chart Progress -->\n <div [ngClass]=\"{ bgColor: qbItem?.progressBar }\">\n <div id=\"nxt-progress\" *ngIf=\"qbItem?.progressBar\">\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\n [startFromZero]=\"false\" [responsive]=\"false\" >\n </circle-progress>\n </div>\n </div>\n <!-- RS 09DEC24 Changed keys-->\n <!-- Show the Group/Module related to the Progress -->\n <div *ngIf=\"questionItem.groupName && qbItem.progressBar\"\n [ngClass]=\"{ questionalign: !qbItem?.progressBar }\">\n <div class=\"nxt-largeTitle\">\n <h3 class=\"myt-font6 myt-text3\">\n {{ questionItem?.groupName }}\n </h3>\n <div *ngIf=\"questionItem.subText != '¿En qué país ocurrió?'\" class=\"myt-font5 myt-text1\">{{questionItem?.subText}}</div>\n <div *ngIf=\"questionItem.subText === '¿En qué país ocurrió?'\" class=\"myt-font10 myt-text2\">{{questionItem?.subText}}</div>\n </div>\n </div>\n </div>\n <!-- RS 09DEC24 Changed keys-->\n <!-- Question Handling -->\n <!-- VD 10Aug24- question no -->\n <div>\n <div *ngIf=\"questionItem.questionText\" style=\"display: flex;\">\n <span>{{questionItem?.questionNumber}}.</span>\n <p class=\"nxt-label\" [innerHTML]=\"getText(questionItem?.questionText)\">\n {{questionItem?.questionText}}\n </p>\n </div>\n <!-- Title -->\n <!-- <div *ngIf=\"questionItem.isTitle\">\n <div *ngIf=\"questionItem.type != 'Book' && questionItem.questionNumber!='6' && questionItem.questionNumber!='9'\"> \n <h3 class=\"questionalign myt-font3 myt-align myt-text4\" [innerHTML]=\"getText(questionItem?.questionText)\">\n {{questionItem?.questionText}}\n </h3>\n </div>\n </div> -->\n <!-- HA 31-JAN-24 Removed the unwanted styling class -->\n <!-- <div *ngIf=\"!questionItem.isTitle\" [class]=\"qbItem.isShengel ? 'header-style' : 'question-f-size'\">\n <div [innerHTML]=\"getText(questionItem?.questionText)\" >\n {{ questionItem?.questionText }}\n </div>\n </div> -->\n\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\n <!-- <div *ngIf=\"questionItem.type == 'Book'\">\n <div *ngIf=\"questionItem.questionNumber=='6'\">\n <h3 class=\"myt-321\" [innerHTML]=\"getText(questionItem?.questionText)\">\n {{ questionItem?.questionText }}\n </h3>\n </div>\n </div> -->\n \n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\n <!-- <div *ngIf=\"questionItem.type == 'File' \">\n <div *ngIf=\"questionItem.questionNumber=='9'\">\n <h3 class=\"myt-345\" [innerHTML]=\"getText(questionItem?.questionText)\">\n {{questionItem?.questionText}}\n </h3>\n </div>\n </div> -->\n </div>\n\n <!-- Additional Info -->\n <!-- The below code can be written effectively nested ngIf for Rich Text & Other onw for Progress Bar -->\n <div *ngIf=\"questionItem.additionalRichContent && qbItem.progressBar\" >\n <div\n class=\"nxt-additional \" [innerHTML]=\"innerhtml\">\n </div>\n </div>\n <div *ngIf=\"questionItem.additionalRichContent && !qbItem.progressBar\">\n <div class=\"info-alert ques-alert1\">\n <i class=\"fa fa-info fa-3x iposition icolor\" aria-hidden=\"true\"></i>\n <div class=\"infodiv\" [innerHTML]=\"innerhtml\"></div>\n </div>\n </div>\n\n <!-- Dropdown-->\n <div *ngIf=\"dropdownFlag\" >\n <div class=\"nxt-dis-flex\">\n <select class=\"nxtdropdown\"\n [ngClass]=\"{\n 'dt-line nxt-myt-align3 nxt-myt-align2 dpDown nxt-dropbox down1 myt-dropbox myt-border-r myt-font1': qbItem?.progressBar,\n 'custom-select': !qbItem?.progressBar\n }\" class=\"mr-sm-2 dd-height nxt-dropbox \" id=\"dropdown\" [(ngModel)]=\"inpValue\" (change)=\"clearError()\" style.border-color=\"{{\n this.questionItem?.error ? 'red' : inpValue?.length > 0 ? '#fff' : ''\n }}\" style.color=\"{{ questionItem?.error ? 'red' : '' }}\">\n <option *ngFor=\"let opt of questionItem.options\" class=\"option\" value=\"{{ opt.value }}\">\n {{ opt.value }}\n </option>\n <!-- HA 20DEC23 For Translation -->\n <option value=\".\" disabled hidden>{{'pleaseMakeChoice' | i18n:i18nService.currentLanguage}}</option>\n </select>\n </div>\n </div>\n\n <!--VD Radio update -->\n <div *ngIf=\"radioFlag || dataFlag\" class=\"\">\n <span *ngIf=\"this.questionItem.error\" class=\"nxt-error-msg\"> {{ questionItem?.errorMessage }}</span>\n <div class=\"nxt-custom-radio-container\">\n <div *ngFor=\"let opt of questionItem.options\" \n [class]=\" this.questionItem.error ? 'nxt-custom-radio-option invalid' : 'nxt-custom-radio-option'\">\n <input\n type=\"radio\"\n [id]=\"opt.value\"\n [(ngModel)]=\"inpValue\"\n name=\"inpValue\"\n [value]=\"opt.value\"\n (change)=\"optionChange(opt.value)\"\n />\n <label class=\"nxt-radio-label\" [for]=\"opt.value\"> {{ opt.value }}</label>\n </div>\n </div>\n\n <!-- <div class=\"nxt-dis-flex\">\n <div *ngFor=\"let opt of questionItem.options.records\" class=\"radio nxt-radioOption\">\n <label class=\"nxt-radiocontainer container myt-font4\">\n <input type=\"radio\" [id]=\"opt.id\" [(ngModel)]=\"inpValue\" name=\"inpValue\" [value]=\"opt.value\"\n (change)=\"optionChange(opt.value)\" />\n {{ opt.value }}\n </label>\n </div>\n </div> -->\n </div> \n <!-- Checkbox -->\n <div *ngIf=\"checkboxFlag\" class=\"\">\n <div *ngIf=\"questionItem?.error\" class=\"cond-div2\">\n {{ questionItem?.errorMessage }}\n </div>\n <div class=\"nxt-checkbox-container\">\n <div *ngFor=\"let item of optionValues\" class=\"nxt-checkbox-wrapper\">\n <label class=\"nxt-container1\">\n <input type=\"nxt-checkbox\" [id]=\"item.id\" [(ngModel)]=\"item.checked\" (click)=\"clearError()\" />\n <span class=\"nxt-checkbox-label\">{{ item.value }}</span>\n </label>\n </div>\n </div>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"textFlag\">\n <!-- HA 31-JAN-24 To reduce the margin -->\n <div [class]=\"'col-md-' + questionItem?.size + ' paddingnone'\">\n <input class=\"nxt-input\" type=\"text\" [(ngModel)]=\"inpValue\" \n id=\"text-input-id\" required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\n this.questionItem?.error\n ? 'red'\n : ''\n }}\" oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\n <!-- <i class=\"fa fa-check nxt-check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0\"></i> -->\n </div>\n </div>\n\n <!-- Text Area -->\n <div *ngIf=\"taFlag\" >\n <div>\n <textarea class=\"nxt-input nxt-text-area\" id=\"ta-input-id\" [(ngModel)]=\"inpValue\" (click)=\"clearError()\" style.border-color=\"{{\n this.questionItem?.error\n ? 'red'\n : inpValue?.length > 0 && taFocusOut\n ? '#87be1c'\n : ''\n }}\" (focusout)=\"taFocusOut = true\"\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\"></textarea>\n <!-- <i class=\"fa fa-check nxt-check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0 && taFocusOut\" style=\"display: flex; justify-content: flex-end;\"></i> -->\n </div>\n </div>\n\n\n <!-- RS 06JAN25 -->\n <!-- for rich text -->\n <div *ngIf=\"rtaFlag\">\n <div [class]=\"'col-md-' + questionItem?.size + ' paddingnone'\">\n <app-custom-rich-text\n [value]=\"inpValue\"\n [question]=\"questionItem\"\n [error]=\"questionItem?.error\"\n (textValueChange)=\"handleRichTextChange($event)\">\n </app-custom-rich-text>\n </div>\n </div>\n \n \n <!-- <div *ngIf=\"ques.type === 'RichTextArea'\">\n\n <app-custom-rich-text\n [value]=\"ques.input\"\n [rows]=\"3\"\n [error]=\"ques.error\" [placeholder]=\"ques.question \" \n (textValueChange)=\"handleRichTextChange($event)\">\n </app-custom-rich-text>\n</div> -->\n <!-- CC Number Format -->\n <!-- RS 09DEC24 Changed keys-->\n <div *ngIf=\"numberFlag\" class=\"col-md-12\">\n <div class=\"nxt-dis-flex\">\n <input type=\"Text\" placeholder=\"0000 0000 0000 0000 0000 0000\" [ngClass]=\"{ boxoutline: qbItem?.progressBar }\"\n [(ngModel)]=\"inpValue\" id=\"number-input-id\" (ngModelChange)=\"CCOnChange($event)\" required=\"\" maxlength=\"29\"\n (focus)=\"clearError()\" oninput=\"this.value=this.value.replace(/[^0-9 ]/g,'');\"\n style=\"width:-webkit-fill-available;\" style.border-color=\"{{\n this.questionItem.error\n ? 'red'\n : inpValue?.length > 0\n ? '#87be1c'\n : ''\n }}\" />\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px;\"\n *ngIf=\"inpValue?.length > 0\"></i>\n </div>\n </div>\n <!-- END-->\n\n <!-- AlphaNumeric -->\n <div *ngIf=\"alphanumericFlag\" class=\"col-md-12\"> <!--UI not completed-->\n <div style=\"position:relative;\">\n <!-- HA 20DEC23 For Translation -->\n <input type=text placeholder=\"{{'zeroOfZero' | i18n:i18nService.currentLanguage}}\" style=\"padding:5px 5px 5px 150px;\" id=\"youridhere\"/>\n </div>\n </div>\n\n <!-- Email -->\n <!-- RS 09DEC24 Changed keys-->\n <div *ngIf=\"emailFlag\" class=\"col-md-12\">\n <div class=\"nxt-dis-flex\">\n <input type=\"email\" [ngClass]=\"{ boxoutline: qbItem?.progressBar }\" [(ngModel)]=\"inpValue\" id=\"email-input-id\"\n required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\n this.questionItem.error\n ? 'red'\n : inpValue?.length > 0\n ? '#87be1c'\n : ''\n }}\" />\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px\"\n *ngIf=\"inpValue?.length > 0\"></i>\n </div>\n </div>\n\n <!-- DateTime -->\n <div *ngIf=\"dtFlag\" class=\"col-md-12 paddingZero nxtmyt-time1\" >\n <!-- Error Handling -->\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\n\n <!-- Date -->\n <div *ngIf=\"dateFlag\">\n <div class=\"col-md-12 paddingBottom\">\n <!-- HA 31-JAN-24 These labels were occuping the empty space when date question comes-->\n <!-- <label class=\"date-time colorf\">{{ questionItem?.dateText }}</label> -->\n <div class=\"nxt-dis-flex\">\n <!-- HA 20DEC23 For Translation -->\n <!-- HA 02FEB24 Additional param to update the question -->\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event, questionItem)\"\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"{{'selectDate' | i18n:i18nService.currentLanguage}}\" (focus)=\"clearError()\">\n </my-date-picker>\n </div>\n </div>\n </div>\n\n <!-- Time -->\n <div *ngIf=\"timeFlag\">\n <div class=\"col-md-12 paddingBottom\">\n <!-- <label class=\"date-time colorf\">{{ questionItem?.timeText }}</label> -->\n <div class=\"nxt-dis-flex\">\n <div [ngClass]=\"{'dt-line date-line nxt-dt-time': qbItem?.progressBar,\n dateandTime: !qbItem?.progressBar}\" \n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\n (focus)=\"(clearSQError) \">\n <select name=\"hours\" class=\"datetime showHour nxtmyt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\n (focus)=\"clearError()\">\n <option value=\"\">HH</option>\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\n {{ hour }}\n </option>\n </select>\n <span class=\"colon\"> : </span>\n <select name=\"minutes\" class=\"datetime nxtshowminute nxtmyt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\n (focus)=\"clearError()\">\n <option value=\"\">MM</option>\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\n {{ minute }}\n </option>\n </select>\n <div [ngClass]=\"{ colon1: qbItem?.progressBar }\" *ngIf=\"questionItem?.x24Hours == false\">\n <span class=\"colon\"> : </span>\n <select name=\"AM/PM\" class=\"nxtmyt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\n <option value=\"AM\">AM</option>\n <option value=\"PM\">PM</option>\n </select>\n <!-- <div [ngClass]=\"{'': qbItem.progressBar, 'dateandTime': !qbItem.progressBar}\"></div> -->\n </div>\n </div>\n </div>\n </div>\n <i class=\"fa check-icon3\" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\n </div>\n </div>\n\n <!-- Attachment / File -->\n <div *ngIf=\"fileFlag\">\n <div *ngIf=\"!qbItem.progressBar\">\n <div class=\"info-alert\" style.border-color=\"{{ this.questionItem?.error ? 'red' : '' }}\">\n <label class=\"picture-upload\" for=\"file-upload\">\n <span class=\"picture-upload-child\">\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\n </span>\n <span class=\"fa fa-plus fa-2x picture-upload-child pic-upload icolor\">\n <i class=\"\" aria-hidden=\"true\"></i>\n </span>\n </label>\n </div>\n <input id=\"file-upload\" type=\"file\" accept=\"{{ allowedFileExtension }}\" (change)=\"uploadFile($event,this.questionItem)\" />\n </div>\n <ul *ngIf=\"\n attachments?.length > 0 &&\n questionItem?.type === 'File' &&\n !qbItem?.progressBar\n \" class=\"attach-ulist col-md-12\">\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\n {{ attachment.attachmentName}}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\n </li>\n </ul>\n\n <!-- Attachment Progress -->\n <div *ngIf=\"qbItem.progressBar\">\n <div *ngFor=\"let attachment of attachments\" class=\"nxtfile-uploading-box\">\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\n <span class=\"uploading-file-name \">{{ attachment.attachmentName }}</span>\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\n </div>\n <div class=\"nxtfile-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\n \n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\n <span class=\"f-Name\" [innerHTML]=\"getText(questionItem?.questionText)\"> {{ questionItem?.questionText}}</span>\n <label class=\"file-label \">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/file-upload.png\" class=\"file-icon\"/>\n <!-- HA 20DEC23 For Translation -->\n <input name=\"attachment\" type=\"file\" placeholder=\"{{'toBuyTicket' | i18n:i18nService.currentLanguage}}\" multiple\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event)\"\n class=\"file-upload-btn\">\n </label>\n </div>\n </div>\n </div>\n <!-- RS 09DEC24 Changed keys-->\n <!-- Book -->\n <div *ngIf=\"bookFlag\">\n <div [class]=\"qbItem.isShengel ? 'form-group content-box' : 'form-group'\">\n <div class=\"form-row\">\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\n <div [class]=\"qbItem.isShengel ? '' : 'nxt-myt-align3'\" [class]=\"qbItem.isShengel ? 'col-lg-' + ques.size + ' paddingnone' : 'col-md-' + ques.size + ' paddingnone'\"\n *ngFor=\"let ques of subQuestions;let i = index\" [id]=\"ques.id\">\n <div [ngClass]=\"{ down2: qbItem?.progressBar }\">\n <span>{{ ques?.questionText }}</span>\n </div>\n <div class=\"col-md-12 paddingZero nxtmyt-dateTimeNew\" *ngIf=\"ques.type === 'Time' || ques.type === 'Date'\">\n <div *ngIf=\"ques.type === 'Date'\">\n <div class=\"col-md-12 paddingBottom\">\n <!-- <label class=\"date-time colorf\">{{ questionItem?.dateText }}</label> -->\n <div class=\"dateandtime\">\n <!-- HA 20DEC23 For Translation -->\n <!-- HA 02FEB24 Additional param to update the question -->\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event, ques)\"\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"{{'selectDate' | i18n:i18nService.currentLanguage}}\" (focus)=\"clearError()\" >\n </my-date-picker>\n </div>\n </div>\n </div>\n <div *ngIf=\"ques.type === 'Time'\">\n <div class=\"col-md-12 paddingBottom\">\n <!-- <label class=\"date-time colorf\">{{ questionItem?.timeText }}</label> -->\n <div class=\"dateandtime\">\n <div [ngClass]=\"{'dt-line date-line nxt-dt-time': qbItem?.progressBar,\n dateandTime: !qbItem?.progressBar}\" \n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\n (focus)=\"(clearSQError) \">\n <select name=\"hours\" class=\"datetime showHour nxtmyt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\n (focus)=\"clearError()\">\n <option value=\"\">HH</option>\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\n {{ hour }}\n </option>\n </select>\n <span class=\"colon\"> : </span>\n <select name=\"minutes\" class=\"datetime nxtshowminute nxtmyt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\n (focus)=\"clearError()\">\n <option value=\"\">MM</option>\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\n {{ minute }}\n </option>\n </select>\n <div [ngClass]=\"{ colon1: qbItem?.progressBar }\" *ngIf=\"questionItem.x24Hours == false\">\n <span class=\"colon\"> : </span>\n <select name=\"AM/PM\" class=\"nxtmyt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\n <option value=\"AM\">AM</option>\n <option value=\"PM\">PM</option>\n </select>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"ques.type === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"displayDate($event,ques)\"></app-custom-date-picker>\n </div>\n <!-- VD to show lable-->\n <div *ngIf=\"ques.type === 'Label'\">\n <app-custom-label [labelStyle]=\"ques.title\" [labelValue]=\"ques.question\">\n </app-custom-label>\n </div>\n <div *ngIf=\"ques.type === 'Text'\">\n <label>{{ ques.questionText }}</label>\n <app-custom-input\n [value]=\"ques?.input\"\n [question]=\"ques\" \n [idValue]=\"ques?.trackingId\"\n [focusEvent]=\"clearSQError(ques?.id)\"\n [error]=\"ques?.error\"\n [placeholder]=\"ques?.question\"\n (inputValue)=\"selectedInput($event,ques)\">\n </app-custom-input>\n </div>\n <div *ngIf=\"ques.type === 'Location'\">\n <!-- for pick location -->\n <!-- HA10012024 Added Api key as input -->\n <app-pick-location [apiKey]=\"qbItem['apiKey']\" [address]=\"ques.input\" (locationSelected)=\"handleLocationSelected($event,ques)\"></app-pick-location>\n </div>\n <!-- for text area -->\n <div *ngIf=\"ques.type === 'TextArea'\">\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.question \" (textareaValueChange)=\"handleTextareaValueChange($event)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.type === 'Email'\">\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.id\" required=\"\" (focus)=\"clearSQError(ques.id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.question }}\" />\n </div>\n\n <div *ngIf=\"ques.type === 'File'\">\n <div *ngIf=\"!qbItem.progressBar\">\n <label class=\"picture-upload custom-file-upload bgcolor-w\" for=\"file-upload\">\n <span class=\"picture-upload-child\">\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\n </span>\n <span class=\"\n fa fa-plus fa-2x\n picture-upload-child\n pic-upload\n icolor\n \">\n <i class=\"\" aria-hidden=\"true\"></i>\n </span>\n </label>\n <input id=\"file-upload\" type=\"file\" accept=\"{{ bookFlagAccept }}\" (change)=\"uploadFile($event,ques)\" />\n </div>\n\n <ul *ngIf=\"\n attachments?.length > 0 &&\n ques.type === 'File' &&\n !qbItem.progressBar\n \" class=\"attach-ulist col-md-12\">\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\n {{ attachment.attachmentName\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\n </li>\n </ul>\n <div class=\"myt-box\" *ngIf=\"qbItem.progressBar\">\n\n <div *ngFor=\"let attachment of attachments\" class=\"nxtfile-uploading-box\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"nxt-icon-edit1\" />\n <span class=\"uploading-file-name myt-font1 font-weight: normal;\"> {{ attachment.attachmentName }}</span>\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\n </div>\n <div class=\"nxtfile-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"nxt-icon-edit1\" />\n <span class=\"f-Name\">{{ ques?.question }}</span>\n <label class=\"file-label \">\n <span style=\"color: #c5281c;text-decoration:underline\">\n {{'attach' | i18n:i18nService.currentLanguage}}\n </span>\n <!-- HA 20DEC23 For Translation -->\n <input name=\"attachment\" type=\"file\" placeholder=\"{{'toBuyTicket' | i18n:i18nService.currentLanguage}}\" multiple\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event,ques)\"\n class=\"file-upload-btn\">\n </label>\n </div>\n </div>\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.type === 'Table'\" class=\"\">\n <app-custom-table \n [question]=\"ques\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\n </app-custom-table>\n </div>\n\n <!-- Dropdown -->\n <div *ngIf=\"ques.type === 'Dropdown'\" class=\"nxtdropdown\">\n <!-- for common dropdown -->\n <!-- HA 20DEC23 For Translation -->\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel\"\n [options]=\"ques.options\"\n [apiMeta]=\"ques.subText\"\n [id]=\"ques.Name\"\n [selectedValue]=\"ques.input\"\n placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n [errorMessage]=\"ques?.errorMessage\"\n [error]=\"ques?.error\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\n </app-custom-dropdown>\n <app-dropdown-with-flag *ngIf=\"ques.isDependentPicklist && !ques.dropDownOnly\" [certified]=\"ques.certifiedFlag\" [JobPerformerCertificates]=\"ques.certificateList\" (flagDropDownChange)=\"dependentChange($event)\"></app-dropdown-with-flag>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\n </div> \n </div>\n </div>\n </div>\n </div>\n\n <!--List start-->\n <div *ngIf=\"listFlag\">\n <div class=\"form-group\">\n <div class=\"form-row\">\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\n <div class=\"nxt-myt-align3\" [class]=\"'col-md-' + ques.size + ' paddingnone'\"\n *ngFor=\"let ques of getLocalSubQuestions(questionItem.id);let i = index\">\n <div>\n <span class=\"nxt-dis-flex myt-font3 myt-font7\">{{ ques?.question }}</span>\n </div>\n <div *ngIf=\"ques.type === 'Text'\">\n <input type=\"text\" [(ngModel)]=\"ques.input\" [ngClass]=\"{\n 'nxt-dis-flex dt-line date-line nxtbookText boxoutline myt-font1': qbItem.progressBar,\n textBox: !qbItem.progressBar\n }\" id=\"text\" [id]=\"ques.uniqueSubQId\" required=\"\" (focus)=\"clearLocalSubQuesError(ques)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.question }}\"\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\n </div>\n </div>\n <div class=\"\" *ngIf=\"addFlag\">\n <!-- HA 20DEC23 For Translation -->\n <button (click)=\"Add(getLocalSubQuestions(questionItem.id))\" class=\"btn\"><i class=\"fa fa-plus\" ></i>{{'add' | i18n:i18nService.currentLanguage}}</button>\n </div>\n </div>\n </div>\n </div>\n <!--List End-->\n\n <!-- Actions -->\n <!-- VD button condition removed-->\n <div class=\"flexer\">\n <!-- Backward / Back -->\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\n <!--VD disabled -->\n <div class=\"backbutton\" \n [style.visibility]=\"questionStack.length > 0 ? 'visible' : 'hidden'\" *ngIf=\"qbItem.back\">\n <button [disabled]=\"isButtonDisabled\" [ngClass]=\"{\n 'nxt-left-bt': qbItem.progressBar,\n 'nxt-btn btn-primary':\n !qbItem.progressBar\n }\" (click)=\"handleBackClick()\">\n {{ qbItem?.back }}\n </button>\n </div>\n\n <!-- Forward / Next -->\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\n <div *ngIf=\"qbItem.next\" >\n <div class=\"nxtbutton\">\n <!--VD disabled -->\n <button [disabled]=\"isButtonDisabled\" [ngClass]=\"{\n 'nxt-rusty': qbItem.progressBar,\n 'nxt-btn btn-primary':\n !qbItem.progressBar\n }\" (click)=\"handleNextClick()\">\n {{ qbItem.next }}\n </button>\n </div>\n </div>\n </div>\n</div>\n\n<!-- Summary -->\n<div *ngIf=\"this.abItem?.status === 'Completed'\" class=\"col-lg-12\" style=\"text-align: center;\">\n <h2>{{this.qbItem.summaryText}}</h2>\n <p>{{this.qbItem.summarySubText}}</p>\n</div>\n\n<div *ngIf=\"summary && summary.length > 0\" height=\"100% !important\" class=\"col-md-12\" [ngClass]=\"{\n 'col-md-12':!qbItem.progressBar\n }\">\n <h1 class=\"nxt-header1 nxt-summarypadd\" >{{ qbItem.subTitle }}</h1> \n <div id=\"nxt-progress2\" *ngIf=\"!qbItem.progressBar && this.abItem.status != 'Completed' \">\n <div [ngClass]=\"{ 'full-summary': qbItem.progressBar }\">\n <div *ngFor=\"let qa of summary\">\n <div [ngClass]=\"{ non: qbItem.progressBar }\">\n <div [ngClass]=\"{ summary: !qbItem.progressBar }\">\n <div *ngIf=\"!qbItem.edit\"\n [ngClass]=\"{ 'question': this.abItem.status != 'Completed' }\">\n <p [ngClass]=\"{ asum: this.abItem.status === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</p>\n </div>\n <!-- VD Question No added -->\n <div *ngIf=\"qbItem.edit\"\n [ngClass]=\"{ 'question': this.abItem.status != 'Completed' }\">\n <div [ngClass]=\"{ 'question': this.abItem.status === 'Completed' }\"\n [innerHTML]=\"getText(qa.quesValue)\"><span>{{ qa.questionNumber }}</span>\n {{ qa.quesValue }}\n </div>\n </div>\n <div class=\"nxt-answer\" >\n <div *ngIf=\"qa.qTyp === 'File'\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"nxt-icon-edit-summary\" />\n {{ qa.ansValue }}\n </div>\n <!-- HA 02FEB24 Displaying the in summary for book type -->\n <div *ngIf=\"qa.qTyp == 'Book'\">\n <div *ngFor=\"let val of qa.myVal\">\n <p>{{ val.questionText }}:<span>{{ val.input }}</span></p>\n </div>\n </div>\n <!-- HA 02FEB24 Displaying the value for direct question -->\n <div *ngIf=\"qa.qTyp != 'File' && qa.qTyp != 'Book'\">{{ qa.questionText }} <span></span>{{ qa.ansValue }}</div>\n <div *ngIf=\"qbItem.edit && this.abItem.status != 'Completed'\" style=\"background: #dedddd;\">\n <button class=\"nxt-edit\" (click)=\"handleEditClick(qa.quesId)\">\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"nxt-icon-editios\"/>\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"nxt-icon-edit\" />\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n\n\n <div id=\"nxt-progress2\" *ngIf=\"qbItem.progressBar \">\n <div [ngClass]=\"{'bgColor nxtsummary-top' : qbItem.progressBar }\" >\n <div id=\"nxt-progress-summary\" *ngIf=\"qbItem.progressBar\">\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\n [startFromZero]=\"false\" [responsive]=\"false\" >\n </circle-progress>\n \n <div *ngIf=\"qbItem.summaryText && qbItem.progressBar\" \n [ngClass]=\"{ summaryTitle: qbItem.progressBar }\">\n <h3 class=\"nxt-subTitle\" >{{ qbItem.summaryText }}</h3>\n <div *ngIf=\"abItem.status != 'Completed'\" class=\"nxt-subTitle1\" >{{ qbItem.summarySubText}}</div>\n </div>\n </div>\n <div *ngIf=\"!qbItem.progressBar\">\n <h3 class=\"summary-h\">\n {{ qbItem.summaryText }}\n </h3>\n </div>\n </div>\n <div [ngClass]=\"{ 'full-summary': qbItem.progressBar }\">\n <div class=\"summary-groupText myt-font2\">\n <!-- <p>Informe de daño</p> -->\n </div>\n <div *ngFor=\"let qa of summary\" >\n <div [ngClass]=\"{ non: qbItem.progressBar }\">\n <div class=\"summary\">\n <!-- <div *ngIf=\"!qbItem.edit\"\n [ngClass]=\"{ 'question sum-ques myt-font3 myt-font8': this.abItem.status != 'Completed' }\">\n <a [ngClass]=\"{ asum: this.abItem.status === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\n </div>\n <div *ngIf=\"qbItem.edit\"\n [ngClass]=\"{ 'sum-ques question myt-font3 myt-font8': this.abItem.status != 'Completed' }\">\n <div [ngClass]=\"{ 'sum-ques1 question1 summary-completed myt-font3 myt-font8': this.abItem.status === 'Completed' }\"\n [innerHTML]=\"getText(qa.quesValue)\">\n {{ qa.quesValue }}\n </div>\n </div> -->\n <div *ngIf=\"qbItem.edit && this.abItem.status != 'Completed'\" style=\"background: #dedddd;\">\n <button class=\"nxt-edit\" (click)=\"handleEditClick(qa.quesId)\">\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"nxt-icon-editios\"/>\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"nxt-icon-edit\" />\n </button>\n </div>\n \n <div class=\"nxt-answer\">\n <div *ngIf=\"qa.qTyp === 'File'\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"nxt-icon-edit-summary\" />\n {{ qa.ansValue }}\n </div>\n <div *ngIf=\"qa.qTyp != 'File'\">\n {{ qa.ansValue }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- <div class=\"flexer1\" *ngIf=\"abItem\">\n <div class=\"\" *ngIf=\"abItem.status == 'Completed' && qbItem.cancel\">\n <div class=\"col-md-12\">\n <button [ngClass]=\"{'btn-text': qbItem.progressBar,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.progressBar}\"\n (click)=\"handleCancelClick()\">\n {{ qbItem.cancel }}\n </button>\n </div>\n </div>\n </div> -->\n\n <!-- Group Actions -->\n <div class=\"align-edit-submit\" *ngIf=\"abItem.status != 'Completed'\">\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\n <div class=\"col-md-6\" *ngIf=\"qbItem.submit\">\n <button [ngClass]=\"{ 'btn-text2': qbItem.progressBar,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.progressBar }\" \n (click)=\"handleSubmitClick()\">\n {{ qbItem.submit }}\n </button>\n </div>\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\n <!-- <div class=\"col-md-6\" *ngIf=\"qbItem.edit\">\n <button [ngClass]=\"{'grey': qbItem.progressBar,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.progressBar}\" \n (click)=\"handleBackClickNew()\">\n {{ qbItem.edit }}\n </button>\n </div> -->\n </div>\n\n</div>","import { Injectable } from '@angular/core';\nimport { Question } from '../wrapper';\nimport { BookletWrapper } from '../model/bookletWrapper';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n nxtBookletAnswer: BookletWrapper;\n selectedData:any;\n\n constructor() { }\n\n save(qbJson: BookletWrapper) {\n this.nxtBookletAnswer = qbJson;\n }\n\n update(questionWithInput: Question) {\n // Store the Updated Questions (with Answer/Error) in a Map\n\n // for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\n // if(eQuestion == questionWithInput.Id) {\n // this.nxtBookletAnswer.bookQuestionsMap[eQuestion] = questionWithInput;\n // }\n // }\n // RS 09DEC24 Changed keys\n for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\n if (this.nxtBookletAnswer.bookQuestionsMap.hasOwnProperty(eQuestion)) {\n const questionsR = this.nxtBookletAnswer.bookQuestionsMap[eQuestion].subQuestions;\n // VD 31NOV24 wrapper changes\n for(let i=0;i<questionsR.length;i++){\n if(questionsR[i].id == questionWithInput.id){\n questionsR[i] = questionWithInput;\n console.log('assigned success');\n }\n }\n }\n }\n }\n\n get() {\n // return the stored questions\n return this.nxtBookletAnswer;\n\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { Question } from '../../wrapper';\n//import { QuestionbookComponent } from '../../pages/questionbook/questionbook.component';\n//import { ComponenthostDirective } from '../../directives/componenthost/componenthost.directive';\nimport { ChangeService } from '../../services/change.service';\ninterface CalendarDay {\n date: Date;\n events: any[];\n isCurrentMonth: boolean;\n isPast: boolean;\n isToday: boolean;\n isFuture: boolean;\n isSelected?: boolean;\n}\n@Component({\n selector: 'app-custom-calendar',\n templateUrl: './custom-calendar.component.html',\n styleUrls: ['./custom-calendar.component.css'],\n})\nexport class CustomCalendarComponent implements OnInit {\n @Output() eventSelected = new EventEmitter<any>();\n // VD 06Sep24 calendar changes\n @Output() dateSelected = new EventEmitter<any>();\n @Output() openModal = new EventEmitter<any>();\n @Output() closeModal = new EventEmitter<any>();\n @Input() allEvents: any[] = []; \n @Input() question: Question\n @Input() nxtId: string;\n //@ViewChild(ComponenthostDirective, { static: true }) dynamicHost: ComponenthostDirective;\n entries = [];\n referenceQuestions = [];\n qbRefrenceBook:any;\n calendarQuestion = [];\n calendar = {};\n currentDate: Date = new Date();\n calendarDays: CalendarDay[] = [];\n daysOfWeek: string[] = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n newEventTitle: string = '';\n newEventTime: string = '';\n newDescription: string = '';\n newLink: string = '';\n selectedDay: CalendarDay | null = null;\n isModalOpen = false;\n modalTitle = 'Custom Modal';\n modalSize = 'large';\n saveButtonValue = 'Save';\n modalFooter = true;\n editingEventId: number;\n editingEntryGroup: any;\n showAppoinmentSection: boolean = true;\n subscription: any;\n constructor( private changeService: ChangeService) { }\n ngOnInit() {\n if(this.question?.input){\n this.allEvents = this.question.input;\n }\n this.processQuestion();\n this.generateCalendar();\n this.subscription = this.changeService.customChange$.subscribe(\n (changeValue) => {\n if(changeValue == 'calendar-modal-save') {\n this.onSave();\n }\n if(changeValue == 'dataBind') {\n if(this.question?.input){\n this.allEvents = this.question.input;\n }\n this.processQuestion();\n this.generateCalendar();\n }\n }\n );\n // this.dateSelected.emit(this.calendar);\n //this.eventSelected.emit(this.allEvents);\n }\n // RS 09DEC24 Changed keys\n processQuestion(){\n this.entries = JSON.parse(this.question['fieldsMeta']);\n this.qbRefrenceBook = JSON.parse(this.question['qbReferenceQuestions']);\n let title = this.qbRefrenceBook?.questionbook?.title;\n this.modalTitle = title;\n this.referenceQuestions = [];\n if(this.entries.length > 0){\n this.entries.forEach(element => {\n if(element.questionReference){\n let qReference = JSON.parse(element.questionReference);\n this.referenceQuestions.push(qReference?.question);\n }\n });\n }\n console.log('entries-->');\n console.log('question-->');\n console.log(this.entries);\n console.log(this.referenceQuestions);\n }\n // sunday comment\n // openQuestionBookModal() {\n // const viewContainerRef = this.dynamicHost.viewContainerRef;\n // viewContainerRef.clear();\n // const componentRef = viewContainerRef.createComponent(QuestionbookComponent);\n // componentRef.instance.qbItem = this.qbRefrenceBook;\n // componentRef.instance.questions = this.referenceQuestions;\n // componentRef.instance.handleQuestion.subscribe((event: any) => this.handleQuestionEvent(event));\n // }\n\n generateCalendar() {\n const year = this.currentDate.getFullYear();\n const month = this.currentDate.getMonth();\n\n const startOfMonth = new Date(year, month, 1);\n const endOfMonth = new Date(year, month + 1, 0);\n\n const startDayOfWeek = startOfMonth.getDay();\n const endDayOfWeek = endOfMonth.getDay();\n\n const startDate = new Date(startOfMonth);\n startDate.setDate(startDate.getDate() - startDayOfWeek);\n\n const endDate = new Date(endOfMonth);\n endDate.setDate(endDate.getDate() + (6 - endDayOfWeek));\n\n const today = new Date(new Date().setHours(0, 0, 0, 0));\n \n this.calendarDays = [];\n for (let d = new Date(startDate); d <= endDate; d.setDate(d.getDate() + 1)) {\n const date = new Date(d);\n this.calendarDays.push({\n date: date,\n events: [],\n isCurrentMonth: d.getMonth() === month,\n isPast: date < today,\n isToday: date.getTime() === today.getTime(),\n isFuture: date > today,\n });\n }\n\n // Populate calendar with events from allEvents array\n this.calendarDays.forEach(day => {\n day.events = this.allEvents?.filter(event => event?.date?.toDateString() === day.date.toDateString());\n });\n // VD 06Sep24 calendar changes\n let cal = {}\n cal['year'] = year;\n cal['month'] = month + 1;\n this.calendar = cal;\n }\n\n selectDay(day: CalendarDay) {\n console.log(day);\n // VD 06Sep24 calendar changes\n this.showAppoinmentSection = true;\n this.selectedDay = day;\n // this.eventSelected.emit(day?.events);\n const previouslySelectedDay = this.calendarDays.find(d => d.isSelected);\n if (previouslySelectedDay) {\n previouslySelectedDay.isSelected = false;\n }\n // Select the clicked day\n day.isSelected = true;\n // VD 09Sep24- setup the query param data for api call\n let referenceData = [];\n this.referenceQuestions.forEach(ques => {\n // VD 09-09-24 get the selected date\n // need to add in the document\n // RS 09DEC24 Changed keys\n if(ques.referenceField == 'selectedDate'){\n ques.input = day.date.toISOString();\n console.log(ques.input);\n }\n // VD 09-09-24 get the query refrence field data to pass the queryParam for api\n if(ques.subText){\n let subText = JSON.parse(ques.subText);\n if (subText.queryField && subText.queryValueReference) {\n let currentQues = ques;\n let queryReferences = subText.queryValueReference.split(','); \n queryReferences.forEach(refField => {\n let refQues = this.referenceQuestions.find(q => q.referenceField === refField);\n if (refQues) {\n referenceData.push(refQues);\n }\n });\n // Add the referenceData array to the current question\n currentQues.referenceQueryData = referenceData;\n }\n }\n })\n }\n\n previousMonth() {\n this.showAppoinmentSection = false;\n this.currentDate.setMonth(this.currentDate.getMonth() - 1);\n this.currentDate = new Date(this.currentDate); // Ensure the date object is updated\n this.generateCalendar();\n this.dateSelected.emit(this.calendar);\n this.eventSelected.emit(this.allEvents);\n }\n\n nextMonth() {\n // VD 06Sep24 calendar changes\n this.showAppoinmentSection = false;\n this.currentDate.setMonth(this.currentDate.getMonth() + 1);\n this.currentDate = new Date(this.currentDate); // Ensure the date object is updated\n this.generateCalendar();\n this.dateSelected.emit(this.calendar);\n this.eventSelected.emit(this.allEvents);\n }\n\n addAppointment() {\n this.isModalOpen = true;\n this.calendarQuestion = this.referenceQuestions.map(q => ({ ...q, input: '' }));\n this.referenceQuestions.forEach(ques => {\n // clear the input\n if(ques.referenceField != 'selectedDate'){\n if(ques.type == 'Dropdown'){\n delete ques.input;\n delete ques.selectedValue;\n // VD 06Sep24 calendar changes\n }else {\n delete ques.input;\n }\n }\n });\n console.log(this.referenceQuestions);\n this.editingEventId = null;\n this.calendarQuestion = this.referenceQuestions;\n this.openBookModel();\n // sunday comment\n //this.openQuestionBookModal();\n }\n\n openBookModel(){\n this.openModal.emit({\n qbRefrenceBook: this.qbRefrenceBook,\n referenceQuestions: this.referenceQuestions,\n modalTitle : this.modalTitle,\n modalSize : this.modalSize,\n saveButtonValue : this.saveButtonValue,\n modalFooter : this.modalFooter,\n\n });\n }\n\n closeCalendarModal() {\n this.isModalOpen = false;\n this.closeModal.emit(true);\n }\n // VD 06Sep24 calendar changes\n\neditEvent(event: any, entryGroup: any) {\n this.isModalOpen = true;\n this.referenceQuestions = Object.values(entryGroup);\n this.calendarQuestion = [...this.referenceQuestions]; // Make a copy of the current entries to edit\n this.editingEventId = event.id;\n this.editingEntryGroup = entryGroup; // Store the entry group being edited\n this.generateCalendar(); // Regenerate the calendar to reflect changes\n this.openBookModel();\n // suday comment\n // this.openQuestionBookModal();\n\n}\n\ndeleteEvent( eventId: number, entryGroup: any) {\n let event = this.allEvents?.find(e => e?.id === eventId);\n if (event) {\n // Find the index of the entryGroup to delete\n const entryIndex = event.entries.indexOf(entryGroup);\n if (entryIndex > -1) {\n event.entries.splice(entryIndex, 1); // Remove the specific entry\n }\n\n // If the event has no more entries, remove the event entirely\n if (event.entries.length === 0) {\n const eventIndex = this.allEvents?.indexOf(event);\n if (eventIndex > -1) {\n this.allEvents?.splice(eventIndex, 1); // Remove the entire event\n }\n }\n }\n let eventData = {};\n eventData['action'] = \"delete\";\n eventData['data'] = event;\n this.eventSelected.emit(eventData);\n this.generateCalendar(); // Regenerate the calendar to reflect the changes\n}\n\n // VD 06Sep24 calendar changes\n addEvent(day: CalendarDay, entryQues) {\n // Transform new entries into the desired format\n const newEntries = entryQues.reduce((acc, q) => {\n acc[q.id] = { ...q };\n return acc;\n }, {});\n\n // Find an existing event for the given date\n const existingEvent = day.events?.find(event => event.date === day.date);\n\n if (existingEvent) {\n // Merge new entries into the existing event's entries array\n // Check if the entries array already contains an object with the same id\n const existingEntries = existingEvent.entries.map(entry => ({ ...entry }));\n // Append new entries to the existing entries\n existingEntries.push(newEntries);\n existingEvent.entries = existingEntries;\n } else {\n // Create a new event if it doesn't exist for the given date\n const newEvent = {\n id: this.generateId(),\n date: day.date,\n entries: [newEntries] // Wrap the new entries in an array\n };\n day.events = day?.events || []\n day.events.push(newEvent);\n this.allEvents?.push(newEvent);\n //this.eventSelected.emit(this.allEvents);\n let eventData = {};\n eventData['action'] = \"add\";\n eventData['data'] = newEvent;\n this.eventSelected.emit(eventData);\n }\n this.generateCalendar();\n console.log('allEvents', this.allEvents);\n}\n // VD 06Sep24 calendar changes\n onSave() {\n if (this.editingEventId !== null) {\n const event = this.allEvents?.find(e => e?.id === this.editingEventId);\n if (event && this.editingEntryGroup) {\n // Update the specific entry group within the event\n const entryIndex = event.entries.findIndex(entryGroup => entryGroup === this.editingEntryGroup);\n if (entryIndex > -1) {\n event.entries[entryIndex] = this.calendarQuestion.reduce((acc, q) => {\n acc[q.id] = { ...q };\n return acc;\n }, {});\n }\n }\n // this.eventSelected.emit(this.allEvents);\n let eventData = {};\n eventData['action'] = \"edit\";\n eventData['data'] = event;\n this.eventSelected.emit(eventData);\n } else {\n if (this.selectedDay) {\n this.addEvent(this.selectedDay, this.calendarQuestion);\n }\n }\n this.closeCalendarModal();\n this.generateCalendar();\n}\n\n // onCancel() {\n // console.log('Cancel button clicked');\n // this.closeCalendarModal();\n // }\n //this funtion need to be used\n // handleQuestionEvent(ques){\n // // Update the questions array with the new question\n // const index = this.calendarQuestion.findIndex(q => q.id === ques.id);\n // if (index > -1) {\n // // If question already exists, update it\n // this.calendarQuestion[index] = ques;\n // } else {\n // // If question doesn't exist, add it to the array\n // this.calendarQuestion.push(ques);\n // }\n // console.log(this.calendarQuestion);\n // }\n\n // VD 06Sep24 calendar changes\n generateId() {\n return '_' + Math.random().toString(36).substr(2, 9);\n }\n\n getEntryKeys(entryGroup: any): string[] {\n return Object.keys(entryGroup);\n}\n\nremoveCharacters(questionText:string){\n let updatedText = questionText?.replace(/<[^>]*>/g, '');\n return updatedText;\n}\n\n}\n","<div class=\"align-calendar\">\n <div class=\"calendar-container\">\n <div class=\"calendar-header\">\n <button (click)=\"previousMonth()\"><< Previous >></button>\n <h3>{{ currentDate | date: 'MMMM yyyy' }}</h3>\n <button (click)=\"nextMonth()\"><< Next >></button>\n </div>\n <div class=\"calendar-grid\">\n <div class=\"day-of-week\" *ngFor=\"let day of daysOfWeek\">{{ day }}</div>\n <div\n class=\"calendar-day\"\n *ngFor=\"let day of calendarDays\"\n [class.not-current-month]=\"!day.isCurrentMonth\"\n [class.past]=\"day.isPast\"\n [class.today]=\"day.isToday\"\n [class.future]=\"day.isFuture\"\n [class.selected]=\"day.isSelected\"\n (click)=\"selectDay(day)\"\n >\n <div class=\"day-number\">{{ day.date.getDate() }}\n <span *ngIf=\"day?.events?.length > 0\" class=\"entry-indicator\" [class.select]=\"day?.isSelected\"></span>\n </div>\n <!-- <div *ngFor=\"let event of day.events\" >\n <div *ngFor=\"let entryGroup of event.entries\" class=\"event\">\n <div *ngFor=\"let key of getEntryKeys(entryGroup)\">\n <div *ngIf=\"entryGroup[key].type == 'Time'\">\n {{ entryGroup[key].input?.value | date: 'shortTime' }}\n </div>\n <div *ngIf=\"entryGroup[key].type != 'Time'\">\n {{ entryGroup[key].input }}\n </div>\n </div>\n </div>\n </div> -->\n </div>\n </div>\n </div>\n <div class=\"appoinappointment\">\n <div class=\"appointments-container\">\n <h4>Add Appointment</h4>\n <button *ngIf=\"selectedDay\" (click)=\"addAppointment()\">Add</button>\n </div>\n <!--VD 06Sep24 calendar updates--> \n <!-- RS 09DEC24 Changed keys--> \n <div *ngIf=\"showAppoinmentSection && selectedDay?.events?.length > 0\" class=\"appointments-container\">\n <h4>Appointments</h4>\n <div *ngFor=\"let event of selectedDay?.events\">\n <div class=\"event\" *ngFor=\"let entryGroup of event.entries\">\n <div class=\"event-info\">\n <div *ngFor=\"let key of getEntryKeys(entryGroup)\" class=\"entry-row\">\n <div *ngIf=\"entryGroup[key].questionText\" class=\"entry-text\">\n {{removeCharacters(entryGroup[key].questionText)}}:\n </div>\n <div class=\"entry-value\">\n <!-- VD 09Sep24- date type and link type updates -->\n <span *ngIf=\"entryGroup[key].type != 'Time' && entryGroup[key].type != 'Link'&& entryGroup[key].type != 'Date'\">{{ entryGroup[key].input }}</span>\n <span *ngIf=\"entryGroup[key].type == 'Time'\">{{ entryGroup[key].input | date: 'shortTime' }}</span>\n <span *ngIf=\"entryGroup[key].type == 'Date'\">{{ entryGroup[key].input | date: 'mediumDate' }}</span>\n <span *ngIf=\"entryGroup[key].type == 'Link'\">\n <a [href]=\"'//'+ entryGroup[key].input\" target=\"_blank\">{{removeCharacters(entryGroup[key].questionText)}}</a>\n </span>\n </div>\n </div>\n <div class=\"event-actions\">\n <button (click)=\"editEvent(event,entryGroup)\">Edit</button>\n <button (click)=\"deleteEvent(event.id,entryGroup)\">Delete</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<!-- <app-custom-model\n [modalTitle]=\"modalTitle\"\n [isModalOpen]=\"isModalOpen\"\n [modalSize]=\"modalSize\"\n [saveButtonValue]=\"saveButtonValue\"\n [modalFooter]=\"modalFooter\"\n (saveButtonEmit)=\"onSave()\"\n (cancelButtonEmit)=\"onCancel()\"\n>\n<lib-questionbook [qbItem]=\"qbRefrenceBook\" [questions]=\"referenceQuestions\" (handleQuestion)=\"handleQuestionEvent($event)\"></lib-questionbook>\n<ng-template dynamicComponentHost ></ng-template>\n</app-custom-model> -->","import {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n ViewChild,\n SimpleChanges,\n} from \"@angular/core\";\nimport { DataService } from '../../services/data.service';\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { ActivatedRoute, Params } from \"@angular/router\";\n// VD 23JAN24 removed httpClient import used service file for callout\nimport { APIMeta } from \"../../interfaces/apimeta\";\nimport { ChangeWrapper } from \"../../model/changeWrapper\";\n// HA 19DEC23 imported translation service\nimport { I18nService } from \"../../i18n.service\";\nimport { ChangeDetectorRef } from '@angular/core';\n\n@Component({\n selector: 'lib-search-box',\n templateUrl: './search-box.component.html',\n styleUrls: ['./search-box.component.css']\n})\nexport class SearchBoxComponent implements OnInit {\n @Input() placeHolderText: string;\n @ViewChild('auto') auto;\n\n @Input() question;\n @Input() apiMeta: string;\n @Input() id: string;\n @Input() readOnly = false; // VD 12Jun24 - readonly change\n @Output() searchValueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\n apiObj:any;\n SearchItem: any;\n\n @Input() filterName: string; // VD 20Aug default filter value as input\n public finalResults: any[] = [];\n public searchKeyWord: string = '';\n public newResult: any;\n public showResult = false;\n public noResult = false;\n public showSuggestion = true;\n private el: HTMLElement;\n private serv: string = 'api';\n private tkn: string = '';\n \n constructor( private dataService: DataService, public i18nService: I18nService) { }\n ngOnInit(): void {\n // VD 03May- search changes\n if(this.apiMeta){\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\n this.SearchItem = apiObj.field;\n }\n }\n////RS 03FEB2025\n// Resets state when filterName or apiMeta changes to reflect updated data\nngOnChanges(changes: SimpleChanges): void {\n if (changes['apiMeta'] && this.apiMeta) {\n this.apiObj = JSON.parse(this.apiMeta);\n this.SearchItem = this.apiObj?.field;\n }\n}\n//RS 03FEB2025\n// Clears search-related data, including results, search term, and suggestions.\nprivate resetComponentState(): void {\n this.finalResults = [];\n this.filterName = ''; \n this.searchKeyWord = ''; \n this.showSuggestion = false;\n this.noResult = false;\n}\nclearList(){\n setTimeout(()=> {\n this.finalResults = [];\n }, 1000);\n}\n\ngetSourceDataLocal(event: any) { //to get results list from backend API whenever key is up after the entering atleast one key\n event.preventDefault();\n if(event.target.value.length > 2){\n this.showSuggestion=true;\n this.finalResults=[];\n this.searchKeyWord = event.target.value;\n this.showResult = false;\n this.getSourceData(event.target.value);\n } else {\n this.showSuggestion=false;\n this.finalResults = [];\n this.noResult = false;\n }\n}\n// VD 03May- search changes\n// VD 31NOV24 null check\n// RS 29JAN25\n//Multi-word search across all object values\npublic getSourceData = (keyword: string) => {\n if (this.apiMeta) {\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\n \n this.dataService.apiResponse(apiObj.endpoint).subscribe((apiResponse) => {\n let response;\n if (apiObj.variable) {\n response = this.dataService.getValue(apiResponse, apiObj.variable);\n } else {\n response = apiResponse;\n } \n let results = [];\n let searchTerms = keyword.toLowerCase()?.split(\" \");\n for (let i = 0; i < response.length; i++) {\n let obj = response[i];\n let combinedValues = this.getCombinedValuesFromColumns(obj, apiObj.field);\n let match = searchTerms.every(term => combinedValues.includes(term));\n if (match) {\n results.push(obj);\n }\n }\n this.noResult = results.length === 0;\n this.finalResults = results;\n });\n }\n};\n// SKS27FEB Helper functions\nprivate getNestedValue(obj: any, path: string): string {\n //SKS27FEB Convert array indexes to dot notation (e.g., [0] -> .0)\n const processedPath = path.replace(/\\[(\\d+)\\]/g, '.$1');\n const parts = processedPath.split('.');\n let current = obj;\n \n for (const part of parts) {\n if (!current || typeof current !== 'object') return '';\n current = current[part];\n }\n \n return current !== null && current !== undefined \n ? String(current).toLowerCase().trim() \n : '';\n}\n\nprivate getCombinedValuesFromColumns(obj: any, columns: string[]): string {\n const values: string[] = [];\n // SKS28FEB check if columns is an array\n if(typeof columns === 'string' && !Array.isArray(columns) ) {\n columns = [columns];\n }\n \n for (const column of columns) {\n const value = this.getNestedValue(obj, column);\n if (value) {\n values.push(value);\n }\n }\n \n return values.join(' ');\n}\n// SKS27FEB get value from data specific column\npublic getValues(element: any, columns: any): any {\n const result: any = {};\n // SKS28FEB check if columns is an array\n if(typeof columns === 'string' && !Array.isArray(columns) ) {\n columns = [columns];\n }\n columns.forEach((column) => {\n let tempElement = element;\n let flds = column?.split('.');\n for (let i = 0; i < flds.length; i++) {\n let splitFlds = flds[i]?.split('[');\n if (splitFlds.length === 1) {\n tempElement = tempElement[flds[i]] || '';\n } else {\n let index = Number(splitFlds[1]?.split(']')[0]);\n tempElement = tempElement[splitFlds[0]]?.[index] || '';\n }\n }\n result[column] = tempElement;\n });\n\n return result;\n}\n// SKS27FEB column value get funtion\ngetKeys(obj: any): string[] {\n return Object.keys(obj);\n}\n public clickItem(event) {\n // console.log('inside clickItem of ' + JSON.stringify(event, null, 2));\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\n this.filterName = event[apiObj.defaultField || apiObj.field[0] || apiObj.field]; //SKS27FEB defaultField is used for showing a search field input if field have array of data\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\n change.fromQuestionId = this.id;\n change.valueObj = event;\n change.field = apiObj.field;\n this.searchValueChange.emit(change);\n }\n //RS 03FEB2025\n // Resets component state when the component is destroyed\n ngOnDestroy(): void { this.resetComponentState(); }\n}\n ","<!-- // VD 12Jun24 - readonly change-->\n<div id=\"autocomplete-input\"> <!-- SKS5NOV25 search icon -->\n <input #auto id=\"searchbox-style\"\n (blur)=\"clearList()\"\n [(ngModel)]=\"filterName\"\n type=\"text\"\n name=\"name\"\n [readOnly]=\"readOnly\"\n [placeholder]=\"placeHolderText\"\n style=\"margin: 0 !important; padding-right: 30px;\"\n class=\"searchInput she-line-input form-control\"\n (focusin)=\"getSourceDataLocal($event)\"\n (input)=\"getSourceDataLocal($event)\">\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\n <div *ngIf=\"finalResults.length > 0 && showSuggestion\"\n style=\"max-height: 20vh;border: 1px solid #d2d4d6;overflow: scroll; min-width:100px\"\n class=\"suggestions-container\">\n <!-- HA 20DEC23 Uncommented the logic -->\n <!-- VD 03May- search changes -->\n <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\n <!-- VD 26Jun24 - id condition removed -->\n <div class=\"grid-x align-middle\" style=\"\">\n <div *ngIf=\"item.thumbnail\" class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\n </div>\n <div class=\"cell auto\" style=\"text-align: left; padding:5px 8px 0 8px; display: flex; gap: 5px; \">\n <!--// VD 26JUN24 - pipe changes -->\n <!-- RS 29JAN25 -->\n <div style=\"display: flex;\" *ngFor=\"let key of getKeys(getValues(item, SearchItem))\">\n <div>\n {{ getValues(item, SearchItem)[key] }}\n </div>\n </div> \n </div>\n </div>\n </div>\n <!-- HA 20DEC23 For Commented this for future purpose -->\n <!-- <table class=\"table table-striped table-bordered\">\n <thead>\n <tr>\n <th>{{ 'firstName' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'lastName' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'division' | i18n:i18nService.currentLanguage }}</th>\n <th>{{ 'numberPlate' | i18n:i18nService.currentLanguage }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of finalResults\" (click)='clickItem(item)'>\n <td>{{ item.firstName }}</td>\n <td>{{ item.lastName }}</td>\n <td>{{ item.division }}</td>\n <td>{{ item.numberPlate }}</td>\n </tr>\n </tbody>\n </table> -->\n </div>\n</div>\n\n","import { Component, OnInit,Output,EventEmitter, Input ,ElementRef, OnChanges,SimpleChanges} from '@angular/core';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\nimport { SharedService } from '../../services/shared.service';\nimport { DataService } from '../../services/data.service';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n@Component({\n selector: 'app-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.css']\n})\nexport class FileUploadComponent implements OnInit,OnChanges {\n @Output() selectedFileData = new EventEmitter<any[]>();\n @Output() deletedFileData = new EventEmitter<any>();\n @Input() allFiles;\n @Input() limitFileUploading;\n @Input() isDeleteFileButtonVisible;\n @Input() isShowNoFileIcon;\n @Input() tableFile; // file Upload from table\n @Input() question;\n @Input() error:any;\n//RS 09JAN2025\n public allowedFileTypes: string[] = [];\n public maxFileSize: number = 0; // in bytes(Binary)\n public maxFiles: number = 4; // default limit\n public validationErrors: string[] = [];\n \n\n public selectedFileNameArray: string[] = [];\n public copyOfInputAllFiles;\n public copyOfFileUploadingLimit;\n public fileUrl;\n public showFile = false;\n public isImage = false;\n public fileName = '';\n currentFile: any;\n constructor(private SharedService: SharedService, private dataService: DataService,private sanitizer: DomSanitizer,\n public i18nService: I18nService\n ) { }\n //RS 09JAN2025\n ngOnInit() {\n this.initializeFileConfigs();\n }\n // VD 03May24 file upload fix\n // onFileUpload(event: any) {\n // const fileUploaderElement: HTMLElement = document.getElementById(\n // 'fileUpload'\n // ) as HTMLElement;\n // fileUploaderElement.click();\n // }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n console.log('simple changes', simpleChanges);\n if (simpleChanges.allFiles) { //SKS5NOV25\n this.copyOfInputAllFiles = simpleChanges.allFiles.currentValue || [];\n }\n\n if (simpleChanges.limitFileUploading) {\n this.copyOfFileUploadingLimit = simpleChanges.limitFileUploading?.currentValue;\n }\n\n }\n\n //RS 09JAN2025 Initializes file upload settings (allowed types, max size, and max files) by parsing metadata from fieldsMeta\n initializeFileConfigs() {\n if (this.question?.fieldsMeta) {\n try {\n const metaData = JSON.parse(this.question.fieldsMeta);\n const fileConfig = metaData[0]; // Get first config object\n if (fileConfig) {\n this.allowedFileTypes = fileConfig.allowedTypes || [];\n this.maxFileSize = fileConfig.maxFileSize || 0;\n this.maxFiles = fileConfig.maxFiles || 5;\n }\n } catch (error) {\n console.error('Error parsing fieldsMeta:', error);\n }\n }\n }\n\n uploadMultipleFiles(event: any) {\n console.log('File uploader initiated');\n this.validationErrors = []; // RS 17JAN2025 Clear previous errors\n let inputFiles: any[] = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];\n const selectedFileData = [];\n const uploadedFiles = event.target.files;\n\n // RS 09JAN2025 Check file count limit\n if (uploadedFiles.length + inputFiles.length > this.maxFiles) {\n this.validationErrors.push(`Maximum ${this.maxFiles} files allowed`);\n event.target.value = '';\n return;\n }\n\n const readFilesPromises = [];\n\n for (const eachUploadedFile of uploadedFiles) {\n const file: File = eachUploadedFile;\n \n //RS 09JAN2025 Check file type\n const fileExt = '.' + file.name.split('.').pop().toLowerCase();\n if (this.allowedFileTypes.length > 0 && !this.allowedFileTypes.includes(fileExt)) {\n this.validationErrors.push(`File type ${fileExt} not allowed. Allowed types: ${this.allowedFileTypes.join(', ')}`);\n continue;\n }\n\n //RS 09JAN2025 Check file size\n if (this.maxFileSize > 0 && file.size > this.maxFileSize) {\n this.validationErrors.push(`File \"${file.name}\" exceeds size limit of ${this.maxFileSize / 1048576}MB`);\n continue;\n }\n\n if (!this.validationErrors.length) {\n const format = fileExt.substring(1);\n const fileReadPromise = new Promise<void>((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n \n reader.onload = () => {\n const fileData = {\n doc: reader.result,\n name: file.name,\n type: file.type,\n format,\n size: file.size, // RS 17JAN2025 \n id: null,\n };\n \n selectedFileData.push(fileData);\n inputFiles.push(fileData);\n resolve();\n };\n \n reader.onerror = () => {\n reject();\n this.validationErrors.push(`Error reading file \"${file.name}\"`);// RS 17JAN2025 \n };\n });\n readFilesPromises.push(fileReadPromise); \n }\n }\n if (readFilesPromises.length > 0) {\n // Wait for all promises to resolve\n Promise.all(readFilesPromises).then(() => {\n this.copyOfInputAllFiles = inputFiles;\n console.log('uploadedFiles', inputFiles);\n this.selectedFileData.emit(inputFiles);\n }).catch(() => {\n console.error('Error reading files');\n });\n } else {\n console.warn('You can upload max 5 files');\n // this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);\n }\n \n event.target.value = '';\n }\n \n\n // uploadMultipleFiles(event: any) {\n // console.log('File uploader initiated');\n // let inputFiles: any[] = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];\n // const selectedFileData = [];\n // const uploadedFiles = event.target.files;\n // if (uploadedFiles.length + inputFiles.length <= this.copyOfFileUploadingLimit) {\n // for (const eachUploadedFile of uploadedFiles) {\n // const reader = new FileReader();\n // const file: File = eachUploadedFile;\n // const format = file.name.split('.')[1];\n // reader.readAsDataURL(file);\n // reader.onload = () => {\n // selectedFileData.push({\n // doc: reader.result,\n // name: file.name,\n // type: file.type,\n // format,\n // id: null,\n // });\n // inputFiles.push({\n // doc: reader.result,\n // name: file.name,\n // type: file.type,\n // format,\n // id: null,\n // });\n // };\n // }\n // } else {\n // console.warn('You can upload max 5 files');\n // //this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);\n // }\n // event.target.value = '';\n // this.copyOfInputAllFiles = inputFiles;\n // console.log('uploadedFiles',inputFiles);\n // this.selectedFileData.emit(inputFiles);\n // }\n\n\n deleteFile(currentFileIndex) {\n const deletedFileName = this.selectedFileNameArray.splice(currentFileIndex, 1);\n const deletedFile = this.copyOfInputAllFiles.splice(currentFileIndex, 1);\n console.log('emit', deletedFile[0]);\n this.deletedFileData.emit(deletedFile[0]);\n this.selectedFileData.emit(this.copyOfInputAllFiles);\n }\n\n\n// VD 20May24 - preview changes\n// RS 09DEC24 Changed keys\n viewFile(currentFile) {\n this.currentFile = currentFile;\n this.showFile = true;\n console.log(currentFile);\n if(this.question.subText != undefined) {\n let fileMeta = JSON.parse(this.question.subText);\n let endpoint = fileMeta.endpoint;\n let queryParameter = fileMeta.queryParameter;\n let file = currentFile;\n if(endpoint){\n const fullEndPoint = endpoint + '?'+ queryParameter + '=' + file[queryParameter];\n if(fullEndPoint){\n this.dataService.apiResponse(fullEndPoint).subscribe((apiResponse) => {\n if(apiResponse){\n this.handleFileContent(apiResponse);\n }\n })\n }\n }\n }else {\n this.viewLocalFile()\n }\n }\n\n// // VD 03Aug24 process local preview \n viewLocalFile(){\n if(this.currentFile){\n this.setFileUrl(this.currentFile?.doc);\n this.fileName = this.currentFile.name;\n this.isImage = this.currentFile.type.startsWith('image/');\n }\n\n }\n\n \n handleFileContent(fileResponse: any) {\n const byteArray = new Uint8Array(fileResponse.content.data);\n const blob = new Blob([byteArray], { type: fileResponse.type });\n const url = window.URL.createObjectURL(blob);\n this.setFileUrl(url);\n this.isImage = false;\n if(fileResponse.name){\n this.fileName = fileResponse.name;\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'];\n const fileExtension = fileResponse.name.split('.').pop()?.toLowerCase();\n this.isImage = imageExtensions.includes(fileExtension || '');\n }\n }\n\n setFileUrl(url: string) {\n this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n\n getDocIcon(docName) {\n const ext = docName.split('.').pop(-1);\n return this.SharedService.docIcon(ext);\n }\n\n close(){\n this.showFile = false;\n this.fileName = '';\n this.fileUrl = '';\n this.isImage = false;\n if (this.fileUrl) {\n URL.revokeObjectURL(this.fileUrl);\n }\n }\n\n}\n","<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n\n <div class=\"col-lg-5 document-cnt m-t-10 m-b-10\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div *ngIf=\"!tableFile\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n <!-- VD 20May24 - preview changes-->\n <div class=\"preview-icon\" (click)=\"viewFile(eachFile)\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/icons8-eye-24.png\">\n </div>\n </div>\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{eachFile?.name}}\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\n <!-- HA 19DEC23 For translation -->\n <!-- VD 03May24 file upload fix-->\n <!-- RS 09JAN2025 -->\n <button [class]=\"error ? 'she-btn-primary-bordered Invalid' : 'she-btn-primary-bordered'\" style=\"width:275px;\" (click)=\"fileInput.click()\"[ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= maxFiles }\" [disabled]=\"copyOfInputAllFiles?.length >= maxFiles\">Choose Files</button>\n <input #fileInput type=\"file\" name=\"fileUpload\" multiple=\"multiple\" [accept]=\"allowedFileTypes.join(',')\"\n style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n\n <!-- RS 09JAN2025 -->\n <!-- Error messages section -->\n <div class=\"file-constraints\" *ngIf=\"validationErrors.length > 0\">\n <small class=\"text-danger\">\n <div *ngFor=\"let error of validationErrors\">{{ error }}</div>\n </small>\n </div>\n\n<!-- HA 19DEC23 For translation -->\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\n {{ 'uploadFile' | i18n:i18nService.currentLanguage }}\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n <!-- RS 09DEC24 Changed keys--> \n</div>\n<div *ngIf=\"error\" class=\"error-msg\" style=\"margin-top: 10px;\">{{question?.errorMessage}}</div>\n<div class=\"nxt-file-overlay\" *ngIf=\"showFile\">\n <div class=\"nxt-file-map-modal\">\n <div class=\"nxt-file-model-content\">\n <div class=\"nxt-file-model-header\">\n <h4>{{fileName}}</h4>\n <button class=\"close-button\" (click)=\"close()\">X</button>\n </div>\n <ng-container *ngIf=\"isImage; else otherFile\">\n <img [src]=\"fileUrl\" class=\"img-fluid\" alt=\"File Preview\" />\n </ng-container>\n <ng-template #otherFile>\n <iframe [src]=\"fileUrl\" width=\"100%\" height=\"500px\"></iframe>\n </ng-template>\n </div>\n </div>\n</div>\n\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ChangeService } from '../../services/change.service';\ndeclare var $: any;\n\n@Component({\n selector: 'app-dependent-table',\n templateUrl: './dependent-table.component.html',\n styleUrls: ['./dependent-table.component.css']\n})\nexport class DependentTableComponent implements OnInit {\n\n @Input() alertMessage:any;\n\n ValueLength:boolean;\n Value:any;\n errorObj:any;\n\n constructor(private changeService: ChangeService) { \n this.changeService.changeField$.subscribe((data)=>{\n this.dependentData(data);\n })\n }\n\n ngOnInit(): void {\n this.errorObj = JSON.parse(this.alertMessage);\n }\n\n dependentData(data:any){\n let existingData = data.Permits;\n if(existingData.length !== 0) {\n this.ValueLength = true;\n this.Value = existingData;\n $(\"#zoneIcon\").css(\"border\", \"3px solid rgb(252, 35, 27)\");\n } else {\n this.ValueLength = false;\n this.Value = [];\n $(\"#zoneIcon\").css(\"border\", \"3px solid rgb(12, 190, 12)\");\n }\n }\n\n}\n","<div class=\"dropdown\" style=\"cursor: pointer;\">\n <span id=\"zoneIcon\"> \n <img src=\"./../../../../../assets/images/permit_icons/zone.png\" style=\"height: 35px; margin-left: 0px;\" alt=\"adv-search\">\n </span>\n <div class=\"dropdown-content\" style=\"margin-left: -300px; min-width: 415px;\">\n <div class=\"col-lg-12\">\n <table class=\"table table-striped table-bordered\">\n <tbody *ngIf=\"!ValueLength\">\n <tr>\n <td colspan=\"3\" class=\"permission_yes\" style=\"color: rgb(12, 190, 12); text-align: center\">\n <span><b>{{ errorObj.noPermits }}</b></span>\n <span>{{ errorObj.noActive }}</span>\n </td>\n </tr>\n </tbody>\n <tbody id=\"zoneDetails\" *ngIf=\"ValueLength\">\n <tr>\n <td colspan=\"3\" class=\"permission_yes\" style=\"color: rgb(252, 35, 27); text-align: center\">\n <span><b>{{ errorObj.permits }} ({{Value.length}})</b></span>\n <span>{{ errorObj.active }}</span>\n </td>\n </tr>\n <tr *ngFor=\"let item of Value\" >\n <td>\n <span>{{item?.permit_type}}-{{item?.ref_no}} - {{item?.status}} - {{item?.end_date}}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\nimport { TableWrapper } from '../../model/tableWrapper';\nimport { Question } from '../../wrapper';\n\n@Component({\n selector: 'app-table-appendix',\n templateUrl: './table-appendix.component.html',\n styleUrls: ['./table-appendix.component.css']\n})\nexport class TableAppendixComponent implements OnInit {\n @Input() question: Question\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n tableInfo: TableWrapper;\n tableHeader: any;\n tableData: any;\n addRowColSpan: number;\n tableAppendix:any;\n dropDownApi :any;\n dropDownData:any;\n\n constructor(public i18nService: I18nService) { }\n // RS 09DEC24 Changed keys\n ngOnInit(): void {\n if(this.question.subText != undefined) {\n this.tableInfo = JSON.parse(this.question.subText);\n\n this.tableHeader = this.tableInfo.header;\n this.tableData = this.tableInfo.data;\n this.tableAppendix = this.tableInfo.tableAppendix;\n this.dropDownApi = JSON.stringify(this.tableInfo['dropdownApi']);\n this.dropDownData = this.tableInfo['dropdownData'];\n const combinedData = {\n tableData: this.tableData,\n tableAppendix: null\n };\n if (this.tableAppendix) {\n combinedData.tableAppendix = this.tableAppendix;\n }\n this.valueChange.emit(combinedData);\n\n if(this.tableData?.addRow) {\n this.addRowColSpan = this.tableHeader.length - 2;\n }\n }\n }\n\n addRow(): void {\n let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));\n const updatedTableData = [...this.tableData, newItem];\n this.tableData = updatedTableData;\n this.emitTableDataValue(updatedTableData,this.tableAppendix);\n }\n\n updateLabel(rowIndex: number, label: string, value: string): void {\n this.tableData[rowIndex][label] = value;\n this.tableData[rowIndex].name = value.replace(/\\s+/g, '').toLowerCase();\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n \n updateNumber(item: any, label: string, value: string){\n item.value[label] = value;\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n updateToggle(item: any, header: string, value: any){\n let label = header['fieldName'];\n let toggleValue = header['toggleValue'];\n if(label == 'test1'){\n item.value[label][1] = value ? toggleValue[0] : toggleValue[1];\n }else{\n item.value[label] = value ? toggleValue[0] : toggleValue[1];\n }\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n updateDropDown(item: any, label: string, value: any){\n item.value[label] = value.valueObj['value'];\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n updateCheckText(item: any, label: string, value: any){\n item.value[label][0] = value;\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n updateTableAppendix(item: any, label: string, value: any){\n let toggleValue = item.value[0].toggleValue;\n if(item.key == 'dropDownData'){\n item.value[0].value[label] = value.valueObj['empIdName'];\n }else if(item.key == 'toggleData'){\n item.value[0].value[label] = value ? toggleValue[0] : toggleValue[1];\n }else{\n item.value[0].value[label] = value;\n }\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n emitTableDataValue(updatedTableData: any[],tableAppendix:any): void {\n const combinedData = {\n tableData: updatedTableData,\n tableAppendix: null\n };\n if(tableAppendix){\n combinedData.tableAppendix = this.tableAppendix;\n }\n this.valueChange.emit(combinedData);\n }\n\n //This function finds the index of the current test in the list of test keys and returns the key of the previous test. \n // If the current test is the first one, it returns null, as there is no previous test\n getPreviousTestKey(item: any, currentTest: string): string {\n const testKeys = Object.keys(item.value);\n const currentIndex = testKeys.indexOf(currentTest);\n \n if (currentIndex > 0) {\n return testKeys[currentIndex - 1];\n }\n\n return null;\n }\n\n}\n","<table class=\"table table-striped table-bordered\">\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\n <th></th>\n <th>{{ tableInfo.tableHeader }}</th>\n <th></th>\n </thead>\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('number')\">\n <!-- HA 19DEC23 For translation -->\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"{{ 'enterValue' | i18n:i18nService.currentLanguage }}\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'dropdown'\">\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type === 'textcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n <div *ngIf=\"header.type === 'labelcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <!-- HA 19DEC23 For translation -->\n <span style=\"text-align:left;\">{{ 'calibrated' | i18n:i18nService.currentLanguage }}</span>\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\n <td colspan=\"1\">\n <!-- HA 19DEC23 For translation -->\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">{{ 'addMore' | i18n:i18nService.currentLanguage }} +</b>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\n <td colspan=\"3\">\n <!-- HA 19DEC23 For translation -->\n <b>{{ 'addMore' | i18n:i18nService.currentLanguage }}</b>\n </td>\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\n <td *ngFor=\"let header of tableHeader; let l = index\">\n <div *ngIf=\"header.type === 'text'\" >\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\n <!-- HA 19DEC23 For translation -->\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \n [selectedValue]=\"item.value[0].value[header.fieldName]\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\n placeholder=\"DD/MM/YYYY HH:MM\">\n </div>\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </td>\n </tr>\n </tbody>\n </table>","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { I18nService } from '../../i18n.service';\n\n@Component({\n selector: 'app-custom-date',\n templateUrl: './custom-date.component.html',\n styleUrls: ['./custom-date.component.css']\n})\nexport class CustomDateComponent implements OnInit {\n @Input() date: string;\n @Input() readOnly = false; // VD 12Jun24 - readonly change\n @Input() error:any;\n @Input() errorMessage: string;\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\n dateSelected: any;\n\n constructor( public i18nService: I18nService) { }\n\n ngOnInit(): void {\n this.dateSelected = new Date(this.date);\n }\n// VD 02Aug24 - clear input changes\n ngOnChanges(simplechanges: SimpleChanges){\n if(simplechanges['date']){\n this.dateSelected = new Date(this.date);\n }\n \n }\n\n onDateChange(event: any) {\n this.dateChange.emit(event)\n }\n}\n","<!-- date component -->\n<!-- VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<p>\n <input\n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"dateSelected\"\n [owlDateTimeTrigger]=\"dt1\"\n [owlDateTime]=\"dt1\"\n [disabled]=\"readOnly\"\n placeholder=\"DD/MM/YYYY\"\n (input)=\"onDateChange($event)\"\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onDateChange($event)\"\n >\n <owl-date-time [pickerType]=\"'calendar'\" #dt1></owl-date-time>\n </p>\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { I18nService } from '../../i18n.service';\n\n@Component({\n selector: 'app-custom-time',\n templateUrl: './custom-time.component.html',\n styleUrls: ['./custom-time.component.css']\n})\nexport class CustomTimeComponent implements OnInit {\n @Input() time: string;\n @Input() readOnly = false; // VD 12Jun24 - readonly change\n @Input() error:any;\n @Input() errorMessage: string;\n @Output() timeChange: EventEmitter<any> = new EventEmitter<any>();\n timeSelected: any;\n\n constructor(public i18nService: I18nService) { }\n\n ngOnInit(): void {\n if(this.time){\n this.time = this.time['value'] ? this.time['value'] : this.time;\n this.timeSelected = new Date(this.time);\n }else {\n // if no time set null value\n this.timeSelected = null;\n }\n }\n\n ngOnChanges(changes:SimpleChanges){\n // update on changes\n if(changes['time']){\n if(this.time){\n this.time = this.time['value'] ? this.time['value'] : this.time;\n this.timeSelected = new Date(this.time);\n }else {\n this.timeSelected = null;\n }\n }\n }\n // VD 06Sep24 emit exact time object\n onTimeChange(event: any) {\n this.timeChange.emit(event?.value);\n }\n}\n","<!-- time component -->\n<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n <p>\n <input\n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"timeSelected\"\n [owlDateTimeTrigger]=\"dt2\"\n [owlDateTime]=\"dt2\"\n placeholder=\"HH:MM\"\n [readOnly]=\"readOnly\" \n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onTimeChange($event)\"\n >\n <owl-date-time [pickerType]=\"'timer'\" #dt2></owl-date-time>\n </p>\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-custom-button',\n templateUrl: './custom-button.component.html',\n styleUrls: ['./custom-button.component.css']\n})\nexport class CustomButtonComponent implements OnInit {\n // 08NOV23 - button input and outpts\n @Input() height: string;\n @Input() width: string;\n @Input() textColor: string ='#fff'\n @Input() buttonText: string;\n @Input() value:string;\n @Input() backgroundColor: string = '#007bff'; // Default background color\n @Output() buttonValue = new EventEmitter<any>(); \n constructor() { }\n\n ngOnInit(): void {\n }\n\n handleClick(event){\n this.buttonValue.emit(event);\n }\n}\n","\n<!-- 08NOV23 - button html added-->\n<button \n[style.height]=\"height\" \n[style.color]=\"textColor\"\n[style.background-color]=\"backgroundColor\"\n[style.width]=\"width\" class=\"custom-button\"\n[value] =\"value\"\n(click)=\"handleClick(value)\"\n >{{ buttonText }}</button>\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'app-custom-model',\n templateUrl: './custom-model.component.html',\n styleUrls: ['./custom-model.component.css']\n})\nexport class CustomModelComponent implements OnInit {\n\n constructor() { }\n @Input() modalTitle: any;\n @Input() isModalOpen = false;\n @Input() modalSize = '';\n @Input() saveButtonValue = 'Save';\n @Input() modalFooter = true;\n @Output() saveButtonEmit = new EventEmitter<any>();\n @Output() cancelButtonEmit = new EventEmitter<any>();\n\n onSave() {\n this.saveButtonEmit.emit();\n }\n\n onCancel() {\n this.cancelButtonEmit.emit();\n }\n\n\n ngOnInit(): void {\n }\n\n closeModal() {\n this.cancelButtonEmit.emit(false);\n }\n\n saveModal() {\n this.saveButtonEmit.emit();\n }\n\n}\n","<div *ngIf=\"isModalOpen\" class=\"modal\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <span class=\"close\" (click)=\"onCancel()\">&times;</span>\n <h2>{{ modalTitle }}</h2>\n </div>\n <div class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <!-- /* VD 06Sep24 styling changes */-->\n <div class=\"modal-footer\" *ngIf=\"modalFooter\">\n <button (click)=\"onCancel()\">Cancel</button>\n <button (click)=\"onSave()\">{{ saveButtonValue }}</button>\n </div>\n </div>\n</div>\n ","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-custom-image',\n templateUrl: './custom-image.component.html',\n styleUrls: ['./custom-image.component.css']\n})\nexport class CustomImageComponent implements OnInit {\n @Input() alt: string;\n @Input() src: string;\n @Input() imageStyle: any;\n @Input() question:any;\n\n public styles: string;\n\n constructor() { }\n\n ngOnInit(): void {\n // VD 03Aug24 style changes \n // RS 09DEC24 Changed keys\n if(this.question){\n this.imageStyle = this.question.subTitle ? this.question.subTitle : \"height: 150px;width: 200px;\";\n this.src = this.question.title ? this.question.title : \"\" ;\n this.alt = this.question.helpText ? this.question.helpText : \"my image\";\n }\n }\n}","<img src={{src}} alt={{alt}} style={{imageStyle}}>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ChangeWrapper } from '../../model/changeWrapper';\nimport { ChangeService } from '../../services/change.service';\nimport { I18nService } from '../../i18n.service';\nimport { DataService } from '../../services/data.service';\nimport { Subscription } from 'rxjs';\nimport { APIMeta } from '../../interfaces/apimeta';\n\n@Component({\n selector: 'app-custom-radio',\n templateUrl: './custom-radio.component.html',\n styleUrls: ['./custom-radio.component.css']\n})\nexport class CustomRadioComponent implements OnInit {\n\n @Input() options: any[] = [];\n @Input() apiMeta: string;\n @Input() selectedValue: string;\n @Input() progressBar: boolean;\n @Input() id: string;\n @Input() readOnly = false;\n @Input() errorMessage: string;\n @Input() error: any;\n @Input() fromShengel: boolean = false;\n @Input() referenceField: string;\n @Input() token: string;\n @Output() valueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\n invalidFieldIds: string[] = [];\n\n public labelField: string;\n public valueField: string;\n subscription: Subscription;\n\n constructor(\n private changeService: ChangeService,\n private dataService: DataService,\n public i18nService: I18nService\n ) {\n this.changeService.submitValidate$.subscribe((data) => {\n this.invalidFieldIds.push(data);\n });\n }\n\n ngOnInit(): void {\n // VD 31NOV24 null check\n if (this.apiMeta) {\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\n this.labelField = apiObj.field;\n\n this.dataService.apiResponse(apiObj.endpoint)?.subscribe((apiResponse) => {\n let responses;\n if (apiObj.variable) {\n responses = this.dataService.getValue(apiResponse, apiObj.variable);\n let results = [];\n for (let i = 0; i < responses?.length; i++) {\n var resp = responses[i];\n results.push(resp);\n }\n this.options = results;\n } else {\n responses = apiResponse;\n this.options = responses;\n }\n });\n\n let sourceId = apiObj.sourceQuestionId;\n if (sourceId) {\n this.subscription = this.changeService.changeAnnounced$.subscribe(\n (changeValue) => {\n if (changeValue != undefined) {\n if (changeValue.valueObj != undefined && changeValue.fromQuestionId == apiObj.sourceQuestionId) {\n this.selectedValue = changeValue.valueObj[apiObj.valueField];\n let value = {};\n value['name'] = this.selectedValue;\n this.radioChange(value);\n }\n this.changeService.confirmChange(apiObj.sourceQuestionId);\n }\n }\n );\n }\n }\n }\n\n radioChange(event: any) {\n let change = new ChangeWrapper();\n change.fromQuestionId = this.id;\n change.valueObj = event.target?.id ? event.target?.id : '';\n change.referenceField = this.referenceField;\n change.selectedObj = event ? event[this.labelField] : '';\n this.valueChange.emit(change);\n if (event) {\n this.invalidFieldIds = [];\n }\n }\n\n}\n","<!-- RS 09DEC24 Changed keys-->\n <!-- RS 019JAN25 -->\n <!-- validate for NULL -->\n<div class=\"custom-radio-container\">\n <div\n *ngFor=\"let option of options\"\n [class]=\"invalidFieldIds.includes(id) || error ? 'custom-radio-option invalid' : 'custom-radio-option'\"\n >\n <input\n type=\"radio\"\n [id]=\"apiMeta !== undefined && apiMeta !== null ? option[labelField] : option.value\"\n [checked] = \"selectedValue == option.value\"\n [name]=\"id\"\n [value]=\"selectedValue\"\n (change)=\"radioChange($event)\"\n [disabled]=\"readOnly\"\n />\n <label class=\"nxt-radio-label\" [for]=\"apiMeta !== undefined && apiMeta !== null ? option[labelField] : option.value\">{{ apiMeta !== undefined && apiMeta !== null ? option[labelField] : option.value}}</label>\n </div>\n <span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{ errorMessage }}</span>\n</div>","import { Component, OnInit, Input, Output, EventEmitter, Inject, ViewChild, ChangeDetectorRef, SimpleChanges, ComponentRef } from '@angular/core';\nimport { Question, QuestionBook } from '../../wrapper';\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { DataService } from '../../services/data.service';\nimport { ChangeService } from '../../services/change.service';\nimport { StorageService } from '../../services/storage.service';\nimport * as moment from 'moment';\nimport { ErrorWrapper } from '../../model/errorWrapper';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\nimport { DOCUMENT } from '@angular/common';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\n\n@Component({\n selector: 'lib-questionbook',\n templateUrl: './questionbook.component.html',\n styleUrls: ['./questionbook.component.css']\n})\nexport class QuestionbookComponent implements OnInit {\n @Input() qbItem: QuestionBook;\n @Input() questionItem: Question;\n @Input() translatedQuestions : any[] = [] // VD 11Jun24 - translation changes\n @Input() questions: Question[];\n @Input() errorFieldId:any;\n @Input() labelValue:string; \n @Input() token:string; // VD 19JAN24 - getting token as input\n @Output() handleDropDown:EventEmitter<any> = new EventEmitter<any>();\n @Output() handleQuestion:EventEmitter<any> = new EventEmitter<any>(); // VD 19Jul01 - get updated question\n @Input() dropDownData:any;\n //@ViewChild(ComponenthostDirective, { static: true }) dynamicHost: ComponenthostDirective;\n subQuestions: Question[];\n selectedFileData: any[] = [];\n loadComponent$ = new BehaviorSubject<boolean>(false);\n // HA 28DEC23 Added styling and logics to load the book type questions \n qbRef: QuestionBook;\n // HA 19DEC23 Declaration for Salesforce Styling\n style: any;\n langDirection = 'ltr';\n bookStyle: any;\n subscription: Subscription;\n\n// RS 17JAN2025\n//Formats and returns file upload requirements from a JSON string\n getFileRequirements(fieldsMeta: string): string {\n try {\n const metaData = JSON.parse(fieldsMeta);\n const fileConfig = metaData[0];\n \n if (!fileConfig) return '';\n\n const requirements = [];\n \n if (fileConfig.allowedTypes?.length) {\n requirements.push(`Accepted formats: ${fileConfig.allowedTypes.join(', ')}`);\n }\n \n if (fileConfig.maxFileSize) {\n requirements.push(`Maximum size per file: ${fileConfig.maxFileSize / 1048576}MB`);\n }\n \n if (fileConfig.maxFiles) {\n requirements.push(`Maximum number of files: ${fileConfig.maxFiles}`);\n }\n\n return requirements.map(req => req.trim()).join('\\n');\n } catch (error) {\n console.error('Error parsing fieldsMeta:', error);\n return '';\n }\n }\n @Output() hadleDropDownDependent:EventEmitter<any> = new EventEmitter();\n // VD 06Sep24 calendar changes\n @Output() handleCalendarDate:EventEmitter<any> = new EventEmitter();\n @Output() handleCalendarEvent:EventEmitter<any> = new EventEmitter();\n public bookQuestionsMap: any = new Map();\n constructor(private sfService: SalesforceService,\n private dataService: DataService,\n private changeService: ChangeService, \n private storageService: StorageService,\n public i18nService: I18nService,\n private cdr: ChangeDetectorRef,\n @Inject(DOCUMENT) private document: Document\n ) { \n }\n\n ngOnInit(): void {\n // VD 13Sep24 changes\n this.processData();\n // VD sep1324 changes - process data when databind value change\n this.subscription = this.changeService.customChange$.subscribe(\n (changeValue) => {\n if(changeValue == 'dataBind') {\n this.processData();\n }\n }\n );\n }\n\n // VD 13Sep24 changes\n // RS 09DEC24 Changed keys\n processData(){\n // HA 19DEC23 Logic for Question Book Styling(Slaesforce)\n // HA 09FEB24 Added ternary\n if(this.qbItem?.style){\n // HA 28DEC23 Added styling and logics to load the book type questions \n this.qbItem.style = typeof this.qbItem.style === 'string' ? JSON.parse(''+this.qbItem?.style) : this.qbItem.style;\n this.qbItem.style.labelClass = this.qbItem.style?.labelClass ? this.qbItem.style?.labelClass : \"\";\n this.qbItem.style.labelStyle = this.qbItem.style?.labelStyle ? this.qbItem.style?.labelStyle : \"\";\n this.qbItem.style.labelValueStyle = this.qbItem.style?.labelValueStyle ? this.qbItem.style?.labelValueStyle : \"\";\n this.qbItem.style.inputClass = this.qbItem.style?.inputClass ? this.qbItem.style?.inputClass : \"\";\n this.qbItem.style.inputStyle = this.qbItem.style.inputStyle ? this.qbItem.style?.inputStyle : \"\";\n this.qbItem.style.bookStyle = this.qbItem.style?.bookStyle ? this.qbItem.style?.bookStyle : \"\";\n this.qbItem.style.showLabel = this.qbItem.style?.showLabel ? this.qbItem.style?.showLabel : true;\n }\n else{\n if(this.qbItem){\n this.qbItem.style = {\n \"labelClass\" : \"\",\n \"labelStyle\" : \"\",\n \"labelValueStyle\" : \"\",\n \"inputClass\" : \"\",\n \"inputStyle\" : \"\",\n \"bookStyle\" : \"\",\n \"showLabel\": true,\n \"direction\" : \"ltr\",\n \"questionStyle\": \"\"\n };\n }\n }\n this.qbItem.style.questionStyle = this.qbItem?.style?.questionStyle ? this.qbItem?.style.questionStyle : \"\";\n this.langDirection = this.qbItem.style.direction = this.qbItem?.style?.direction ? this.qbItem?.style?.direction : 'ltr';\n this.bookStyle = this.qbItem?.style?.bookStyle;\n this.questions.forEach(element => {\n var htmlElement = element?.questionText ;\n var textOnly = htmlElement?.replace(/<[^>]*>/g, '')\n element.questionText = textOnly;\n // HA 19DEC23 Logic for Question Styling(Slaesforce)\n // HA 28DEC23 Added styling and logics to load the book type questions \n if(element.type === 'Book'){\n if(element['qbReferenceQuestions']){\n var qb = JSON.parse(element['qbReferenceQuestions']);\n if(qb['questionbook'].style){\n qb['questionbook'].style = typeof qb['questionbook'].style === 'string' ? JSON.parse(''+qb['questionbook'].style) : qb['questionbook'].style;\n }\n else{\n qb['questionbook'].style = this.qbItem.style;\n }\n\n // Book type question styling\n qb['questionbook'].style.labelClass = qb['questionbook'].style?.labelClass ? qb['questionbook'].style?.labelClass : \"\";\n qb['questionbook'].style.labelStyle = qb['questionbook'].style?.labelStyle ? qb['questionbook'].style?.labelStyle : \"\";\n qb['questionbook'].style.labelValueStyle = qb['questionbook'].Style__?.labelValueStyle ? qb['questionbook'].style.labelValueStyle : \"\";\n qb['questionbook'].style.inputClass = qb['questionbook'].style?.inputClass ? qb['questionbook'].style?.inputClass : \"\";\n qb['questionbook'].style.inputStyle = qb['questionbook'].style?.inputStyle ? qb['questionbook'].style?.inputStyle : \"\";\n qb['questionbook'].style.bookStyle = qb['questionbook'].style?.bookStyle ? qb['questionbook'].style?.bookStyle : \"\";\n qb['questionbook'].style.showLabel = qb['questionbook'].style?.showLabel ? qb['questionbook'].style?.showLabel : true;\n qb['questionbook'].style.questionStyle = qb['questionbook'].style?.questionStyle ? qb['questionbook'].style?.questionStyle : \"\";\n qb['langDirection'] = qb['questionbook'].style.direction ? qb['questionbook'].style?.direction : this.langDirection;\n \n // Loop for each question in the book\n qb['questionbook'].subQuestions.forEach(questionFromBook => {\n questionFromBook.style = questionFromBook.style ? questionFromBook.style : qb['questionbook'].style;\n questionFromBook.style.labelClass = questionFromBook.style?.labelClass ? questionFromBook.style?.labelClass : \"\";\n questionFromBook.style.labelStyle = questionFromBook.style?.labelStyle ? questionFromBook.style?.labelStyle : \"\";\n questionFromBook.style.labelValueStyle = questionFromBook.style?.labelValueStyle ? questionFromBook.style?.labelValueStyle : \"\";\n questionFromBook.style.inputClass = questionFromBook.style?.inputClass ? questionFromBook.style?.inputClass : \"\";\n questionFromBook.style.inputStyle = questionFromBook.style?.inputStyle ? questionFromBook.style?.inputStyle : \"\";\n questionFromBook.style.bookStyle = questionFromBook.style?.bookStyle ? questionFromBook.style?.bookStyle : \"\";\n questionFromBook.style.showLabel = questionFromBook.style?.showLabel ? questionFromBook.style?.showLabel : true;\n questionFromBook.style.questionStyle = questionFromBook.style?.questionStyle ? questionFromBook.style?.questionStyle : \"\";\n questionFromBook['langDirection'] = questionFromBook.style?.direction ? questionFromBook.style?.direction : this.langDirection;\n });\n element['qbItem'] = qb['questionbook'];\n }\n }\n element.style = element.style ? typeof element.style === 'string' ? JSON.parse(''+element?.style) : element?.style : this.qbItem?.style;\n\n element.style.labelClass = element.style?.labelClass ? element.style?.labelClass : \"\";\n element.style.labelStyle = element.style?.labelStyle ? element.style?.labelStyle : \"\";\n element.style.labelValueStyle = element.style?.labelValueStyle ? element.style.labelValueStyle : \"\";\n element.style.inputClass = element.style?.inputClass ? element.style?.inputClass : \"\";\n element.style.inputStyle = element.style.inputStyle ? element.style?.inputStyle : \"\";\n element.style.bookStyle = element.style?.bookStyle ? element.style?.bookStyle : \"\";\n element.style.showLabel = element.style?.showLabel ? element.style?.showLabel : true;\n element.style.questionStyle = element.style?.questionStyle ? element.style?.questionStyle : \"\";\n\n element['langDirection'] = element.style?.direction ? element.style?.direction : this.langDirection;\n\n\n //VD 02Aug24 dependent field show/hide changes\n // RS 09DEC24 Changed keys\n if(element.referenceField){\n element.dependentRef = element.referenceField;\n }\n if(element.subText){\n let dependencyObj: DependencyMeta = JSON.parse(element.subText);\n if(dependencyObj.isDependentField){\n element.isHidden = true;\n }\n // VD 07Aug24 - isDependentField change\n this.subscription = this.changeService.changeAnnounced$.subscribe(\n (changeValue) => {\n // VD 20Aug24 - isDependentField change\n if(changeValue != undefined && dependencyObj.isDependentField) {\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\n // element.isHiddenField = true;\n if(dependencyObj.dependentValue == changeValue.valueObj){\n element.isHidden = false;\n element.input = '';\n element.selectedValue = undefined;\n if(element.dependentRef == changeValue.referenceField){\n element.referenceField = changeValue.referenceField;\n }\n }else {\n element.isHidden = true;\n element.input = '';\n element.selectedValue = undefined;\n this.hideDependentElements(element.id);\n // if there is no dependent selection remove the reference\n if(element.dependentRef == changeValue.referenceField){\n element.referenceField = '';\n }\n }\n }\n }\n }\n );\n this.storageService.update(element);\n }\n // sunday comment\n // if (element.type === 'Calendar') {\n // this.openCalendarComponent(element);\n // }\n });\n this.subQuestions = [];\n this.setSubQuestions(this.questions);\n this.processTranslatedQuestions(); \n }\n// VD 07Aug24 - isDependentField change\n hideDependentElements(elementId) {\n let elementsToHide = this.questions.filter(el => {\n if (el.subText) {\n let depObj = JSON.parse(el.subText);\n return depObj.sourceQuestionId == elementId;\n }\n return false;\n });\n\n elementsToHide.forEach(el => {\n el.isHidden = true;\n el.input = '';\n el.selectedValue = undefined;\n this.storageService.update(el);\n // Recursively hide elements dependent on this one\n this.hideDependentElements(el.id);\n });\n}\n\n clearSQError(quesId) {\n var sqList = this.subQuestions?.filter((item) => item.id == quesId);\n for (var sq of sqList) {\n sq.error = null;\n }\n }\n // VD 11Jun24 - translation changes\n processTranslatedQuestions(){\n if (this.translatedQuestions && this.translatedQuestions.length > 0) {\n this.questions.forEach((orgQuestion: any)=> {\n this.translatedQuestions.forEach((transQuestion:any) => {\n if(orgQuestion.uniqueIdentifier == transQuestion.identifier){\n orgQuestion.questionText = transQuestion.label;\n orgQuestion.question = transQuestion.placeHolder;\n }\n });\n });\n // console.log('originalQuestion' + this.questions);\n // console.log(this.questions);\n }\n }\n\n setSubQuestions(records) {\n this.subQuestions.push(records);\n }\n\n // Capture and Process Child Event\n childEventCapture(event, ques?:any) {\n let dropdownData = {};\n this.changeService.announceChange(event);\n if(ques){\n if(ques.type == 'Dropdown' ||ques.type == 'Radio' ) {\n // HA 19JAN24 Correction of dropdown values\n ques.selectedObj = event.valueObj ? event.valueObj : null;\n ques.input = event.selectedObj ? event.selectedObj : event.valueObj;\n ques.selectedValue = event.valueObj ? event.valueObj : null;\n // emit the dropdown data to parent\n dropdownData['event'] = event.valueObj;\n dropdownData['ques'] = ques;\n if(dropdownData['event']){\n this.handleDropDown.emit(dropdownData);\n } // VD 21DEC23 - dependent field change\n } else if(ques.type == 'Location'){\n ques.input = event.valueObj;\n ques.selectedValue = event.valueObj.address;\n }else if(ques.type == 'File'){ \n ques.input = this.selectedFileData = event;\n\n\n // Handle file validation errors\n if (Array.isArray(event) && event.length === 0) {\n // No files uploaded when required\n ques.error = ques.Error_Message__c ? new ErrorWrapper() : null;\n} else if (Array.isArray(event) && event.length > 0) {\n // Files were successfully uploaded\n ques.error = null;\n}\n\n// If there were validation errors from the file upload component\nif (event.validationErrors && event.validationErrors.length > 0) {\n ques.error = new ErrorWrapper();\n ques.error.message = event.validationErrors[0]; // Use the first validation error\n}\n\n }else if(ques.type == 'Date' || ques.type == 'DateTime'){ // HA 24JAN24 Converting Date and DateTime to UTC\n if(event.value){\n let d = new Date(event.value);\n let utcString = d?.toISOString();\n ques.input = utcString;\n }else {\n ques.input = '';\n }\n }else if(ques.type == 'List'){\n // VD 20Aug24 handling the list type handle multiple object values\n ques.input = this.dataService.getValue(event.valueObj,event.field);\n }//RS 06JAN25\n else if (ques.type === 'RichTextArea') { \n console.log('RichTextArea event:', event);\n ques.input = event || '';\n } else{\n ques.input = event;\n }\n //RS 06JAN25\n // Validate error message - modified to handle rich text\n const hasError = ques.Error_Message__c && (\n (ques.type === 'File' && ques.input.length === 0) ||\n (ques.type === 'RichTextArea' && (!ques.input || ques.input.trim() === '')) ||\n (ques.type !== 'File' && ques.Type__c !== 'RichTextArea' && !ques.input)\n );\n ques.error = hasError ? new ErrorWrapper() : null;\n ques.error = hasError ? new ErrorWrapper() : null;\n // Once the right value is stored in ques.input store the ques (with input) in storageService\n this.storageService.update(ques);\n // VD 19Jul01 - get updated question\n this.handleQuestion.emit(ques);\n }\n }\n deleteFile(fileData:any){\n console.log('fileDATA',fileData)\n }\n getDropDown(event:any){\n this.hadleDropDownDependent.emit(event);\n }\n// VD 06Sep24 calendar changes\n getCurrentCalendar(event:any){\n this.handleCalendarDate.emit(event);\n }\n\n getCalendarEvent(event:any){\n if(event){\n this.handleCalendarEvent.emit(event);\n }\n }\n\n // VD 06Sep24 remove the special charecters and tags \n // from the questionText\n removeCharacters(questionText:string){\n let updatedText = questionText?.replace(/<[^>]*>/g, '');\n return updatedText;\n }\n\n// sunday comment\n // openCalendarComponent(ques) {\n // const viewContainerRef = this.dynamicHost.viewContainerRef;\n // if(viewContainerRef){\n // viewContainerRef.clear();\n // const componentRef = viewContainerRef.createComponent(CustomCalendarComponent);\n // componentRef.instance.question = ques;\n // componentRef.instance.dateSelected.subscribe((event: any) => this.getCurrentCalendar(event));\n // componentRef.instance.eventSelected.subscribe((event:any) => this.getCalendarEvent(event))\n // }\n // }\n\n isCalendarModalOpen = false;\n calendarModalTitle:any;\n calendarModalSize:any;\n calendarSaveButtonValue: any;\n referenceQuestions = [];\n qbRefrenceBook:any;\n modalCalendarModalFooter:any;\n //RS 03FEB2025 Save the table data independently\n handleTableSave(tableData: any, ques: any) {\n console.log('Saving table data:', tableData);\n localStorage.setItem(`table_${ques.id}`, JSON.stringify(tableData));\n }\n openCalendarModal(event) {\n this.isCalendarModalOpen = true;\n this.qbRefrenceBook = event.qbRefrenceBook;\n this.referenceQuestions = event.referenceQuestions;\n this.calendarModalTitle = event.modalTitle;\n this.calendarModalSize = event.modalSize;\n this.calendarSaveButtonValue = event.saveButtonValue;\n this.modalCalendarModalFooter = event.modalFooter;\n }\n\n\n onCalendarModalSave(){\n this.changeService.dataChanges('calendar-modal-save');\n }\n\n\n handleQuestionEvent(event){\n console.log('handle question here');\n }\n \n closeCalendarModal(event){\n this.isCalendarModalOpen = false;\n }\n\n}\n","<!-- HA 20DEC23 Book Style from salesforce -->\n<!-- HA 28DEC23 Removed IsShengel(removal of shengel values applies for this reason) and direct styling of books to avoid styling issues-->\n<!-- HA 18JAN24 Added class for styling -->\n<div [style]=\"bookStyle\" class=\"content-box form-group\">\n <div class=\"form-row\">\n <!-- HA 20DEC23 Directive and Question Style from salesforce -->\n <!-- RA09DEC24 Changed keys-->\n <div [class]=\"'col-lg-' + ques.size + ' paddingnone'\" *ngFor=\"let ques of questions;let i = index\"\n [id]=\"ques.id\" [dir]=\"ques.langDirection\" [style]=\"ques?.style?.questionStyle\">\n <!-- Sub Question Label -->\n <!-- HA 20DEC23 Label Style from salesforce -->\n <!-- VD 09May24 is hide field change-->\n <div *ngIf=\"!ques.isHidden\" class=\"nxtInputContainer\">\n <div *ngIf=\"ques.type === 'DateTime'\">\n\n </div>\n <!-- VD 20JUN24 - help text changes-->\n <!-- VD 01Aug24 - validation change-->\n <!-- // VD 02Aug24 - label value style-->\n <div [ngClass]=\"{ down2: qbItem?.progressBar }\"\n *ngIf=\"ques.style?.showLabel ? ques.style?.showLabel : true\" [style]=\"ques.style?.labelStyle\">\n <span [class]=\"'dis-flex shengel-myt-font3 myt-font7 '\" [style]=\"ques.style?.labelValueStyle\">{{\n removeCharacters(ques?.questionText) }}\n <div *ngIf=\"ques.isOptional\" style=\"color: red;\">*</div>\n <!-- RS 17JAN2025 -->\n <!-- Displays icons with tooltips help text -->\n <div *ngIf=\"ques.questionText && ques?.helpText\" class=\"icon\" [matTooltip]=\"ques?.helpText\"\n matTooltipClass=\"white-tooltip\">i</div>\n <!-- RS 17JAN2025 -->\n <!-- Displays icons with tooltips for file requirements -->\n <div class=\"icon\" *ngIf=\"ques.fieldsMeta\" [matTooltip]=\"getFileRequirements(ques.fieldsMeta)\"\n matTooltipClass=\"white-tooltip\" style=\"margin-left: 4px;\">i</div>\n </span>\n </div>\n <!-- // VD 12Jun24 - readonly change-->\n <!-- DateTime -->\n <div *ngIf=\"ques.type === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [error]=\"ques.error\"\n [errorMessage]=\"ques.errorMessage\" [readOnly]=\"ques.isReadOnly\" [date]=\"ques.input\"\n (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Date-->\n <div *ngIf=\"ques.type === 'Date'\">\n <app-custom-date [date]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.errorMessage\"\n [readOnly]=\"ques.isReadOnly\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date>\n </div>\n\n <!-- Time-->\n <div *ngIf=\"ques.type === 'Time'\">\n <app-custom-time [time]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.errorMessage\"\n [readOnly]=\"ques.isReadOnly\" (timeChange)=\"childEventCapture($event, ques)\">\n </app-custom-time>\n </div>\n <!-- calendar -->\n <div *ngIf=\"ques.type === 'Calendar'\">\n <app-custom-calendar [question]=\"ques\" (eventSelected)=\"getCalendarEvent($event)\"\n (dateSelected)=\"getCurrentCalendar($event)\" (openModal)=\"openCalendarModal($event)\"\n (closeModal)=\"closeCalendarModal($event)\"></app-custom-calendar>\n <!-- model used in calendar component -->\n <app-custom-model *ngIf=\"isCalendarModalOpen\" [modalTitle]=\"calendarModalTitle\"\n [isModalOpen]=\"isCalendarModalOpen\" [modalSize]=\"calendarModalSize\"\n [saveButtonValue]=\"calendarSaveButtonValue\" [modalFooter]=\"modalCalendarModalFooter\"\n (saveButtonEmit)=\"onCalendarModalSave()\" (cancelButtonEmit)=\"closeCalendarModal($event)\">\n <lib-questionbook [qbItem]=\"qbRefrenceBook\" [questions]=\"referenceQuestions\"\n (handleQuestion)=\"handleQuestionEvent($event)\"></lib-questionbook>\n </app-custom-model>\n </div>\n <!-- Text -->\n <div *ngIf=\"ques.type === 'Text' || ques.type === 'Link'\">\n <app-custom-input [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.progressBar,\n textBox: !qbItem.progressBar\n }\" [question]=\"ques\" [readOnly]=\"ques.isReadOnly\" [idValue]=\"ques.trackingId\"\n [focusEvent]=\"clearSQError(ques.id)\" [error]=\"ques.error\" [placeholder]=\"ques.question\"\n (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n\n <!-- for pick location -->\n <!-- VD 21DEC23 - dependent field change -->\n <div *ngIf=\"ques.type === 'Location'\">\n <!-- HA10012024 Added Api key as input -->\n <app-pick-location [apiKey]=\"qbItem['apiKey']\" [address]=\"ques.selectedValue\" [question]=\"ques\"\n (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.type === 'TextArea'\">\n <app-custom-text-area [question]=\"ques\" [readOnly]=\"ques.isReadOnly\" [value]=\"ques.input\" [rows]=\"3\"\n [error]=\"ques.error\" [placeholder]=\"ques.question \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n <!-- RS 06JAN25 -->\n <!-- for rich text editor -->\n <div *ngIf=\"ques.type === 'RichTextArea'\">\n <app-custom-rich-text [question]=\"ques\" [readOnly]=\"ques.isReadOnly\" [value]=\"ques.input || ''\"\n [error]=\"ques.error\" [placeholder]=\"ques.question\"\n (textValueChange)=\"childEventCapture($event, ques)\">\n </app-custom-rich-text>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.type === 'Email'\">\n <input type=\"email\" readOnly=\"ques.isReadOnly\" [(ngModel)]=\"ques.input\" [id]=\"ques.id\" required=\"\"\n (focus)=\"clearSQError(ques.id)\" style.border-color=\"{{ ques.error ? 'red' : '' }}\"\n placeholder=\"{{ ques.question }}\" />\n </div>\n\n <!-- Table -->\n <!-- RS 03FEB2025 -->\n <!-- Added handleTableSave to handle table data persistence, enabling saving table contents to local storage when save button is clicked -->\n <div *ngIf=\"ques.type === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" [apiMeta]=\"ques.subText\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\"\n (saveTableData)=\"handleTableSave($event, ques)\">\n </app-custom-table>\n </div>\n\n <!-- Table Appendix -->\n <div *ngIf=\"ques.type === 'TableAppendix'\" class=\"\">\n <app-table-appendix [question]=\"ques\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\n </app-table-appendix>\n </div>\n <!-- list -->\n <!-- VD 20Aug24 used correct attribute -->\n <div *ngIf=\"ques.type === 'List'\" class=\"\">\n <lib-search-box [question]=\"ques\" [readOnly]=\"ques.isReadOnly\" [apiMeta]=\"ques.subText\"\n [id]=\"ques.id\" [placeHolderText]=\"ques.question\" [filterName]=\"ques.input\"\n (searchValueChange)=\"childEventCapture($event, ques)\">\n </lib-search-box>\n </div>\n\n <!-- Dropdown -->\n <!-- HA 09FEB24 Added condition of sqOption to the dropdown -->\n <div *ngIf=\"ques?.type === 'Dropdown' && ques?.options\" class=\"\">\n <!-- HA 20DEC23 For Translation --> <!-- VD 19JAN24 - getting token as input -->\n <!-- AP 10FEB25 - Dynamically binding selectedValue based on isShengel condition -->\n <app-custom-dropdown [options]=\"ques.options\" [token]=\"token\" [apiMeta]=\"ques.subText\"\n [id]=\"ques.id\" [selectedValue]=\"qbItem.isShengel ? ques.input : ques.selectedValue\"\n placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n [errorMessage]=\"ques.errorMessage\" [error]=\"ques.error\" [referenceField]=\"ques.referenceField\"\n [readOnly]=\"ques.isReadOnly\" [question]=\"ques\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n <!-- // VD 02Aug24 custom-radio component -->\n <div *ngIf=\"ques.type === 'Radio' && ques?.options\" class=\"\">\n <app-custom-radio [options]=\"ques.options\" [token]=\"token\" [apiMeta]=\"ques.subText\" [id]=\"ques.id\"\n [selectedValue]=\"ques.selectedValue\" [errorMessage]=\"ques.errorMessage\" [error]=\"ques.error\"\n [referenceField]=\"ques.referenceField\" [readOnly]=\"ques.isReadOnly\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\n </app-custom-radio>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.type === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [error]=\"ques.error\" [question]=\"ques\"\n [allFiles]=\"ques.input\" [tableFile]=\"false\" (selectedFileData)=\"childEventCapture($event, ques)\"\n (deletedFileData)=\"deleteFile($event)\" [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n <div *ngIf=\"ques.type === 'PopUpMessage'\" class=\"\">\n <app-dependent-table [alertMessage]=\"ques.errorMessage\">\n </app-dependent-table>\n </div>\n <div *ngIf=\"ques.type === 'Label'\" class=\"\">\n <app-custom-label [labelStyle]=\"ques.title\" [labelValue]=\"ques.question\">\n </app-custom-label>\n </div>\n <!-- // VD 02Aug24 image component -->\n <div *ngIf=\"ques.type === 'Image'\" class=\"\">\n <app-custom-image [question]=\"ques\">\n </app-custom-image>\n </div>\n <!-- 08NOV23 - button type question added -->\n <!-- Button -->\n <div *ngIf=\"ques.type === 'Button'\" class=\"\">\n <app-custom-button [height]=\"'50px'\" [width]=\"'150px'\" [buttonText]=\"ques?.question\"\n [value]=\"ques?.question\" (buttonValue)=\"childEventCapture($event, ques)\">\n </app-custom-button>\n </div>\n <!-- HA 20DEC23 This is to load book type questions-->\n <div *ngIf=\"ques.type === 'Book'\">\n <!-- HA 09FEB24 Added ternary operator -->\n <lib-questionbook [qbItem]=\"ques.qbItem\" [labelValue]=\"labelValue\"\n [questions]=\"ques.qbItem?.subQuestions\"\n (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\n </div>\n </div>\n </div>\n </div>\n <!-- 06-09-24 for calendar type-->\n <!-- <ng-template dynamicComponentHost></ng-template> -->","import {\n Component,\n OnInit,\n OnChanges,\n Inject,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ElementRef,\n SimpleChanges,\n} from \"@angular/core\";\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { DataService } from '../../services/data.service';\nimport { ActivatedRoute, Params } from \"@angular/router\";\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\nimport { ActionMeta } from '../../interfaces/actionMeta';\nimport { Question } from \"../../wrapper\";\nimport { BookletWrapper } from \"../../model/bookletWrapper\";\nimport { StorageService } from '../../services/storage.service';\nimport { ChangeService } from \"../../services/change.service\";\n// HA 19DEC23 imported translation service\nimport { I18nService } from \"../../i18n.service\";\n\n@Component({\n selector: 'lib-booklet',\n templateUrl: './booklet.component.html',\n styleUrls: ['./booklet.component.css']\n})\nexport class BookletComponent implements OnInit {\n @Input() bookletId: string;\n @Input() serv: string;\n @Input() tkn: string;\n @Input() bookletJSON: any;\n @Input() dropdownDependentData:any;\n @Input() labelValue:string;\n @Input() token:string;\n @Input() languageCode:string; // VD 11Jun24 - translation changes\n @Input() fieldRestrictions: any; // VD 12Jun24 - field permission change\n @Output() handleBookletActionEvent: EventEmitter<any> = new EventEmitter();\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\n @Output() hadleDropDownDependent:EventEmitter<any> = new EventEmitter();\n // VD 06Sep24 calendar changes\n @Output() handleCalendarDate: EventEmitter<any> = new EventEmitter();\n @Output() handleCalendarEvent: EventEmitter<any> = new EventEmitter();\n\n public nxtBooklet: BookletWrapper;\n\n public booklet: any[] = [];\n public abItem: any = {};\n public actions: ActionMeta[] = [];\n public bookQuestionsMap: any = new Map();\n public translateMap: any = new Map(); // VD 11Jun24 - translation changes\n private sqOptions: any = new Map();\n public isAnswerFlag: boolean = false;\n public spinnerName: string;\n public spinnerType: string;\n // HA 19DEC23 langDirection variable is created to assign the direction as class\n langDirection = 'ltr'; // HA 28DEC23 making ltr as default direction\n answerList = []; // HA 11-JAN-24 Answerlist to store the minimal value\n @Input() dataBind:any;// HA 18-JAN-24 To insert the endpoint value to the question\n allEvents:any[]=[]; // VD 06Sep24 calendar changes\n \n constructor(\n private sfService: SalesforceService,\n private dataService: DataService,\n private storageService: StorageService,\n private route: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private changeService: ChangeService, \n el: ElementRef,\n public i18nService: I18nService\n ) { \n this.spinnerName = \"sp1\";\n this.spinnerType = \"ball-spin-clockwise\";\n }\n\n ngOnInit(): void {\n// VD 12Jan24 fieldRestrictions formate \n // {\n // \"fields\" : {\n // \"transQb-01\" : \"readOnly\",\n // \"TransFir02\" : \"\",\n // \"TransLast03\" : \"readOnly\",\n // \"bk2-q2\" : \"hide\"\n // }\n // }\n\n // HA 18-JAN-24 Dummy Static data for testing\n // this.dataBind = {\n // \"_id\": \"659ed002ed51bb8061544255\",\n // \"companyId\": \"5ullh1BWpYqnvzKh9L\",\n // \"name\": \"Al Yasmine\",\n // \"code\": \"check\",\n // \"status\": \"In-Progress\",\n // \"createdAt\": \"2024-01-10T17:12:34.686Z\",\n // \"updatedAt\": \"2024-01-10T19:53:08.135Z\",\n // \"__v\": 0,\n // \"owner\": \"check\",\n // \"customer\": \"check\",\n // \"dati\": \"2024-01-23T18:30:00.000Z\",\n // \"timi\": \"2024-01-23T18:30:00.000Z\",\n // \"fName\": \"Haider\",\n // \"lName\": \"Ali\",\n // \"defaultApp\": \"NXT\",\n // \"email\": \"haider@gmail.com\",\n // \"location\": {address: \"107, Ashok Nagar, Kadugondanahalli, Bengaluru, Karnataka 560045, India\",\n // latitude: 13.0200575,\n // longitude: 77.6129816},\n // \"location\": \"107, Ashok Nagar, Kadugondanahalli, Bengaluru, Karnataka 560045, India\",\n // \"textArea\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum\",\n // };\n this.processBooklet();\n }\n // VD NOV23 - update the json data when bookletId and bookletJSON changes\n ngOnChanges(simplechanges:SimpleChanges) {\n // HA 23JAN24 To avoid undefined error\n if(simplechanges['bookletId'] || (simplechanges['bookletJSON'] && (simplechanges['bookletJSON'].currentValue != null || simplechanges['bookletJSON'].currentValue != undefined)) || (simplechanges['dataBind'] && (simplechanges['dataBind'].currentValue != null || simplechanges['dataBind'].currentValue != undefined)) ){\n this.allEvents = [];\n this.processBooklet();\n }\n // if(this.booklet == undefined || this.booklet.length == 0) {\n // this.processBooklet();\n // }\n }\n\n processBooklet() {\n if (this.bookletId) {\n if (this.bookletId.length == 18) {\n this.readBooklet(this.bookletId);\n }\n } else if(this.bookletJSON) {\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\n this.isAnswerFlag = true;\n\n if(this.bookletJSON != null || this.bookletJSON != undefined) {\n // Storing the API response for future use\n this.storageService.save(this.bookletJSON);\n }\n\n this.booklet = this.bookletJSON.records;\n this.abItem = this.bookletJSON.answerbook;\n\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\n for (var sq in this.bookletJSON.sqOptions) {\n this.sqOptions.set(sq, this.bookletJSON.sqOptions[sq]);\n }\n\n // Process the Questions\n // HA 28DEC23 this applies for booklet\n // HA 17JAN24 Added ternary operator to avoid undefined scenario\n // HA 09FEB24 Adding condition to avoid undefined error\n if(this.bookletJSON?.bookQuestionsMap && Object.keys(this.bookletJSON?.bookQuestionsMap).length > 0){\n for (var value in this.bookletJSON.bookQuestionsMap) {\n this.bookQuestionsMap.set(value, this.bookletJSON.bookQuestionsMap[value]);\n }\n }\n // HA 28DEC23 this applies for book or questions\n else{\n var value = '';\n // HA 09FEB24 Added ternary\n // RS 09DEC24 Changed keys\n value = this.bookletJSON.records[0]?.id;\n this.bookQuestionsMap.set(value, this.bookletJSON.questionbook);\n }\n \n // VD 20Jun24 - translation changes\n for (var value in this.bookletJSON?.translationMap) {\n this.translateMap.set(value, this.bookletJSON.translationMap[value]);\n }\n // VD 31NOV24 wrapper changes\n if(this.bookletJSON.questionbook?.action != undefined) {\n this.actions = JSON.parse(this.bookletJSON.questionbook.action);\n }\n }\n // HA 19DEC23 langDirection variable value assigning\n // RS 09DEC24 Changed keys\n if(this.bookletJSON?.questionbook?.style){\n var style = JSON.parse(JSON.parse(JSON.stringify(this.bookletJSON?.questionbook?.style)));\n this.langDirection = style?.direction;\n }\n else if(this.bookletJSON?.records[0]?.style){\n // else if(this.bookletJSON?.records[0]?.style){\n\n var style = JSON.parse(JSON.stringify(this.bookletJSON?.records[0]?.style));\n this.langDirection = style?.direction;\n }\n\n // HA 18-JAN-24 The condition is used for Bind-In Logic \n this.handleCompleteBooklet(this.bookletJSON); \n }\n // VD 12Jun24 - translation changes\n private readBooklet = (uuid: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Booklet\", \"read\", uuid,this.languageCode],\n this.successReadBooklet,\n this.failureReadBooklet\n );\n } else {\n // VD 31NOV24 param changes with new method\n let paramMap = { createAnswerBookFlag: false };\n paramMap['c__qb_id'] = '';\n paramMap[\"c__record_id\"] = '';\n let para = {\n dataType: \"Booklet\",\n operation: \"read\",\n param1: uuid,\n paramJSON: JSON.stringify(paramMap),\n languageCode : this.languageCode\n }\n this.sfService.remoteAction(\n \"NxtController.processData\",\n [JSON.stringify(para)],\n this.successReadBooklet,\n this.failureReadBooklet\n );\n }\n }\n\n private successReadBooklet = (response) => {\n console.log('Inside the successReadBooklet');\n if(response != null || response != undefined) {\n // Storing the API response for future use\n this.storageService.save(response);\n\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\n // this.isAnswerFlag = true;\n \n this.booklet = response.records;\n this.abItem = response.answerbook;\n \n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\n for (var sq in response.sqOptions) {\n this.sqOptions.set(sq, response.sqOptions[sq]);\n }\n\n // Process the Questions\n for (var value in response.bookQuestionsMap) {\n this.bookQuestionsMap.set(value, response.bookQuestionsMap[value]);\n }\n // VD 11Jun24 - translation changes\n for (var value in response.translationMap) {\n this.translateMap.set(value, response.translationMap[value]);\n }\n // VD 31NOV24 wrapper changes\n if(response.questionbook?.action != undefined) {\n this.actions = JSON.parse(response.questionbook.action);\n }\n }\n // HA 19DEC23 langDirection variable value assigning\n if(response?.questionbook?.style){\n var style = JSON.parse(JSON.parse(JSON.stringify(response?.questionbook?.style)));\n this.langDirection = style?.direction;\n }\n else if(response?.records[0]?.style){\n var style = JSON.parse(JSON.parse(JSON.stringify(response?.records[0]?.style)));\n this.langDirection = style?.direction;\n }\n }\n\n private failureReadBooklet = (response) => {\n\n }\n\n handleBookletActionClick(action:ActionMeta) {\n // HA 19JAN24 Action changes\n // RS 09DEC24 Changed keys\n this.answerList = [];\n this.dataBind = []; // HA 12FEB24 Clearing dataBind upon button action so that dataBind value will not override the changed value\n let dataToParent = {};\n let validForm = true; // VD 01Aug24 - validation change\n // HA 22JAN24 this change to make close event work\n dataToParent['action'] = action.eventtoemit;\n if(!(action.eventtoemit === 'close' || action.eventtoemit === 'print')){\n // HA 18-JAN-24 Sending the complete json data also \n dataToParent['jsonBook'] = this.storageService.get();\n // HA 17JAN24 nxtId to dataParent object\n if(this.bookletJSON){\n dataToParent['nxtId'] = Object.keys(this.bookletJSON?.bookQuestionsMap)[0];\n }\n // HA 11-JAN-24 Minimizing the value which has to be passed to the server\n this.handleCompleteBooklet(dataToParent['jsonBook']);\n dataToParent['data'] = this.answerList ? this.answerList : dataToParent['data'];\n // when clicking the submit button validating the required fields\n for(let key in dataToParent['jsonBook'].bookQuestionsMap){\n const currentBook = dataToParent['jsonBook'].bookQuestionsMap[key];\n currentBook.subQuestions.forEach(element => {\n // VD 01Aug24 - validation change\n if(element.isOptional && dataToParent['action'] == 'submit' && (!element.input || (Array.isArray(element.input) && element.input.length === 0)) && !element.isHidden && element.type != 'Label' && element.type != 'Image' ){ //SKS5NOV25 \n element.error = true;\n validForm = false;\n this.changeService.submitChange(element.id);\n }\n // VD 02Aug24 - clear action changes\n if(dataToParent['action'] == 'clear'){\n if(element.type == 'Dropdown' || element.type == 'Location' || element.type == 'Radio') {\n element.selectedValue = undefined;\n }else if(element.type == 'File'){\n element.input = [];\n }else {\n element.input = '';\n }\n }\n });\n }\n }\n // VD 13MAY24 - print QR button changes\n if(action.eventtoemit === 'print'){\n dataToParent['actionData'] = action['data'];\n }\n // HA 23JAN24 To call the action on any event\n // VD 01Aug24 - validation change\n if(validForm){\n this.handleBookletActionEvent.emit(dataToParent);\n }else {\n dataToParent['action'] = 'error';\n this.handleBookletActionEvent.emit(dataToParent);\n }\n }\n\n // HA 18-JAN-24 handleCompleteBooklet is to simplify the logic\n handleCompleteBooklet(completeBooklet){\n if(Object.keys(completeBooklet?.bookQuestionsMap ?? {}).length === 0){ // HA 11-JAN-24 If condition to load booklet\n this.handleBook(completeBooklet?.questionbook?.subQuestions);\n }\n else{ // HA 11-JAN-24 To load book questions\n for (const key in completeBooklet.bookQuestionsMap) {\n const val = completeBooklet.bookQuestionsMap[key];\n if(val.type === 'Book'){\n this.handleBook(val.subQuestions);\n }\n else{\n this.handleQues(val);\n }\n }\n }\n }\n\n // HA 11-JAN-24 handleBook loads the Book\n // RS 09DEC24 Changed keys\n handleBook(quesList: any){\n quesList?.forEach(element => {\n if(element.type === 'Book'){\n // HA 24JAN24 Fetching from QB reference\n var book = JSON.parse(element.qbReferenceQuestions);\n book.questionbook.subQuestions.forEach(ques => {\n this.handleQues(ques);\n });\n }\n else{\n this.handleQues(element);\n }\n });\n // VD 13Sep24 - databind changes\n // VD 23 Oct24 - file type changes\n if(this.dataBind && Object.keys(this.dataBind).length > 0){\n this.changeService.dataChanges('dataBind');\n }\n }\n\n // HA 11-JAN-24 handleQues to load question\n // VD 06Sep24 calendar changes\n handleQues(ques: any){\n // HA 19-JAN-24 If condition is for bind-in, correction\n // HA 09FEB24 Adding condition to avoid undefined error\n if(this.dataBind && Object.keys(this.dataBind).length > 0){\n for(let [key, val] of Object.entries(this.dataBind)){\n let value:any = val;\n if(ques.referenceField === key){\n if(ques.type === 'Dropdown' || ques.type === 'Radio' ){\n this.sqOptions.forEach(element => {\n if(element['referenceField'] === key){\n element['input'] = ques.input = value;\n element['selectedValue'] = ques.selectedValue = value;\n }\n });\n }\n // HA 24JAN24 To bind-in Date and DateTime\n else if(ques.type === 'Date' || ques.type == 'DateTime'){\n ques.input = new Date(value?.toString());\n }\n // HA 12FEB24 To bind-in Location Type\n else if(ques.type === 'Location'){\n ques.input = value;\n ques.selectedValue = value['address'] ? value['address'] : value;\n }\n // VD 06Sep24 calendar changes for data bindIn\n else if(ques.type === 'Calendar'){\n let entries = JSON.parse(ques['fieldsMeta']);\n if(entries){\n let referenceQuestions = [];\n if(entries.length > 0){\n entries.forEach(element => {\n if(element.questionReference){\n let qReference = JSON.parse(element.questionReference);\n referenceQuestions.push(qReference?.question);\n }\n });\n }\n if(referenceQuestions.length > 0){\n value?.forEach(calendarArray => {\n let date = new Date(calendarArray.date);\n calendarArray.entries.forEach(inputEntry=>{\n for(let [k, v] of Object.entries(inputEntry)){\n referenceQuestions.forEach(field => {\n if(field.referenceField == k){\n if(field.type === 'Date' || field.type == 'DateTime' || field.type == 'Time'){\n field.input = new Date(v?.toString());\n }if(field.type === 'Dropdown' || field.type === 'Radio'){\n field.selectedValue = v;\n field.input = v;\n }else {\n field.input = v;\n }\n }\n });\n } \n this.addEvent(date,referenceQuestions);//SKS 27SEP24 each event added to allEvents array\n }) \n // this.addEvent(date,referenceQuestions); //this is only last event added to allEvents array\n });\n }\n }\n ques.input = this.allEvents.length > 0 ? this.allEvents : '';\n }\n // VD 23 Oct24 - file type changes\n else if(ques.type === 'File'){\n ques.input = [];\n ques.input = value;\n }\n else{\n ques.input = value;\n }\n this.answerList.push(ques); // HA 12FEB24 To give the value for data\n }\n else{\n console.log(\"reference field not found\");\n }\n }\n }\n else{\n const question = {};\n question['id'] = ques.id;\n question['input'] = ques.input;\n // HA 12FEB24 To bind-out Location Type\n if(ques.type === 'Location'){\n question['input'] = ques.input ? ques.input : ques.selectedValue;\n }else if(ques.type == 'File'){\n // VD 23 Oct24 - file type changes\n question['input'] = ques.input ? ques.input : [];\n }\n question['type'] = ques.type;\n question['questionNumber'] = ques.questionNumber;\n question['referenceField'] = ques?.referenceField;\n question['selectedValue'] = ques?.selectedValue; // MR 31JAN24 Need to pass the selected value too\n this.answerList.push(question);\n }\n }\n\n// VD 06Sep24 calendar changes for data bindIn\n addEvent(day: any, entryQues) {\n // Transform new entries into the desired format\n const newEntries = entryQues.reduce((acc, q) => {\n acc[q.id] = { ...q };\n return acc;\n }, {});\n\n // Find if an event already exists for the given date\n const existingEvent = this.allEvents.find(event => event.date.toDateString() === day.toDateString());\n\n if (existingEvent) {\n // If the event exists, push the new entries to the existing entries\n const existingEntries = existingEvent.entries.map(entry => ({ ...entry }));\n existingEntries.push(newEntries);\n existingEvent.entries = existingEntries;\n } else {\n // Create a new event if it doesn't exist for the given date\n const newEvent = {\n id: '_' + Math.random().toString(36).substr(2, 9),\n date: day,\n entries: [newEntries] // Wrap the new entries in an array\n };\n this.allEvents.push(newEvent);\n }\n}\n\n\n readQuestions(qbId: string) {\n let questions = [];\n // HA 31-JAN-24 Added ternary to avoid undefined\n for(var sq in this.bookQuestionsMap?.get(qbId)?.subQuestions) {\n let q: Question = this.bookQuestionsMap?.get(qbId).subQuestions[sq];\n // HA 09FEB24 if question is there process\n if(q){\n if((q.type == 'Dropdown' || q.type == 'Radio') && this.sqOptions.get(q.id)) {\n questions.push(this.sqOptions.get(q.id));\n } else {\n questions.push(q);\n }\n }\n }\n\n // VD 12Jun24 field permisision changes\n if (this.fieldRestrictions) {\n const fieldRestrictions = new Map(Object.entries(this.fieldRestrictions.fields));\n questions.forEach(ques => {\n const restriction = fieldRestrictions.get(ques.uniqueIdentifier);\n \n if (restriction) {\n ques.isReadOnly = restriction === 'readOnly';\n ques.isHidden = restriction === 'hide';\n }\n });\n }\n return questions;\n }\n // VD 11Jun24 - translation changes\n readTransQuestions(qbId: string){\n let record = [];\n let translateRecord = this.translateMap.get(qbId);\n if(translateRecord && translateRecord.length > 0) {\n translateRecord.forEach(lanRec => {\n if(lanRec.languageCode == this.languageCode){\n record = lanRec.fields\n }\n });\n }\n return record;\n }\n\n getText(value) {\n var doc = new DOMParser().parseFromString(value, \"text/html\");\n return this.sanitizer.bypassSecurityTrustHtml(\n doc.documentElement.textContent\n );\n }\n getDropDown(event:any){\n this.hadleDropDownDependent.emit(event);\n }\n // VD 06Sep24 calendar changes\n getCalendarDate(event:any){\n this.handleCalendarDate.emit(event);\n }\n getCalendarEvent(event:any){\n event[\"nxtId\"]= Object.keys(this.bookletJSON?.bookQuestionsMap)[0];\n this.handleCalendarEvent.emit(event);\n }\n}\n","<ngx-spinner size=\"medium\" [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\n<!-- Booklet Handling-->\n<!-- HA 19DEC23 For Direction -->\n<div *ngFor=\"let qb of booklet\" [ngClass]=\"langDirection\">\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\n <!-- RS 09DEC24 Changed keys-->\n <!-- <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.id\" [tkn]=\"tkn\"></lib-questionnaire> -->\n <!-- HA 28DEC23 Below If logic is to load from booklet -->\n <div *ngIf=\"qb.subQuestions; else elseBlock\">\n <div *ngFor=\"let ques of qb.subQuestions\" class=\"questiondiv1\">\n <div>\n <!-- HA 17JAN24 - Is title is enabled so that based on the boolean div will be visible -->\n <div *ngIf=\"ques.isTitle\" [class]=\"qb.isShengel ? 'header-style' : 'question-f-size additional'\">\n <!-- VD 08NOV23 - showing lable when its available-->\n <div [innerHTML]=\"getText(ques?.questionText)\" *ngIf=\"ques?.questionText\" >\n {{ ques?.questionText }}\n </div>\n </div> <!-- VD 19JAN24 - getting token as input --> <!--VD 11Jun24 - translation changes-->\n <!--VD 06Sep24 calendar changes-->\n <lib-questionbook [qbItem]=\"qb\" [token]=\"token\"\n [labelValue]=\"labelValue\"\n [questionItem]=\"ques\"\n [translatedQuestions]=\"readTransQuestions(qb.id)\"\n [questions]=\"readQuestions(qb.id)\"\n (handleDropDown)=\"getDropDown($event)\"\n (handleCalendarDate)=\"getCalendarDate($event)\"\n (handleCalendarEvent)=\"getCalendarEvent($event)\"\n ></lib-questionbook>\n </div>\n </div>\n </div>\n <!-- HA 28DEC23 Below else logic is to load from books or questions -->\n <ng-template #elseBlock>\n <div class=\"questiondiv1\">\n <div>\n <div *ngIf=\"!qb.isTitle\" [class]=\"qb.isShengel ? 'header-style' : 'question-f-size additional'\">\n <!-- VD 08NOV23 - showing lable when its available-->\n <div [innerHTML]=\"getText(qb?.questionText)\" *ngIf=\"qb?.questionText\" >\n {{ qb?.questionText }}\n {{ qb?.title }}\n </div>\n </div> <!-- VD 19JAN24 - getting token as input --> <!-- // VD 11Jun24 - translation changes-->\n <lib-questionbook [qbItem]=\"qb\" [token]=\"token\" [labelValue]=\"labelValue\" [questionItem]=\"qb\" [translatedQuestions]=\"readTransQuestions(qb.id)\" [questions]=\"readQuestions(qb.id)\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\n </div>\n </div>\n </ng-template>\n</div>\n<!-- RS 09DEC24 Changed keys-->\n<!-- Group Actions -->\n<!-- HA 19DEC23 For Direction -->\n<div class=\"align-submit-row\" *ngIf=\"abItem?.status != 'Completed'\" [ngClass]=\"langDirection\">\n <div *ngFor=\"let action of actions; let i = index\">\n <!-- // HA 22JAN24 Commonise the button style in fusion -->\n <button (click)=\"handleBookletActionClick(action)\" ngClass=\"btn btn-primary fc-button nxtButton\">\n {{ action.name }}\n </button>\n </div>\n</div>\n","import { Component, OnInit , Input} from '@angular/core';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\nimport { SharedService } from '../../services/shared.service';\n\n@Component({\n selector: 'app-file-view',\n templateUrl: './file-view.component.html',\n styleUrls: ['./file-view.component.css']\n})\nexport class FileViewComponent implements OnInit {\n @Input() documentData;\n @Input() api;\n\n constructor(private SharedService: SharedService,\n public i18nService: I18nService\n ) { }\n\n ngOnInit(): void {\n }\n\n viewDoc(link) {\n /*\n Author: Vinay Jadhav\n @description: This function will view the file from azure blob.\n The link passed as a parameter will extract file name and pass it to the service\n @param link: It will accept a doc link\n @return: It will not return anything but it will either show or download the file.\n */\n if (link && link !== null) {\n this.SharedService.processViewFile(link.split('/').pop(),this.api);\n }\n // window.open(environment.api.substring(0, environment.api.length - 1) + link, '_blank');\n }\n\n getDocIcon(docName) {\n const ext = docName.split('.').pop(-1);\n return this.SharedService.docIcon(ext);\n }\n\n \n\n}\n","<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label attachment\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ","import { Component, Input, OnInit } from '@angular/core';\n// HA 19DEC23 imported translation service\nimport { I18nService } from '../../i18n.service';\nimport { ActionMeta } from '../../interfaces/actionMeta';\nimport { Question } from '../../wrapper';\n\n@Component({\n selector: 'lib-summary-page',\n templateUrl: './summary-page.component.html',\n styleUrls: ['./summary-page.component.css']\n})\nexport class SummaryPageComponent implements OnInit {\n @Input() answerJson:any;\n @Input() api:string;\n\n public booklet: any[] = [];\n public bookQuestionsMap: any = new Map();\n public actions: ActionMeta[] = [];\n private sqOptions: any = new Map();\n public questions:any[] = [];\n filteredQuestion: any[];\n\n constructor(public i18nService: I18nService) { }\n\n ngOnInit(): void {\n if(this.answerJson) {\n console.log('answer json',this.answerJson);\n this.booklet = this.answerJson.records;\n\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\n for (var sq in this.answerJson.sqOptions) {\n this.sqOptions.set(sq, this.answerJson.sqOptions[sq]);\n }\n // Process the Questions\n for (var value in this.answerJson.bookQuestionsMap) {\n this.bookQuestionsMap.set(value, this.answerJson.bookQuestionsMap[value]);\n }\n }\n this.processSummary(this.booklet);\n }\n // RS 09DEC24 Changed keys\n processSummary(data:any){\n let questions = [];\n for( var i = 0; i < data.length ;i++){\n let qbId = data[i].id;\n for(var sq in this.bookQuestionsMap?.get(qbId).subQuestions) {\n let q: Question = this.bookQuestionsMap?.get(qbId).subQuestions[sq];\n if(q.type == 'Dropdown') {\n questions.push(this.sqOptions.get(q.id));\n } else {\n if(!q.input?.includes('|')){ // to avoid the unwanted fields for summary page\n questions.push(q);\n }\n }\n }\n }\n this.questions = questions;\n console.log('question', this.questions);\n // map the questions using the the bookId\n var qbIds = new Set(this.questions.map((item:any) => item.questionBookId))\n this.filteredQuestion = [];\n qbIds.forEach((id) => {\n this.filteredQuestion.push({\n Id: id, \n questions: this.questions.filter((i:any) => i.questionBookId === id)\n });\n })\n console.log('filteredQuestion',this.filteredQuestion);\n }\n\n}\n","<div class=\"col-lg-12\">\n <div class=\"panel-group panel-group-joined\" id=\"details\">\n <div class=\"panel panel-default\">\n <div class=\"panel-heading\">\n <h4 class=\"panel-title\">\n <!-- HA 19DEC23 For Translation -->\n<!-- HA 20FEB24 PTW Details to Details -->\n<!-- RS 09DEC24 Changed keys-->\n <a data-toggle=\"collapse\" data-parent=\"#details\" href=\"#collapse\" class=\"collapsed\">\n {{'details' | i18n:i18nService.currentLanguage}}\n </a>\n </h4>\n </div>\n <div [id]=\"'collapse'\" class=\"collapse\">\n <div class=\"panel-body\">\n <div class=\"row\" *ngFor=\"let item of filteredQuestion;let i = index\">\n <div class=\"col-lg-6\" *ngFor=\"let ques of item.questions\" >\n <label *ngIf=\"ques.type != 'File'\" >{{ques.question}}</label>\n <p *ngIf = \"ques.type != 'Dropdown' && ques.type != 'Table' && ques.type != 'File'\">{{ ques.input }}</p>\n <p *ngIf=\"ques.type == 'Dropdown'\">{{ ques.selectedValue }}</p>\n <p *ngIf=\"!ques.input\">N/A</p>\n <div *ngIf= \"ques.type == 'Table'\">\n <div *ngFor=\"let item of ques.input\" class=\"align-center\">\n <img *ngIf=\"item.value == 'yes' \" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <p *ngIf=\"item.value == 'yes' \">{{ item.ppe }}</p>\n </div>\n </div>\n <div *ngIf = \"ques.type == 'File'\">\n <app-file-view [api]=\"api\" [documentData]=\"ques.input\"></app-file-view>\n </div>\n </div>\n <div *ngIf=\"i != filteredQuestion.length -1\" class=\"col-lg-12\">\n <hr>\n </div>\n </div>\n </div>\n </div> \n </div>\n</div>\n\n","// HA 19DEC23 File created for translation\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n// import { I18nPipe } from './i18n.pipe';\n// import { I18nComponent } from './i18n.component';\nimport { I18nService } from './i18n.service';\nimport { i18nConfigService } from './i18n-config.service';\n\n\n\n@NgModule({\n declarations: [\n // I18nPipe,\n // I18nComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class I18nModule {\n\n static forRoot(config): ModuleWithProviders<I18nModule> {\n return {\n ngModule: I18nModule,\n providers: [\n I18nService,\n {\n provide: i18nConfigService,\n useValue: config\n }\n ]\n }\n }\n}\n","// HA 19DEC23 File created for translation\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { I18nService } from './i18n.service';\n@Component({\n selector: 'app-i18n',\n styles: [\n `.selected-language {\n color: green !important;\n font-weight: bold;\n font-size: 24px !important;\n}`,\n `.not-selected-language {\n color: #555555;\n font-weight: bold;\n}`,\n ],\n template: `\n <a *ngFor=\"let lang of i18nService.langList\" href=\"javascript:void(0);\" class=\"not-selected-language\" [ngClass]=\"{'selected-language': i18nService.currentLanguage === lang.lang}\"\n\n (click)=\"firstClick(lang.lang)\">\n <span class=\"mr-3\">\n {{lang.lang}}\n </span>\n </a>\n\n `,\n})\nexport class I18nComponent implements OnInit {\n // @Output() handleEve:EventEmitter<any> = new EventEmitter();\n constructor(\n public i18nService: I18nService\n ) {}\n ngOnInit() {\n console.log('ngOnInit component.ts')\n // this.handleEve.emit();\n }\n\n firstClick(event){\n console.log('first ', event);\n this.i18nService.languageChange(event);\n // this.handleEve.emit();\n window.location.reload();\n }\n}\n","const enI18n = {\n required: \"Required\",\n addMore: \"Add More\",\n select: \"Select\",\n attachment: \"Attachment\",\n chooseFiles: \"Choose files\",\n uploadFile: \"Upload File\",\n thisFieldIsRequired: \"This field is required.\",\n pickYourLocation: \"Pick Your Location\",\n // firstName: \"First Name\",\n // lastName: \"Last Name\",\n // division: \"Division\",\n // numberPlate: \"Number Plate\",\n calibrated: \"Calibrated\",\n enterValue: \"Enter Value\",\n details: \"Details\", // HA 20FEB24 PTW Details to Details\n pleaseMakeChoice: \"Please make a choice\",\n attach: \"Attach\",\n add: \"Add\",\n zeroOfZero: \"0 of 0\",\n selectDate: \"Select date\",\n toBuyTicket: \"to buy a ticket\",\n pickLocation: \"Pick Location\",\n enterLocation: \"Enter Location\",\n searchNearestLocation: \"Search Nearest Location\",\n currentTheme: \"ltr\",\n}\n\nexport default enI18n;","const arI18n = {\n required: \"مطلوب\",\n addMore: \"أضف المزيد\",\n select: \"يختار\",\n attachment: \"مرفق\",\n chooseFiles: \"اختر الملفات\",\n uploadFile: \"رفع ملف\",\n thisFieldIsRequired: \"هذه الخانة مطلوبه.\",\n pickYourLocation: \"اختر موقعك\",\n // firstName: \"الاسم الأول\",\n // lastName: \"اسم العائلة\",\n // division: \"قسم\",\n // numberPlate: \"لوحة الأرقام\",\n calibrated: \"معايرة\",\n enterValue: \"أدخل القيمة\",\n details: \"تفاصيل\", // HA 20FEB24 PTW details to Details\n pleaseMakeChoice: \"يرجى الاختيار\",\n attach: \"يربط\",\n add: \"يضيف\",\n zeroOfZero: \"0 من 0\",\n selectDate: \"حدد تاريخ\",\n toBuyTicket: \"لشراء تذكرة\",\n pickLocation: \"اختر الموقع\",\n enterLocation: \"إدخال الدولة\",\n searchNearestLocation: \"البحث عن أقرب موقع\",\n currentTheme: \"rtl\",\n}\n\nexport default arI18n;","const tamI18n = {\n required: \"தேவை\",\n addMore: \"மேலும் சேர்க்கவும்\",\n select: \"தேர்ந்தெடுக்கவும்\",\n attachment: \"இணைப்பு\",\n chooseFiles: \"கோப்புகளைத் தேர்ந்தெடுக்கவும்\",\n uploadFile: \"கோப்பை பதிவேற்றவும்\",\n thisFieldIsRequired: \"இந்த புலம் தேவை.\",\n pickYourLocation: \"உங்கள் இருப்பிடத்தைத் தேர்ந்தெடுக்கவும்\",\n // firstName: \"முதல் பெயர்\",\n // lastName: \"கடைசி பெயர்\",\n // division: \"பிரிவு\",\n // numberPlate: \"இலக்கத்தகடு\",\n calibrated: \"அளவீடு செய்யப்பட்டது\",\n enterValue: \"மதிப்பை உள்ளிடவும்\",\n details: \"விவரங்கள்\", // HA 20FEB24 PTW Details to Details\n pleaseMakeChoice: \"தயவுசெய்து தேர்வு செய்யுங்கள்\",\n attach: \"இணைக்கவும்\",\n add: \"சேர்\",\n zeroOfZero: \"0 இல் 0\",\n selectDate: \"தேதியைத் தேர்ந்தெடுக்கவும்\",\n toBuyTicket: \"டிக்கெட் வாங்க\",\n pickLocation: \"இருப்பிடத்தைத் தேர்ந்தெடுக்கவும்\",\n enterLocation: \"இருப்பிடத்தை உள்ளிடவும்\",\n searchNearestLocation: \"அருகிலுள்ள இடத்தைத் தேடுங்கள்\",\n currentTheme: \"ltr\",\n}\n\nexport default tamI18n;","import { Component, OnInit } from '@angular/core';\nimport { SharedService } from '../../services/shared.service';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.css']\n})\nexport class LoaderComponent implements OnInit {\n\n isLoading: boolean = false;\n\n constructor(private loaderService: SharedService) {}\n\n ngOnInit(): void {\n this.loaderService.isLoading$.subscribe((loading) => {\n this.isLoading = loading;\n });\n }\n\n}\n","<div class=\"loader\" *ngIf=\"isLoading\">\n <div class=\"spinner\"></div>\n </div>\n ","// VD 06-09-24 directive file to call component dynamically \nimport { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[dynamicComponentHost]',\n standalone: true\n})\nexport class ComponenthostDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","// AP 22JAN25\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ElementComponent } from '../pages/builder/element/element.component';\nimport { v4 as uuidv4 } from 'uuid';\ninterface FormElement {\n id: any;\n name: any;\n value?: any;\n required?: boolean;\n type: string;\n questionText?: string;\n question?: string;\n helpText?: string;\n errorMessage?: string;\n isReadOnly?: boolean;\n isHidden?: boolean;\n isDateBackward?: boolean;\n isDateForward?: boolean;\n isOptional?: boolean;\n isTitle?: boolean;\n nextQuestion?: string;\n allowedFileExtensions?: string;\n questionNumber?: number;\n questionBookId?: string;\n size?: number;\n parentQuestion?: string;\n subText?: string;\n fieldsMeta?: string;\n recordTypeName?: string;\n recordTypeId?: string;\n trackingId?: string;\n dateText?: string;\n timeText?: string;\n recordId?: string;\n qbReference?: string;\n qbReferenceQuestions?: string;\n questionBookSubTitle?: string;\n style?: string;\n title?: string;\n subTitle?: string;\n referenceField?: string;\n additionalRichContent?: string;\n groupName?: string;\n x24Hours?: boolean;\n// AP 25FEB25 - options array\n options?: Array<{\n value: string;\n uniqueIdentifier: string;\n questionId: string;\n nextQuestion: any;\n name: string;\n id: string;\n}>;\n\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class FormBuilderService {\n private formElements: FormElement[] = [];\n private formElementsSubject = new BehaviorSubject<FormElement[]>([]);\n private selectedElementSubject = new BehaviorSubject<number>(-1);\n private elementComponent: ElementComponent | null = null;\n book:any;\n unique_id: any;\n tempElem: any[];\n\n formElements$ = this.formElementsSubject.asObservable();\n selectedElement$ = this.selectedElementSubject.asObservable();\n // book: { bookQuestionsMap: { unique_id: { subQuestions: any[]; }; }; };\n\n constructor() {\n // Load saved elements from localStorage\n this.formElements = [];\n const savedFormElements = localStorage.getItem('formElements');\n if (savedFormElements ) {\n this.formElements = JSON.parse(savedFormElements);\n this.formElementsSubject.next([...this.formElements]);\n // this.book = JSON.parse(localStorage.getItem('book') || '{}');\n this.unique_id = localStorage.getItem('unique_id');\n }\n }\n \n// AP 26FEB25 - clear the form elements \n clearElements() {\n this.formElements = [];\n this.formElementsSubject.next([...this.formElements]);\n }\n // Get the element component reference\n getElementComponent(): ElementComponent | null {\n return this.elementComponent;\n }\n\n setElementComponent(component: ElementComponent) {\n this.elementComponent = component;\n }\n\n // Add a new element to the form\n addElement(element: FormElement): void {\n\n if (!element.options) {\n element.options = []; // options is initialized\n }\n\n // const savedFormElements = localStorage.getItem('formElements');\n if (this.formElements.length == 0) {\n // this.formElements = JSON.parse(savedFormElements);\n // this.formElementsSubject.next([...this.formElements]);\n // this.book = JSON.parse(localStorage.getItem('book') || '{}');\n this.book = {};\n if(localStorage.getItem('status') == \"edit\"){\n this.unique_id = localStorage.getItem('unique_id');\n this.book = {\n 'bookQuestionsMap': {\n [this.unique_id]: {\n 'subQuestions': []\n }\n }\n };\n\n }else{\n this.unique_id = uuidv4();\n this.book = {\n 'bookQuestionsMap': {\n [this.unique_id]: {\n 'subQuestions': []\n }\n }\n };\n\n }\n // this.unique_id = uuidv4();\n\n // localStorage.setItem('book', JSON.stringify(this.book));\n localStorage.setItem('unique_id', this.unique_id);\n }\n this.formElements.push(element);\n // localStorage.setItem('formElements', JSON.stringify(this.formElements));\n this.formElementsSubject.next([...this.formElements]);\n }\n\n updateElement(index: number, updates: Partial<FormElement>) {\n const elements = [...this.getElements()];\n if (elements[index]) {\n elements[index] = {\n ...elements[index],\n ...updates,\n options: updates.options || elements[index].options || [],\n };\n this.formElementsSubject.next(elements);\n }\n\n if (index >= 0 && index < this.formElements.length) {\n const updatedElement = {\n ...this.formElements[index],\n ...updates\n };\n if (updates.required !== undefined) {\n if (updatedElement.questionText) {\n const questionText = updatedElement.questionText.replace(/\\s*\\*+$/, '');\n updatedElement.questionText = updates.required ? `${questionText} *` : questionText;\n }\n }\n\n // Handle special cases\n if (updates.required === true && updatedElement.questionText && !updatedElement.questionText.endsWith('*')) {\n updatedElement.questionText = `${updatedElement.questionText} *`;\n } else if (updates.required === false && updatedElement.questionText && updatedElement.questionText.endsWith('*')) {\n updatedElement.questionText = updatedElement.questionText.slice(0, -2);\n }\n\n this.formElements[index] = updatedElement;\n this.formElementsSubject.next([...this.formElements]);\n // localStorage.setItem('formElements', JSON.stringify(this.formElements));\n }\n }\n\n setSelectedElement(index: number) {\n this.selectedElementSubject.next(index);\n }\n\n getElements(): FormElement[] {\n return this.formElements.map(element => ({\n ...element,\n options: element.options || [], \n }));\n }\n // In FormBuilderService\ndownloadElement() {\n this.book.bookQuestionsMap[this.unique_id].subQuestions = this.formElements;\n console.log('book', this.book.bookQuestionsMap[this.unique_id].subQuestions);\n let tempElement: any = {};\n\n this.formElements.forEach((element) => {\n if (element.type === 'Dropdown' || element.type === 'Radio' || element.type === 'CheckBox') {\n //AP 25FEB25 - Store the entire question with its options under its ID\n tempElement[element.id] = {\n ...element,\n options: element.options || []\n };\n }\n });\n\n this.book.sqOptions = tempElement;\n return this.book;\n }\n\n // Remove an element by ID\n // Save elements to localStorage and update the subject\n removeElementComponent(id: any) {\n this.tempElem = [];\n this.formElements.forEach((element: any) => {\n if (element.id !== id) {\n this.tempElem.push(element);\n }\n });\n this.formElements = this.tempElem;\n // localStorage.setItem('formElements', JSON.stringify(this.formElements));\n this.formElementsSubject.next([...this.formElements]);\n }\n}\n","// AP 22JAN25 - form preview and All form elements\nimport {Component, EventEmitter, Input, Output, SimpleChanges} from '@angular/core';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { FormBuilderService } from '../../../services/form-builder.service';\nimport { v4 as uuidv4 } from 'uuid';\n\n@Component({\n selector: 'app-element',\n templateUrl: './element.component.html',\n styleUrls: ['./element.component.css'],\n})\n\nexport class ElementComponent {\n\n //@Output() elementButtonClicked = new EventEmitter<string>();\n @Input() bookletJSON: any;\n @Input() bookletId: any;\n field: any;\n formElements: any[] = [];\n elements: any[] = [];\n bookId: string;\n sections = {\n basic: true, // Basic Elements open by default\n advanced: false // Advanced Elements closed by default\n };\n basicElements: any[] = [];\n advancedElements: any[] = [];\n //subscription: any;\n constructor(private formBuilderService: FormBuilderService) {\n }\n// AP-06MAR25 New Design Change Elements Basic , Advanced\nngOnInit() {\n this.basicElements = [\n { \"type\": \"Heading\", \"img\": \"Vector\", \"label\": \"Heading\" },\n { \"type\": \"Text\", \"img\": \"Text\", \"label\": \"Text\" },\n { \"type\": \"TextArea\", \"img\": \"TextArea\", \"label\": \"Text Area\" },\n { \"type\": \"Paragraph\", \"img\": \"Paragraph\", \"label\": \"Paragraph\" },\n { \"type\": \"Number\", \"img\": \"Number\", \"label\": \"Number\" },\n { \"type\": \"Label\", \"img\": \"Label\", \"label\": \"Label\" },\n { \"type\": \"Image\", \"img\": \"Image\", \"label\": \"Image\" },\n { \"type\": \"Button\", \"img\": \"Button\", \"label\": \"Button\" },\n { \"type\": \"Email\", \"img\": \"Email\", \"label\": \"Email\" }\n];\n\nthis.advancedElements = [\n { \"type\": \"Calendar\", \"img\": \"Calendar\", \"label\": \"Calendar\" },\n { \"type\": \"CustomSearch\", \"img\": \"Search\", \"label\": \"Custom / Search\" },\n { \"type\": \"Date\", \"img\": \"Date\", \"label\": \"Date\" },\n { \"type\": \"Time\", \"img\": \"Time\", \"label\": \"Time\" },\n { \"type\": \"File\", \"img\": \"File\", \"label\": \"Files\" },\n { \"type\": \"Table\", \"img\": \"Table\", \"label\": \"Table\" },\n { \"type\": \"CheckBox\", \"img\": \"CheckBox\", \"label\": \"CheckBox\" },\n { \"type\": \"MultiSelect\", \"img\": \"MultiSelect\", \"label\": \"Multi Select\" },\n { \"type\": \"Dropdown\", \"img\": \"Drop\", \"label\": \"Dropdown\" }\n];\n this.formBuilderService.formElements$.subscribe((elements) => {\n this.formElements = elements;\n });\n if (this.bookletJSON) {\n this.initializeForm();\n} else {\n localStorage.setItem('status', \"new\");\n}\n}\n\n// Add these methods\ntoggleSection(section: 'basic' | 'advanced') {\n this.sections[section] = !this.sections[section];\n}\n\nisSectionOpen(section: string): boolean {\n return this.sections[section];\n}\n\n// AP - 26FEB25 - Added ngOnChanges to handle changes in bookletJSON\nngOnChanges(changes: SimpleChanges) {\n if (changes['bookletJSON'] && changes['bookletJSON'].currentValue) {\n this.initializeForm();\n console.log('changes', changes);\n }\n}\n\nprivate initializeForm() {\n if (!this.bookletJSON || !this.bookletJSON.bookQuestionsMap) {\n console.warn(\"Invalid bookletJSON structure\");\n return;\n }\n\n localStorage.setItem('status', \"edit\");\n localStorage.setItem('unique_id', this.bookletId);\n this.formElements = [];\n this.formBuilderService.clearElements();\n\n const bookQuestionsMapKeys = Object.keys(this.bookletJSON.bookQuestionsMap);\n if (bookQuestionsMapKeys.length === 0) return;\n\n this.bookId = bookQuestionsMapKeys[0];\n\n this.bookletJSON.bookQuestionsMap[this.bookId]?.subQuestions?.forEach(newElement => {\n if (this.bookletJSON.sqOptions?.[newElement.id]) {\n newElement.options = this.bookletJSON.sqOptions[newElement.id].options;\n }\n this.formBuilderService.addElement(newElement);\n });\n\n this.formElements = this.formBuilderService.getElements();\n}\n\n// ngOnDestroy() {\n// this.subscription.unsubscribe();\n// }\n\ndrop(event: CdkDragDrop<string[]>) {\n moveItemInArray(this.formElements, event.previousIndex, event.currentIndex);\n}\n\n// Add this method to handle element selection\nselectElement(index: number) {\n this.selectedFieldIndex = index; // element is selected\n this.formBuilderService.setSelectedElement(index);\n //const element = this.formElements[index];\n // this.elementButtonClicked.emit(element.type); \n}\n//selectedIndex: number | null = null;\nselectedFieldIndex: number | null = null; // element is cleared\n\naddElement(type: string): void {\n const unique_id = uuidv4();\n const newElement = {\n id: unique_id,\n uid: unique_id,\n type,\n name: '',\n questionText: '',\n question: '',\n helpText: '',\n errorMessage: '',\n isReadOnly: false,\n isHidden: false,\n required: false,\n subText: '',\n referenceField: '',\n additionalRichContent: '',\n groupName: '',\n isDateBackward: false,\n title: '',\n subTitle: '',\n isDateForward: false,\n isOptional: false,\n isTitle: false,\n nextQuestion: '',\n allowedFileExtensions: '',\n questionNumber: this.formBuilderService.getElements().length + 1,\n questionBookId: '',\n parentQuestion: '',\n fieldsMeta: '',\n recordTypeName: '',\n recordTypeId: '',\n trackingId: '',\n dateText: '',\n timeText: '',\n recordId: '',\n qbReference: '',\n qbReferenceQuestions: '',\n questionBookSubTitle: '',\n style: '',\n options: type === 'Dropdown' || type === 'Radio' || type === 'CheckBox' ? [] : null,\n \n };\n this.formBuilderService.addElement(newElement);\n this.formElements = this.formBuilderService.getElements();\n}\n\n// Remove an element by index\nremoveElement(field: any,index: number): void {\n this.formBuilderService.removeElementComponent(field.id);\n this.formElements=this.formBuilderService.getElements();\n}\n \ngetFontStyles(field: any): any {\n const styles: any = {\n 'font-family': field.font || 'Helvetica Neue',\n 'font-weight': field.fontWeight || '400',\n 'width': field.size ? `${(field.size / 12) * 100}%` : '100%',\n 'min-height': field.height ? `${field.height}px` : 'auto',\n 'text-align': field.textAlign || 'left',\n 'border-radius': '5px',\n 'margin-bottom': '10px'\n };\n\n // if (Array.isArray(field.styles)) {\n // styles['font-weight'] = field.styles.includes('bold') ? '700' : styles['font-weight'];\n // styles['font-style'] = field.styles.includes('italic') ? 'italic' : undefined;\n // styles['text-decoration'] = field.styles.includes('underline') ? 'underline' : undefined;\n // styles['text-transform'] = field.styles.includes('capitalize') ? 'capitalize' :\n // field.styles.includes('lowercase') ? 'lowercase' : undefined;\n // }\n\n return styles;\n}\n\n}\n\n\n","<!-- AP 22JAN25 - form preview and All form elements -->\n <!-- AP 25FEB25 - All elements update -->\n<div class=\"center-frame\">\n <link href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap\" rel=\"stylesheet\">\n\n<!-- Form Builder Section All Elements -->\n<div class=\"form-builder\">\n <!-- Basic Elements Toggle -->\n <div class=\"toggle-header\" (click)=\"toggleSection('basic')\">\n <h3>Basic Elements</h3>\n <span class=\"toggle-icon\">{{ sections.basic ? '▼' : '▶' }}</span>\n </div>\n\n <div *ngIf=\"sections.basic\">\n <ng-container *ngFor=\"let element of basicElements\">\n <div class=\"element\" (click)=\"addElement(element.type)\" cdkDrag>\n <img src=\"../assets/icons/{{ element.img }}.svg\" class=\"element-icon\">\n <div class=\"hover-label\">{{ element.label }}</div>\n </div>\n </ng-container>\n </div>\n\n <!-- Advanced Elements Toggle -->\n <div class=\"toggle-header\" (click)=\"toggleSection('advanced')\">\n <h3>Advanced Elements</h3>\n <span>{{ sections.advanced ? '▼' : '▶' }}</span>\n </div>\n <div *ngIf=\"sections.advanced\">\n <ng-container *ngFor=\"let element of advancedElements\">\n <div class=\"element\" (click)=\"addElement(element.type)\">\n <img src=\"../assets/icons/{{ element.img }}.svg\">\n <div class=\"hover-label\">{{ element.label }}</div>\n </div>\n </ng-container>\n </div>\n</div>\n \n<div class=\"form-preview\" cdkDropList [cdkDropListData]=\"formElements\" (cdkDropListDropped)=\"drop($event)\">\n<ng-container *ngFor=\"let field of formElements; let i = index\" getProperties().elementProps>\n\n<!-- TextBox -->\n<div *ngIf=\"field.type === 'Text'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n [class.highlight]=\"selectedFieldIndex === i\" cdkDrag> \n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\">\n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Label' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div> \n <input type=\"text\" class=\"custom-input\" [placeholder]=\"field.question || 'Enter text'\" [readonly]=\"field.isReadOnly\" \n [class.hidden]=\"field.isHidden\" />\n </div>\n </div>\n</div>\n\n<!-- Calendar -->\n<div *ngIf=\"field.type === 'Calendar'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n [class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\">\n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Select Date' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div>\n <input type=\"date\" class=\"custom-input\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\"/>\n </div>\n </div>\n</div>\n\n<!-- Email -->\n<div *ngIf=\"field.type === 'Email'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n[class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\">\n <label [class.required]=\"field.isRequired\"> {{ field.questionText ? field.questionText : 'Label' }} </label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div> \n <input type=\"email\" class=\"custom-input\" [placeholder]=\"field.question || 'Enter email'\" [readonly]=\"field.isReadOnly\" \n [class.hidden]=\"field.isHidden\" />\n </div>\n </div>\n</div>\n\n<!-- Numbers -->\n<div *ngIf=\"field.type === 'Number'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n [class.highlight]=\"selectedFieldIndex === i\" cdkDrag> \n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\">\n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Label' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div> \n <input type=\"number\" class=\"custom-input\" [placeholder]=\"field.question || 'Enter number'\" [readonly]=\"field.isReadOnly\" \n [class.hidden]=\"field.isHidden\"/>\n </div>\n </div>\n</div>\n \n<!-- TextArea -->\n<div *ngIf=\"field.type === 'TextArea'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n [class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\">\n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Enter your text' }}\n <span *ngIf=\"field.required\" class=\"text-red-500\">*</span>\n </label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div> \n <textarea class=\"custom-textarea\" [placeholder]=\"field.question || 'Enter detailed text here...'\" [style.height.px]=\"field.size || 100\"\n [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\">\n </textarea>\n </div>\n </div>\n</div>\n\n<!-- Label -->\n<div *ngIf=\"field.type === 'Label'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\"\n[class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n<div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\">\n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Label' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\"/>\n </div>\n </div>\n </div>\n</div>\n\n<!-- Image -->\n<div *ngIf=\"field.type === 'Image'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n[class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\">\n <label [class.required]=\"field.isRequired\"> {{ field.questionText ? field.questionText : 'Upload Image' }} </label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div>\n <input type=\"file\" accept=\"image/*\" class=\"custom-input\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\"/>\n </div>\n </div>\n</div>\n\n <!-- File -->\n<div *ngIf=\"field.type === 'File'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n [class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\">\n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Upload File' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div>\n <input type=\"file\" class=\"custom-input\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\"/>\n </div>\n </div>\n</div>\n \n<!-- CheckBox -->\n<div *ngIf=\"field.type === 'CheckBox'\" class=\"checkbox-field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n [class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\"> \n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Label' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div>\n <div class=\"checkbox-options-container\">\n <div *ngFor=\"let option of field.options\" class=\"checkbox-option\">\n <input type=\"checkbox\" [id]=\"option.value + i\" [name]=\"field.id\" [value]=\"option.value\" class=\"checkbox-input\"\n [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\">\n <label [for]=\"option.value + i\" class=\"checkbox-label\">{{ option.value }}</label>\n </div>\n </div>\n </div>\n </div>\n</div> \n\n<!-- Radio -->\n<div *ngIf=\"field.type === 'Radio'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n[class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\"> \n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Label' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div>\n <div class=\"radio-options-container\">\n <div *ngFor=\"let option of field.options; let j = index\" class=\"radio-option\">\n <input type=\"radio\" [id]=\"'radio-' + field.id + '-' + j\" [name]=\"'radio-group-' + field.id\" [value]=\"option.value\"\n [(ngModel)]=\"field.selectedValue\" class=\"radio-input\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\">\n <label [for]=\"'radio-' + field.id + '-' + j\" class=\"radio-label\"> {{ option.value }}</label>\n </div>\n </div>\n </div>\n </div>\n</div>\n \n<!-- Dropdown -->\n<div *ngIf=\"field.type === 'Dropdown'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n[class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\"> \n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Label' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div>\n <select id=\"options\" class=\"dropdown\"[disabled]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\" >\n <option *ngFor=\"let option of field.options\" [value]=\"option.value\"> {{ option.value }} </option>\n </select>\n </div>\n </div>\n</div>\n \n<!-- Table -->\n <!-- AP-06MAR25 -->\n<div *ngIf=\"field.type === 'Table'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n[class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n<div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\"> \n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Label' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div>\n </div>\n </div>\n</div>\n\n<!-- List -->\n <!-- AP-06MAR25 - List data show-->\n<div *ngIf=\"field.type === 'List'\" class=\"field-container\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" \n[class.highlight]=\"selectedFieldIndex === i\" cdkDrag>\n <div class=\"field-wrapper\">\n <div class=\"field-content\">\n <div class=\"label-container\">\n <label [class.required]=\"field.isRequired\">{{ field.questionText ? field.questionText : 'Label' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" class=\"delete-icon\" />\n </div> \n <input type=\"text\" class=\"custom-input\" placeholder=\"Search...\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\"/>\n </div>\n </div>\n</div>\n\n <!-- Book -->\n<!-- <div *ngIf=\"field.type === 'Book'\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\n <div class=\"flex\" style=\"display: flex;\">\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\n <div style=\"width: 97%;\">\n <div class=\"flex lab-conatiner\">\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'Book Title' }}</label>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\n </div>\n </div>\n </div>\n</div> -->\n \n<!-- Button -->\n<!-- <div *ngIf=\"field.type === 'Button'\" class=\"button-container\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\n <button>{{ field.questionText }}</button>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\n </div> -->\n\n</ng-container>\n</div>\n</div>\n\n\n\n\n","// AP 22JAN25\nimport { HttpClient } from '@angular/common/http';\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilderService } from '../../../services/form-builder.service';\n\n@Component({\n selector: 'app-properties',\n templateUrl: './properties.component.html',\n styleUrls: ['./properties.component.css']\n})\nexport class PropertiesComponent implements OnInit {\n\n @Output() formButtonHandler = new EventEmitter<any>(); \n selectedOption: string = '';\n selectedElementIndex: number = -1;\n @Input() selectedElementType: string = '';\n selectedAlign: string = 'align-left'; // Add this property\n selectedStyles: string[] = []; // Using array since multiple styles can be selected\n errorMessage: string = '';\n selectedElement: any = null; // Receive the selected element\n\n onToggleChange(key: string, event: Event) {\n const checked = (event.target as HTMLInputElement).checked;\n this.selectedElement = { ...this.selectedElement, [key]: checked };\n } \n\n updateProperties(elementType: string): void {\n // Reset alignment and styles if switching elements\n this.selectedAlign = 'align-left';\n this.selectedStyles = [];\n\n // Fetch the properties of the selected element type\n const properties = this.getProperties();\n if (properties) {\n // Make sure the properties are dynamically updated\n }\n }\n\n onAlignSelect(value: string): void {\n if (this.selectedElement) {\n this.selectedElement.textAlign = value;\n }\n }\n\n onStyleSelect(value: string): void {\n if (!this.selectedElement) return;\n\n // Initialize styles array if it doesn't exist\n this.selectedElement.styles = this.selectedElement.styles || [];\n\n // Ensure only one style is selected at a time\n this.selectedElement.styles = [value];\n\n }\n\n isStyleActive(value: string): boolean {\n return this.selectedElement?.styles?.includes(value) || false;\n }\n\n elementProperties = {\n\n 'Text': {\n elementProps: [\n\n // questionText - Label-follow all element properties\n { label: 'Label', placeholder: 'Enter Text ', type: 'text',key: 'questionText' },\n\n // question - Placeholder-follow all element properties\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text ', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n\n // errorMessage - Error Msg-follow all element properties\n { label: 'Error Msg', placeholder: 'Enter Text ', type: 'text',key: 'errorMessage' },\n { label: 'Font', type: 'select', key: 'font' ,\n options: ['Helvetica Neue', 'Arial', 'Times New Roman', 'Roboto'] },\n { label: 'Weight', type: 'select',key: 'fontWeight',\n options: [\n { value: '400', label: '400-Normal' },\n { value: '500', label: '500-Medium' },\n { value: '600', label: '600-Semi Bold' },\n { value: '700', label: '700-Bold' }\n ] },\n // { label: 'Size', unit: 'PX', type: 'number', key: 'size' },\n // { label: 'Align', type: 'align', key: 'textAlign',\n // options: [\n // { value: 'left', icon: 'textalign-left' },\n // { value: 'center', icon: 'align-center' },\n // { value: 'right', icon: 'align-right' },\n // { value: 'justifyleft', icon: 'align-justifyleft' },\n // { value: 'justifyright', icon: 'align-justifyright' }\n\n // ] },\n // { label: 'Style', type: 'style',key: 'styles',\n\n // options: [\n // { value: 'italic', icon: 'italic' },\n // { value: 'bold', icon: 'bold' },\n // { value: 'underline', icon: 'underline' },\n // { value: 'texticon', icon: 'texticon' },\n // { value: 'capitalize', icon: 'capitalize' },\n // { value: 'resize', icon: 'resize' }\n\n\n // ] },\n { label: 'Field Size', type: 'fieldSize', key: 'size' }\n\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio', key: 'isRequired' },\n { label: 'Default Value', placeholder: 'Enter Text ', type: 'text',key: 'defaultValue' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'SubText', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n\n 'CheckBox': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text ', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text ', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text ', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n {\n label: 'Options',\n type: 'checkbox', \n key: 'options',\n addOptionLabel: 'Add Option',\n icon: 'plus'\n },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n\n 'Calendar': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n\n 'Time': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'label' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'placeholder'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n\n 'Email': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n\n 'File': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text', key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text', key: 'question' },\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text', key: 'helpText' },\n\n { label: 'Support Type', type: 'select', key: 'supportType', options: [\n { label: 'Images (JPEG, PNG, GIF)', value: 'image/*', extensions: ['.jpg','.jpeg','.png','.gif'] },\n { label: 'Audio (MP3, WAV, AIFF)', value: 'audio/*', extensions: ['.mp3','.wav','.aiff'] },\n { label: 'Video (MP4, AVI, HEVC)', value: 'video/*', extensions: ['.mp4','.avi','.hevc'] },\n { label: 'Documents (DOC, DOCX, PPT, PDF)', value: 'application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-powerpoint', extensions: ['.doc','.docx','.ppt','.pdf'] },\n { label: 'Executables (EXE, BAD, SH)', value: 'application/x-msdownload,application/x-sh', extensions: ['.exe','.bad','.sh'] },\n { label: 'Archives (ZIP, RAR, Git-hub)', value: 'application/zip,application/x-rar-compressed,application/x-git', extensions: ['.zip','.rar','.git'] }\n ]},\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text', key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n\n 'List': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n }, \n \n 'TextArea': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio', key: 'required' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text', key: 'defaultValue' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n \n 'Number': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n \n 'Dropdown': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n {\n label: 'Options',\n type: 'dropdown',\n key: 'options', \n addOptionLabel: 'Add Variant',\n icon: 'plus'\n },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n\n ]\n },\n \n 'Image': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n \n 'Radio': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text', key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text', key: 'question' },\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text', key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text', key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n {\n label: 'Options',\n type: 'radio', \n key: 'options',\n addOptionLabel: 'Add Option',\n icon: 'plus'\n },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n \n 'Label': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n\n 'Table': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text', key: 'questionText' },\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text', key: 'helpText' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text', key: 'errorMessage' }\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' },\n ]\n },\n \n 'Book': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n \n 'Button': {\n elementProps: [\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\n { label: '', type: 'toggleGroup', key: 'toggleOptions' },\n { label: 'Field Size', type: 'fieldSize', key: 'size' },\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMessage' },\n ],\n fieldProps: [\n { label: 'Field Required', type: 'radio' },\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\n { label: 'Reference', placeholder: 'Reference Field', type: 'text', key: 'referenceField' },\n { label: 'Style', placeholder: 'Style JSON', type: 'text', key: 'style' },\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text', key: 'subText' }\n ]\n },\n };\n\n constructor(private http: HttpClient,private formBuilderService: FormBuilderService) {}\n\n ngOnInit() {\n this.formBuilderService.selectedElement$.subscribe(index => {\n this.selectedElementIndex = index;\n if (index >= 0) {\n const elements = this.formBuilderService.getElements();\n this.selectedElement = elements[index];\n }\n \n }); \n }\n\n validateInput(value: string, type: string): boolean {\n if (type === 'label' || type === 'placeholder') {\n const regex = /^[a-zA-Z0-9\\s]*$/;\n if (!regex.test(value)) {\n this.errorMessage = 'Only letters and numbers are allowed';\n return false;\n }\n }\n this.errorMessage = '';\n return true;\n }\n\n updateProperty(key: string, value: any) {\n if (this.selectedElementIndex >= 0) {\n if (key === 'questionText' || key === 'question') {\n if (!this.validateInput(value, key)) {\n return;\n }\n }\n\n if (key === 'fontWeight') {\n // Extract just the number value from the option\n value = value.split('-')[0];\n }\n\n if (key === 'styles') {\n const currentStyles = this.selectedElement.styles || [];\n if (value === 'capitalize' || value === 'lowercase') {\n // Remove the opposite case if it exists\n const oppositeStyle = value === 'capitalize' ? 'lowercase' : 'capitalize';\n const filteredStyles = currentStyles.filter(s => s !== oppositeStyle);\n value = currentStyles.includes(value)\n ? filteredStyles.filter(s => s !== value)\n : [...filteredStyles, value];\n } else {\n // Toggle other styles\n value = currentStyles.includes(value)\n ? currentStyles.filter(s => s !== value)\n : [...currentStyles, value];\n }\n }\n\n const update = { [key]: value };\n this.formBuilderService.updateElement(this.selectedElementIndex, update);\n\n // Special handling for font and font weight\n if (key === 'font') {\n this.selectedElement.font = value; // Directly update the selected element's font property\n }\n }\n }\n\n onRequiredChange(value: boolean) {\n if (this.selectedElement) {\n let label = this.selectedElement.label ? this.selectedElement.label.replace(/\\s*\\*+$/, '') : 'Label';\n \n if (value) {\n label = `${label} *`; \n }\n\n this.updateProperty('label', label);\n this.updateProperty('isRequired', value);\n }\n }\n \n getProperties() {\n if (!this.selectedElement) return null;\n return this.elementProperties[this.selectedElement.type];\n }\n \n addOption(options: any[]) {\n options.push({ label: '', value: '' }); \n }\n\n removeOption(options: any[], index: number) {\n options.splice(index, 1);\n } \n\n // download() {\n // console.log('Question Book:', this.formBuilderService.downloadElement());\n // }\n\n handleButtonClick(){\n this.formButtonHandler.emit(this.formBuilderService.downloadElement());\n }\n\n}\n","<!-- AP 22JAN25 - Field and Element Properties -->\n<link href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap\" rel=\"stylesheet\">\n<div class=\"properties\">\n\n<!-- Design Header Section -->\n<div class=\"design-header\">\n <h1 class=\"header-title\">Properties</h1>\n <!-- AP 25FEB25 - not used -->\n <!-- <div class=\"menu-container\">\n <div class=\"menu-item\" (click)=\"download()\">\n <span >Download</span>\n </div>\n <div class=\"menu-item\">\n <span>Start</span>\n </div>\n <div class=\"menu-item\">\n <span>Path</span>\n </div>\n <div class=\"menu-item\">\n <span>Clone</span>\n </div>\n </div> -->\n</div>\n\n<div class=\"all-properties\">\n<div *ngIf=\"errorMessage\" class=\"error-message\">{{ errorMessage }}</div>\n\n<!-- Element Properties -->\n<details class=\"first-properties\" open>\n <summary class=\"text-sm \">Elements Properties</summary>\n <div class=\"inner-content\" *ngIf=\"getProperties()\">\n <ng-container *ngFor=\"let prop of getProperties().elementProps\">\n <div class=\"flex-items-center\">\n <label class=\"text-sm\">{{ prop.label }}</label>\n <div class=\"label-properties\">\n\n<!-- Text Input -->\n<input *ngIf=\"prop.type === 'text'\"\n type=\"text\"\n [placeholder]=\"prop.placeholder\"\n [value]=\"selectedElement[prop.key]\"\n (input)=\"updateProperty(prop.key, $event.target.value)\"\n [class.read-only]=\"selectedElement.readOnly\"\n [readonly]=\"selectedElement.readOnly\"\n class=\"text-sm1 \"/>\n\n<div *ngIf=\"prop.key === 'helpText' && selectedElement.helpText\" class=\"help-text\">{{ selectedElement.helpText }}</div>\n\n<!-- Font Selection -->\n<div *ngIf=\"prop.key === 'font'\" class=\"font-selection\">\n <!-- <label>{{ prop.label }}</label> -->\n <select *ngIf=\"prop.type === 'select' && prop.key === 'font'\" class=\"font-selection1\" [value]=\"selectedElement?.font\"\n (change)=\"updateProperty('font', $event.target.value)\">\n <option *ngFor=\"let option of prop.options\" [value]=\"option\"> {{ option }} </option>\n </select>\n</div>\n\n<!-- file -->\n<!-- Add this inside the elementProps loop where other inputs are rendered -->\n<select *ngIf=\"prop.type === 'select' && prop.key === 'supportType'\" class=\"file\" [value]=\"selectedElement[prop.key]\"\n(change)=\"updateProperty(prop.key, $event.target.value)\">\n<option value=\"\">Select file category</option>\n<option *ngFor=\"let option of prop.options\" [value]=\"option.value\"> {{ option.label }} </option>\n</select>\n\n<!-- Font Weight Selection -->\n<div *ngIf=\"prop.key === 'fontWeight'\" class=\"font-weight\">\n <!-- <label>{{ prop.label }}</label> -->\n <select *ngIf=\"prop.type === 'select' && prop.key === 'fontWeight'\" class=\"font-weight\" [value]=\"selectedElement?.fontWeight\"\n (change)=\"updateProperty('fontWeight', $event.target.value)\">\n <option *ngFor=\"let option of prop.options\" [value]=\"option.value\"> {{ option.label }} </option>\n </select>\n</div>\n \n<!-- Toggle Group -->\n<div *ngIf=\"prop.type === 'toggleGroup'\" class=\"toggle-group\">\n <div class=\"toggle-item\">\n <span class=\"toggle-label\">Read Only</span>\n <label class=\"switch\">\n <input type=\"checkbox\" [checked]=\"selectedElement?.isReadOnly\" \n (change)=\"onToggleChange('isReadOnly', $event)\" />\n <span class=\"slider\"></span>\n </label>\n </div>\n\n <div class=\"toggle-item\">\n <span class=\"toggle-label\">Is Hide</span>\n <label class=\"switch\">\n <input type=\"checkbox\" [checked]=\"selectedElement?.isHidden\" \n (change)=\"onToggleChange('isHidden', $event)\" />\n <span class=\"slider\"></span>\n </label>\n </div>\n</div>\n\n<!-- Text Align Buttons -->\n<div *ngIf=\"prop.type === 'align'\"class=\"font-align\">\n <button *ngFor=\"let option of prop.options\" (click)=\"onAlignSelect(option.value)\" \n [class.active]=\"selectedElement?.textAlign === option.value\" class=\"align-btn\" [title]=\"option.value\">\n <img [src]=\"'../assets/icons/' + option.icon + '.svg'\" [alt]=\"option.value\" class=\"icon-size\"/>\n </button>\n</div>\n\n<div *ngIf=\"prop.type === 'style'\" class=\"font-style\">\n <button *ngFor=\"let option of prop.options\" (click)=\"onStyleSelect(option.value)\"\n [class.active]=\"isStyleActive(option.value)\" class=\"style-btn\" [title]=\"option.value\">\n <img [src]=\"'../assets/icons/' + option.icon + '.svg'\" [alt]=\"option.value\" class=\"icon-size\"/>\n </button>\n</div>\n\n<!-- Field Size Controls -->\n<!-- AP 25FEB25 - Change key size -->\n<div *ngIf=\"prop.key === 'size'\" class=\"field-size-controls\">\n <div class=\"size-group\">\n <label class=\"size-label\">Width</label>\n <div class=\"value-container\">\n <input type=\"number\" [value]=\"selectedElement?.size\" (input)=\"updateProperty('size', $event.target.value)\" class=\"size-input\"/>\n </div>\n </div>\n</div>\n\n</div>\n</div>\n</ng-container>\n</div>\n</details>\n\n<!-- Field Elements Properties -->\n<details class=\"second-property\">\n <summary class=\"text-font-medium\">Field Elements Properties</summary>\n <div class=\"space-y-4\" *ngIf=\"getProperties()\">\n <ng-container *ngFor=\"let prop of getProperties().fieldProps\">\n <div class=\"flex-items-center \">\n <label class=\"text-sm\">{{ prop.label }}</label>\n <div class=\"input-box-field\">\n <!-- Input Box -->\n <div class=\"input-box-field\">\n <input *ngIf=\"prop.type === 'text'\" type=\"text\" [placeholder]=\"prop.placeholder\" [value]=\"selectedElement[prop.key]\"\n (input)=\"updateProperty(prop.key, $event.target.value)\"/> </div>\n \n <!-- Radio Group -->\n<div *ngIf=\"prop.type === 'radio'\" class=\"radio-item\">\n <div class=\"sizes\">\n <div class=\"flex-gap\">\n <div class=\"flex-items\">\n <input type=\"radio\" [checked]=\"selectedElement?.isRequired\" (change)=\"onRequiredChange(true)\" name=\"required\" class=\"radio-input\"/>\n <label class=\"text-label\"> Required </label>\n </div>\n <div class=\"flex-items\">\n <input type=\"radio\" [checked]=\"!selectedElement?.isRequired\" (change)=\"onRequiredChange(false)\" name=\"required\" class=\"radio-input\"/>\n <label class=\"text-sm text-gray-400\"> Not Required </label>\n </div>\n </div>\n</div>\n</div> \n\n<!-- AP 25FEB25 - handled options -->\n<div *ngIf=\"prop.type === 'dropdown' || prop.type === 'checkbox' || prop.type === 'radio' && prop.key === 'options'\" class=\"options-container\">\n <div *ngFor=\"let option of selectedElement[prop.key]; let i = index\" class=\"option-items\">\n <input type=\"text\" [(ngModel)]=\"selectedElement[prop.key][i].value\" placeholder=\"Option {{ i + 1 }}\" class=\"options\"/>\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeOption(selectedElement[prop.key], i)\">\n </div>\n <button (click)=\"addOption(selectedElement[prop.key])\">\n <div class=\"add-varient\">\n <span class=\"text-lg\">+</span>\n <span>Add</span>\n </div>\n </button>\n</div>\n\n</div>\n</div>\n</ng-container>\n</div>\n</details>\n\n<div class=\"design-footer\">\n <button class=\"btn\">Cancel</button>\n <button class=\"btn\" (click)=\"handleButtonClick()\">Save</button>\n</div>\n\n</div>\n</div>\n","// AP 22JAN25\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.css']\n})\nexport class MenuComponent {\n activeIndex: number = 0;\n\n menuItems = [\n { icon: '../assets/icons/Related.svg' },\n { icon: '../assets/icons/TextColumns.svg' },\n { icon: '../assets/icons/Monotone.svg' },\n { icon: '../assets/icons/Preview1.svg' },\n { icon: '../assets/icons/Website.svg' },\n { icon: '../assets/icons/Preview2.svg' },\n { icon: '../assets/icons/pdf.svg' },\n { icon: '../assets/icons/Setting.svg' }\n // { icon: '../assets/icons/ProfileImage.svg' }\n ];\n\n setActiveMenu(index: number): void {\n this.activeIndex = index;\n }\n}\n","<!-- AP 22JAN25 - Top menu ,Left side menu -->\n<!-- menu.component.html -->\n<div class=\"top-bar\">\n <button class=\"button share-button\">Share</button>\n <button class=\"button publish-button\">Publish</button>\n</div>\n<div class=\"menu-sidebar\">\n <!-- Logo Section -->\n <div class=\"menu-logo\">\n <img src=\"../assets/Nxt.png\">\n </div>\n\n <!-- Menu Items -->\n <ul class=\"menu-list\">\n <li\n *ngFor=\"let item of menuItems; let i = index\"\n class=\"menu-item\"\n [class.active]=\"activeIndex === i\"\n (click)=\"setActiveMenu(i)\"\n [attr.aria-label]=\"item.label\"\n >\n <!-- Dynamic Icon -->\n <img [src]=\"item.icon\" alt=\"Menu Icon\" class=\"menu-icon\" />\n </li>\n </ul>\n\n <!-- Profile Section -->\n <div class=\"menu-profile\">\n <img src=\"../assets/icons/ProfileImage.svg\" />\n </div>\n</div>\n\n","// AP-29JAN25 \nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-form-builder',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.css'],\n})\nexport class FormComponent {\n // Input data for app-element\n // bookletJson: any = {}; // Replace with your actual JSON object\n // bookletId: string = '123'; // Replace with your actual booklet ID\n @Input() bookletJSON: any;\n @Input() bookletId: any;\n @Output() formButtonHandler = new EventEmitter<string>();\n\n // Input data for app-properties\n // api: string = 'https://example.com/api'; // Replace with your actual API endpoint\n // apiMethod: string = 'GET'; // Replace with your actual API method\n selectedElementType: string = 'button'; // Replace with the default selected element type\n\n // Event handler for app-element\n formButtonHandlerClick(event){\n this.formButtonHandler.emit(event);\n }\n}\n","<!-- AP-29JAN25 -->\n<div class=\"form-container \">\n <!-- app-element Component -->\n <app-element [bookletJSON]=\"bookletJSON\" [bookletId]=\"bookletId\"></app-element>\n \n <!-- app-properties Component -->\n <app-properties (formButtonHandler)=\"formButtonHandlerClick($event)\"></app-properties>\n </div>\n ","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NxtAppComponent } from './nxt-app.component';\nimport { QuestionnaireComponent } from './pages/questionnaire/questionnaire.component';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\nimport { NgCircleProgressModule } from 'ng-circle-progress';\nimport { NgxSpinnerModule } from \"ngx-spinner\";\nimport { GOOGLE_MAP_API_KEY } from '../lib/sample';\nimport { PickLocationComponent } from './components/pick-location/pick-location.component';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { CustomInputComponent } from './components/custom-input/custom-input.component';\nimport { CustomTextAreaComponent } from './components/custom-text-area/custom-text-area.component';\nimport { CustomTableComponent } from './components/custom-table/custom-table.component';\nimport { CustomRichTextComponent, QuillConfiguration } from './components/custom-rich-text/custom-rich-text.component'; //RS 06JAN2025 Imports modules and components for browser compatibility, Quill-based rich text editing, and custom configurations\nimport { QuillModule } from 'ngx-quill';\nimport { DropdownWithFlagComponent } from './components/dropdown-with-flag/dropdown-with-flag.component';\nimport { OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';\n\n//import { OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from 'ng-pick-datetime/date-time/adapter/moment-adapter/moment-date-time-adapter.class';\nimport { CustomDatePickerComponent } from './components/custom-date-picker/custom-date-picker.component';\nimport { CustomDropdownComponent } from './components/custom-dropdown/custom-dropdown.component';\n// VD 23JAN24 removed HttpClientModule\nimport { BookletComponent } from './pages/booklet/booklet.component';\nimport { GoogleMapsModule } from '@angular/google-maps';\nimport { SearchBoxComponent } from './components/search-box/search-box.component';\nimport { QuestionbookComponent } from './pages/questionbook/questionbook.component';\nimport { FileUploadComponent } from './components/file-upload/file-upload.component';\nimport { SummaryPageComponent } from './pages/summary-page/summary-page.component';\nimport { FileViewComponent } from './components/file-view/file-view.component';\nimport { DependentTableComponent } from './components/dependent-table/dependent-table.component';\nimport { CustomLabelComponent } from './components/custom-label/custom-label.component';\nimport { TableAppendixComponent } from './components/table-appendix/table-appendix.component';\nimport { CustomDateComponent } from './components/custom-date/custom-date.component';\nimport { CustomTimeComponent } from './components/custom-time/custom-time.component';\nimport { CustomButtonComponent } from './components/custom-button/custom-button.component';\n// HA 19DEC23 Importing for translation\nimport { I18nModule } from './i18n.module'\nimport { I18nComponent } from './i18n.component';\nimport { I18nPipe } from './i18n.pipe';\nimport * as enI18n from './en.i18n';\nimport * as arI18n from './ar.i18n';\nimport * as tamI18n from './tam.i18n'\nimport { I18nService } from './i18n.service';\nimport { MatTooltipModule } from '@angular/material/tooltip'; // VD 20JUN24 - help text changes\nimport { GetValuePipe } from './pipe/get-value.pipe'; // VD 26JUN24 - pipe changes\nimport { CustomCalendarComponent } from './components/custom-calendar/custom-calendar.component';\nimport { CustomModelComponent } from './components/custom-model/custom-model.component';\nimport { CustomImageComponent } from './components/custom-image/custom-image.component';\nimport { CustomRadioComponent } from './components/custom-radio/custom-radio.component';\nimport { LoaderComponent } from './components/loader/loader.component';\nimport { ComponenthostDirective } from './directives/componenthost/componenthost.directive';\n// AP 22JAN2025 Added the below components\nimport { ElementComponent } from './pages/builder/element/element.component';\nimport { PropertiesComponent } from './pages/builder/properties/properties.component';\nimport { MenuComponent } from './pages/builder/menu/menu.component';\n// AP 22JAN2025 Added the DragDropModule\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n//AP 22JAN2025 Added the FormBuilderService\nimport { FormBuilderService } from './services/form-builder.service';\nimport { FormComponent } from './pages/builder/form/form.component';\n \n \n// export const MY_CUSTOM_FORMATS = {\n// fullPickerInput: 'DD/MM/YYYY HH:mm:ss',\n// useUtc: true,\n// };\n\n// HA 19DEC23 variable created for translation\nconst languages = [\n // { lang: 'EN', flag: 'assets/images/en.i18n.png', file: enI18n },\n { lang: 'EN', file: enI18n },\n { lang: 'TAM', file: tamI18n },\n { lang: 'AR', file: arI18n }\n]\n\n@NgModule({\n declarations: [NxtAppComponent,\n QuestionnaireComponent,\n PickLocationComponent,\n CustomInputComponent,\n CustomTextAreaComponent,\n CustomTableComponent,\n CustomCalendarComponent,\n CustomDatePickerComponent,\n DropdownWithFlagComponent,\n CustomDropdownComponent,\n BookletComponent,\n SearchBoxComponent,\n QuestionbookComponent,\n FileUploadComponent,\n SummaryPageComponent,\n FileViewComponent,\n DependentTableComponent,\n CustomLabelComponent,\n TableAppendixComponent,\n CustomDateComponent,\n CustomTimeComponent,\n CustomButtonComponent,\n CustomModelComponent,\n LoaderComponent,\n I18nComponent,\n I18nPipe,\n CustomImageComponent,\n CustomRadioComponent,\n //AP 22JAN2025 Added the below components\n ElementComponent,\n PropertiesComponent,\n MenuComponent,\n FormComponent\n ],\n imports: [\n QuillModule.forRoot(),// RS 06JAN2025 Initializes the QuillModule with default settings for integrating the Quill editor.\n CustomRichTextComponent,\n CommonModule, FormsModule,\n // BrowserModule,\n ReactiveFormsModule,\n OwlDateTimeModule,\n OwlNativeDateTimeModule,\n ComponenthostDirective,\n GetValuePipe,\n // VD 23JAN24 removed HttpClientModule\n NgSelectModule,\n GoogleMapsModule,\n MatTooltipModule,\n DragDropModule, //AP 22JAN25 Added the DragDropModule\n\n //AgmCoreModule.forRoot({\n // apiKey: GOOGLE_MAP_API_KEY,\n // libraries: ['geometry', 'places', 'visualization', 'drawing']\n // }),\n NgxSpinnerModule,\n I18nModule.forRoot(languages),\n /*NgCircleProgressModule.forRoot({\n \"backgroundPadding\": -10,\n \"radius\": 60,\n \"space\": -6,\n \"innerStrokeColor\": \"#919191\",\n \"outerStrokeColor\": \"#db9594\",\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\n \"innerStrokeWidth\": 2,\n \"backgroundGradient\": true,\n \"backgroundColor\": \"#dd2e13\",\n \"backgroundGradientStopColor\": \"#dd2e13\",\n \"backgroundStroke\": \"#d3cfcf\",\n \"title\": [\n\n \"%\"\n ],\n // titleFontSize: 12,\n // \"subtitleFontSize\": 20,\n \"animateTitle\": false,\n \"animationDuration\": 1000,\n \"showUnits\": false,\n \"clockwise\":true\n\n //\"backgroundStrokeWidth\": \"0\",\n\"backgroundGradient\": true,\n //\"backgroundColor\": \"#dd2e13\",\n \"backgroundGradientStopColor\": \"#dd2e13\",\n \"backgroundStroke\": \"#000000\",\n \"backgroundPadding\": -10,\n \"radius\": 60,\n \"unitsFontWeight\": \"600\",\n \"unitsColor\": \"#f2f2f2\",\n \"outerStrokeGradient\": true,\n \"outerStrokeColor\": \"#e0b1b0\",\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\n \"outerStrokeLinecap\": \"inherit\",\n \"innerStrokeColor\": \"#f6dfdf\",\n \"title\": [\n\n \"%\"\n],\n \"titleColor\": \"#e7d9d9\",\n \"titleFontSize\": \"31\",\n \"titleFontWeight\": \"100\",\n \"subtitleColor\": \"#f7f7f7\",\n \"subtitleFontSize\": \"36\",\n \"subtitleFontWeight\": \"900\",\n \"animateTitle\": false,\n \"animationDuration\": 1000,\n \"showTitle\": true,\n \"showUnits\": true,\n \"clockwise\": false,\n \"startFromZero\": true,\n \"showZeroOuterStroke\": false,\n \"lazy\": true})*/\n\n NgCircleProgressModule.forRoot({\n \"backgroundGradient\": true,\n \"backgroundColor\": \"#e29d98\",\n \"backgroundGradientStopColor\": \"#c5281c\",\n \"backgroundStroke\": \"#ece4e4\",\n \"backgroundStrokeWidth\": 0,\n \"backgroundPadding\": -10,\n \"radius\": 60,\n \"space\": 4,\n \"maxPercent\": 100,\n \"unitsFontSize\": \"35\",\n \"unitsColor\": \"#f0ebeb\",\n \"outerStrokeGradient\": true,\n \"outerStrokeWidth\": 10,\n \"outerStrokeColor\": \"#f7c0bf\",\n \"outerStrokeGradientStopColor\": \"#f9c9c8\",\n \"innerStrokeWidth\": 0,\n \"titleColor\": \"#f3eded\",\n \"titleFontSize\": \"40\",\n \"subtitleColor\": \"#444444\",\n \"showSubtitle\": false})\n ],\n bootstrap: [ NxtAppComponent ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n exports: [NxtAppComponent,\n QuestionnaireComponent,\n BookletComponent,\n SummaryPageComponent,\n I18nPipe,\n I18nComponent,\n ElementComponent,\n PropertiesComponent,\n MenuComponent,\n FormComponent\n // CustomRichTextComponent\n ],\n providers: [\n I18nService,\n I18nPipe,\n FormBuilderService//AP 22JAN2025 Added the FormBuilderService\n ]\n // providers: [\n // { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },\n // { provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS },\n // ]\n})\nexport class NxtAppModule { }\n","import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\n@Component({\n selector: 'nxt-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './nxt-button.component.html',\n styleUrls: ['./nxt-button.component.css']\n})\nexport class NxtButtonComponent implements OnInit {\n \n @Input() buttonValue: string = ''; //SKS24JAN25 button text \n @Input() buttonType: string = 'primary'; //SKS24JAN25 If the button type is 'text-only', it should display only the text without a border or outline. For 'grey-text', the button should have a border and a background color, but the text color should be gray, similar to 'blue-text'\n @Input() type: string = 'button'; //SKS24JAN25 The button types are \"button,\" \"group,\" and \"dropdown.\"\n @Input() buttonDisable: boolean = false; //SKS24JAN25 use this input to disable a button when needed.\n @Input() fcBtnBgColor: string = ''; // Use this input to set a custom background color for the button.\n @Input() fcBtnBorder: string = ''; // Use this input to set a custom border style for the button.\n @Input() fcBtnTextColor: string = ''; // Use this input to set a custom text color for the button.\n @Input() fcBtnHeight: string = ''; // Use this input to set a custom height for the button.\n @Input() fcBtnWidth: string = ''; // Use this input to set a custom width for the button.\n @Input() fcBtnIconLeftSrc: string = ''; // Use this input to set the source of the left-side icon for the button.\n @Input() fcBtnIconRightSrc: string = ''; // Use this input to set the source of the right-side icon for the button.\n @Input() fcBtnHoverBgColor: string = ''; // Use this input to set the background color of the button on hover.\n @Input() fcBtnHoverTextColor: string = ''; // Use this input to set the text color of the button on hover.\n @Input() fcBtnId: string = 'default'; // Use this input to set a custom ID for the button. Default is 'default'.\n @Input() dataDismiss: string = ''; // Use this input to specify the dismiss action for the button (e.g., 'modal' to close a modal).\n @Input() fcButtonBorder: string = '0px'; // Use this input to set the border size of the button. Default is '0px' for no border.\n @Input() modalToTrigger: string = ''; // Use this input to specify the ID or target of the modal to be triggered.\n @Input() isImageSvg: boolean = false; // Use this input to determine if the image is an SVG. Default is false (non-SVG).\n @Input() tabIndex: any = '';// Use this input to set the tab index for the element, controlling the focus order.\n @Input() buttonConfig: any = ''; // Use this input to pass configuration settings for the group and dropdown buttons (e.g., styles, actions).\n\n @Output() buttonClickEmit:EventEmitter<any> = new EventEmitter<any>();\n iconSrc: any = ''; // Ensure it's always a string\n isDropdownOpen = false;\n\n \n\n // SKS24JAN25 dropdown button config\n\n // dropdownButton = {\n // fcBtnBgColor: '#007bff',\n // fcBtnBorder: '1px solid #0056b3',\n // fcBtnTextColor: '#ffffff',\n // fcBtnHeight: '40px',\n // fcBtnWidth: '150px',\n // fcBtnHoverBgColor: '#0056b3',\n // fcBtnHoverTextColor: '#ffffff',\n // label: 'Dropdown',\n // iconSrc: '',\n // items: [\n // { label: 'Action 1',iconSrc: '', hover: false },\n // { label: 'Action 2',iconSrc: '', hover: false },\n // { label: 'Action 3',iconSrc: '', hover: false }\n // ]\n // };\n constructor(private elementRef: ElementRef) { }\n\n ngOnInit(): void {}\n //SKS24JAN25 Function to get styles for dropdown and group buttons based on the provided configuration.\n getButtonStyles(config: any): { [key: string]: string } {\n return {\n '--fc-button-custom-bg': config.fcBtnBgColor || '',\n '--fc-button-custom-border': config.fcBtnBorder || '',\n '--fc-button-custom-color': config.fcBtnTextColor || '',\n '--fc-button-custom-height': config.fcBtnHeight || '',\n '--fc-button-custom-width': config.fcBtnWidth || '',\n '--fc-button-hover-bg': config.fcBtnHoverBgColor || '',\n '--fc-button-hover-text-color': config.fcBtnHoverTextColor || ''\n };\n }\n \n\n buttonClicked($event:any){\n this.buttonClickEmit.emit($event);\n if(this.isDropdownOpen){\n this.isDropdownOpen=false\n }\n }\n\n toggleDropdown() {\n this.isDropdownOpen = !this.isDropdownOpen;\n }\n//SKS24JAN25 Listener for clicks outside the dropdown button to close or manage its state.\n @HostListener('document:click', ['$event'])\n onClickOutside(event: MouseEvent) {\n if (this.isDropdownOpen && !this.elementRef.nativeElement.contains(event.target)\n ) {\n this.isDropdownOpen = false;\n }\n }\n}\n","<!-- SKS24JAN25 group button -->\n<div *ngIf=\"type === 'group'\" class=\"btn-group\" role=\"group\" aria-label=\"Button Group\">\n <button *ngFor=\"let btn of buttonConfig.buttons\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n [attr.tabindex]=\"btn.tabIndex\"\n [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n [ngStyle]=\"getButtonStyles(btn)\"\n [disabled]=\"btn.buttonDisable\"\n [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n (click)=\"buttonClicked(btn)\"\n [attr.id]=\"btn.fcBtnId !== 'default' ? btn.fcBtnId : null\">\n <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n <span class=\"custom-tooltip\" \n style=\"background-color:{{btn.tooltipBcColor}};\n color:{{btn.tooltipColor}};\n font-size:{{btn.tooltipFSize}}\">\n {{ btn.tooltip }}\n <div class=\"tooltip-pointer\" style=\"background-color:{{btn.tooltipBcColor}};\"></div>\n </span>\n </button>\n</div>\n \n<!-- SKS24JAN25 single button -->\n<button type=\"button\" *ngIf=\"type !== 'group' && type !== 'dropdown'\" class=\"btn btn-primary fc-button {{buttonType}}\" [tabindex]=\"tabIndex\"\n [attr.data-bs-toggle]=\"modalToTrigger != '' ? 'modal' : ''\"\n [attr.data-bs-target]=\"modalToTrigger != '' ? '#'+modalToTrigger : ''\"\n style=\"--fc-button-custom-bg: {{fcBtnBgColor}};--fc-button-custom-border: {{fcBtnBorder}};--fc-button-custom-color: {{fcBtnTextColor}};--fc-button-custom-height: {{fcBtnHeight}};--fc-button-custom-width: {{fcBtnWidth}};--fc-button-hover-bg: {{fcBtnHoverBgColor}};--fc-button-hover-text-color: {{fcBtnHoverTextColor}};\"\n [disabled]=\"buttonDisable\" [attr.data-bs-dismiss]='dataDismiss' (click)=\"buttonClicked($event)\"\n [attr.id]=\"fcBtnId != 'default' ? fcBtnId : null\">\n <img *ngIf=\"fcBtnIconLeftSrc != '' && isImageSvg\" src=\"{{fcBtnIconLeftSrc}}\"\n class=\"fc-btn-icon left-icon\">\n <img *ngIf=\"fcBtnIconLeftSrc != '' && !isImageSvg\" src=\"{{fcBtnIconLeftSrc}}\" class=\"fc-btn-icon left-icon\">\n <span class=\"fc-btn-text\">{{buttonValue}}</span>\n <img *ngIf=\"fcBtnIconRightSrc != '' && isImageSvg\" src=\"{{fcBtnIconRightSrc}}\"\n class=\"fc-btn-icon right-icon\">\n <img *ngIf=\"fcBtnIconRightSrc != '' && !isImageSvg\" src=\"{{fcBtnIconRightSrc}}\" class=\"fc-btn-icon right-icon\">\n</button>\n\n<!-- SKS24JAN25 dropdown button -->\n<div *ngIf=\"type === 'dropdown'\" class=\"dropdown\">\n <svg class=\"clickable-img\" (click)=\"toggleDropdown()\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.3\" y=\"0.3\" width=\"39.4\" height=\"39.4\" rx=\"11.7\" fill=\"#FAFBFD\" stroke=\"#D5D5D5\" stroke-width=\"0.6\"/>\n <path d=\"M19.9999 25.6667C23.6818 25.6667 26.6666 22.6819 26.6666 19C26.6666 15.3181 23.6818 12.3334 19.9999 12.3334C16.318 12.3334 13.3333 15.3181 13.3333 19C13.3333 22.6819 16.318 25.6667 19.9999 25.6667Z\" fill=\"#292D32\" stroke=\"#292D32\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M17.6467 18.16L20.0001 20.5067L22.3534 18.16\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg> \n <div class=\"dropdown-menu\" *ngIf=\"isDropdownOpen\">\n <button *ngFor=\"let btn of buttonConfig.buttons\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n [attr.tabindex]=\"btn.tabIndex\"\n [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n [ngStyle]=\"getButtonStyles(btn)\"\n [disabled]=\"btn.buttonDisable\"\n [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n (click)=\"buttonClicked(btn)\"\n [attr.id]=\"btn.fcBtnId !== 'default' ? btn.fcBtnId : null\">\n <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n <span class=\"fc-btn-text\" style=\"padding-left: 12px;\">{{btn.name}}</span>\n </button>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n\n@Component({\n selector: 'nxt-pagination',\n standalone: true,\n imports: [CommonModule, FormsModule],\n templateUrl: './pagination.component.html',\n styleUrl: './pagination.component.css'\n})\nexport class NxtPagination implements OnInit {\n @Output() event = new EventEmitter<any>;\n // page size Options\n @Input() pageSizeOptions: number[] = [5, 10, 15, 20, 50];\n /** The total number of records */\n @Input() collectionSize = 0;\n\n /** The number of records to display */\n @Input() pageSize = 10;\n\n /** Current page */\n @Input() currentPage = 1;\n\n /** The number of buttons to show either side of the current page */\n @Input() maxSize = 2;\n\n /** Display the First/Last buttons */\n @Input() firstLastButtons = false;\n\n /** Display the Next/Previous buttons */\n @Input() nextPreviousButtons = true;\n\n /** Display small pagination buttons */\n @Input() small = false;\n\n totalPages: any[] = [];\n\n constructor() {}\n\n ngOnInit(): void {\n this.pageSize = this.pageSize ?? 10; // Ensure a default value\n this.currentPage = this.currentPage === 0 ? 1 : this.currentPage\n if (this.collectionSize) {\n this.totalPages = new Array(Math.ceil(this.collectionSize / Number(this.pageSize)));\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.pageSize = this.pageSize ?? 10; // Ensure a default value\n this.currentPage = this.currentPage === 0 ? 1 : this.currentPage ?? 1\n if (this.collectionSize) {\n this.totalPages = new Array(Math.ceil(this.collectionSize / Number(this.pageSize)));\n }\n }\n get startIndex(): number {\n return (this.currentPage - 1) * Number(this.pageSize);\n }\n\n get endIndex(): number {\n return Math.min( Number(this.startIndex) + Number(this.pageSize), this.collectionSize);\n }\n /** Set page number */\n selectPageNumber(pageNumber: number) {\n this.currentPage = pageNumber;\n this.emit()\n }\n\n /** Set next page number */\n next() {\n const nextPage = this.currentPage + 1;\n nextPage <= this.totalPages.length && this.selectPageNumber(nextPage);\n }\n\n /** Set previous page number */\n previous() {\n const previousPage = this.currentPage - 1;\n previousPage >= 1 && this.selectPageNumber(previousPage);\n }\n onPageSizeChange(newSize:any): void {\n this.pageSize = newSize; // Update the pageSize\n this.totalPages = new Array(Math.ceil(this.collectionSize / this.pageSize));\n // Ensure the current page is within bounds\n // if (this.currentPage > this.totalPages.length) {\n // this.currentPage = this.totalPages.length;\n // }\n this.currentPage = 1\n this.emit(); // Emit an event if necessary\n } \n emit(){\n this.event.emit({\"length\":this.collectionSize, \"pageSize\": this.pageSize, \"pageIndex\" : this.currentPage})\n }\n}","<!-- SKS24JAN25 -->\n<div class=\"flex content-space-between main-cont\">\n <div class=\"info\">\n <div *ngIf=\"endIndex\">\n Showing data {{ startIndex + 1 }} to {{ endIndex }} of {{ collectionSize }} entries\n </div>\n </div>\n <div>\n <ul [class]=\"small ? 'pagination pagination-sm' : 'pagination'\" style=\"align-items: center; padding-top: 18px;\">\n <!-- select button -->\n <div style=\"font-size: 14px; font-weight: 400; padding-right: 10px; align-items: center;\" for=\"perPage\">Result per page</div>\n <div class=\"dropdown-wrapper\">\n <select id=\"perPage\" [ngModel]=\"pageSize\" (ngModelChange)=\"onPageSizeChange($event)\">\n <option *ngFor=\"let size of pageSizeOptions\" [value]=\"size\">{{ size }}</option>\n </select>\n <svg class=\"dropdown-arrow\" width=\"9\" height=\"6\" viewBox=\"0 0 9 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0.684136 0.767477C0.922999 0.5378 1.30282 0.545248 1.5325 0.784111L4.5 3.93431L7.4675 0.784111C7.69718 0.545248 8.077 0.5378 8.31587 0.767477C8.55473 0.997153 8.56218 1.37698 8.3325 1.61584L4.9325 5.21584C4.81938 5.33349 4.66321 5.39998 4.5 5.39998C4.33679 5.39998 4.18062 5.33349 4.0675 5.21584L0.667501 1.61584C0.437825 1.37698 0.445272 0.997153 0.684136 0.767477Z\" fill=\"#626262\"/>\n </svg> \n </div> \n <!-- first button -->\n <li [class]=\"currentPage === 1 ? 'page-item disabled' : 'page-item'\" *ngIf=\"firstLastButtons\" >\n <button class=\"page-link\" (click)=\"selectPageNumber(1)\">««</button>\n </li>\n <!-- last button -->\n <li [class]=\"currentPage === totalPages.length ? 'page-item disabled' : 'page-item'\" *ngIf=\"firstLastButtons\">\n <button class=\"page-link\" (click)=\"selectPageNumber(totalPages.length)\">»»</button>\n </li>\n <!-- previous button -->\n <li [class]=\"currentPage === 1 ? 'page-item disabled' : 'page-item'\" *ngIf=\"nextPreviousButtons\" >\n <button class=\"page-link\" (click)=\"previous()\">«</button>\n </li>\n <!-- page numbers -->\n <ng-container *ngFor=\"let p of totalPages; index as i\">\n <li *ngIf=\"i + 1 >= currentPage - maxSize && i + 1 <= currentPage + maxSize\" [class]=\"currentPage === i + 1 ? 'page-item active' : 'page-item'\">\n <button class=\"page-link\" (click)=\"selectPageNumber(i + 1)\">\n {{ i + 1 }}\n </button>\n </li>\n </ng-container>\n <!-- next button -->\n <li [class]=\"currentPage === totalPages.length ? 'page-item disabled' : 'page-item'\" *ngIf=\"nextPreviousButtons\">\n <button class=\"page-link\" (click)=\"next()\">»</button>\n </li>\n </ul>\n </div>\n </div>\n ","import { Pipe, PipeTransform } from '@angular/core';\n\n\n@Pipe({\n name: 'searchFilter',\n standalone: true\n})\nexport class SearchFilterPipe implements PipeTransform {\n\n\n //getting the array datas and search data from pipe element on every change\n transform(items: any[], searchText: string, ele?:any): any[] {\n if (!items) return [];\n if (!searchText) return items;\n return this.searchItems(items, searchText.toLowerCase(), ele);\n }\n // passing that data here, and if the search element included in that array, that element will be returned in new array\n private searchItems(items: any[], searchText: string, ele?:any): any[] {\n let results: any[] = [];\n items.forEach((data: any) => {\n if(ele){\n if (data[ele]?.toLowerCase().includes(searchText)) {\n results.push(data);\n }\n } else {\n if (data?.toLowerCase().includes(searchText)) {\n results.push(data);\n }\n }\n });\n return results;\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'date',\n standalone: true,\n pure: false\n})\nexport class DatePipe implements PipeTransform {\n transform(value: any, format: string = 'MMM d, yyyy'): any {\n const date = new Date(value);\n\n // Check if the input is a valid date\n if (isNaN(date.getTime())) {\n return value; // Return the original value if invalid\n }\n\n // Format the valid date and return it\n return new Intl.DateTimeFormat('en-US', {\n month: 'short',\n day: '2-digit',\n year: 'numeric'\n }).format(date);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'time',\n standalone: true,\n pure: false\n})\nexport class TimePipe implements PipeTransform {\n\n transform(value: any, timeFormat: string = 'HH:mm'): any {\n const date = new Date(value);\n\n // Check if the input is a valid time\n if (isNaN(date.getTime())) {\n return value; // Return the original value if invalid\n }\n\n // Extract hours and minutes from the valid time\n const hours = date.getHours().toString().padStart(2, '0');\n const minutes = date.getMinutes().toString().padStart(2, '0');\n return `${hours}:${minutes}`; // Return the formatted time\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'editColumnCheck',\n standalone: true\n})\nexport class EditColumnCheckPipe implements PipeTransform {\n\n // SK10APR24 condition to check the edit column\n transform(arg:any, element: any, editCol: any): any {\n var returnVal = \"\";\n if(editCol.length > 0){\n if(typeof editCol[0] === 'string'){\n if(editCol.includes(element)) returnVal = \"string\";\n } else if(typeof editCol[0] === 'object'){\n returnVal = (editCol.filter((col:any)=>col.name === element)).length > 0 ? \"object\" : \"\";\n }\n }\n return returnVal \n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'editColumnDropdown',\n standalone: true\n})\nexport class EditColumnDropdownPipe implements PipeTransform {\n\n // SK10APR24 to check the data type of table value is dropdown\n transform(arg:any, element: any, editCol: any): any {\n var returnVal :any ;\n returnVal = (editCol.filter((col:any)=>col.name === element));\n return returnVal[0].values;\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'editColumnType',\n standalone: true\n})\nexport class EditColumnTypePipe implements PipeTransform {\n// SK10APR24 to check the type of edit column in table\ntransform(arg:any, element: any, editCol: any): any {\n var returnVal :any ;\n returnVal = (editCol.filter((col:any)=>col.name === element));\n return returnVal[0].type; \n}\n}\n","import { Component, ViewChild, Input, Output, EventEmitter, ElementRef, HostListener, ViewChildren, QueryList, Renderer2 } from '@angular/core';\nimport { MatSort } from '@angular/material/sort';\nimport { CommonModule } from '@angular/common';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NxtButtonComponent } from '../button/nxt-button.component';\nimport { NxtPagination } from '../pagination/pagination.component';\nimport { SearchFilterPipe } from '../../pipe/search-filter/search-filter.pipe';\nimport { DatePipe } from '../../pipe/date/date.pipe';\nimport { TimePipe } from '../../pipe/time/time.pipe';\nimport { EditColumnCheckPipe } from '../../pipe/editColumnCheck/edit-column-check.pipe';\nimport { EditColumnDropdownPipe } from '../../pipe/editColumnDropdown/edit-column-dropdown.pipe';\nimport { EditColumnTypePipe } from '../../pipe/editColumnType/edit-column-type.pipe';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@Component({\n selector: 'nxt-datatable',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule, \n FormsModule, \n NxtButtonComponent, \n NxtPagination, \n SearchFilterPipe,\n DatePipe,\n TimePipe,\n EditColumnCheckPipe,\n EditColumnDropdownPipe,\n EditColumnTypePipe,\n MatTooltipModule\n // RowResizerDirective\n ],\n templateUrl: './datatable.component.html',\n styleUrl: './datatable.component.css'\n})\nexport class NxtDatatable {\n @Input() data!: any[]; // get data that to be displayed in a array\n @Input() columns :Array<any> = []; // Columns have a label, a column type, and filter details.\n @Input() withCheckBox: boolean; // get if with or without checkbox in table\n @Input() searchBar: boolean; // if it is true, the search bar will be displayed on table\n @Input() tableSaveButton = false; // save button for editing LOP in payroll table, changed name from 'saveLOP'\n @Input() stickyColumn = false; // if the last column should be sticky, it should be sent as boolean value\n @Input() tableWidth = '100%'; // width of table can be adjusted from parent, by default it is 100%\n @Input() actionColumHeader = 'Action'; // to change the header for action column\n @Input() actionButton:boolean; //to show button colum as action\n @Input() title:any;// the title for the table;\n @Input() isButtons:boolean;// is button present in table;\n @Input() buttonArray:any;// buttons to be displayed;\n @Input() tableId:any; // id of table\n @Input() isEditRow: boolean; // if it is true, the row can be edited\n @Input() isDeleteRow: boolean; // if it is true, the row can be deleted\n @Input() addInlineRecord : boolean; // if it is true, the row can be added inline\n @Input() searchConfigs: any; // search configurations\n @Input() direction: 'rtl' | 'ltr' = 'ltr'; // direction of table\n @Input() pagination: any; // pagination configurations\n @Input() actionButtonArray: any; // action button configurations\n @Input() multipleFilter: any; // if pagination true then this will be used\n\n\n @Output() tableRowClick = new EventEmitter<any>; // datas to be passed when table row is clicked\n @Output() onEditData = new EventEmitter<any>; // if edit button is clicked, the data of that row will be passed\n @Output() saveButtonData = new EventEmitter<any>; // edited rows data will be passed\n @Output() onDeleteData = new EventEmitter<any>; // when delete button clicked pass the data\n @Output() buttonEmit = new EventEmitter<any>; // this will emit a table top button click event\n @Output() hyperLinkEmit = new EventEmitter<any>; // hyper link click event\n @Output() sideNavEmit =new EventEmitter<{data:any,col:any, config:any}>; // rightnav column emit\n @Output() actionButtonEmit = new EventEmitter<any>; // datas to be passed when table row active button is clicked\n @Output() NxtTableEmit = new EventEmitter<any>; \n // {\n // \"pagination\": { // 4\n // \"pageSize\": 10,\n // \"pageIndex\": 10\n // },\n // \"tableSearch\": { // 1\n // \"fields\" : [\n // \"lightType\",\n // \"system\",\n // \"status\"\n // ] ,\n // \"value\": 'r-001' \n // }, \n // \"searchFilterData\": { // 2\n // \"lightType\": [\n // \"AA\",\n // \"BB\" \n // ]\n // },\n // \"sort\": { // 3\n // \"column\": \"assetCode\",\n // \"direction\": \"asc\"\n // }\n // }\n\n @ViewChild(MatSort) sort!: MatSort;\n @ViewChild('tableContainer') tableContainer!: ElementRef<HTMLElement>; \n \n selection: any; // to get the selected row\n stickyCondition!: number; // to get the sticky column index\n searchFilter = false; // to get the search filter\n filterArray: Array<any> = []; // to get the filter array\n selectedFilter: any; // to get the selected filter\n renderColumns: string = 'displayedColumns'; // to get the rendered columns\n pageSizeOptions : Array<any> // for pagination get the page size options\n dataSource:any; // for table data source\n totalCount!:number // count of total records\n searchBoxValue: any; // to get the search box value\n prevSearch: any; // to get the previous search value\n activeColumn: string | null = null; // Track the active column\n isScrolled = false; // Boolean flag to track scroll state\n isShadowHidden = false; // Boolean flag to track shadow state\n currentSortColumn: string = ''; // to get the current sort column\n currentSortDirection: 'asc' | 'desc' | 'none' = 'none'; // to get the current sort direction\n originalData: any; // Store original data for sorting\n hoveredColumn: string | null = null; // Track the hovered column\n searchText: any; // to get the search text\n multipleFilterArray : any; // to get the multiple filter array\n filterDataArray:any = {} // to get the filter data array\n isResized: boolean = false; // for table column resize\n sFilterData: any; // to get the search filter data\n headerLabels: Array<any> = []; // to get the header labels\n displayedColumns: Array<any> = []; // to get the displayed columns\n filterColumns: Array<any> = []; // to get the filter columns\n hyperLinkColumns: Array<string> = []; // to get the hyper link columns\n editColumn: Array<any> = []; // to get the edit column\n dateColumns: Array<any> = []; // to get the date columns\n timeColumns: Array<any> = []; // to get the time columns\n objectColumns: Array<any> = []; // to get the object columns\n inlineElement:any // for add a new row on table\n pageSize: any // for pagination get the page size\n pageIndex: any // for pagination get the page index\n totalRecords: number; // for pagination get the total records\n configPagination: boolean = false; // flag for config pagination\n deleteData:any; // to get the delete row\n deleteModal = false; // for conformation popup\n dropdownActionButton: any; // for action column dropdown button\n currentOpenIndex: number | null = null; // track the current open action dropdown icon index\n clickListener: any; // action column dropdown button click listener for close a dropdown button\n\n constructor(private renderer: Renderer2) {}\n\n ngOnChanges(){\n console.log(\"ngOnChanges is running\")\n this.dataSource = this.data;\n //SKS15FEB25 Initialize this in your data fetch method\n this.originalData = [...this.data];\n this.sFilterData = [...this.data];\n this.dataSource.data = this.originalData;\n this.pageSize = this.pagination?.pageSize ? this.pagination['pageSize'] : 10;\n this.pageIndex = this.pagination?.pageIndex ? this.pagination['pageIndex'] : 1;\n this.totalRecords = this.pagination?.totalRecords ? this.pagination['totalRecords'] : undefined;\n this.pageSizeOptions = this.pagination?.pageSizeOptions ? this.pagination['pageSizeOptions'] : ['5','10', '25', '50', '100', '200'];\n this.pagination === undefined ? this.configPagination = false : this.configPagination = true;\n this.selection = new SelectionModel<any>(true, []);\n if(!this.totalRecords && this.data){\n this.dataSource.data = this.data?.slice(0, 10);\n }\n setTimeout(() => {\n this.dataSource.sort = this.sort;\n },100)\n this.totalCount = this.totalRecords || this.data?.length\n if (this.stickyColumn === true && this.displayedColumns) {\n this.stickyCondition = this.displayedColumns?.length;\n } else {\n this.stickyCondition = this.displayedColumns?.length + 1;\n }\n if(this.withCheckBox && this.actionButton){\n this.renderColumns = 'both';\n } else if(this.withCheckBox){\n this.renderColumns = 'select';\n } else if(this.actionButton){\n this.renderColumns = 'action';\n } \n if (this.searchConfigs?.searchFilterVal) {\n this.searchBoxValue = this.searchConfigs?.searchFilterVal; // Show value in the search box\n this.prevSearch = this.searchConfigs?.searchFilterVal;\n }\n if(this.filterColumns?.length > 0 && !this.configPagination){\n this.multipleFilterArray = {};\n const filtObjs:any = {};\n this.filterColumns.forEach((element:any) => {\n this.multipleFilterArray[element] = null;\n filtObjs[element] = [];\n });\n this.data.forEach(element => {\n this.filterColumns.forEach((key:any) => {\n if(Object.keys(element).includes(key)){\n filtObjs[key].push(element[key])\n this.multipleFilterArray[key] =(new Set(filtObjs[key]));\n }\n });\n });\n this.multipleFilterArray = this.multipleFilterArray;\n } else {\n this.multipleFilterArray = this.multipleFilter;\n }\n setTimeout(() => {\n if (this.tableContainer?.nativeElement) {\n const tableBody = this.tableContainer.nativeElement.querySelector('.table-body');\n if (tableBody) {\n this.isShadowHidden = !(tableBody.scrollHeight < 450)\n }\n }\n }, 1500); // Waits 100ms for rendering\n }\n\n ngOnInit(): void {\n this.searchBar === undefined || this.searchBar === false ? this.searchBar = false : this.searchBar = true;\n this.withCheckBox === undefined || this.withCheckBox === false ? this.withCheckBox = false : this.withCheckBox = true;\n this.isEditRow === undefined || this.isEditRow === false ? this.isEditRow = false : this.isEditRow = true;\n this.isDeleteRow === undefined || this.isDeleteRow === false ? this.isDeleteRow = false : this.isDeleteRow = true;\n this.actionButton === undefined || this.actionButton === false ? this.actionButton = false : this.actionButton = true;\n this.isButtons === undefined || this.isButtons === false ? this.isButtons = false : this.isButtons = true;\n this.addInlineRecord === undefined || this.addInlineRecord === false ? this.addInlineRecord = false : this.addInlineRecord = true;\n \n \n this.headerLabels = this.columns.map(column => column.label);\n this.displayedColumns = this.columns.map(column => column.fieldName);\n this.filterColumns = this.columns.filter(column => column.filter === true).map(column => column.fieldName);\n this.hyperLinkColumns = this.columns.filter(column => column.hyperLink === true).map(column => column.fieldName);\n this.editColumn = this.columns.filter(column => column.edit === true).map(column => column.fieldName);\n this.dateColumns = this.columns.filter(column => column.type === 'date').map(column => column.fieldName);\n this.timeColumns = this.columns.filter(column => column.type === 'time').map(column => column.fieldName);\n this.objectColumns = this.columns.filter(column => column.type === 'object').map(column => column.fieldName);\n\n this.inlineElement = Object.fromEntries(this.displayedColumns.map(key => [key, \"\"]));\n\n this.pageSize = this.pagination?.pageSize ? this.pagination['pageSize'] : 10;\n this.pageIndex = this.pagination?.pageIndex ? this.pagination['pageIndex'] : 1;\n this.totalRecords = this.pagination?.totalRecords ? this.pagination['totalRecords'] : undefined;\n this.pageSizeOptions = this.pagination?.pageSizeOptions ? this.pagination['pageSizeOptions'] : ['5','10', '25', '50', '100', '200'];\n this.pagination === undefined ? this.configPagination = false : this.configPagination = true;\n \n this.dropdownActionButton = this.actionButtonArray?.buttonArray.slice(this.actionButtonArray?.size);\n\n this.originalData = [...this.data];\n this.sFilterData = [...this.data];\n this.dataSource.data = this.originalData;\n if(!this.configPagination && this.data){\n this.dataSource.data = this.data?.slice(0, 10);\n }\n if(this.filterColumns?.length > 0 && !this.configPagination){\n this.multipleFilterArray = {};\n const filtObjs:any = {};\n this.filterColumns.forEach((element:any) => {\n this.multipleFilterArray[element] = null;\n filtObjs[element] = [];\n });\n this.data.forEach(element => {\n this.filterColumns.forEach((key:any) => {\n if(Object.keys(element).includes(key)){\n filtObjs[key].push(element[key])\n this.multipleFilterArray[key] =(new Set(filtObjs[key]));\n }\n });\n });\n this.multipleFilterArray = this.multipleFilterArray;\n } else {\n this.multipleFilterArray = this.multipleFilter;\n }\n this.selection = new SelectionModel<any>(true, []);\n setTimeout(() => {\n this.dataSource.sort = this.sort;\n },0)\n this.totalCount = this.totalRecords || this.data?.length\n\n const NxtDataTable = JSON.parse(localStorage.getItem('NxtDataTable'));\n this.currentSortColumn = NxtDataTable?.currentSortColumn;\n this.currentSortDirection = NxtDataTable?.currentSortDirection;\n if (NxtDataTable?.addRecord === true) {\n this.pageSize = NxtDataTable?.pageSize\n this.pageIndex = NxtDataTable?.pageIndex\n var obj:any = {};\n const keys = Object.keys(this.inlineElement);\n keys.forEach((elementKey:any) => {\n obj[elementKey]='';\n });\n this.data.push(obj);\n const data:any = this.data;\n this.dataSource.data = data;\n\n this.selection.select(this.data[this.data.length - 1]);\n this.data[this.data.length - 1].editRow = true;\n localStorage.setItem('NxtDataTable', JSON.stringify({ addRecord: false, pageSize: 10, pageIndex: this.pageIndex, currentSortColumn: this.currentSortColumn, currentSortDirection: this.currentSortDirection }));\n }\n if (this.stickyColumn === true && this.displayedColumns) {\n this.stickyCondition = this.displayedColumns?.length;\n } else {\n this.stickyCondition = this.displayedColumns?.length + 1;\n }\n if(this.withCheckBox && this.actionButton){\n this.renderColumns = 'both';\n } else if(this.withCheckBox){\n this.renderColumns = 'select';\n } else if(this.actionButton){\n this.renderColumns = 'action';\n } \n setTimeout(() => {\n if (this.tableContainer?.nativeElement) {\n const tableBody = this.tableContainer.nativeElement.querySelector('.table-body');\n if (tableBody) {\n this.isShadowHidden = !(tableBody.scrollHeight < 450)\n }\n }\n }, 1500); // Waits 100ms for rendering\n }\n\n // SKS15FEB25 Custom sort function\n sortData(column: string) {\n // Define sorting states\n const sortingStates = ['asc', 'desc', 'none'];\n if(!this.configPagination || this.dataSource.data.length === this.totalRecords){\n // Determine the current sorting state\n if (this.currentSortColumn === column) {\n // Move to the next sorting state\n const currentIndex = sortingStates.indexOf(this.currentSortDirection);\n this.currentSortDirection = sortingStates[(currentIndex + 1) % sortingStates.length] as \"asc\" | \"desc\" | \"none\";\n } else {\n // If a new column is selected, start with ascending sort\n this.currentSortColumn = column;\n this.currentSortDirection = 'asc';\n }\n const data = [...this.dataSource.data];\n // Only sort if the direction is 'asc' or 'desc'\n if (this.currentSortDirection === 'asc' || this.currentSortDirection === 'desc') {\n data.sort((a, b) => {\n let valueA = a[column];\n let valueB = b[column];\n // Handle undefined or null values\n if (valueA == null && valueB == null) return 0; // Both are null/undefined\n if (valueA == null) return this.currentSortDirection === 'asc' ? 1 : -1; // valueA is null\n if (valueB == null) return this.currentSortDirection === 'asc' ? -1 : 1; // valueB is null\n // Handle date sorting\n if (this.isDateColumn(column)) {\n const dateA = new Date(valueA);\n const dateB = new Date(valueB);\n valueA = dateA.getTime();\n valueB = dateB.getTime();\n } else if (typeof valueA === 'number' && typeof valueB === 'number') {\n // Handle number sorting\n valueA = Number(valueA);\n valueB = Number(valueB);\n } else if (typeof valueA === 'string' && typeof valueB === 'string') {\n // Handle string comparison\n valueA = valueA.toLowerCase();\n valueB = valueB.toLowerCase();\n }\n // Compare values\n if (valueA < valueB) {\n return this.currentSortDirection === 'asc' ? -1 : 1;\n } else if (valueA > valueB) {\n return this.currentSortDirection === 'asc' ? 1 : -1;\n } else {\n // If values are the same, return 0 to maintain original order\n return 0;\n }\n });\n this.dataSource.data = data;\n } else {\n this.dataSource.data = this.data\n }\n } else {\n // Determine the current sorting state\n if (this.currentSortColumn === column) {\n // Move to the next sorting state\n const currentIndex = sortingStates.indexOf(this.currentSortDirection);\n this.currentSortDirection = sortingStates[(currentIndex + 1) % sortingStates.length] as \"asc\" | \"desc\" | \"none\";\n } else {\n // If a new column is selected, start with ascending sort\n this.currentSortColumn = column;\n this.currentSortDirection = 'asc';\n }\n localStorage.setItem('NxtDataTable', JSON.stringify({ addRecord: false, pageSize: this.pageSize, pageIndex: this.pageIndex, currentSortColumn: this.currentSortColumn, currentSortDirection: this.currentSortDirection }));\n // Only sort if the direction is 'asc' or 'desc'\n this.NxtTableEmit.emit({pagination:{pageSize: this.pageSize, pageIndex: this.pageIndex}, tableSearch:{ fields: this.displayedColumns , value: this.searchBoxValue}, searchFilterData: this.filterDataArray, sort: { column: this.currentSortColumn, direction: this.currentSortDirection } })\n }\n }\n\n onScroll(tableContainer: HTMLElement) {\n this.isScrolled = tableContainer.scrollTop > 0;\n const tableBodyHeight = tableContainer.scrollHeight;\n const isAtBottom = tableBodyHeight - tableContainer.scrollTop <= tableContainer.clientHeight + 1;\n //SKS15FEB25 Ensure shadow is hidden only if table body height is greater than 400px\n this.isShadowHidden = !(isAtBottom || tableBodyHeight < 450);\n }\n\n //SKS15FEB25 losing the filter component when the mouse is clicked outside table\n @HostListener('document:click', ['$event']) onDocumentClick(event: any) {\n this.searchFilter = false;\n event.stopPropagation(); // prevents any other default action\n }\n\n //SKS15FEB25 filter data that to be displayed in header filter icon is passed in 'filterArray' array\n filter(datas: any) {\n this.filterArray = [];\n this.selectedFilter = datas;\n this.filterArray = this.multipleFilterArray[datas];\n this.searchFilter = !this.searchFilter;\n this.isResized = this.filterDataArray[this.selectedFilter]?.length > 0\n }\n\n // SKS15FEB25 emitting pagr size and index to parent on paginating\n pageParams(event:any){\n this.pageIndex =event.pageIndex\n this.pageSize = event.pageSize\n if(!this.configPagination || this.dataSource.data.length === this.totalRecords){\n const start = (Number(event.pageIndex) - 1) * Number(event.pageSize);\n const end = start + Number(event.pageSize);\n this.dataSource.data = this.sFilterData?.slice(start, end);\n } else {\n this.NxtTableEmit.emit({pagination:{pageSize: event.pageSize, pageIndex: event.pageIndex}, tableSearch: { fields: this.displayedColumns , value: this.searchBoxValue}, searchFilterData: this.filterDataArray, sort: { column: this.currentSortColumn, direction: this.currentSortDirection }})\n }\n }\n\n // SKS15FEB25 apply search bar filter using mat\n applyFilter(event: Event) {\n let filterValue = (event.target as HTMLInputElement).value;\n filterValue = filterValue.trim().toLowerCase();\n if (!filterValue) {\n this.dataSource.data = [...this.originalData]; // Reset to original data\n } else {\n this.dataSource.data = this.originalData.filter(item => \n this.displayedColumns.some(column => {\n const value = item[column]?.toString().toLowerCase() || '';\n return value.includes(filterValue);\n })\n );\n }\n this.pageIndex = 1\n this.pageSize = 10\n this.sFilterData = this.dataSource.data\n this.totalCount = this.dataSource.data.length\n const start = (Number(this.pageIndex) - 1) * Number(this.pageSize);\n const end = start + Number(this.pageSize);\n this.dataSource.data = this.dataSource.data?.slice(start, end);\n this.filterRetain(this.filterDataArray)\n }\n\n /** SKS15FEB25 Whether the number of selected elements matches the total number of rows. */\n isAllSelected() {\n // check if all rows are selected\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /** SKS15FEB25 Selects all rows if they are not all selected; otherwise clear selection. */\n masterToggle() {\n // if there is a selection then clear that selection\n // emit the selected value only to parent\n if (this.isSomeSelected()) {\n // to remove the editRow, if the checkbox is unchecked\n this.selection.selected.forEach((element:any) => {\n if(element?.editRow) element.editRow = false;\n });\n this.selection.clear();\n } else {\n // If no items are selected, either select all items or clear the selection\n // emit the selected values to parent\n this.isAllSelected() ? this.selection.clear() : this.dataSource.data.forEach((row: any) => this.selection.select(row));\n }\n }\n \n\n\n // SKS15FEB25 Checks whether any items are currently selected in the table.\n isSomeSelected() {\n return this.selection.selected.length > 0;\n }\n\n\n // SKS15FEB25 emit the check box values, that selected separately\n separateRowSelect(data: any, element:any) {\n // to remove the editRow id check box is unchecked on separate row\n if(data && element?.editRow) {\n element.editRow = false;\n }\n }\n\n //SKS15FEB25 data that to be passed, when table row is clicked\n tableClick(data: any) {\n this.tableRowClick.emit(data);\n }\n\n //SKS15FEB25 Retain the filterdata\n filterRetain(filterkey:any){\n if(Object.keys(filterkey).length==0){\n this.data= this.sFilterData;\n }else{\n this.data = [];\n let isDataChecked = false;\n for(let key of Object.keys(filterkey)){\n if (filterkey[key] && filterkey[key].length > 0){\n isDataChecked = true;\n }\n }\n if(!isDataChecked){\n this.data = this.sFilterData;\n } else {\n for(let key of Object.keys(filterkey)){\n if (filterkey[key]) {\n const data = this.sFilterData.filter((name:any)=> filterkey[key]?.includes(name[key]));\n const data1 = [...this.data,...data];\n this.data = this.removeDuplicates(data1);\n }\n }\n }\n }\n this.pageIndex = 1\n this.pageSize = 10\n this.totalCount = this.data.length\n this.dataSource.data = this.data;\n }\n\n // SKS15FEB25 to remove duplicate object form two arrays\n removeDuplicates(objects: any) {\n const seen = new Set<string>();\n const uniqueObjects: any = [];\n objects.forEach((obj:any) => {\n const key = JSON.stringify(obj);\n if (!seen.has(key)) {\n seen.add(key);\n uniqueObjects.push(obj);\n }\n });\n return uniqueObjects;\n }\n\n // SKS15FEB25 on delete click save the data in variables\n deleteRecord(data:any){\n this.deleteData = data;\n this.deleteModal = true;\n }\n\n // SKS15FEB25 after clicking yes in delete alert modal, emit to parent\n deleteRecordData(){\n this.onDeleteData.emit({data:this.deleteData, allData:this.data});\n this.deleteModal = false;\n }\n\n //SKS15FEB25 to save the edited data in table;\n saveButton(){\n // emitting all data with selected data\n this.saveButtonData.emit({selectedData:this.selection.selected, allData:this.data});\n }\n\n //SKS15FEB25 pass the rejected reason\n onEdit(data:any){\n if(typeof data === 'object') data.editRow = true; // made editing row as true // solve undefined error on string\n this.selection.select(data);\n this.onEditData.emit({data:data, allData:this.data});\n }\n\n // SKS15FEB25 table top buttons emit\n commonButtonClick(button:any){\n this.buttonEmit.emit(button);\n }\n\n // SKS15FEB25 This function is used to retrieve data from objects. \n // In 'element' we will pass object and in 'column' we will pass path as string eg.employee.financeInfo[0].uan to retieve uan value \n getValue(element:any, column:string){\n const initialEl = element; // fixed table search issue\n let flds = column.split('.');\n for(let i=0; i<flds.length; i++){\n let splitFlds = flds[i].split('[');\n if(splitFlds.length === 1){\n element = element[flds[i]] || '' as any;\n } else {\n let index = Number(splitFlds[1].split(']')[0]);\n element = element[splitFlds[0]][index] || '' as any; //To solve undefined error\n }\n }\n Object.assign(initialEl, { [column]: element }); // Fixed Expression changed issue\n return element;\n }\n\n //SKS15FEB25 hyperlinl columns only emitted\n onClickHyperlink(column:any, element:any, isHyperLink:any){ \n if(isHyperLink) this.hyperLinkEmit.emit({column:column, element:element}); \n }\n\n // SKS15FEB25 to check whether the hyperlink action is present in that column\n checkHyperlinkCheck(col:any){\n return this.hyperLinkColumns?.includes(col) ? true: false; \n }\n\n // SKS15FEB25 on add record in table, the 'inlineElement' values will be assigned to the table data \n addTableRecord(element:any){\n if(!this.configPagination || this.dataSource.data.length === this.totalRecords){\n var obj:any = {};\n const keys = Object.keys(element);\n keys.forEach((elementKey:any) => {\n obj[elementKey]='';\n });\n this.data.push(obj);\n const data:any = this.data;\n this.dataSource.data = data;\n\n if (this.stickyColumn === true && this.displayedColumns ) {\n this.stickyCondition = this.displayedColumns?.length;\n } else {\n this.stickyCondition = this.displayedColumns?.length + 1;\n }\n this.pageSize = 10\n this.totalCount = this.data.length\n this.pageIndex = Math.ceil(this.totalCount / this.pageSize);\n const start = (Number(this.pageIndex) - 1) * Number(this.pageSize);\n const end = start + Number(this.pageSize);\n this.dataSource.data = this.data?.slice(start, end);\n this.selection.select(this.data[this.data.length - 1]);\n this.data[this.data.length - 1].editRow = true;\n } else {\n const pageIndex = Math.ceil(this.totalRecords / 10);\n localStorage.setItem('NxtDataTable', JSON.stringify({ addRecord: true, pageSize: 10, pageIndex: pageIndex, currentSortColumn: this.currentSortColumn, currentSortDirection: this.currentSortDirection}));\n this.NxtTableEmit.emit({pagination:{pageSize: 10, pageIndex: pageIndex}, tableSearch: { fields: this.displayedColumns , value: this.searchBoxValue}, searchFilterData: this.filterDataArray, sort: { column: this.currentSortColumn, direction: this.currentSortDirection } })\n }\n }\n\n // SKS15FEB25 Action button conditionally displayed function\n isConditionMet(element: any, conditions: any): boolean {\n if(conditions !== undefined){\n const { andConditionList, orConditionList } = conditions;\n // If andConditionList exists, check that all conditions are met\n const isAndConditionMet = andConditionList ? andConditionList.every((cond: { condition: string | any[]; column: string | number; }) =>\n cond.condition.includes(element[cond.column])\n ) : true; // If no andConditionList, consider it as always met\n // If orConditionList exists, check if at least one condition is met\n const isOrConditionMet = orConditionList ? orConditionList.some((cond: { condition: string | any[]; column: string | number; }) =>\n cond.condition.includes(element[cond.column])\n ) : true; // If no orConditionList, consider it as always met\n // Return true if the AND condition is met and the OR condition is met\n return isAndConditionMet && isOrConditionMet;\n } else{\n return true;\n }\n } \n\n // SKS15FEB25 Check if the column is a date column\n isDateColumn(column: string): boolean {\n return this.dateColumns?.includes(column) ?? false;\n }\n\n // SKS15FEB25 Check if the column is a time column\n isTimeColumn(column: string): boolean {\n return this.timeColumns?.includes(column) ?? false;\n }\n\n // SKS15FEB25 config search filter box function\n onSearch(event:any){\n this.searchBoxValue = event; // Update the displayed value in the search box\n if (this.searchConfigs || this.dataSource.data.length === this.totalRecords) {\n this.pageIndex = 1\n this.pageSize = 10\n this.NxtTableEmit.emit({pagination:{pageSize:this.pageSize, pageIndex:Number(this.pageIndex)}, tableSearch: { fields: this.displayedColumns , value: this.searchBoxValue}, searchFilterData: this.filterDataArray, sort: { column: this.currentSortColumn, direction: this.currentSortDirection } })\n }\n }\n\n // SKS15FEB25 If the value in the search box is empty, call the onSearch function automatically\n emptySearch(event:any){ \n if(!(event.target as HTMLInputElement).value.trim() && (this.prevSearch != (event.target as HTMLInputElement).value.trim())){\n this.onSearch((event.target as HTMLInputElement).value)\n }\n this.prevSearch =(event.target as HTMLInputElement).value.trim()\n }\n\n // SKS15FEB25 infoSidescreen emit \n onSideNavInfoClick(data:any,col:any){ \n this.sideNavEmit.emit({\n data, col,\n config: undefined\n })\n }\n\n // SKS15FEB25 for active column select\n onColumnClick(column: string) {\n this.activeColumn = column;\n }\n\n // SKS15FEB25 for close search filter box\n closefilter(){\n this.pageSize = 10\n this.pageIndex = 1\n this.filterDataArray[ this.selectedFilter] = []\n this.isResized = false\n if(!this.configPagination || this.dataSource.data.length === this.totalRecords){\n this.filterRetain(this.filterDataArray)\n } else {\n this.NxtTableEmit.emit({pagination:{pageSize: 10, pageIndex: 1}, tableSearch: { fields: this.displayedColumns , value: this.searchBoxValue}, searchFilterData: this.filterDataArray, sort: { column: this.currentSortColumn, direction: this.currentSortDirection } })\n }\n }\n\n // SKS15FEB25 search filter box checkbox retain\n isSelected(event:any){\n if(this.filterDataArray[this.selectedFilter] &&this.filterDataArray[this.selectedFilter].includes(event)){\n return true\n } else {\n return false\n }\n }\n\n // SKS15FEB25 search filter box checkbox select\n checkedData(event:any) {\n let selectedArray = []\n selectedArray = this.filterDataArray[this.selectedFilter] ? this.filterDataArray[this.selectedFilter] : []\n if (selectedArray && selectedArray.includes(event)) {\n selectedArray = selectedArray.filter((item: any) => item !== event);\n } else {\n selectedArray.push(event);\n }\n this.filterDataArray[this.selectedFilter] = selectedArray\n this.isResized = selectedArray?.length > 0\n if(this.dataSource.data.length !== this.totalRecords && this.configPagination){\n this.pageIndex = 1\n this.pageSize = 10\n this.NxtTableEmit.emit({pagination:{pageSize:this.pageSize, pageIndex:Number(this.pageIndex)}, tableSearch: { fields: this.displayedColumns , value: this.searchBoxValue}, searchFilterData: this.filterDataArray, sort: { column: this.currentSortColumn, direction: this.currentSortDirection } })\n }else {\n this.filterRetain(this.filterDataArray)\n }\n }\n \n // SKS15FEB25 action column dropdown buttons close\n private addClickOutsideListener() {\n if (!this.clickListener) {\n this.clickListener = this.renderer.listen('document', 'click', (event) => {\n if (!event.target.closest('.dropdown')) {\n this.currentOpenIndex = null;\n this.removeClickListener();\n }\n });\n }\n }\n\n //SKS15FEB25 if close the dropdown menu stop the click listener\n private removeClickListener() {\n if (this.clickListener) {\n this.clickListener();\n this.clickListener = null;\n }\n }\n\n // SKS15FEB25 action column dropdown buttons open / c;ose\n toggleDropdown(index: number) {\n this.currentOpenIndex = this.currentOpenIndex === index ? null : index;\n this.addClickOutsideListener();\n }\n\n //SKS15FEB25 action button evnt emit\n actionButtonClicked(event : any){\n this.actionButtonEmit.emit(event)\n }\n}\n","<div class=\"table-layout\" [id]=\"tableId\" [ngStyle]=\"{'padding-top': '1px', 'width': tableWidth}\" [dir]=\"direction\">\n <div class=\"m-4\">\n <div class=\"d-flex justify-content-center table-title align-text-center pt-3\">\n {{title}}\n </div>\n <div class=\"flex justify-content-between\" style=\"padding-bottom: 20px;\">\n <div class=\"noOfRec\" style=\"display: flex; align-items: center;\">\n <p *ngIf=\"totalRecords || totalCount\" style=\"font-weight: 500; margin-right: 5px; margin-bottom: 0px;\">\n Nos </p>\n <div style=\"color: rgb(43, 87, 249);\">{{totalRecords || totalCount}}</div>\n </div>\n\n <div class=\"flex\" style=\"align-items: center;\">\n <div *ngIf=\"searchBar\" class=\"search\">\n <div class=\"flex search-bar\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11.6413 19.25C16.6322 19.25 20.6781 15.3511 20.6781 10.5417C20.6781 5.73218 16.6322 1.83333 11.6413 1.83333C6.6504 1.83333 2.60449 5.73218 2.60449 10.5417C2.60449 15.3511 6.6504 19.25 11.6413 19.25Z\" stroke=\"#787486\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M21.6295 20.1667L19.7271 18.3333\" stroke=\"#787486\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg> \n <input class=\"medium-font\" type=\"text\" placeholder=\"Search\"\n (keyup)=\"searchConfigs ? emptySearch($event) : applyFilter($event)\"\n [value]=\"searchConfigs ? searchBoxValue || '' : ''\" #input>\n <svg *ngIf=\"searchConfigs && searchBar\" class=\"configSearch\" (click)=\"onSearch(input.value)\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M14 5H20\" stroke=\"#ffffff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M14 8H17\" stroke=\"#ffffff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M21 11.5C21 16.75 16.75 21 11.5 21C6.25 21 2 16.75 2 11.5C2 6.25 6.25 2 11.5 2\" stroke=\"#ffffff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M22 22L20 20\" stroke=\"#ffffff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </div>\n\n <div class=\"flex\" *ngIf=\"isButtons\" style=\"padding-left: 7px; gap: 7px;\">\n <div class=\"flex\" *ngFor=\"let button of buttonArray\">\n <nxt-button class=\"data-table-fsbtn\" (buttonClickEmit)=\"(button.type === 'group' || button.type === 'dropdown') ? commonButtonClick($event) : commonButtonClick(button)\"\n [buttonType]=\"button.class\" [buttonValue]=\"button.name\" [buttonConfig]=\"button.buttonConfig\"\n [type]=\"button.type\" class=\"ms-2 me-2\" [fcBtnIconLeftSrc]=\"button.fcBtnIconLeftSrc\"\n [isImageSvg]=\"button.isImageSvg\">\n </nxt-button>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"table-margin\">\n <div class=\"table-container\" #tableContainer (scroll)=\"onScroll(tableContainer)\">\n <ng-container> <!--*ngIf=\"!isLoading; else loadingTemplate\"-->\n <div class=\"custom-table\">\n <!--SKS15FEB25 Table Header -->\n <div class=\"table-header\" [ngClass]=\"{ 'shadow': isScrolled }\">\n <div class=\"table-row\">\n <!--SKS15FEB25 Checkbox Column -->\n <div *ngIf=\"withCheckBox\" class=\"table-cell sticky-column head-color\">\n <input type=\"checkbox\" (click)=\"$event.stopPropagation()\" (change)=\"masterToggle()\"\n [checked]=\"selection?.hasValue()\"\n [indeterminate]=\"selection?.hasValue() && !isAllSelected()\"\n class=\"custom-checkbox\">\n </div>\n\n <!--SKS15FEB25 Data Columns -->\n <div *ngFor=\"let column of displayedColumns; let i = index\"\n class=\"table-cell tableHeader head-color\" [class.sticky-column]=\"i === (stickyCondition - 1)\"\n [class.active-column]=\"activeColumn === column\"\n (click)=\"$event.stopPropagation(); onColumnClick(column); sortData(column)\"\n (mouseenter)=\"hoveredColumn = column\"\n (mouseleave)=\"hoveredColumn = null\">\n <div class=\"columnDiv\">\n <div class=\"column-header\">\n <div class=\"ellipsis\" title=\"{{ headerLabels[displayedColumns.indexOf(column)] }}\">{{headerLabels[displayedColumns.indexOf(column)]}}</div>\n <div class=\"position-relative\" (click)=\"$event.stopPropagation()\">\n <svg *ngIf=\"filterColumns.includes(column)\" (click)=\"filter(column)\" style=\"padding-right: 2px;\" width=\"12\" height=\"11\" viewBox=\"0 0 12 11\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10.75 1.25H0.75L4.75 5.71722V8.80556L6.75 9.75V5.71722L10.75 1.25Z\" stroke=\"#242533\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <!--SKS15FEB25 Red dot for active filter -->\n <circle *ngIf=\"filterDataArray[column]?.length > 0\" cx=\"10\" cy=\"1\" r=\"2\" fill=\"red\"></circle>\n </svg>\n <div class=\"sort-indicators\">\n <span *ngIf=\"currentSortColumn === column\" class=\"sort-direction\">\n {{ currentSortDirection === 'asc' ? '↑' : currentSortDirection === 'desc' ? '↓' : '' }}\n </span>\n <span *ngIf=\"hoveredColumn === column && currentSortColumn !== column\" class=\"sort-direction\">\n ↑\n </span>\n </div>\n <div *ngIf=\"searchFilter && column === selectedFilter\" class=\"search-component position-absolute\">\n <div class=\"card\">\n <div class=\"content\">\n <div class=\"flex\">\n <div class=\"fsearch\" [class.resized]=\"isResized\">\n <div class=\"fsearch-bar\">\n <svg class=\"searchSvg\" width=\"18\" height=\"20\" viewBox=\"0 0 24 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11.6413 19.25C16.6322 19.25 20.6781 15.3511 20.6781 10.5417C20.6781 5.73218 16.6322 1.83333 11.6413 1.83333C6.6504 1.83333 2.60449 5.73218 2.60449 10.5417C2.60449 15.3511 6.6504 19.25 11.6413 19.25Z\" stroke=\"#787486\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M21.6295 20.1667L19.7271 18.3333\" stroke=\"#787486\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg> \n <input class=\"medium-font width-100\" type=\"text\" placeholder=\"Search\" [(ngModel)]=\"searchText\" class=\"searchinput\">\n </div>\n </div>\n <svg *ngIf=\"isResized\" (click)=\"closefilter()\" class=\"close-icon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9.16998 14.83L14.83 9.17001\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M14.83 14.83L9.16998 9.17001\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M9 22H15C20 22 22 20 22 15V9C22 4 20 2 15 2H9C4 2 2 4 2 9V15C2 20 4 22 9 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n <div class=\"filter-content\" [style]=\"'overflow-y: auto'\">\n <div *ngFor=\"let data of filterArray | searchFilter : searchText\">\n <div class=\"mt-3 mb-3 checkboxdiv\" style=\"gap: 5px;\">\n <input type=\"checkbox\" [checked]=\"isSelected(data)\" [value]=\"data\" [id]=\"data\"\n (change)=\"checkedData(data)\">\n <div class=\"medium-font ms-2 label-data\">{{data}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"resize-handle\" ></div> <!--SKS15FEB25 appRowResizer -->\n </div>\n </div>\n\n <!--SKS15FEB25 Action Column -->\n <div *ngIf=\"actionButton || isDeleteRow || isEditRow\"\n class=\"table-cell head-color actionCol sticky-column\" style=\"padding: 12px !important;\">\n {{actionColumHeader}}\n </div>\n </div>\n </div>\n\n <!--SKS15FEB25 Table Body -->\n <div class=\"table-body\">\n <div *ngFor=\"let element of dataSource.data; let i = index\" class=\"table-row\" (click)=\"tableClick(element)\">\n <!--SKS15FEB25 Checkbox Cell -->\n <div *ngIf=\"withCheckBox\" class=\"table-cell sticky-column body-color\">\n <input type=\"checkbox\" class=\"custom-checkbox\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"separateRowSelect(selection.toggle(element), element)\"\n [checked]=\"selection.isSelected(element)\"\n [disabled]=\"(element.isPayProcessed === true)\">\n </div>\n\n <!--SKS15FEB25 Data Cells -->\n <div *ngFor=\"let column of displayedColumns ellipsis\" class=\"table-cell body-color\">\n <div *ngIf=\" column !== 'active'\">\n <div class=\"font-size-13 {{checkHyperlinkCheck(column) ? ' hyper-link clickable ' : ''}} ellipsis\"\n *ngIf=\"hyperLinkColumns?.includes(column)\"\n (click)=\"onClickHyperlink(column,element, checkHyperlinkCheck(column))\">\n <ng-container *ngIf=\"isDateColumn(column); else checkTime\">\n {{ element[column] | date }}\n </ng-container>\n <ng-template #checkTime>\n <ng-container *ngIf=\"isTimeColumn(column); else default\">\n {{ element[column] | time }}\n </ng-container>\n </ng-template>\n <ng-template #default>\n {{ element[column] }}\n </ng-template> \n <!--SKS15FEB25 rightnav column -->\n <ng-container *ngIf=\"objectColumns?.includes(column)\"> \n <svg class=\"ms-2\" (click)=\"onSideNavInfoClick(element, column)\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6.00033 11.8334C2.77866 11.8334 0.166992 9.22171 0.166992 6.00008C0.166992 2.77842 2.77866 0.166748 6.00033 0.166748C9.22196 0.166748 11.8337 2.77842 11.8337 6.00008C11.8337 9.22171 9.22196 11.8334 6.00033 11.8334ZM5.41699 5.41675V8.91675H6.58366V5.41675H5.41699ZM5.41699 3.08341V4.25008H6.58366V3.08341H5.41699Z\" fill=\"#434555\" fill-opacity=\"0.5\"/>\n </svg> \n </ng-container>\n </div>\n\n <div *ngIf=\"!editColumn?.includes(column)\">\n <div *ngIf=\"!checkHyperlinkCheck(column)\" class=\"font-size-13\">\n <ng-container *ngIf=\"isDateColumn(column); else checkTime\">\n {{ element[column] | date }}\n </ng-container>\n <ng-template #checkTime>\n <ng-container *ngIf=\"isTimeColumn(column); else default\">\n {{ element[column] | time }}\n </ng-container>\n </ng-template>\n <ng-template #default>\n {{ element[column] }}\n </ng-template> \n <!--SKS15FEB25 rightnav column -->\n <ng-container *ngIf=\"objectColumns?.includes(column)\"> \n <svg class=\"ms-2\" (click)=\"onSideNavInfoClick(element, column)\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6.00033 11.8334C2.77866 11.8334 0.166992 9.22171 0.166992 6.00008C0.166992 2.77842 2.77866 0.166748 6.00033 0.166748C9.22196 0.166748 11.8337 2.77842 11.8337 6.00008C11.8337 9.22171 9.22196 11.8334 6.00033 11.8334ZM5.41699 5.41675V8.91675H6.58366V5.41675H5.41699ZM5.41699 3.08341V4.25008H6.58366V3.08341H5.41699Z\" fill=\"#434555\" fill-opacity=\"0.5\"/>\n </svg> \n </ng-container> \n </div>\n </div>\n\n <!--SKS15FEB25 added input box for inline edit input-->\n <div *ngIf=\"editColumn.length > 0\">\n <div *ngIf=\" ('-' | editColumnCheck: column : editColumn) === ('string') \" class=\"on-edit d-flex\">\n <input #editColElement class=\"lop-input table-width\" [class]=\"element.editRow ? 'input-box' : '' \" [attr.placeholder]=\"element.editRow ? 'Enter' : ''\"\n [value]=\"element[column]\" [(ngModel)]=\"element[column]\" [readOnly]=\"element.editRow ? false : true\">\n </div>\n <!--SKS15FEB25 In table, like text input, added drop down and time inputs as well -->\n <div *ngIf=\" ('-' | editColumnCheck: column : editColumn) === ('object') \" class=\"on-edit d-flex\">\n <input *ngIf=\" ('-' | editColumnType: column : editColumn) === ('text') \" #editColElement class=\"lop-input table-width\" [class]=\"element.editRow ? 'input-box' : '' \" [attr.placeholder]=\"element.editRow ? 'Enter' : ''\"\n [value]=\"element[column]\" [(ngModel)]=\"element[column]\" [readOnly]=\"element.editRow ? false : true\">\n <input *ngIf=\" ('-' | editColumnType: column : editColumn) === ('time') \" type=\"time\" class=\"lop-input table-width\" [class]=\"element.editRow ? 'input-box' : '' \"\n placeholder=\"HH:mm:ss\" [(ngModel)]=\"element[column]\" [disabled]=\"element.editRow ? false : true\" />\n <div *ngIf=\" ('-' | editColumnType: column : editColumn) === ('dropdown') \">\n <select type=\"dropdown\" *ngIf=\"element.editRow\" class=\"lop-input table-width\" [class]=\"element.editRow ? 'input-box' : '' \"\n [(ngModel)]=\"element[column]\">\n <option [disabled]=\"element.editRow ? false : true\" *ngFor=\"let data of [] | editColumnDropdown: column : editColumn \" [value]=\"data.value || data.name\">{{data.name}}</option>\n </select>\n <input *ngIf=\"!element.editRow\" #editColElement class=\"lop-input table-width\" [class]=\"element.editRow ? 'input-box' : '' \" [attr.placeholder]=\"element.editRow ? 'Enter' : ''\"\n [value]=\"element[column]\" [(ngModel)]=\"element[column]\" [readOnly]=\"true\">\n </div>\n \n </div>\n </div>\n </div>\n </div>\n\n <!--SKS15FEB25 Action Buttons -->\n <div *ngIf=\"actionButton || isDeleteRow || isEditRow\" class=\"table-cell actionCol\">\n <div class=\"actionButton\" style=\"display: flex; align-items: center;\">\n\n <!--SKS15FEB25 Edit Button -->\n <div *ngIf=\"isEditRow\" class=\"eicon-container\" matTooltip=\"Edit Record\" style=\"padding: 2px; border: 1px solid #dcdcdc; border-radius: 5px; margin-left: 3px; margin-right: 3px;\">\n <div class=\" edit-icon\" style=\"padding: 2px 4px; border-radius: 5px; background-color: #f5f5f5;\">\n <svg (click)=\"onEdit(element)\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11.1067 6.07174L9.92833 4.8934L2.16667 12.6551V13.8334H3.345L11.1067 6.07174ZM12.285 4.8934L13.4633 3.71507L12.285 2.53674L11.1067 3.71507L12.285 4.8934ZM4.035 15.5001H0.5V11.9642L11.6958 0.768403C11.8521 0.612177 12.064 0.524414 12.285 0.524414C12.506 0.524414 12.7179 0.612177 12.8742 0.768403L15.2317 3.1259C15.3879 3.28218 15.4757 3.4941 15.4757 3.71507C15.4757 3.93604 15.3879 4.14796 15.2317 4.30424L4.03583 15.5001H4.035Z\" fill=\"#6C757D\"/>\n </svg>\n </div>\n </div>\n \n\n <!--SKS15FEB25 Delete Button -->\n <div *ngIf=\"isDeleteRow\" class=\"dicon-container\" matTooltip=\"Delete Record\" style=\"padding: 2px; border: 1px solid #ffb5b5; border-radius: 5px; margin-left: 3px; margin-right: 3px;\">\n <div class=\"delete-icon\" style=\"padding: 2px 4px; border-radius: 5px; background-color: #feeeed;\">\n <svg (click)=\"deleteRecord(element)\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M14 3.98726C11.78 3.76726 9.54667 3.65393 7.32 3.65393C6 3.65393 4.68 3.7206 3.36 3.85393L2 3.98726\" stroke=\"#FF2C10\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M5.6665 3.31362L5.81317 2.44028C5.91984 1.80695 5.99984 1.33362 7.1265 1.33362H8.87317C9.99984 1.33362 10.0865 1.83362 10.1865 2.44695L10.3332 3.31362\" stroke=\"#FF2C10\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12.5667 6.09375L12.1334 12.8071C12.06 13.8537 12 14.6671 10.14 14.6671H5.86002C4.00002 14.6671 3.94002 13.8537 3.86668 12.8071L3.43335 6.09375\" stroke=\"#FF2C10\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M6.88647 11.0004H9.10647\" stroke=\"#FF2C10\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M6.3335 8.33325H9.66683\" stroke=\"#FF2C10\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </div>\n \n <!--SKS15FEB25 Render inline buttons up to Size -->\n <div *ngFor=\"let button of actionButtonArray?.buttonArray; let i = index\">\n <div *ngIf=\"i < actionButtonArray?.size\" style=\" margin-left: 3px; margin-right: 3px;\">\n <div *ngIf=\"isConditionMet(element, button.conditions)\"\n [matTooltip]=button.tooltip \n (click)=\"actionButtonClicked(button)\"\n (mouseenter)=\"$event.target.style.border = '1px solid ' + button.hoverBorderColor\"\n (mouseleave)=\"$event.target.style.border = '1px solid ' + button.borderColor\"\n style=\"padding: 2px; border-radius: {{button.borderRadius}}px; border: 1px solid {{button.borderColor}};\">\n <div (mouseenter)=\"$event.target.style.backgroundColor = button.hoverBackgroundColor\"\n (mouseleave)=\"$event.target.style.backgroundColor = button.backgroundColor\"\n style=\"padding: {{button.padding}}px {{button.padding + 2}}px; border-radius: {{button.borderRadius}}px; background-color: {{button.backgroundColor}};\">\n <img #imgElement [src]=\"button.iconSrc\"\n (mouseenter)=\"imgElement.src = button.hoverIconSrc\"\n (mouseleave)=\"imgElement.src = button.iconSrc\"> \n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"dropdownActionButton.length > 0\" class=\"dropdown\">\n <div class=\"clickable-img\" (click)=\"toggleDropdown(i)\" style=\" margin-left: 3px; margin-right: 3px;\">\n <div style=\"background-color: #f5f5f5; padding: 2px 4px; border-radius: 5px;\">\n <svg style=\"background-color: #f5f5f5; border-radius: 5px; border: 1px solid #6c757d;\" width=\"16\" height=\"16\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M19.9999 25.6667C23.6818 25.6667 26.6666 22.6819 26.6666 19C26.6666 15.3181 23.6818 12.3334 19.9999 12.3334C16.318 12.3334 13.3333 15.3181 13.3333 19C13.3333 22.6819 16.318 25.6667 19.9999 25.6667Z\" fill=\"#292D32\" stroke=\"#292D32\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M17.6467 18.16L20.0001 20.5067L22.3534 18.16\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </div>\n \n <div class=\"dropdown-menu\" [style.right]=\"((actionButtonArray?.size ?? 0) - (actionButtonArray?.buttonArray?.size ?? 0) + (isEditRow ? 1 : 0) + (isDeleteRow ? 1 : 0) + (dropdownActionButton.length > 0 ? 1 : 0)) * 100 + '%'\" *ngIf=\"currentOpenIndex === i\">\n <div *ngFor=\"let btn of dropdownActionButton\"> \n <button *ngIf=\"isConditionMet(element, btn.conditions)\"\n [attr.data-id]=\"element.id\"\n style=\"display: flex;\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n\n [matTooltip]=btn.tooltip\n [disabled]=\"btn.buttonDisable\"\n (click)=\"actionButtonClicked(btn)\">\n <img [src]=\"btn.iconSrc\">\n <div class=\"fc-btn-text\" style=\"padding-left: 10px;\">{{btn.name}}</div>\n </button>\n </div>\n </div>\n </div> \n </div>\n </div>\n </div>\n </div>\n\n <!--SKS15FEB25 No Data Row -->\n <div *ngIf=\"dataSource.data.length === 0\" class=\"\">\n No records/data found.\n </div>\n </div>\n </ng-container>\n\n <ng-template #loadingTemplate>\n <!--SKS15FEB25 Skeleton Loader -->\n <div class=\"skeleton-loader\">\n <div *ngFor=\"let _ of [1,2,3,4,5]\" class=\"skeleton-row\">\n <div *ngFor=\"let _ of displayedColumns\" class=\"skeleton-cell\"></div>\n </div>\n </div>\n </ng-template>\n </div>\n <!--SKS15FEB25 Pagination -->\n <div [class.shadow-hidden]=\"isShadowHidden\">\n <!-- table input save button changes -->\n <div class=\"d-flex inlineAdd justify-content-end\">\n <div class=\"flex addIconBor cursor-pointer\" *ngIf=\"addInlineRecord \" (click)=\"addTableRecord(inlineElement)\" matTooltip=\"Add Record\">\n <div class=\"addIcon\">\n <svg class=\"nav-icon\" xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\"><path d=\"M440-280h80v-160h160v-80H520v-160h-80v160H280v80h160v160Zm40 200q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\"/></svg>\n </div>\n </div>\n <!--SKS15FEB25 removed button disable logic, added another condition for button showing-->\n <!--SKS15FEB25 SR06JAN2025 button disable logic for not select any employee-->\n <nxt-button *ngIf=\"editColumn.length > 0 || tableSaveButton\" buttonType=\"btn btn-primary\" [buttonDisable]=\"selection?.selected?.length === 0\" (buttonClickEmit)=\"saveButton()\" buttonValue=\"Save\"></nxt-button> \n </div>\n <nxt-pagination [pageSizeOptions]=\"pageSizeOptions\" [collectionSize]=\"totalCount\" [pageSize]=\"pageSize\"\n [currentPage]=\"pageIndex\" [firstLastButtons]=\"true\" (event)=\"pageParams($event)\">\n </nxt-pagination>\n </div>\n </div>\n </div>\n</div>\n\n<!--SKS15FEB25 alert on deleting record -->\n<div *ngIf=\"deleteModal\" class=\"modal modal-backdrop show d-block\" id=\"deleteRecord\" tabindex=\"-1\" aria-labelledby=\"deleteRecordLabel\" [attr.aria-hidden]=\"!deleteModal\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <b class=\"modal-title fs-5\" id=\"deleteRecordLabel\">Delete Record</b>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"deleteModal = false\"></button>\n </div>\n <div class=\"modal-body\">\n Are you sure want to delete the record ?\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-secondary\" data-bs-dismiss=\"modal\" (click)=\"deleteModal = false\">No</button>\n <button type=\"button\" class=\"btn btn-primary\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"deleteRecordData()\">Yes</button>\n </div>\n </div>\n </div>\n </div>","/*\n * Public API Surface of nxt-app\n */\n\nexport * from './lib/nxt-app.service';\nexport * from './lib/nxt-app.component';\nexport * from './lib/nxt-app.module';\nexport * from './lib/pages/questionnaire/questionnaire.component';\nexport * from './lib/pages/booklet/booklet.component';\nexport * from './lib/pages/questionbook/questionbook.component';\nexport * from './lib/pages/summary-page/summary-page.component';\nexport * from './lib/services/salesforce.service';\n// HA-11-01-2024 We need these below lines to work public\nexport * from './lib/i18n.component';\nexport * from './lib/i18n.pipe';\nexport * from './lib/pages/builder/element/element.component';\nexport * from './lib/pages/builder/menu/menu.component';\nexport * from './lib/pages/builder/properties/properties.component';\nexport * from './lib/pages/builder/form/form.component';\n// export * from './lib/style.css';\n// SKS20FEB25 nxt datatable\nexport * from './lib/components/datatable/datatable.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.I18nService","i2.ChangeService","i4","i5.I18nPipe","i1.ChangeService","i2.I18nService","i3.DataService","i5","i3","i3.SalesforceService","i4.DataService","i6","i7.GetValuePipe","i2.DataService","i3.I18nService","i1.SalesforceService","i3.ChangeService","i4.SharedService","i8","i10.I18nService","i11.CustomRichTextComponent","i12","i14.PickLocationComponent","i15.CustomInputComponent","i16.CustomTextAreaComponent","i17.CustomTableComponent","i18.CustomDatePickerComponent","i19.DropdownWithFlagComponent","i20.CustomDropdownComponent","i21.CustomLabelComponent","i22.I18nPipe","i1.DataService","i1.SharedService","i4.I18nService","i6.I18nPipe","i4.CustomDropdownComponent","i5.FileUploadComponent","i6.CustomRichTextComponent","i7","i9","i11.PickLocationComponent","i12.CustomInputComponent","i13.CustomTextAreaComponent","i14.CustomTableComponent","i15.CustomCalendarComponent","i16.CustomDatePickerComponent","i17.CustomDropdownComponent","i18.SearchBoxComponent","i19.FileUploadComponent","i20.DependentTableComponent","i22.TableAppendixComponent","i23.CustomDateComponent","i24.CustomTimeComponent","i25.CustomButtonComponent","i26.CustomModelComponent","i27.CustomImageComponent","i28.CustomRadioComponent","i29.I18nPipe","i3.StorageService","i6.ChangeService","i7.I18nService","i10.QuestionbookComponent","i4.I18nPipe","i3.FileViewComponent","uuidv4","i1.FormBuilderService","i2.FormBuilderService","i1.ElementComponent","i2.PropertiesComponent","enI18n","tamI18n","arI18n","i2"],"mappings":"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"}