tango-app-ui-analyse-trax 3.9.2 → 3.9.3

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 (470) hide show
  1. package/.eslintrc.json +37 -0
  2. package/ng-package.json +7 -0
  3. package/package.json +12 -25
  4. package/src/lib/components/action-centre/action-centre.component.html +607 -0
  5. package/src/lib/components/action-centre/action-centre.component.scss +185 -0
  6. package/src/lib/components/action-centre/action-centre.component.spec.ts +23 -0
  7. package/src/lib/components/action-centre/action-centre.component.ts +279 -0
  8. package/src/lib/components/activity-log/activity-log.component.html +84 -0
  9. package/src/lib/components/activity-log/activity-log.component.scss +33 -0
  10. package/src/lib/components/activity-log/activity-log.component.spec.ts +23 -0
  11. package/src/lib/components/activity-log/activity-log.component.ts +137 -0
  12. package/src/lib/components/activity-log-v2/activity-log-v2.component.html +189 -0
  13. package/src/lib/components/activity-log-v2/activity-log-v2.component.scss +162 -0
  14. package/src/lib/components/activity-log-v2/activity-log-v2.component.spec.ts +23 -0
  15. package/src/lib/components/activity-log-v2/activity-log-v2.component.ts +517 -0
  16. package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.html +19 -0
  17. package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.scss +148 -0
  18. package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.spec.ts +23 -0
  19. package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.ts +141 -0
  20. package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.html +42 -0
  21. package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.scss +49 -0
  22. package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.spec.ts +23 -0
  23. package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.ts +22 -0
  24. package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.html +724 -0
  25. package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.scss +217 -0
  26. package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.spec.ts +23 -0
  27. package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.ts +122 -0
  28. package/src/lib/components/add-checklist/add-checklist.component.html +1459 -0
  29. package/src/lib/components/add-checklist/add-checklist.component.scss +1205 -0
  30. package/src/lib/components/add-checklist/add-checklist.component.spec.ts +23 -0
  31. package/src/lib/components/add-checklist/add-checklist.component.ts +2460 -0
  32. package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.html +207 -0
  33. package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.scss +213 -0
  34. package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.spec.ts +23 -0
  35. package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.ts +621 -0
  36. package/src/lib/components/add-checklist/counter/counter.component.html +43 -0
  37. package/src/lib/components/add-checklist/counter/counter.component.scss +49 -0
  38. package/src/lib/components/add-checklist/counter/counter.component.spec.ts +23 -0
  39. package/src/lib/components/add-checklist/counter/counter.component.ts +123 -0
  40. package/src/lib/components/add-multitask/add-multitask.component.html +705 -0
  41. package/src/lib/components/add-multitask/add-multitask.component.scss +296 -0
  42. package/src/lib/components/add-multitask/add-multitask.component.spec.ts +23 -0
  43. package/src/lib/components/add-multitask/add-multitask.component.ts +611 -0
  44. package/src/lib/components/add-multitask/ascending-validator.ts +13 -0
  45. package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.html +197 -0
  46. package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.scss +31 -0
  47. package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.spec.ts +23 -0
  48. package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.ts +285 -0
  49. package/src/lib/components/add-multitask/create-task.data.ts +374 -0
  50. package/src/lib/components/add-multitask/create-task.interface.ts +177 -0
  51. package/src/lib/components/add-multitask/unique-string-validator.ts +13 -0
  52. package/src/lib/components/add-multitask/whitespace-validator.ts +11 -0
  53. package/src/lib/components/add-task/add-task.component.html +654 -0
  54. package/src/lib/components/add-task/add-task.component.scss +536 -0
  55. package/src/lib/components/add-task/add-task.component.spec.ts +23 -0
  56. package/src/lib/components/add-task/add-task.component.ts +569 -0
  57. package/src/lib/components/add-task/ascending-validator.ts +13 -0
  58. package/src/lib/components/add-task/create-task.data.ts +374 -0
  59. package/src/lib/components/add-task/create-task.interface.ts +192 -0
  60. package/src/lib/components/add-task/unique-string-validator.ts +13 -0
  61. package/src/lib/components/add-task/whitespace-validator.ts +11 -0
  62. package/src/lib/components/approval-popup/approval-popup.component.html +25 -0
  63. package/src/lib/components/approval-popup/approval-popup.component.scss +3 -0
  64. package/src/lib/components/approval-popup/approval-popup.component.spec.ts +23 -0
  65. package/src/lib/components/approval-popup/approval-popup.component.ts +26 -0
  66. package/src/lib/components/checklist/checklist.component.html +330 -0
  67. package/src/lib/components/checklist/checklist.component.scss +112 -0
  68. package/src/lib/components/checklist/checklist.component.spec.ts +23 -0
  69. package/src/lib/components/checklist/checklist.component.ts +344 -0
  70. package/src/lib/components/checklist-configure/assign/assign.component.html +665 -0
  71. package/src/lib/components/checklist-configure/assign/assign.component.scss +219 -0
  72. package/src/lib/components/checklist-configure/assign/assign.component.spec.ts +23 -0
  73. package/src/lib/components/checklist-configure/assign/assign.component.ts +932 -0
  74. package/src/lib/components/checklist-configure/checklist-configure.component.html +4340 -0
  75. package/src/lib/components/checklist-configure/checklist-configure.component.scss +2338 -0
  76. package/src/lib/components/checklist-configure/checklist-configure.component.spec.ts +23 -0
  77. package/src/lib/components/checklist-configure/checklist-configure.component.ts +4659 -0
  78. package/src/lib/components/checklistlayout/checklistlayout.component.html +30 -0
  79. package/src/lib/components/checklistlayout/checklistlayout.component.scss +15 -0
  80. package/src/lib/components/checklistlayout/checklistlayout.component.spec.ts +23 -0
  81. package/src/lib/components/checklistlayout/checklistlayout.component.ts +47 -0
  82. package/src/lib/components/chip-dropdown/chip-dropdown.component.html +36 -0
  83. package/src/lib/components/chip-dropdown/chip-dropdown.component.scss +97 -0
  84. package/src/lib/components/chip-dropdown/chip-dropdown.component.spec.ts +23 -0
  85. package/src/lib/components/chip-dropdown/chip-dropdown.component.ts +125 -0
  86. package/src/lib/components/create-task/create-task.component.html +2003 -0
  87. package/src/lib/components/create-task/create-task.component.scss +272 -0
  88. package/src/lib/components/create-task/create-task.component.spec.ts +23 -0
  89. package/src/lib/components/create-task/create-task.component.ts +614 -0
  90. package/src/lib/components/create-task/create-task.data.ts +372 -0
  91. package/src/lib/components/create-task/create-task.interface.ts +182 -0
  92. package/src/lib/components/create-task/validators/ascending-validator.ts +13 -0
  93. package/src/lib/components/create-task/validators/unique-string-validator.ts +13 -0
  94. package/src/lib/components/create-task/validators/whitespace-validator.ts +11 -0
  95. package/src/lib/components/custom-select/custom-select.component.html +44 -0
  96. package/src/lib/components/custom-select/custom-select.component.scss +144 -0
  97. package/src/lib/components/custom-select/custom-select.component.spec.ts +23 -0
  98. package/src/lib/components/custom-select/custom-select.component.ts +265 -0
  99. package/src/lib/components/dashboard/dashboard.component.html +1076 -0
  100. package/src/lib/components/dashboard/dashboard.component.scss +237 -0
  101. package/src/lib/components/dashboard/dashboard.component.spec.ts +23 -0
  102. package/src/lib/components/dashboard/dashboard.component.ts +539 -0
  103. package/src/lib/components/dashboard-info/dashboard-info.component.html +1420 -0
  104. package/src/lib/components/dashboard-info/dashboard-info.component.scss +409 -0
  105. package/src/lib/components/dashboard-info/dashboard-info.component.spec.ts +23 -0
  106. package/src/lib/components/dashboard-info/dashboard-info.component.ts +772 -0
  107. package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.html +110 -0
  108. package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.scss +260 -0
  109. package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.spec.ts +23 -0
  110. package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.ts +143 -0
  111. package/src/lib/components/dashboard-layout/dashboard-layout.component.html +1 -0
  112. package/src/lib/components/dashboard-layout/dashboard-layout.component.scss +0 -0
  113. package/src/lib/components/dashboard-layout/dashboard-layout.component.spec.ts +23 -0
  114. package/src/lib/components/dashboard-layout/dashboard-layout.component.ts +10 -0
  115. package/src/lib/components/disabled-select/disabled-select.component.html +44 -0
  116. package/src/lib/components/disabled-select/disabled-select.component.scss +149 -0
  117. package/src/lib/components/disabled-select/disabled-select.component.spec.ts +23 -0
  118. package/src/lib/components/disabled-select/disabled-select.component.ts +146 -0
  119. package/src/lib/components/export-gallery/export-gallery.component.html +175 -0
  120. package/src/lib/components/export-gallery/export-gallery.component.scss +200 -0
  121. package/src/lib/components/export-gallery/export-gallery.component.spec.ts +23 -0
  122. package/src/lib/components/export-gallery/export-gallery.component.ts +263 -0
  123. package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.html +36 -0
  124. package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.scss +97 -0
  125. package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.spec.ts +23 -0
  126. package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.ts +104 -0
  127. package/src/lib/components/eye-test-audit/custom-select/custom-select.component.html +44 -0
  128. package/src/lib/components/eye-test-audit/custom-select/custom-select.component.scss +144 -0
  129. package/src/lib/components/eye-test-audit/custom-select/custom-select.component.spec.ts +23 -0
  130. package/src/lib/components/eye-test-audit/custom-select/custom-select.component.ts +265 -0
  131. package/src/lib/components/eye-test-audit/eye-test/eye-test.component.html +1804 -0
  132. package/src/lib/components/eye-test-audit/eye-test/eye-test.component.scss +806 -0
  133. package/src/lib/components/eye-test-audit/eye-test/eye-test.component.spec.ts +23 -0
  134. package/src/lib/components/eye-test-audit/eye-test/eye-test.component.ts +1890 -0
  135. package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.html +25 -0
  136. package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.scss +0 -0
  137. package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.spec.ts +23 -0
  138. package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.ts +20 -0
  139. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit-routing.module.ts +26 -0
  140. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.html +1 -0
  141. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.scss +0 -0
  142. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.spec.ts +23 -0
  143. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.ts +24 -0
  144. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.module.ts +44 -0
  145. package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.html +490 -0
  146. package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.scss +721 -0
  147. package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.spec.ts +23 -0
  148. package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.ts +1017 -0
  149. package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.html +708 -0
  150. package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.scss +247 -0
  151. package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.spec.ts +23 -0
  152. package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.ts +446 -0
  153. package/src/lib/components/eye-test-audit/group-select/group-select.component.html +44 -0
  154. package/src/lib/components/eye-test-audit/group-select/group-select.component.scss +144 -0
  155. package/src/lib/components/eye-test-audit/group-select/group-select.component.spec.ts +23 -0
  156. package/src/lib/components/eye-test-audit/group-select/group-select.component.ts +147 -0
  157. package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.html +18 -0
  158. package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.scss +49 -0
  159. package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.spec.ts +23 -0
  160. package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.ts +104 -0
  161. package/src/lib/components/eye-test-audit/select-drop/select-drop.component.html +44 -0
  162. package/src/lib/components/eye-test-audit/select-drop/select-drop.component.scss +144 -0
  163. package/src/lib/components/eye-test-audit/select-drop/select-drop.component.spec.ts +23 -0
  164. package/src/lib/components/eye-test-audit/select-drop/select-drop.component.ts +152 -0
  165. package/src/lib/components/eye-test-audit/services/eye-test-audit.service.spec.ts +16 -0
  166. package/src/lib/components/eye-test-audit/services/eye-test-audit.service.ts +190 -0
  167. package/src/lib/components/flag-layout/flag-layout.component.html +1 -0
  168. package/src/lib/components/flag-layout/flag-layout.component.scss +0 -0
  169. package/src/lib/components/flag-layout/flag-layout.component.spec.ts +23 -0
  170. package/src/lib/components/flag-layout/flag-layout.component.ts +10 -0
  171. package/src/lib/components/flags/flags.component.html +473 -0
  172. package/src/lib/components/flags/flags.component.scss +86 -0
  173. package/src/lib/components/flags/flags.component.spec.ts +23 -0
  174. package/src/lib/components/flags/flags.component.ts +280 -0
  175. package/{lib/components/flags/flags.interface.d.ts → src/lib/components/flags/flags.interface.ts} +73 -65
  176. package/src/lib/components/flags-info/flags-info.component.html +6012 -0
  177. package/src/lib/components/flags-info/flags-info.component.scss +278 -0
  178. package/src/lib/components/flags-info/flags-info.component.spec.ts +23 -0
  179. package/src/lib/components/flags-info/flags-info.component.ts +490 -0
  180. package/src/lib/components/flags-info/flags-info.interface.ts +441 -0
  181. package/src/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.html +1 -0
  182. package/src/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.scss +4 -0
  183. package/src/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.ts +78 -0
  184. package/src/lib/components/flags-new/flags-new.component.html +904 -0
  185. package/src/lib/components/flags-new/flags-new.component.scss +121 -0
  186. package/src/lib/components/flags-new/flags-new.component.spec.ts +23 -0
  187. package/src/lib/components/flags-new/flags-new.component.ts +357 -0
  188. package/{lib/components/flags-new/flags-new.interface.d.ts → src/lib/components/flags-new/flags-new.interface.ts} +90 -81
  189. package/src/lib/components/gallery/gallery.component.html +3660 -0
  190. package/src/lib/components/gallery/gallery.component.scss +930 -0
  191. package/src/lib/components/gallery/gallery.component.ts +3527 -0
  192. package/src/lib/components/group-select/group-select.component.html +44 -0
  193. package/src/lib/components/group-select/group-select.component.scss +144 -0
  194. package/src/lib/components/group-select/group-select.component.spec.ts +23 -0
  195. package/src/lib/components/group-select/group-select.component.ts +145 -0
  196. package/src/lib/components/image-popup/image-popup.component.html +11 -0
  197. package/src/lib/components/image-popup/image-popup.component.scss +5 -0
  198. package/src/lib/components/image-popup/image-popup.component.ts +18 -0
  199. package/src/lib/components/lib/custom-select/custom-select.component.html +42 -0
  200. package/src/lib/components/lib/custom-select/custom-select.component.scss +131 -0
  201. package/src/lib/components/lib/custom-select/custom-select.component.spec.ts +23 -0
  202. package/src/lib/components/lib/custom-select/custom-select.component.ts +151 -0
  203. package/src/lib/components/manage-task/manage-task.component.html +265 -0
  204. package/src/lib/components/manage-task/manage-task.component.scss +69 -0
  205. package/src/lib/components/manage-task/manage-task.component.spec.ts +23 -0
  206. package/src/lib/components/manage-task/manage-task.component.ts +267 -0
  207. package/src/lib/components/managechecklist/managechecklist.component.html +176 -0
  208. package/src/lib/components/managechecklist/managechecklist.component.scss +43 -0
  209. package/src/lib/components/managechecklist/managechecklist.component.spec.ts +23 -0
  210. package/src/lib/components/managechecklist/managechecklist.component.ts +176 -0
  211. package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.html +46 -0
  212. package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.scss +181 -0
  213. package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.spec.ts +23 -0
  214. package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.ts +221 -0
  215. package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.html +36 -0
  216. package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.scss +89 -0
  217. package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.spec.ts +23 -0
  218. package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.ts +118 -0
  219. package/src/lib/components/orders/orders.component.html +203 -0
  220. package/src/lib/components/orders/orders.component.scss +180 -0
  221. package/src/lib/components/orders/orders.component.spec.ts +25 -0
  222. package/src/lib/components/orders/orders.component.ts +197 -0
  223. package/src/lib/components/pagination/pagination.component.html +28 -0
  224. package/src/lib/components/pagination/pagination.component.scss +6 -0
  225. package/src/lib/components/pagination/pagination.component.spec.ts +23 -0
  226. package/src/lib/components/pagination/pagination.component.ts +54 -0
  227. package/src/lib/components/reactive-select/reactive-select.component.html +18 -0
  228. package/src/lib/components/reactive-select/reactive-select.component.scss +48 -0
  229. package/src/lib/components/reactive-select/reactive-select.component.spec.ts +23 -0
  230. package/src/lib/components/reactive-select/reactive-select.component.ts +104 -0
  231. package/src/lib/components/reports/date-picker/date-picker.component.html +54 -0
  232. package/src/lib/components/reports/date-picker/date-picker.component.scss +156 -0
  233. package/src/lib/components/reports/date-picker/date-picker.component.spec.ts +23 -0
  234. package/src/lib/components/reports/date-picker/date-picker.component.ts +60 -0
  235. package/src/lib/components/reports/reports.component.html +225 -0
  236. package/src/lib/components/reports/reports.component.scss +69 -0
  237. package/src/lib/components/reports/reports.component.spec.ts +23 -0
  238. package/src/lib/components/reports/reports.component.ts +334 -0
  239. package/{lib/components/reports/reports.interface.d.ts → src/lib/components/reports/reports.interface.ts} +50 -46
  240. package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.html +1 -0
  241. package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.scss +15 -0
  242. package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.spec.ts +23 -0
  243. package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.ts +31 -0
  244. package/src/lib/components/task/task.component.html +322 -0
  245. package/src/lib/components/task/task.component.scss +169 -0
  246. package/src/lib/components/task/task.component.spec.ts +23 -0
  247. package/src/lib/components/task/task.component.ts +340 -0
  248. package/src/lib/components/task-configure/task-configure.component.html +737 -0
  249. package/src/lib/components/task-configure/task-configure.component.scss +569 -0
  250. package/src/lib/components/task-configure/task-configure.component.spec.ts +23 -0
  251. package/src/lib/components/task-configure/task-configure.component.ts +1603 -0
  252. package/src/lib/components/task-configure/task-configure.interface.ts +138 -0
  253. package/src/lib/components/task-info/task-info.component.html +390 -0
  254. package/src/lib/components/task-info/task-info.component.scss +56 -0
  255. package/src/lib/components/task-info/task-info.component.spec.ts +23 -0
  256. package/src/lib/components/task-info/task-info.component.ts +400 -0
  257. package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.html +141 -0
  258. package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.scss +460 -0
  259. package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.spec.ts +23 -0
  260. package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.ts +202 -0
  261. package/src/lib/components/task-layout/task-layout.component.html +1 -0
  262. package/src/lib/components/task-layout/task-layout.component.scss +0 -0
  263. package/src/lib/components/task-layout/task-layout.component.spec.ts +23 -0
  264. package/src/lib/components/task-layout/task-layout.component.ts +10 -0
  265. package/src/lib/components/task-logs/task-logs.component.html +97 -0
  266. package/src/lib/components/task-logs/task-logs.component.scss +301 -0
  267. package/src/lib/components/task-logs/task-logs.component.spec.ts +23 -0
  268. package/src/lib/components/task-logs/task-logs.component.ts +80 -0
  269. package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.html +84 -0
  270. package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.scss +229 -0
  271. package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.spec.ts +23 -0
  272. package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.ts +111 -0
  273. package/src/lib/components/trax-store/trax-store.component.html +78 -0
  274. package/src/lib/components/trax-store/trax-store.component.scss +134 -0
  275. package/src/lib/components/trax-store/trax-store.component.spec.ts +23 -0
  276. package/src/lib/components/trax-store/trax-store.component.ts +172 -0
  277. package/src/lib/components/traxpopup/traxpopup.component.html +130 -0
  278. package/src/lib/components/traxpopup/traxpopup.component.scss +225 -0
  279. package/src/lib/components/traxpopup/traxpopup.component.spec.ts +23 -0
  280. package/src/lib/components/traxpopup/traxpopup.component.ts +71 -0
  281. package/src/lib/services/trax.service.spec.ts +16 -0
  282. package/src/lib/services/trax.service.ts +789 -0
  283. package/src/lib/tango-analyse-trax-routing.module.ts +151 -0
  284. package/src/lib/tango-analyse-trax.module.ts +140 -0
  285. package/{public-api.d.ts → src/public-api.ts} +6 -2
  286. package/tsconfig.lib.json +14 -0
  287. package/tsconfig.lib.prod.json +10 -0
  288. package/tsconfig.spec.json +14 -0
  289. package/esm2022/lib/components/action-centre/action-centre.component.mjs +0 -288
  290. package/esm2022/lib/components/activity-log/activity-log.component.mjs +0 -150
  291. package/esm2022/lib/components/activity-log-v2/activity-log-v2.component.mjs +0 -502
  292. package/esm2022/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.mjs +0 -114
  293. package/esm2022/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.mjs +0 -24
  294. package/esm2022/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.mjs +0 -126
  295. package/esm2022/lib/components/add-checklist/add-checklist.component.mjs +0 -2352
  296. package/esm2022/lib/components/add-checklist/checklist-popup/checklist-popup.component.mjs +0 -612
  297. package/esm2022/lib/components/add-checklist/counter/counter.component.mjs +0 -138
  298. package/esm2022/lib/components/add-multitask/add-multitask.component.mjs +0 -604
  299. package/esm2022/lib/components/add-multitask/ascending-validator.mjs +0 -11
  300. package/esm2022/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.mjs +0 -297
  301. package/esm2022/lib/components/add-multitask/create-task.data.mjs +0 -372
  302. package/esm2022/lib/components/add-multitask/create-task.interface.mjs +0 -2
  303. package/esm2022/lib/components/add-multitask/unique-string-validator.mjs +0 -10
  304. package/esm2022/lib/components/add-multitask/whitespace-validator.mjs +0 -10
  305. package/esm2022/lib/components/add-task/add-task.component.mjs +0 -561
  306. package/esm2022/lib/components/add-task/ascending-validator.mjs +0 -11
  307. package/esm2022/lib/components/add-task/create-task.data.mjs +0 -372
  308. package/esm2022/lib/components/add-task/create-task.interface.mjs +0 -2
  309. package/esm2022/lib/components/add-task/unique-string-validator.mjs +0 -10
  310. package/esm2022/lib/components/add-task/whitespace-validator.mjs +0 -10
  311. package/esm2022/lib/components/approval-popup/approval-popup.component.mjs +0 -30
  312. package/esm2022/lib/components/checklist/checklist.component.mjs +0 -327
  313. package/esm2022/lib/components/checklist-configure/assign/assign.component.mjs +0 -912
  314. package/esm2022/lib/components/checklist-configure/checklist-configure.component.mjs +0 -4161
  315. package/esm2022/lib/components/checklistlayout/checklistlayout.component.mjs +0 -44
  316. package/esm2022/lib/components/chip-dropdown/chip-dropdown.component.mjs +0 -120
  317. package/esm2022/lib/components/create-task/create-task.component.mjs +0 -585
  318. package/esm2022/lib/components/create-task/create-task.data.mjs +0 -372
  319. package/esm2022/lib/components/create-task/create-task.interface.mjs +0 -2
  320. package/esm2022/lib/components/create-task/validators/ascending-validator.mjs +0 -11
  321. package/esm2022/lib/components/create-task/validators/unique-string-validator.mjs +0 -10
  322. package/esm2022/lib/components/create-task/validators/whitespace-validator.mjs +0 -10
  323. package/esm2022/lib/components/custom-select/custom-select.component.mjs +0 -240
  324. package/esm2022/lib/components/dashboard/dashboard.component.mjs +0 -532
  325. package/esm2022/lib/components/dashboard-info/dashboard-info.component.mjs +0 -741
  326. package/esm2022/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.mjs +0 -155
  327. package/esm2022/lib/components/dashboard-layout/dashboard-layout.component.mjs +0 -12
  328. package/esm2022/lib/components/disabled-select/disabled-select.component.mjs +0 -158
  329. package/esm2022/lib/components/export-gallery/export-gallery.component.mjs +0 -266
  330. package/esm2022/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.mjs +0 -105
  331. package/esm2022/lib/components/eye-test-audit/custom-select/custom-select.component.mjs +0 -240
  332. package/esm2022/lib/components/eye-test-audit/eye-test/eye-test.component.mjs +0 -1733
  333. package/esm2022/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.mjs +0 -24
  334. package/esm2022/lib/components/eye-test-audit/eye-test-audit/eye-test-audit-routing.module.mjs +0 -34
  335. package/esm2022/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.mjs +0 -27
  336. package/esm2022/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.module.mjs +0 -71
  337. package/esm2022/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.mjs +0 -823
  338. package/esm2022/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.mjs +0 -412
  339. package/esm2022/lib/components/eye-test-audit/group-select/group-select.component.mjs +0 -157
  340. package/esm2022/lib/components/eye-test-audit/reactive-select/reactive-select.component.mjs +0 -105
  341. package/esm2022/lib/components/eye-test-audit/select-drop/select-drop.component.mjs +0 -162
  342. package/esm2022/lib/components/eye-test-audit/services/eye-test-audit.service.mjs +0 -166
  343. package/esm2022/lib/components/flag-layout/flag-layout.component.mjs +0 -12
  344. package/esm2022/lib/components/flags/flags.component.mjs +0 -263
  345. package/esm2022/lib/components/flags/flags.interface.mjs +0 -2
  346. package/esm2022/lib/components/flags-info/flags-info.component.mjs +0 -452
  347. package/esm2022/lib/components/flags-info/flags-info.interface.mjs +0 -2
  348. package/esm2022/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.mjs +0 -71
  349. package/esm2022/lib/components/flags-new/flags-new.component.mjs +0 -335
  350. package/esm2022/lib/components/flags-new/flags-new.interface.mjs +0 -2
  351. package/esm2022/lib/components/gallery/gallery.component.mjs +0 -3402
  352. package/esm2022/lib/components/group-select/group-select.component.mjs +0 -155
  353. package/esm2022/lib/components/image-popup/image-popup.component.mjs +0 -25
  354. package/esm2022/lib/components/lib/custom-select/custom-select.component.mjs +0 -158
  355. package/esm2022/lib/components/manage-task/manage-task.component.mjs +0 -264
  356. package/esm2022/lib/components/managechecklist/managechecklist.component.mjs +0 -186
  357. package/esm2022/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.mjs +0 -229
  358. package/esm2022/lib/components/multi-date-datepicker/multi-date-datepicker.component.mjs +0 -124
  359. package/esm2022/lib/components/orders/orders.component.mjs +0 -171
  360. package/esm2022/lib/components/pagination/pagination.component.mjs +0 -62
  361. package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +0 -108
  362. package/esm2022/lib/components/reports/date-picker/date-picker.component.mjs +0 -60
  363. package/esm2022/lib/components/reports/reports.component.mjs +0 -300
  364. package/esm2022/lib/components/reports/reports.interface.mjs +0 -2
  365. package/esm2022/lib/components/tango-analyse-trax/tango-analyse-trax.component.mjs +0 -32
  366. package/esm2022/lib/components/task/task.component.mjs +0 -341
  367. package/esm2022/lib/components/task-configure/task-configure.component.mjs +0 -1532
  368. package/esm2022/lib/components/task-configure/task-configure.interface.mjs +0 -2
  369. package/esm2022/lib/components/task-info/task-info.component.mjs +0 -375
  370. package/esm2022/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.mjs +0 -208
  371. package/esm2022/lib/components/task-layout/task-layout.component.mjs +0 -12
  372. package/esm2022/lib/components/task-logs/task-logs.component.mjs +0 -104
  373. package/esm2022/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.mjs +0 -107
  374. package/esm2022/lib/components/trax-store/trax-store.component.mjs +0 -179
  375. package/esm2022/lib/components/traxpopup/traxpopup.component.mjs +0 -70
  376. package/esm2022/lib/services/trax.service.mjs +0 -559
  377. package/esm2022/lib/tango-analyse-trax-routing.module.mjs +0 -153
  378. package/esm2022/lib/tango-analyse-trax.module.mjs +0 -221
  379. package/esm2022/public-api.mjs +0 -6
  380. package/esm2022/tango-app-ui-analyse-trax.mjs +0 -5
  381. package/fesm2022/tango-app-ui-analyse-trax.mjs +0 -28896
  382. package/fesm2022/tango-app-ui-analyse-trax.mjs.map +0 -1
  383. package/index.d.ts +0 -5
  384. package/lib/components/action-centre/action-centre.component.d.ts +0 -68
  385. package/lib/components/activity-log/activity-log.component.d.ts +0 -39
  386. package/lib/components/activity-log-v2/activity-log-v2.component.d.ts +0 -78
  387. package/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.d.ts +0 -24
  388. package/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.d.ts +0 -9
  389. package/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.d.ts +0 -34
  390. package/lib/components/add-checklist/add-checklist.component.d.ts +0 -121
  391. package/lib/components/add-checklist/checklist-popup/checklist-popup.component.d.ts +0 -45
  392. package/lib/components/add-checklist/counter/counter.component.d.ts +0 -29
  393. package/lib/components/add-multitask/add-multitask.component.d.ts +0 -102
  394. package/lib/components/add-multitask/ascending-validator.d.ts +0 -2
  395. package/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.d.ts +0 -45
  396. package/lib/components/add-multitask/create-task.data.d.ts +0 -293
  397. package/lib/components/add-multitask/create-task.interface.d.ts +0 -159
  398. package/lib/components/add-multitask/unique-string-validator.d.ts +0 -2
  399. package/lib/components/add-multitask/whitespace-validator.d.ts +0 -2
  400. package/lib/components/add-task/add-task.component.d.ts +0 -89
  401. package/lib/components/add-task/ascending-validator.d.ts +0 -2
  402. package/lib/components/add-task/create-task.data.d.ts +0 -293
  403. package/lib/components/add-task/create-task.interface.d.ts +0 -161
  404. package/lib/components/add-task/unique-string-validator.d.ts +0 -2
  405. package/lib/components/add-task/whitespace-validator.d.ts +0 -2
  406. package/lib/components/approval-popup/approval-popup.component.d.ts +0 -14
  407. package/lib/components/checklist/checklist.component.d.ts +0 -40
  408. package/lib/components/checklist-configure/assign/assign.component.d.ts +0 -105
  409. package/lib/components/checklist-configure/checklist-configure.component.d.ts +0 -325
  410. package/lib/components/checklistlayout/checklistlayout.component.d.ts +0 -15
  411. package/lib/components/chip-dropdown/chip-dropdown.component.d.ts +0 -28
  412. package/lib/components/create-task/create-task.component.d.ts +0 -76
  413. package/lib/components/create-task/create-task.data.d.ts +0 -293
  414. package/lib/components/create-task/create-task.interface.d.ts +0 -163
  415. package/lib/components/create-task/validators/ascending-validator.d.ts +0 -2
  416. package/lib/components/create-task/validators/unique-string-validator.d.ts +0 -2
  417. package/lib/components/create-task/validators/whitespace-validator.d.ts +0 -2
  418. package/lib/components/custom-select/custom-select.component.d.ts +0 -35
  419. package/lib/components/dashboard/dashboard.component.d.ts +0 -80
  420. package/lib/components/dashboard-info/dashboard-info.component.d.ts +0 -117
  421. package/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.d.ts +0 -41
  422. package/lib/components/dashboard-layout/dashboard-layout.component.d.ts +0 -5
  423. package/lib/components/disabled-select/disabled-select.component.d.ts +0 -34
  424. package/lib/components/export-gallery/export-gallery.component.d.ts +0 -44
  425. package/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.d.ts +0 -26
  426. package/lib/components/eye-test-audit/custom-select/custom-select.component.d.ts +0 -35
  427. package/lib/components/eye-test-audit/eye-test/eye-test.component.d.ts +0 -218
  428. package/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.d.ts +0 -12
  429. package/lib/components/eye-test-audit/eye-test-audit/eye-test-audit-routing.module.d.ts +0 -7
  430. package/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.d.ts +0 -11
  431. package/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.module.d.ts +0 -21
  432. package/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.d.ts +0 -129
  433. package/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.d.ts +0 -86
  434. package/lib/components/eye-test-audit/group-select/group-select.component.d.ts +0 -33
  435. package/lib/components/eye-test-audit/reactive-select/reactive-select.component.d.ts +0 -32
  436. package/lib/components/eye-test-audit/select-drop/select-drop.component.d.ts +0 -33
  437. package/lib/components/eye-test-audit/services/eye-test-audit.service.d.ts +0 -47
  438. package/lib/components/flag-layout/flag-layout.component.d.ts +0 -5
  439. package/lib/components/flags/flags.component.d.ts +0 -52
  440. package/lib/components/flags-info/flags-info.component.d.ts +0 -73
  441. package/lib/components/flags-info/flags-info.interface.d.ts +0 -430
  442. package/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.d.ts +0 -13
  443. package/lib/components/flags-new/flags-new.component.d.ts +0 -60
  444. package/lib/components/gallery/gallery.component.d.ts +0 -261
  445. package/lib/components/group-select/group-select.component.d.ts +0 -33
  446. package/lib/components/image-popup/image-popup.component.d.ts +0 -11
  447. package/lib/components/lib/custom-select/custom-select.component.d.ts +0 -33
  448. package/lib/components/manage-task/manage-task.component.d.ts +0 -47
  449. package/lib/components/managechecklist/managechecklist.component.d.ts +0 -33
  450. package/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.d.ts +0 -40
  451. package/lib/components/multi-date-datepicker/multi-date-datepicker.component.d.ts +0 -27
  452. package/lib/components/orders/orders.component.d.ts +0 -38
  453. package/lib/components/pagination/pagination.component.d.ts +0 -16
  454. package/lib/components/reactive-select/reactive-select.component.d.ts +0 -32
  455. package/lib/components/reports/date-picker/date-picker.component.d.ts +0 -23
  456. package/lib/components/reports/reports.component.d.ts +0 -55
  457. package/lib/components/tango-analyse-trax/tango-analyse-trax.component.d.ts +0 -14
  458. package/lib/components/task/task.component.d.ts +0 -70
  459. package/lib/components/task-configure/task-configure.component.d.ts +0 -142
  460. package/lib/components/task-configure/task-configure.interface.d.ts +0 -128
  461. package/lib/components/task-info/task-info.component.d.ts +0 -76
  462. package/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.d.ts +0 -61
  463. package/lib/components/task-layout/task-layout.component.d.ts +0 -5
  464. package/lib/components/task-logs/task-logs.component.d.ts +0 -27
  465. package/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.d.ts +0 -26
  466. package/lib/components/trax-store/trax-store.component.d.ts +0 -45
  467. package/lib/components/traxpopup/traxpopup.component.d.ts +0 -24
  468. package/lib/services/trax.service.d.ts +0 -175
  469. package/lib/tango-analyse-trax-routing.module.d.ts +0 -7
  470. package/lib/tango-analyse-trax.module.d.ts +0 -68
@@ -0,0 +1,1459 @@
1
+ <div class="card" *ngIf="checklistLoading">
2
+ <div class="row loader d-flex justify-content-center align-items-center">
3
+ <div class="shimmer">
4
+ <div class="wrapper">
5
+ <div class="stroke animate title"></div>
6
+ <div class="stroke animate link"></div>
7
+ <div class="stroke animate description"></div>
8
+ </div>
9
+ </div>
10
+ <div class="shimmer">
11
+ <div class="wrapper">
12
+ <div class="stroke animate title"></div>
13
+ <div class="stroke animate link"></div>
14
+ <div class="stroke animate description"></div>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ <div *ngIf="!checklistLoading" id="checklistCreate">
20
+ <div class="card">
21
+ <ng-container [formGroup]="ChecklistForm">
22
+ <div class="card-header border-0 pt-3 pb-3">
23
+ <div class="row w-100">
24
+ <div class="col-md-9">
25
+ <h3 class="card-title align-items-center mt-3 mb-0">
26
+ <div routerLink="/manage/trax/checklist" class="btn btn-sm btn-outline me-5 ps-2 px-3"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
27
+ <path d="M15.8332 10.0003H4.1665M4.1665 10.0003L9.99984 15.8337M4.1665 10.0003L9.99984 4.16699" stroke="#344054" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
28
+ </svg></div>
29
+ <div class="flex-column w-800px">
30
+ <div class="editablecontent mb-4 w-100"><input type="text" class="checklist plain-input" #checklistName placeholder="Enter Checklist Name" formControlName="checklistName"></div>
31
+ <div class="editablecontent w-100"><input type="text" class="checklistDescription plain-input" #checklistDescription placeholder="Enter Checklist Description" formControlName="checklistDescription"></div>
32
+ </div>
33
+ </h3>
34
+ </div>
35
+ <div class="col-md-3">
36
+ <div class="d-flex my-6 justify-content-end">
37
+ <div class="d-flex align-items-center position-relative my-1">
38
+ <button type="button" class="btn btn-primary mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val"
39
+ *ngIf="showvalue === 'add'" (click)="saveChecklistQuestions('configure')"><span class="ms-2">Configure</span>
40
+ </button>
41
+
42
+ <button type="button" class="btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val"
43
+ *ngIf="showvalue === 'add'" (click)="saveAsDraftPop('create')"><span class="ms-2">Save as Draft</span> </button>
44
+
45
+ <button type="button" class="btn btn-primary mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val"
46
+ *ngIf="showvalue === 'edit'" (click)="updateChecklistQuestions('configure')"><span class="ms-2">Configure</span>
47
+ </button>
48
+ <button type="button" class="btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val"
49
+ *ngIf="showvalue === 'edit'" (click)="saveAsDraftPop('update')"><span class="ms-2">Save as Draft</span>
50
+ </button>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </ng-container>
57
+ </div>
58
+
59
+ <div class="row">
60
+ <div class="col-lg-3 mt-2">
61
+ <ng-container [formGroup]="ChecklistForm">
62
+ <div class="section-left card px-7 py-7">
63
+ <div class="fs-18px fw-600 text-left mb-3 concise-checklistname">
64
+ {{getFormControl('checklistName').value ? getFormControl('checklistName').value : 'ChecklistName'}}
65
+ </div>
66
+ <div class="left-panel-container" formArrayName="sections">
67
+ <div *ngFor="let section of getSectionFormArray().controls;let i=index;">
68
+ <ng-container [formGroupName]="i">
69
+ <div class="d-flex section align-items-center justify-content-between">
70
+ <div class="fs-18px fw-bold editablecontent-left">{{
71
+ getSectionFormControl(i,'name')?.value === '' ? "Section " : ''}}{{
72
+ getSectionFormControl(i,'name')?.value ? getSectionFormControl(i,'name')?.value
73
+ : getSectionFormControl(i,'sectionNumber')?.value}}</div>
74
+ <hr class="mx-2">
75
+ <svg (click)="deleteSection(i)" xmlns="http://www.w3.org/2000/svg" width="35"
76
+ height="35" viewBox="0 0 18 18" matTooltip="Delete section"
77
+ matTooltipPosition="above" matTooltipClass="custom-test" fill="none">
78
+ <path
79
+ d="M2.25 4.5H3.75M3.75 4.5H15.75M3.75 4.5V15C3.75 15.3978 3.90804 15.7794 4.18934 16.0607C4.47064 16.342 4.85218 16.5 5.25 16.5H12.75C13.1478 16.5 13.5294 16.342 13.8107 16.0607C14.092 15.7794 14.25 15.3978 14.25 15V4.5H3.75ZM6 4.5V3C6 2.60218 6.15804 2.22064 6.43934 1.93934C6.72064 1.65804 7.10218 1.5 7.5 1.5H10.5C10.8978 1.5 11.2794 1.65804 11.5607 1.93934C11.842 2.22064 12 2.60218 12 3V4.5M7.5 8.25V12.75M10.5 8.25V12.75"
80
+ stroke="#667085" stroke-width="1.4" stroke-linecap="round"
81
+ stroke-linejoin="round" />
82
+ </svg>
83
+ <svg (click)="accordian(i)" [ngClass]="{'rotate' : show !== i}"
84
+ xmlns="http://www.w3.org/2000/svg" width="35" height="35" viewBox="0 0 20 20"
85
+ fill="none">
86
+ <path d="M5 7.5L10 12.5L15 7.5" stroke="#667085" stroke-width="1.67"
87
+ stroke-linecap="round" stroke-linejoin="round" />
88
+ </svg>
89
+ </div>
90
+ <ng-container *ngIf="show===i">
91
+ <div cdkDropList (cdkDropListDropped)="dragDrop(i,$event)"
92
+ [cdkDropListData]="getFormArrayQuestions(i).controls" class="question-left">
93
+ <ng-container formArrayName="questions">
94
+ <div *ngFor="let question of getFormArrayQuestions(i).controls;let j=index;"
95
+ class="my-2 cursor-pointer"
96
+ [ngClass]="question.get('active')?.value === true ? 'active-question' : 'q-btn'"
97
+ cdkDrag (mouseenter)="setActiveQuestion(i,j,1)"
98
+ (click)="scrollToQuestion(i,j);"
99
+ (mouseleave)="setActiveQuestion(i,j,-1)">
100
+ <ng-container [formGroupName]="j">
101
+ <div class="concise-question">
102
+ {{getQuestionFormControl(i,j,'qname')?.value ? '' : "Question"}}{{ getQuestionFormControl(i,j,'qname')?.value ?
103
+ getQuestionFormControl(i,j,'qname')?.value :
104
+ getQuestionFormControl(i,j,'qno')?.value }}
105
+ </div>
106
+ </ng-container>
107
+ </div>
108
+ </ng-container>
109
+ </div>
110
+ </ng-container>
111
+ </ng-container>
112
+ </div>
113
+ </div>
114
+ </div>
115
+ </ng-container>
116
+ </div>
117
+
118
+ <div class="col-lg-9 mt-2">
119
+ <form [formGroup]="ChecklistForm" #formRef>
120
+ <div class="card px-7">
121
+ <!-- <div class="checklist-card py-5">
122
+ <input type="text" class="mt-2" style="text-transform: capitalize;"
123
+ placeholder="Enter checklist name here" formControlName="checklistName">
124
+ <input type="text" class="mt-4" placeholder="Enter checklist description here"
125
+ formControlName="checklistDescription">
126
+ </div> -->
127
+ <ng-container formArrayName="sections" >
128
+ <div class="sectionArea mt-5" *ngFor="let section of getSectionFormArray().controls;let i=index;">
129
+ <ng-container [formGroupName]="i">
130
+ <div class="section d-flex align-items-center justify-content-between">
131
+
132
+ <div class="fs-18px fw-bold editablecontent"><input type="text" class="plain-input"
133
+ #sectionName (change)="updateInputValue(i,sectionName.value)"
134
+ formControlName="name"></div>
135
+ <hr>
136
+ <svg class="ml-5" (click)="deleteSection(i)" xmlns="http://www.w3.org/2000/svg"
137
+ width="20" height="20" matTooltip="Delete section" matTooltipPosition="above"
138
+ matTooltipClass="custom-test" viewBox="0 0 18 18" fill="none">
139
+ <path
140
+ d="M2.25 4.5H3.75M3.75 4.5H15.75M3.75 4.5V15C3.75 15.3978 3.90804 15.7794 4.18934 16.0607C4.47064 16.342 4.85218 16.5 5.25 16.5H12.75C13.1478 16.5 13.5294 16.342 13.8107 16.0607C14.092 15.7794 14.25 15.3978 14.25 15V4.5H3.75ZM6 4.5V3C6 2.60218 6.15804 2.22064 6.43934 1.93934C6.72064 1.65804 7.10218 1.5 7.5 1.5H10.5C10.8978 1.5 11.2794 1.65804 11.5607 1.93934C11.842 2.22064 12 2.60218 12 3V4.5M7.5 8.25V12.75M10.5 8.25V12.75"
141
+ stroke="#667085" stroke-width="1.4" stroke-linecap="round"
142
+ stroke-linejoin="round" />
143
+ </svg>
144
+ <svg (click)="accordian(i)" [ngClass]="{'rotate' : show !== i}"
145
+ xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"
146
+ fill="none">
147
+ <path d="M5 7.5L10 12.5L15 7.5" stroke="#667085" stroke-width="1.67"
148
+ stroke-linecap="round" stroke-linejoin="round" />
149
+ </svg>
150
+ </div>
151
+ <div class="questionsArea" *ngIf="show === i">
152
+ <ng-container formArrayName="questions">
153
+ <div class="Question-sec mt-10"
154
+ *ngFor="let question of getFormArrayQuestions(i).controls;let j = index;"
155
+ (mouseenter)="setActiveQuestion(i,j,1)"
156
+ (mouseleave)="setActiveQuestion(i,j,-1)">
157
+ <ng-container [formGroupName]="j">
158
+ <span class="fs-18px px-3 editablecontent questiontitle"
159
+ style="cursor: default;"> Question {{j+1}}</span>
160
+
161
+ <div class="checklist-card pb-5">
162
+ <textarea class="form-control form-control-solid" rows="1"
163
+ type="text" class="mt-0" [id]="'q-' + i + '-' + j"
164
+ placeholder="Enter question here"
165
+ formControlName="qname"></textarea>
166
+ <ng-container
167
+ *ngIf="question.get('qname')?.invalid && question.get('qname')?.touched">
168
+ <p style="color: red;"
169
+ *ngIf="question.get('qname')?.hasError('required')">*
170
+ Question is required.</p>
171
+ </ng-container>
172
+ </div>
173
+
174
+ <div class="row"
175
+ *ngIf="!['descriptiveImage','image','multipleImage','image/video'].includes(question.get('answerType')?.value)">
176
+ <div class="col-md-4 w-90 text-center" *ngFor="let image of question.get('multiQuestionReferenceImage')?.value; let m = index" style="position: relative;">
177
+ <div *ngIf="image?.imageURL"
178
+ class="image-container ref_img_cont mb-4 mt-5">
179
+ <img src="{{environment.TraxAnswerCDN}}{{image.imageURL}}"
180
+ width="90%" height="300px" class="auto-adjust"
181
+ alt="Tango Eye" />
182
+ <div class="overlay-icons">
183
+ <span class="cursor-pointer" (click)="question.get('disableRunAI')?.value ? '' : onPopup(image.imageURL)" ngbTooltip="Expand">
184
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
185
+ <g filter="url(#filter0_d_14557_62513)">
186
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
187
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
188
+ <path d="M22.5 11.5H27.5M27.5 11.5V16.5M27.5 11.5L21.6667 17.3333M17.5 26.5H12.5M12.5 26.5V21.5M12.5 26.5L18.3333 20.6667" stroke="#344054" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
189
+ </g>
190
+ <defs>
191
+ <filter id="filter0_d_14557_62513" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
192
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
193
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
194
+ <feOffset dy="1"/>
195
+ <feGaussianBlur stdDeviation="1"/>
196
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
197
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14557_62513"/>
198
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14557_62513" result="shape"/>
199
+ </filter>
200
+ </defs>
201
+ </svg>
202
+ </span>
203
+ <input class="d-none" [id]="'fileuploadref_1'+i+j+m" type="file"
204
+ name="answerFile" accept="image/png, image/jpeg"
205
+ (click)="question.get('disableRunAI')?.value ? $event.preventDefault() : null"
206
+ (change)="question.get('disableRunAI')?.value ? '' : loadImageFromDevice(i,refImgQIdx,$event,-1,'multiQuestionReferenceImage',m)">
207
+ <label class="cursor-pointer" (click)="refImgQIdx=j;" [for]="'fileuploadref_1'+i+j+m" ngbTooltip="Reupload">
208
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
209
+ <g filter="url(#filter0_d_14557_62522)">
210
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
211
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
212
+ <path d="M27.5 21.5V24.8333C27.5 25.2754 27.3244 25.6993 27.0118 26.0118C26.6993 26.3244 26.2754 26.5 25.8333 26.5H14.1667C13.7246 26.5 13.3007 26.3244 12.9882 26.0118C12.6756 25.6993 12.5 25.2754 12.5 24.8333V21.5M24.1667 15.6667L20 11.5M20 11.5L15.8333 15.6667M20 11.5V21.5" stroke="#344054" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
213
+ </g>
214
+ <defs>
215
+ <filter id="filter0_d_14557_62522" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
216
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
217
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
218
+ <feOffset dy="1"/>
219
+ <feGaussianBlur stdDeviation="1"/>
220
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
221
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14557_62522"/>
222
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14557_62522" result="shape"/>
223
+ </filter>
224
+ </defs>
225
+ </svg>
226
+ </label>
227
+ <span class="cursor-pointer" (click)="question.get('disableRunAI')?.value ? '' : clearReferenceImage(i,j,-1,m,'multiQuestionReferenceImage');" ngbTooltip="Delete">
228
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
229
+ <g filter="url(#filter0_d_14557_62514)">
230
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
231
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
232
+ <path d="M12.5 13.9974H14.1667M14.1667 13.9974H27.5M14.1667 13.9974V25.6641C14.1667 26.1061 14.3423 26.53 14.6548 26.8426C14.9674 27.1551 15.3913 27.3307 15.8333 27.3307H24.1667C24.6087 27.3307 25.0326 27.1551 25.3452 26.8426C25.6577 26.53 25.8333 26.1061 25.8333 25.6641V13.9974H14.1667ZM16.6667 13.9974V12.3307C16.6667 11.8887 16.8423 11.4648 17.1548 11.1522C17.4674 10.8397 17.8913 10.6641 18.3333 10.6641H21.6667C22.1087 10.6641 22.5326 10.8397 22.8452 11.1522C23.1577 11.4648 23.3333 11.8887 23.3333 12.3307V13.9974M18.3333 18.1641V23.1641M21.6667 18.1641V23.1641" stroke="#344054" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
233
+ </g>
234
+ <defs>
235
+ <filter id="filter0_d_14557_62514" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
236
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
237
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
238
+ <feOffset dy="1"/>
239
+ <feGaussianBlur stdDeviation="1"/>
240
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
241
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14557_62514"/>
242
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14557_62514" result="shape"/>
243
+ </filter>
244
+ </defs>
245
+ </svg>
246
+ </span>
247
+ </div>
248
+ <!-- <div class="ref_del_icon" (click)="clearReferenceImage(i,j);">
249
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none"
250
+ xmlns="http://www.w3.org/2000/svg">
251
+ <path
252
+ d="M2.5 5.0013H4.16667M4.16667 5.0013H17.5M4.16667 5.0013V16.668C4.16667 17.11 4.34226 17.5339 4.65482 17.8465C4.96738 18.159 5.39131 18.3346 5.83333 18.3346H14.1667C14.6087 18.3346 15.0326 18.159 15.3452 17.8465C15.6577 17.5339 15.8333 17.11 15.8333 16.668V5.0013H4.16667ZM6.66667 5.0013V3.33464C6.66667 2.89261 6.84226 2.46868 7.15482 2.15612C7.46738 1.84356 7.89131 1.66797 8.33333 1.66797H11.6667C12.1087 1.66797 12.5326 1.84356 12.8452 2.15612C13.1577 2.46868 13.3333 2.89261 13.3333 3.33464V5.0013M8.33333 9.16797V14.168M11.6667 9.16797V14.168"
253
+ stroke="#B42318" stroke-width="1.67"
254
+ stroke-linecap="round" stroke-linejoin="round" />
255
+ </svg>
256
+ </div> -->
257
+ </div>
258
+
259
+ </div>
260
+ <div class="d-flex mb-3">
261
+ <!-- <div *ngIf="getAnswerFormGroup_FormControl(i,j,'multiQuestionReferenceImage')?.value"
262
+ class="col-lg-3 btn btn-light-primary mt-2">
263
+ <input class="d-none" [id]="'fileupload_'+i+j" type="file"
264
+ name="answerFile" accept="image/png, image/jpeg"
265
+ (change)="loadImageFromDevice(i,refImgQIdx,$event,-1,'multiQuestionReferenceImage')">
266
+ <label [for]="'fileupload_'+i+j" (click)="refImgQIdx=j;">
267
+ <svg xmlns="http://www.w3.org/2000/svg" class="mx-2"
268
+ width="21" height="20" viewBox="0 0 21 20"
269
+ fill="none">
270
+ <g clip-path="url(#clip0_4082_3122)">
271
+ <path
272
+ d="M19.6667 3.33527V8.33527M19.6667 8.33527H14.6667M19.6667 8.33527L15.8 4.70193C14.9044 3.80586 13.7964 3.15127 12.5793 2.79925C11.3623 2.44722 10.0759 2.40923 8.84025 2.68882C7.60456 2.96841 6.45984 3.55646 5.5129 4.39812C4.56595 5.23977 3.84765 6.30759 3.42501 7.50193M1.33334 16.6686V11.6686M1.33334 11.6686H6.33334M1.33334 11.6686L5.20001 15.3019C6.09563 16.198 7.20365 16.8526 8.42068 17.2046C9.63771 17.5567 10.9241 17.5946 12.1598 17.3151C13.3955 17.0355 14.5402 16.4474 15.4871 15.6058C16.4341 14.7641 17.1524 13.6963 17.575 12.5019"
273
+ stroke="#009BF3" stroke-width="1.67"
274
+ stroke-linecap="round"
275
+ stroke-linejoin="round" />
276
+ </g>
277
+ <defs>
278
+ <clipPath id="clip0_4082_3122">
279
+ <rect width="20" height="20" fill="white"
280
+ transform="translate(0.5)" />
281
+ </clipPath>
282
+ </defs>
283
+ </svg>Reupload Image
284
+ </label>
285
+ </div> -->
286
+ <div *ngIf="question.get('multiQuestionReferenceImage')?.value.length <5 && !question.get('disableRunAI')?.value"
287
+ class="col-lg-3 btn add-ref-btn btn-light-primary my-2">
288
+ <input class="d-none" [id]="'fileuploadQnRef1_2'+i+j" type="file"
289
+ name="file" accept="image/png, image/jpeg"
290
+ (change)="loadImageFromDevice(i,refImgQIdx,$event,-1,'multiQuestionReferenceImage')">
291
+ <label class="pointer" [for]="'fileuploadQnRef1_2'+i+j"
292
+ (click)="refImgQIdx=j;">
293
+ <svg
294
+ xmlns="http://www.w3.org/2000/svg" width="20"
295
+ height="20" viewBox="0 0 20 20" fill="none">
296
+ <path
297
+ d="M10 4.16797V15.8346M4.16669 10.0013H15.8334"
298
+ stroke="#009BF3" stroke-width="1.67"
299
+ stroke-linecap="round"
300
+ stroke-linejoin="round" />
301
+ </svg>Add Reference Image
302
+ </label>
303
+ </div>
304
+ <div *ngIf="question.get('multiQuestionReferenceImage')?.value.length >= 5 || question.get('disableRunAI')?.value"
305
+ class="col-lg-3 btn-light-disbaled btn add-ref-btn my-2 borderCard">
306
+ <label class="pointer">
307
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
308
+ <path d="M10.0013 4.16406V15.8307M4.16797 9.9974H15.8346" stroke="#6BCAFF" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
309
+ </svg> <span>Add Reference Image</span>
310
+ </label>
311
+ </div>
312
+ </div>
313
+ </div>
314
+ <div class="row">
315
+ <div class="checklist-card pb-5" [ngClass]="['image','image/video','multiplechoicesingle','yes/no','date','linearscale'].includes(question.get('answerType')?.value) ? 'col-md-8' :'col-md-12'">
316
+ <select class="mt-5" name="selectoption"
317
+ (change)="answerTypeSelection(i,j,$event)"
318
+ formControlName="answerType">
319
+ <option name="descriptive" value="descriptive">Descriptive
320
+ Answer</option>
321
+ <option name="yes/no" value="yes/no">A/B Question</option>
322
+ <option name="multiplechoicesingle"
323
+ value="multiplechoicesingle">Multiple Choice Question -
324
+ Single Answer</option>
325
+ <option name="multiplechoicemultiple"
326
+ value="multiplechoicemultiple">Multiple Choice Question -
327
+ Multiple Answer</option>
328
+ <option name="descriptiveImage" value="descriptiveImage">Capture
329
+ Image with Description</option>
330
+ <option name="image" value="image">Capture Image as answer
331
+ </option>
332
+ <option name="video" value="video">Capture video as answer
333
+ </option>
334
+ <option name="multipleImage" value="multipleImage">Capture
335
+ Multiple Image</option>
336
+ <option name="date" value="date">Date - DD/MM/YYYY</option>
337
+ <option name="linearscale" value="linearscale">Linear Scale</option>
338
+ <option name="time" value="time">Time</option>
339
+ <option name="imageVideo" value="image/video">Capture Image/Video as Answer</option>
340
+ <option name="dropdown" value="dropdown">Dropdown as an answer</option>
341
+ </select>
342
+
343
+ </div>
344
+ <div class="col-md-4" *ngIf="['image','image/video','multiplechoicesingle','yes/no','date','linearscale'].includes(question.get('answerType')?.value)">
345
+ <div class="form-check form-switch text-left align-items-center btn-sec mt-10" >
346
+ <input class="form-check-input mx-0 pointer" type="checkbox" name="toc" value="1" ngDefaultControl formControlName="compliance" (change)="getComplianceToast(i,j,$event)" [attr.disabled]="hasValidationEnabled(i,j) ? true : null">
347
+ <label class="form-check-label pointer fs-16px" for="flexSwitchCheckDefault">Configure Compliance Score</label>
348
+
349
+ </div>
350
+ </div>
351
+ </div>
352
+ <div class="col-lg-3 mx-4 d-flex mt-3" *ngIf="['descriptive'].includes(question.get('answerType')?.value)">
353
+ <div class="form-check" >
354
+ <input formControlName="descriptivetype" class="form-check-input cursor-pointer" type="radio" value="text" [name]="'descriptivetype'" [id]="'inlineRadio0'+ i + j" [attr.disabled]="question.get('disableRunAI')?.value ? true : null">
355
+ <label class="cursor-pointer dscriptiveType" [for]="'inlineRadio0'+ i + j">Text</label>
356
+ </div>
357
+ <div class="form-check ms-5">
358
+ <input formControlName="descriptivetype" class="form-check-input cursor-pointer" type="radio" value="number" [name]="'descriptivetype'" [id]="'inlineRadio1'+ i + j" [attr.disabled]="question.get('disableRunAI')?.value ? true : null">
359
+ <label class="cursor-pointer dscriptiveType" [for]="'inlineRadio1'+i + j">Number</label>
360
+ </div>
361
+ </div>
362
+ <ng-container
363
+ *ngIf="['yes/no','multiplechoicesingle','multiplechoicemultiple','dropdown'].includes(question.get('answerType')?.value)">
364
+ <div class="d-flex justify-content-between">
365
+ <div class="fs-18px fw-bolder" style="cursor: default;">Answer Options</div>
366
+ <div class="form-check form-switch text-left align-items-center btn-sec mt-2" *ngIf="question.get('answerType')?.value == 'dropdown'">
367
+ <input class="form-check-input mx-0 pointer" type="checkbox" name="toc" value="1" ngDefaultControl formControlName="allowMultiple">
368
+ <label class="form-check-label pointer fs-16px" for="flexSwitchCheckDefault">Allow Multiple Response</label>
369
+
370
+ </div>
371
+ </div>
372
+ <ng-container formArrayName="answers">
373
+ <ng-container
374
+ *ngFor="let answer of getFormArrayQuestionsAnswer(i,j,'answers')?.controls;let k = index;">
375
+ <div class="row" [formGroupName]="k">
376
+ <ng-container *ngIf="!answer.get('isdeleted')?.value">
377
+ <div class="Answer1" [ngClass]="question.get('compliance')?.value ? 'col-lg-4' : 'col-lg-6'">
378
+ <div class="checklist-card pb-0 mt-5">
379
+ <input type="text" class="mt-0"
380
+ placeholder="Enter answer here"
381
+ formControlName="answer">
382
+ <span class="vl"></span>
383
+ <ng-container
384
+ *ngIf="question.get('answerType')?.value === 'yes/no' || question.get('answerType')?.value === 'multiplechoicesingle'"
385
+ ngDefaultControl>
386
+ <span class="vl2"></span>
387
+ <svg class="imgAdd"
388
+ xmlns="http://www.w3.org/2000/svg"
389
+ width="20" height="20"
390
+ viewBox="0 0 20 20" fill="none"
391
+ (click)="question.get('disableRunAI')?.value ?'' :updateLinked(i,j,k)">
392
+ <path
393
+ d="M9.99999 4.16602V15.8327M4.16666 9.99935H15.8333"
394
+ stroke="#344054"
395
+ stroke-width="1.67"
396
+ stroke-linecap="round"
397
+ stroke-linejoin="round" />
398
+ </svg>
399
+ </ng-container>
400
+ <ng-container
401
+ *ngIf="answer.get('answer')?.invalid && answer.get('answer')?.touched">
402
+ <p style="color: red;"
403
+ *ngIf="answer.get('answer')?.hasError('required')">
404
+ * Answer is required.</p>
405
+ </ng-container>
406
+ <p style="color: red;"
407
+ *ngIf="answer.get('showSOPFlagError')?.value === true">
408
+ Every answer can’t be a flag.</p>
409
+
410
+ <ng-container formControlName="sopFlag"
411
+ ngDefaultControl>
412
+
413
+ <svg (click)="question.get('disableRunAI')?.value ?'' : raiseflag(i,j,k,true)"
414
+ matTooltip="Raise a flag if this answer is selected"
415
+ matTooltipPosition="above"
416
+ matTooltipClass="custom-test"
417
+ *ngIf="answer.get('sopFlag')?.value === false"
418
+ class="kiwi"
419
+ xmlns="http://www.w3.org/2000/svg"
420
+ width="16" height="16"
421
+ viewBox="0 0 16 16">
422
+ <path
423
+ d="M2.66669 10.0007C2.66669 10.0007 3.33335 9.33398 5.33335 9.33398C7.33335 9.33398 8.66669 10.6673 10.6667 10.6673C12.6667 10.6673 13.3334 10.0007 13.3334 10.0007V2.00065C13.3334 2.00065 12.6667 2.66732 10.6667 2.66732C8.66669 2.66732 7.33335 1.33398 5.33335 1.33398C3.33335 1.33398 2.66669 2.00065 2.66669 2.00065V10.0007ZM2.66669 10.0007V14.6673"
424
+ stroke="#D0D5DD"
425
+ stroke-width="2"
426
+ stroke-linecap="round"
427
+ stroke-linejoin="round" />
428
+ </svg>
429
+
430
+ <svg (click)="question.get('disableRunAI')?.value ?'' : raiseflag(i,j,k,false)"
431
+ matTooltip="Raise a flag if this answer is selected"
432
+ matTooltipPosition="above"
433
+ matTooltipClass="custom-test"
434
+ *ngIf="answer.get('sopFlag')?.value === true"
435
+ class="active-flag"
436
+ xmlns="http://www.w3.org/2000/svg"
437
+ width="16" height="16"
438
+ viewBox="0 0 16 16">
439
+ <path
440
+ d="M2.66669 10.0007C2.66669 10.0007 3.33335 9.33398 5.33335 9.33398C7.33335 9.33398 8.66669 10.6673 10.6667 10.6673C12.6667 10.6673 13.3334 10.0007 13.3334 10.0007V2.00065C13.3334 2.00065 12.6667 2.66732 10.6667 2.66732C8.66669 2.66732 7.33335 1.33398 5.33335 1.33398C3.33335 1.33398 2.66669 2.00065 2.66669 2.00065V10.0007ZM2.66669 10.0007V14.6673"
441
+ stroke="#D0D5DD"
442
+ stroke-width="2"
443
+ stroke-linecap="round"
444
+ stroke-linejoin="round" />
445
+ </svg>
446
+ </ng-container>
447
+ </div>
448
+ </div>
449
+ <div [ngClass]="question.get('compliance')?.value ? 'col-lg-5' : 'col-lg-6'"
450
+ *ngIf="!answer.get('showLinked')?.value">
451
+ <div class="d-flex justify-content-between">
452
+ <div class="d-flex answervalidation">
453
+ <input class="mt-7" type="checkbox"
454
+ style="width:16px;height:16px;cursor: pointer;"
455
+ value="1"
456
+ (change)="getvalidation(i,j,k,$event)"
457
+ formControlName="validation">
458
+ <div class="chackbox pt-4 mt-2 mx-2"
459
+ style="cursor: default;">
460
+ <h3>Validate response</h3>
461
+ <p class="mb-0">Trigger an action
462
+ for each response to validate it
463
+ </p>
464
+ </div>
465
+ </div>
466
+ <svg *ngIf="question.get('answerType')?.value !== 'yes/no' && getFormArrayQuestionsAnswer(i,j,'answers').value.length > 2 && !question.get('compliance')?.value"
467
+ (click)="question.get('disableRunAI')?.value ?'' :deleteAnswer(i,j,k)"
468
+ class="mt-8"
469
+ xmlns="http://www.w3.org/2000/svg"
470
+ matTooltip="Delete answer"
471
+ matTooltipPosition="above"
472
+ matTooltipClass="custom-test" width="20"
473
+ height="20" viewBox="0 0 20 20"
474
+ fill="none">
475
+ <path d="M15 5L5 15M5 5L15 15"
476
+ stroke="#667085"
477
+ stroke-width="1.66667"
478
+ stroke-linecap="round"
479
+ stroke-linejoin="round" />
480
+ </svg>
481
+ </div>
482
+
483
+ </div>
484
+ <div class="col-md-3" *ngIf="question.get('compliance')?.value">
485
+ <select class="w-150px mt-7" formControlName="complianceScore">
486
+ <option *ngFor="let value of dropdownValue" [value]="value">{{value}}</option>
487
+ </select>
488
+ <svg class="ms-3" *ngIf="question.get('answerType')?.value !== 'yes/no' && getFormArrayQuestionsAnswer(i,j,'answers').value.length > 2"
489
+ (click)="question.get('disableRunAI')?.value ?'' :deleteAnswer(i,j,k)"
490
+ class=""
491
+ xmlns="http://www.w3.org/2000/svg"
492
+ matTooltip="Delete answer"
493
+ matTooltipPosition="above"
494
+ matTooltipClass="custom-test" width="20"
495
+ height="20" viewBox="0 0 20 20"
496
+ fill="none">
497
+ <path d="M15 5L5 15M5 5L15 15"
498
+ stroke="#667085"
499
+ stroke-width="1.66667"
500
+ stroke-linecap="round"
501
+ stroke-linejoin="round" />
502
+ </svg>
503
+ </div>
504
+ <!-- *ngIf="moreqn.validation" -->
505
+ <div *ngIf="answer.get('validation')?.value"
506
+ class="row">
507
+ <div class="col-lg-3 pt-7 fs-4 fw-400 mt-1">
508
+ If the response is this, then
509
+ </div>
510
+ <div [ngClass]="answer.get('validationType')?.value === 'Capture Multiple Image with description' ? 'col-md-5' : 'col-lg-3'">
511
+ <select class="mt-5 mx-1"
512
+ formControlName="validationType"
513
+ (change)="updateValidationType($event,i,j,k)">
514
+ <option [ngValue]="'Descriptive Answer'">Descriptive Answer</option>
515
+ <option [ngValue]="'Capture Image'">Capture Image</option>
516
+ <option *ngIf="question.get('answerType')?.value === 'multiplechoicesingle'" [ngValue]="'Capture Multiple Image with description'">Capture Multiple Image with description</option>
517
+ <option [ngValue]="'Capture Video'">Capture Video</option>
518
+ </select>
519
+ </div>
520
+ <div class="col-lg-3 mx-4 d-flex pt-8" *ngIf="answer.get('validationType')?.value === 'Descriptive Answer'">
521
+ <div class="form-check">
522
+ <input formControlName="descriptivetype" class="form-check-input cursor-pointer" type="radio" [id]="'inlineRadio2' + i + j + k"
523
+ value="text" [name]="'descriptivetype'" [attr.disabled]="question.get('disableRunAI')?.value ? true : null">
524
+ <label class="cursor-pointer dscriptiveType" [for]="'inlineRadio2' + i + j + k">Text</label>
525
+ </div>
526
+ <div class="form-check ms-5">
527
+ <input formControlName="descriptivetype" class="form-check-input cursor-pointer" type="radio" [id]="'inlineRadio3'+ i + j + k"
528
+ value="number" [name]="'descriptivetype'" [attr.disabled]="question.get('disableRunAI')?.value ? true : null">
529
+ <label class="cursor-pointer dscriptiveType" [for]="'inlineRadio3' + i + j + k">Number</label>
530
+ </div>
531
+ </div>
532
+ </div>
533
+ <div class="row"
534
+ *ngIf="answer.get('showLinked')?.value">
535
+ <div class="col-lg-3 pt-7 fs-4 fw-400 mt-1">
536
+ Linked Question
537
+ </div>
538
+ <div class="col-lg-9">
539
+ <select [id]="i+'-'+k" [name]="i+'-'+k" class="mt-5" (change)="updateQuestionType(i,j,k,$event)" [disabled]="question.get('disableRunAI')?.value">
540
+ <option value="">Select Question</option>
541
+ <option *ngFor="let option of getQuestionList(i,j,k)" [value]="option"
542
+ [selected]="selectOption(option,answer.get('linkedQuestion')?.value)">Question {{option}}</option>
543
+ </select>
544
+ </div>
545
+ </div>
546
+ <div class="row"
547
+ *ngIf="answer.get('validation')?.value && (answer.get('validationType')?.value === 'Capture Image' || answer.get('validationType')?.value === 'Capture Multiple Image with description')">
548
+ <div *ngFor="let image of getAnswerFormGroup_FormControl(i,j,'multiReferenceImage',k)?.value;let n=index"
549
+ class="col-md-4 image-container ref_img_cont mb-4 mt-5">
550
+ <img src="{{environment.TraxAnswerCDN}}{{image.imageURL}}"
551
+ width="90%" height="300px"
552
+ class="auto-adju st" alt="Tango Eye" />
553
+ <div class="overlay-icons">
554
+ <span class="cursor-pointer" (click)="question.get('disableRunAI')?.value ?'' :onPopup(image.imageURL)">
555
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
556
+ <g filter="url(#filter0_d_14557_62513)">
557
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
558
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
559
+ <path d="M22.5 11.5H27.5M27.5 11.5V16.5M27.5 11.5L21.6667 17.3333M17.5 26.5H12.5M12.5 26.5V21.5M12.5 26.5L18.3333 20.6667" stroke="#344054" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
560
+ </g>
561
+ <defs>
562
+ <filter id="filter0_d_14557_62513" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
563
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
564
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
565
+ <feOffset dy="1"/>
566
+ <feGaussianBlur stdDeviation="1"/>
567
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
568
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14557_62513"/>
569
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14557_62513" result="shape"/>
570
+ </filter>
571
+ </defs>
572
+ </svg>
573
+ </span>
574
+ <span class="cursor-pointer">
575
+ <input class="d-none"
576
+ [id]="'fileupload_validref'+i+j+k+n"
577
+ type="file" name="answerFile"
578
+ accept="image/png, image/jpeg"
579
+ (click)="question.get('disableRunAI')?.value ? $event.preventDefault() : null"
580
+ (change)="question.get('disableRunAI')?.value ? '' : loadImageFromDevice(i,refImgQIdx,$event,k,'multiReferenceImage',n)">
581
+ <label [for]="'fileupload_validref'+i+j+k+n"
582
+ (click)="refImgQIdx=j;">
583
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
584
+ <g filter="url(#filter0_d_14557_62522)">
585
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
586
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
587
+ <path d="M27.5 21.5V24.8333C27.5 25.2754 27.3244 25.6993 27.0118 26.0118C26.6993 26.3244 26.2754 26.5 25.8333 26.5H14.1667C13.7246 26.5 13.3007 26.3244 12.9882 26.0118C12.6756 25.6993 12.5 25.2754 12.5 24.8333V21.5M24.1667 15.6667L20 11.5M20 11.5L15.8333 15.6667M20 11.5V21.5" stroke="#344054" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
588
+ </g>
589
+ <defs>
590
+ <filter id="filter0_d_14557_62522" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
591
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
592
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
593
+ <feOffset dy="1"/>
594
+ <feGaussianBlur stdDeviation="1"/>
595
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
596
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14557_62522"/>
597
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14557_62522" result="shape"/>
598
+ </filter>
599
+ </defs>
600
+ </svg>
601
+ </label>
602
+ </span>
603
+ <span class="cursor-pointer" (click)="question.get('disableRunAI')?.value ?'' :clearReferenceImage(i,j,k,n,'multiReferenceImage');">
604
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
605
+ <g filter="url(#filter0_d_14557_62514)">
606
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
607
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
608
+ <path d="M12.5 13.9974H14.1667M14.1667 13.9974H27.5M14.1667 13.9974V25.6641C14.1667 26.1061 14.3423 26.53 14.6548 26.8426C14.9674 27.1551 15.3913 27.3307 15.8333 27.3307H24.1667C24.6087 27.3307 25.0326 27.1551 25.3452 26.8426C25.6577 26.53 25.8333 26.1061 25.8333 25.6641V13.9974H14.1667ZM16.6667 13.9974V12.3307C16.6667 11.8887 16.8423 11.4648 17.1548 11.1522C17.4674 10.8397 17.8913 10.6641 18.3333 10.6641H21.6667C22.1087 10.6641 22.5326 10.8397 22.8452 11.1522C23.1577 11.4648 23.3333 11.8887 23.3333 12.3307V13.9974M18.3333 18.1641V23.1641M21.6667 18.1641V23.1641" stroke="#344054" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
609
+ </g>
610
+ <defs>
611
+ <filter id="filter0_d_14557_62514" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
612
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
613
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
614
+ <feOffset dy="1"/>
615
+ <feGaussianBlur stdDeviation="1"/>
616
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
617
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14557_62514"/>
618
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14557_62514" result="shape"/>
619
+ </filter>
620
+ </defs>
621
+ </svg>
622
+ </span>
623
+ </div>
624
+ <!-- <div class="ref_del_icon"
625
+ (click)="clearReferenceImage(i,j,k);">
626
+ <svg width="20" height="20"
627
+ viewBox="0 0 20 20" fill="none"
628
+ xmlns="http://www.w3.org/2000/svg">
629
+ <path
630
+ d="M2.5 5.0013H4.16667M4.16667 5.0013H17.5M4.16667 5.0013V16.668C4.16667 17.11 4.34226 17.5339 4.65482 17.8465C4.96738 18.159 5.39131 18.3346 5.83333 18.3346H14.1667C14.6087 18.3346 15.0326 18.159 15.3452 17.8465C15.6577 17.5339 15.8333 17.11 15.8333 16.668V5.0013H4.16667ZM6.66667 5.0013V3.33464C6.66667 2.89261 6.84226 2.46868 7.15482 2.15612C7.46738 1.84356 7.89131 1.66797 8.33333 1.66797H11.6667C12.1087 1.66797 12.5326 1.84356 12.8452 2.15612C13.1577 2.46868 13.3333 2.89261 13.3333 3.33464V5.0013M8.33333 9.16797V14.168M11.6667 9.16797V14.168"
631
+ stroke="#B42318"
632
+ stroke-width="1.67"
633
+ stroke-linecap="round"
634
+ stroke-linejoin="round" />
635
+ </svg>
636
+ </div> -->
637
+ </div>
638
+ <div class="d-flex mb-3">
639
+ <!-- <div *ngIf="getAnswerFormGroup_FormControl(i,j,'multiReferenceImage',k)?.value"
640
+ class="col-lg-3 btn btn-light-primary mt-2">
641
+ <input class="d-none"
642
+ [id]="'fileupload_'+i+j+k"
643
+ type="file" name="answerFile"
644
+ accept="image/png, image/jpeg"
645
+ (change)="loadImageFromDevice(i,refImgQIdx,$event,k)">
646
+ <label [for]="'fileupload_'+i+j+k"
647
+ (click)="refImgQIdx=j;">
648
+ <svg xmlns="http://www.w3.org/2000/svg"
649
+ class="mx-2" width="21"
650
+ height="20" viewBox="0 0 21 20"
651
+ fill="none">
652
+ <g
653
+ clip-path="url(#clip0_4082_3122)">
654
+ <path
655
+ d="M19.6667 3.33527V8.33527M19.6667 8.33527H14.6667M19.6667 8.33527L15.8 4.70193C14.9044 3.80586 13.7964 3.15127 12.5793 2.79925C11.3623 2.44722 10.0759 2.40923 8.84025 2.68882C7.60456 2.96841 6.45984 3.55646 5.5129 4.39812C4.56595 5.23977 3.84765 6.30759 3.42501 7.50193M1.33334 16.6686V11.6686M1.33334 11.6686H6.33334M1.33334 11.6686L5.20001 15.3019C6.09563 16.198 7.20365 16.8526 8.42068 17.2046C9.63771 17.5567 10.9241 17.5946 12.1598 17.3151C13.3955 17.0355 14.5402 16.4474 15.4871 15.6058C16.4341 14.7641 17.1524 13.6963 17.575 12.5019"
656
+ stroke="#009BF3"
657
+ stroke-width="1.67"
658
+ stroke-linecap="round"
659
+ stroke-linejoin="round" />
660
+ </g>
661
+ <defs>
662
+ <clipPath
663
+ id="clip0_4082_3122">
664
+ <rect width="20"
665
+ height="20"
666
+ fill="white"
667
+ transform="translate(0.5)" />
668
+ </clipPath>
669
+ </defs>
670
+ </svg>Reupload Image</label>
671
+ </div> -->
672
+ <div *ngIf="getAnswerFormGroup_FormControl(i,j,'multiReferenceImage',k)?.value.length >= 5 || question.get('disableRunAI')?.value"
673
+ class="col-lg-3 btn-light-disbaled btn add-ref-btn my-2 borderCard">
674
+ <label class="pointer">
675
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
676
+ <path d="M10.0013 4.16406V15.8307M4.16797 9.9974H15.8346" stroke="#6BCAFF" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
677
+ </svg> <span>Add Reference Image</span>
678
+ </label>
679
+ </div>
680
+ <div *ngIf="!question.get('disableRunAI')?.value && getAnswerFormGroup_FormControl(i,j,'multiReferenceImage',k)?.value.length < 5"
681
+ class="col-lg-3 btn add-ref-btn btn-light-primary my-2">
682
+ <input class="d-none"
683
+ [id]="'fileupload_validImage1'+i+j+k"
684
+ type="file" name="file"
685
+ accept="image/png, image/jpeg"
686
+ (change)="loadImageFromDevice(i,refImgQIdx,$event,k,'multiReferenceImage')">
687
+ <label class="pointer"
688
+ [for]="'fileupload_validImage1'+i+j+k"
689
+ (click)="refImgQIdx=j;"> <svg
690
+ xmlns="http://www.w3.org/2000/svg"
691
+ width="20" height="20"
692
+ viewBox="0 0 20 20" fill="none">
693
+ <path
694
+ d="M10 4.16797V15.8346M4.16669 10.0013H15.8334"
695
+ stroke="#009BF3"
696
+ stroke-width="1.67"
697
+ stroke-linecap="round"
698
+ stroke-linejoin="round" />
699
+ </svg>Add Reference Image </label>
700
+ </div>
701
+ <div
702
+ class="col-lg-4 form-check form-switch mx-2 btn-sec mt-6 text-left align-items-center">
703
+ <input
704
+ class="form-check-input mx-0 pointer"
705
+ type="checkbox" name="toc" value="1"
706
+ ngDefaultControl
707
+ formControlName="allowUploadfromGallery">
708
+ <label class="form-check-label pointer"
709
+ for="flexSwitchCheckDefault"></label>
710
+ Allow upload from gallery
711
+ </div>
712
+ <div class="col-lg-2"></div>
713
+ <div class="col-lg-3 d-flex justify-content-center align-items-center mt-2" *ngIf="userType && userType === 'tango'">
714
+ <h3 class="fs16-600 px-12"> Run AI ✨</h3>
715
+ <div class="form-check form-switch align-items-center btn-sec ml-5">
716
+ <!-- (click)="RunAINew(i,j,k)" -->
717
+ <input class="form-check-input pointer" type="checkbox"
718
+ formControlName="runAI" name="toc" value="1" (click)="RunAINew(i,j,k,$event)">
719
+ <label class="form-check-label"
720
+ for="flexSwitchCheckDefault"></label>
721
+ </div>
722
+ <svg [ngClass]="question.get('answerType')?.value === 'multipleImage' ? 'mt-1' : ''"
723
+ xmlns="http://www.w3.org/2000/svg" width="16"
724
+ height="16" viewBox="0 0 16 16" fill="none"
725
+ matTooltip="Enable AI where you want tango to identify, track and alert instances."
726
+ matTooltipPosition="above"
727
+ matTooltipClass="custom-test">
728
+ <g clip-path="url(#clip0_2301_100038)">
729
+ <path
730
+ d="M7.99967 10.6654V7.9987M7.99967 5.33203H8.00634M14.6663 7.9987C14.6663 11.6806 11.6816 14.6654 7.99967 14.6654C4.31778 14.6654 1.33301 11.6806 1.33301 7.9987C1.33301 4.3168 4.31778 1.33203 7.99967 1.33203C11.6816 1.33203 14.6663 4.3168 14.6663 7.9987Z"
731
+ stroke="#98A2B3" stroke-width="2"
732
+ stroke-linecap="round"
733
+ stroke-linejoin="round" />
734
+ </g>
735
+ <defs>
736
+ <clipPath id="clip0_2301_100038">
737
+ <rect width="16" height="16" fill="white" />
738
+ </clipPath>
739
+ </defs>
740
+ </svg>
741
+ </div>
742
+ </div>
743
+ </div>
744
+ </ng-container>
745
+ </div>
746
+ </ng-container>
747
+ <div *ngIf="question.get('answers')?.hasError('duplicateString')" class="text-danger mt-2">* Same answer cannot be
748
+ repeated</div>
749
+ <ng-container class="row"
750
+ *ngIf="['multiplechoicemultiple','multiplechoicesingle','dropdown'].includes(question.get('answerType')?.value) && allowAddAnswer(question.get('answers')?.value) && !question.get('disableRunAI')?.value">
751
+ <div (click)="AddMoreAns(i,j,question.get('answerType')?.value)"
752
+ class="btn col-lg-12 btn-light-primary my-3">
753
+ Add More Answer</div>
754
+ </ng-container>
755
+
756
+ </ng-container>
757
+ </ng-container>
758
+
759
+ <!-- Image -->
760
+ <ng-container
761
+ *ngIf="['image','descriptiveImage','multipleImage'].includes(question.get('answerType')?.value)"
762
+ class="row">
763
+ <ng-container formGroupName="answers">
764
+ <div *ngFor="let image of getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value;let n=index"
765
+ class="col-md-4 image-container ref_img_cont ref_img_cont mb-4">
766
+ <img src="{{environment.TraxAnswerCDN}}{{image.imageURL}}"
767
+ width="90%" height="300px" class="auto-adjust"
768
+ alt="Tango Eye" />
769
+ <div class="overlay-icons">
770
+ <span class="cursor-pointer" (click)="onPopup(image.imageURL)">
771
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
772
+ <g filter="url(#filter0_d_14557_62513)">
773
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
774
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
775
+ <path d="M22.5 11.5H27.5M27.5 11.5V16.5M27.5 11.5L21.6667 17.3333M17.5 26.5H12.5M12.5 26.5V21.5M12.5 26.5L18.3333 20.6667" stroke="#344054" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
776
+ </g>
777
+ <defs>
778
+ <filter id="filter0_d_14557_62513" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
779
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
780
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
781
+ <feOffset dy="1"/>
782
+ <feGaussianBlur stdDeviation="1"/>
783
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
784
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14557_62513"/>
785
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14557_62513" result="shape"/>
786
+ </filter>
787
+ </defs>
788
+ </svg>
789
+ </span>
790
+ <span class="cursor-pointer">
791
+ <input class="d-none" [id]="'fileuploadImage_45'+n" type="file"
792
+ name="file" accept="image/png, image/jpeg"
793
+ (click)="question.get('disableRunAI')?.value ? $event.preventDefault() : null"
794
+ (change)="question.get('disableRunAI')?.value ? '' : loadImageFromDevice(i,refImgQIdx,$event,-1,'multiReferenceImage',n)">
795
+ <label [for]="'fileuploadImage_45'+n" (click)="refImgQIdx=j;">
796
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
797
+ <g filter="url(#filter0_d_14557_62522)">
798
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
799
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
800
+ <path d="M27.5 21.5V24.8333C27.5 25.2754 27.3244 25.6993 27.0118 26.0118C26.6993 26.3244 26.2754 26.5 25.8333 26.5H14.1667C13.7246 26.5 13.3007 26.3244 12.9882 26.0118C12.6756 25.6993 12.5 25.2754 12.5 24.8333V21.5M24.1667 15.6667L20 11.5M20 11.5L15.8333 15.6667M20 11.5V21.5" stroke="#344054" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
801
+ </g>
802
+ <defs>
803
+ <filter id="filter0_d_14557_62522" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
804
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
805
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
806
+ <feOffset dy="1"/>
807
+ <feGaussianBlur stdDeviation="1"/>
808
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
809
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14557_62522"/>
810
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14557_62522" result="shape"/>
811
+ </filter>
812
+ </defs>
813
+ </svg>
814
+ </label>
815
+ </span>
816
+ <span class="cursor-pointer" (click)="question.get('disableRunAI')?.value ? '': clearReferenceImage(i,j,-1,n,'multiReferenceImage');">
817
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
818
+ <g filter="url(#filter0_d_14557_62514)">
819
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
820
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
821
+ <path d="M12.5 13.9974H14.1667M14.1667 13.9974H27.5M14.1667 13.9974V25.6641C14.1667 26.1061 14.3423 26.53 14.6548 26.8426C14.9674 27.1551 15.3913 27.3307 15.8333 27.3307H24.1667C24.6087 27.3307 25.0326 27.1551 25.3452 26.8426C25.6577 26.53 25.8333 26.1061 25.8333 25.6641V13.9974H14.1667ZM16.6667 13.9974V12.3307C16.6667 11.8887 16.8423 11.4648 17.1548 11.1522C17.4674 10.8397 17.8913 10.6641 18.3333 10.6641H21.6667C22.1087 10.6641 22.5326 10.8397 22.8452 11.1522C23.1577 11.4648 23.3333 11.8887 23.3333 12.3307V13.9974M18.3333 18.1641V23.1641M21.6667 18.1641V23.1641" stroke="#344054" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
822
+ </g>
823
+ <defs>
824
+ <filter id="filter0_d_14557_62514" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
825
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
826
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
827
+ <feOffset dy="1"/>
828
+ <feGaussianBlur stdDeviation="1"/>
829
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
830
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14557_62514"/>
831
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14557_62514" result="shape"/>
832
+ </filter>
833
+ </defs>
834
+ </svg>
835
+ </span>
836
+ </div>
837
+ <!-- <div class="ref_del_icon"
838
+ (click)="(question.get('answerType')?.value === 'image' && question.get('runAIDefault')?.value) ? '': clearReferenceImage(i,j);">
839
+ <svg width="20" height="20" viewBox="0 0 20 20"
840
+ fill="none" xmlns="http://www.w3.org/2000/svg" [style]="(question.get('answerType')?.value === 'image' && question.get('runAIDefault')?.value) ? 'cursor:default':''">
841
+ <path
842
+ d="M2.5 5.0013H4.16667M4.16667 5.0013H17.5M4.16667 5.0013V16.668C4.16667 17.11 4.34226 17.5339 4.65482 17.8465C4.96738 18.159 5.39131 18.3346 5.83333 18.3346H14.1667C14.6087 18.3346 15.0326 18.159 15.3452 17.8465C15.6577 17.5339 15.8333 17.11 15.8333 16.668V5.0013H4.16667ZM6.66667 5.0013V3.33464C6.66667 2.89261 6.84226 2.46868 7.15482 2.15612C7.46738 1.84356 7.89131 1.66797 8.33333 1.66797H11.6667C12.1087 1.66797 12.5326 1.84356 12.8452 2.15612C13.1577 2.46868 13.3333 2.89261 13.3333 3.33464V5.0013M8.33333 9.16797V14.168M11.6667 9.16797V14.168"
843
+ stroke="#B42318" stroke-width="1.67"
844
+ stroke-linecap="round"
845
+ stroke-linejoin="round" />
846
+ </svg>
847
+ </div> -->
848
+ </div>
849
+ <div class="d-flex mb-3">
850
+ <!-- <div *ngIf="getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value"
851
+ class="col-lg-3 btn btn-light-primary mt-2">
852
+ <input class="d-none" id="fileupload" type="file"
853
+ name="file" accept="image/png, image/jpeg"
854
+ (change)="loadImageFromDevice(i,refImgQIdx,$event)" *ngIf="(question.get('answerType')?.value !== 'image' || (question.get('answerType')?.value === 'image' && !question.get('runAIDefault')?.value))">
855
+ <label for="fileupload" (click)="refImgQIdx=j;">
856
+ <svg xmlns="http://www.w3.org/2000/svg" class="mx-2"
857
+ width="21" height="20" viewBox="0 0 21 20"
858
+ fill="none">
859
+ <g clip-path="url(#clip0_4082_3122)">
860
+ <path
861
+ d="M19.6667 3.33527V8.33527M19.6667 8.33527H14.6667M19.6667 8.33527L15.8 4.70193C14.9044 3.80586 13.7964 3.15127 12.5793 2.79925C11.3623 2.44722 10.0759 2.40923 8.84025 2.68882C7.60456 2.96841 6.45984 3.55646 5.5129 4.39812C4.56595 5.23977 3.84765 6.30759 3.42501 7.50193M1.33334 16.6686V11.6686M1.33334 11.6686H6.33334M1.33334 11.6686L5.20001 15.3019C6.09563 16.198 7.20365 16.8526 8.42068 17.2046C9.63771 17.5567 10.9241 17.5946 12.1598 17.3151C13.3955 17.0355 14.5402 16.4474 15.4871 15.6058C16.4341 14.7641 17.1524 13.6963 17.575 12.5019"
862
+ stroke="#009BF3" stroke-width="1.67"
863
+ stroke-linecap="round"
864
+ stroke-linejoin="round" />
865
+ </g>
866
+ <defs>
867
+ <clipPath id="clip0_4082_3122">
868
+ <rect width="20" height="20"
869
+ fill="white"
870
+ transform="translate(0.5)" />
871
+ </clipPath>
872
+ </defs>
873
+ </svg>Reupload Image</label>
874
+ </div> -->
875
+ <div *ngIf="!question.get('disableRunAI')?.value && getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value.length < 5 && !question.get('disableRunAI')?.value"
876
+ class="col-lg-3 btn add-ref-btn btn-light-primary my-2">
877
+ <input class="d-none" id="fileuploadrefImage1" type="file"
878
+ name="file" accept="image/png, image/jpeg"
879
+ (change)="loadImageFromDevice(i,refImgQIdx,$event,-1,'multiReferenceImage')" *ngIf="(question.get('answerType')?.value !== 'image' || (question.get('answerType')?.value === 'image' && !question.get('runAIDefault')?.value))">
880
+ <label class="pointer" for="fileuploadrefImage1"
881
+ (click)="refImgQIdx=j;"> <svg
882
+ xmlns="http://www.w3.org/2000/svg" width="20"
883
+ height="20" viewBox="0 0 20 20" fill="none">
884
+ <path
885
+ d="M10 4.16797V15.8346M4.16669 10.0013H15.8334"
886
+ stroke="#009BF3" stroke-width="1.67"
887
+ stroke-linecap="round"
888
+ stroke-linejoin="round" />
889
+ </svg>Add Reference Image </label>
890
+ </div>
891
+ <div *ngIf="getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value.length >= 5 || question.get('disableRunAI')?.value"
892
+ class="col-lg-3 btn-light-disbaled btn add-ref-btn my-2 borderCard">
893
+ <label class="pointer">
894
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
895
+ <path d="M10.0013 4.16406V15.8307M4.16797 9.9974H15.8346" stroke="#6BCAFF" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
896
+ </svg> <span>Add Reference Image</span>
897
+ </label>
898
+ </div>
899
+ <div
900
+ class="col-lg-4 form-check form-switch mx-2 btn-sec mt-6 text-left align-items-center">
901
+ <input class="form-check-input mx-0 pointer"
902
+ type="checkbox" name="toc" value="1"
903
+ ngDefaultControl
904
+ formControlName="allowUploadfromGallery">
905
+ <label class="form-check-label pointer"
906
+ for="flexSwitchCheckDefault"></label>
907
+ Allow upload from gallery
908
+ </div>
909
+ <div
910
+ [ngClass]="(['multipleImage'].includes(question.get('answerType')?.value) && getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value === '') ? 'col-lg-4 mt-6' : ['image','descriptiveImage'].includes(question.get('answerType')?.value) ? 'col-lg-2' : ''">
911
+ <div class="d-flex" *ngIf="(['multipleImage'].includes(question.get('answerType')?.value) && getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value === '')">
912
+ <div class="form-check">
913
+ <input formControlName="descriptivetype" class="form-check-input cursor-pointer" type="radio" [id]="'inlineRadio4' + i + j"
914
+ value="text" [name]="'descriptivetype'" [attr.disabled]="question.get('disableRunAI')?.value ? true : null">
915
+ <label class="cursor-pointer dscriptiveType" [for]="'inlineRadio4' + i + j">Text</label>
916
+ </div>
917
+ <div class="form-check ms-5">
918
+ <input formControlName="descriptivetype" class="form-check-input cursor-pointer" type="radio" [id]="'inlineRadio5' + i + j"
919
+ value="number" [name]="'descriptivetype'" [attr.disabled]="question.get('disableRunAI')?.value ? true : null">
920
+ <label class="cursor-pointer dscriptiveType" [for]="'inlineRadio5' + i + j">Number</label>
921
+ </div>
922
+ </div>
923
+ </div>
924
+ <div *ngIf="getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value && ['image','multipleImage','descriptiveImage'].includes(question.get('answerType')?.value)"
925
+ [ngClass]="question.get('answerType')?.value === 'multipleImage' ? 'col-lg-5 d-flex mt-6' : 'col-lg-3 d-flex justify-content-center align-items-center mt-2'">
926
+ <div class="d-flex" *ngIf="question.get('answerType')?.value === 'multipleImage'">
927
+ <div class="form-check">
928
+ <input formControlName="descriptivetype" class="form-check-input cursor-pointer" type="radio" [id]="'inlineRadio6' + i + j"
929
+ value="text" [name]="'descriptivetype'" [attr.disabled]="question.get('disableRunAI')?.value ? true : null">
930
+ <label class="cursor-pointer dscriptiveType" [for]="'inlineRadio6' + i + j">Text</label>
931
+ </div>
932
+ <div class="form-check ms-5">
933
+ <input formControlName="descriptivetype" class="form-check-input cursor-pointer" type="radio" [id]="'inlineRadio6' + i + j"
934
+ value="number" [name]="'descriptivetype'" [attr.disabled]="question.get('disableRunAI')?.value ? true : null">
935
+ <label class="cursor-pointer dscriptiveType" [for]="'inlineRadio6' + i + j">Number</label>
936
+ </div>
937
+ </div>
938
+ <div class="d-flex" *ngIf="userType && userType === 'tango'">
939
+ <h3 class="fs16-600 px-12"> Run AI ✨</h3>
940
+ <div class="form-check form-switch align-items-center btn-sec ml-5">
941
+ <!-- (click)="RunAINew(i,j)" -->
942
+ <input class="form-check-input pointer" type="checkbox"
943
+ formControlName="runAI" name="toc" value="1" (click)="RunAINew(i,j,-1,$event)">
944
+ <label class="form-check-label"
945
+ for="flexSwitchCheckDefault"></label>
946
+ </div>
947
+ <svg [ngClass]="question.get('answerType')?.value === 'multipleImage' ? 'mt-1' : ''"
948
+ xmlns="http://www.w3.org/2000/svg" width="16"
949
+ height="16" viewBox="0 0 16 16" fill="none"
950
+ matTooltip="Enable AI where you want tango to identify, track and alert instances."
951
+ matTooltipPosition="above"
952
+ matTooltipClass="custom-test">
953
+ <g clip-path="url(#clip0_2301_100038)">
954
+ <path
955
+ d="M7.99967 10.6654V7.9987M7.99967 5.33203H8.00634M14.6663 7.9987C14.6663 11.6806 11.6816 14.6654 7.99967 14.6654C4.31778 14.6654 1.33301 11.6806 1.33301 7.9987C1.33301 4.3168 4.31778 1.33203 7.99967 1.33203C11.6816 1.33203 14.6663 4.3168 14.6663 7.9987Z"
956
+ stroke="#98A2B3" stroke-width="2"
957
+ stroke-linecap="round"
958
+ stroke-linejoin="round" />
959
+ </g>
960
+ <defs>
961
+ <clipPath id="clip0_2301_100038">
962
+ <rect width="16" height="16" fill="white" />
963
+ </clipPath>
964
+ </defs>
965
+ </svg>
966
+ </div>
967
+ </div>
968
+ </div>
969
+ </ng-container>
970
+ </ng-container>
971
+ <ng-container *ngIf="['image'].includes(question.get('answerType')?.value) && question.get('compliance')?.value">
972
+ <div formGroupName="answers">
973
+ <div class="row mt-3 dropText" >
974
+ <div class="mt-3 col-md-6">
975
+ If the response image is matched, then the score will be
976
+ </div>
977
+ <div class="col-md-3">
978
+ <select class="w-150px ms-10" formControlName="matchedCount">
979
+ <option *ngFor="let value of dropdownValue" [value]="value">{{value}}</option>
980
+ </select>
981
+ </div>
982
+ </div>
983
+ <div class="row mt-3 dropText" >
984
+ <div class="mt-3 col-md-6">
985
+ If the response image is not matched, then the score will be
986
+ </div>
987
+ <div class="col-md-3">
988
+ <select class="w-150px ms-10" formControlName="notMatchedCount">
989
+ <option *ngFor="let value of dropdownValue" [value]="value">{{value}}</option>
990
+ </select>
991
+ </div>
992
+ </div>
993
+ </div>
994
+ </ng-container>
995
+
996
+ <!-- Video -->
997
+ <ng-container *ngIf="question.get('answerType')?.value === 'video'"
998
+ class="row">
999
+ <ng-container formGroupName="answers">
1000
+ <div
1001
+ class=" col-lg-4 form-check form-switch text-left align-items-center btn-sec mt-2">
1002
+ <input class="form-check-input mx-0 pointer" type="checkbox"
1003
+ name="toc" value="1" ngDefaultControl
1004
+ formControlName="allowUploadfromGallery">
1005
+ <label class="form-check-label pointer"
1006
+ for="flexSwitchCheckDefault">Allow upload from gallery</label>
1007
+
1008
+ </div>
1009
+ </ng-container>
1010
+ </ng-container>
1011
+
1012
+ <!-- <ng-container *ngIf="question.get('answerType')?.value === 'time'" class="row">
1013
+ <ng-container formGroupName="answers">
1014
+ <div class=" col-lg-4 btn-sec mt-2">
1015
+ <input class="form-control form-control-solid flatpickr-input w-200px" type="time" name="time" ngDefaultControl formControlName="answer">
1016
+ </div>
1017
+ </ng-container>
1018
+ </ng-container> -->
1019
+
1020
+ <ng-container *ngIf="question.get('answerType')?.value === 'linearscale'">
1021
+ <ng-container formGroupName="answers">
1022
+ <div class="row">
1023
+ <div class="col-md-4">
1024
+ <div class="dropText">
1025
+ Select Type
1026
+ </div>
1027
+ <div class="mt-2">
1028
+ <select class="" formControlName="linearType" (change)="updateNumber($event,i,j)">
1029
+ <option value="degree">Degree °C</option>
1030
+ <option value="number">Whole Number</option>
1031
+ <option value="percentage">Percentage</option>
1032
+ </select>
1033
+ </div>
1034
+ </div>
1035
+ <div class="col-md-4">
1036
+ <div class="dropText">
1037
+ Min Value
1038
+ </div>
1039
+ <div class="mt-2">
1040
+ <lib-counter style="width: 40%" formControlName="rangeStart" [step]="1" placeholder="0" [type]="getAnswerFormGroup_FormControl(i,j,'linearType')?.value"></lib-counter>
1041
+ </div>
1042
+ </div>
1043
+ <div class="col-md-4">
1044
+ <div class="dropText">
1045
+ Max Value
1046
+ </div>
1047
+ <div class="mt-2">
1048
+ <lib-counter style="width: 40%" formControlName="rangeEnd" [step]="1" placeholder="0" [type]="getAnswerFormGroup_FormControl(i,j,'linearType')?.value"></lib-counter>
1049
+ </div>
1050
+ </div>
1051
+ </div>
1052
+ <ng-container *ngIf="question.get('answers')?.invalid && question.get('answers')?.touched">
1053
+ <div *ngIf="question.get('answers')?.hasError('invalidRange')" class="text-danger mt-2">* Min value must be less than max value.</div>
1054
+ </ng-container>
1055
+ <div *ngIf="question.get('compliance')?.value">
1056
+ <div class="row mt-5" >
1057
+ <div class="col-md-8">
1058
+ <div class="d-flex align-items-center flex-nowrap">
1059
+ <span class="dropText me-2">If the response is between</span>
1060
+ <div class="btn-sec me-2">
1061
+ <input class="form-control form-control-solid flatpickr-input w-100px" [attr.type]="getAnswerFormGroup_FormControl(i,j,'linearType')?.value === 'degree' ? 'text' : 'number'" [attr.inputmode]="getAnswerFormGroup_FormControl(i,j,'linearType')?.value === 'degree' ? 'text' : 'numeric'" name="start" ngDefaultControl formControlName="minValue" [min]="question.get('answers')?.get('rangeStart')?.value" [max]="question.get('answers')?.get('rangeEnd')?.value" (input)="onRangeValueInput($event, i, j, 'minValue')" (blur)="clampRangeInput(i, j, 'minValue')" />
1062
+ </div>
1063
+ <span class="btn-sec me-2 align-self-center">to</span>
1064
+ <div class="btn-sec me-2">
1065
+ <input class="form-control form-control-solid flatpickr-input w-100px" [attr.type]="getAnswerFormGroup_FormControl(i,j,'linearType')?.value === 'degree' ? 'text' : 'number'" [attr.inputmode]="getAnswerFormGroup_FormControl(i,j,'linearType')?.value === 'degree' ? 'text' : 'numeric'" name="start" ngDefaultControl formControlName="maxValue" [min]="question.get('answers')?.get('rangeStart')?.value" [max]="question.get('answers')?.get('rangeEnd')?.value" (input)="onRangeValueInput($event, i, j, 'maxValue')" (blur)="clampRangeInput(i, j, 'maxValue')">
1066
+ </div>
1067
+ <span class="dropText ms-1">, then the score will be</span>
1068
+ </div>
1069
+ </div>
1070
+ <div class="col-md-4 text-end">
1071
+ <select class="w-150px ms-14" formControlName="matchedCount">
1072
+ <option *ngFor="let value of dropdownValue" [value]="value">{{value}}</option>
1073
+ </select>
1074
+ </div>
1075
+ </div>
1076
+ <div class="row mt-3">
1077
+ <div class="dropText mt-5 col-md-8">
1078
+ If the response is other than the selected range, then the score will be
1079
+ </div>
1080
+ <div class="col-md-4 text-end">
1081
+ <select class="w-150px ms-14" formControlName="notMatchedCount">
1082
+ <option *ngFor="let value of dropdownValue" [value]="value">{{value}}</option>
1083
+ </select>
1084
+ </div>
1085
+ </div>
1086
+ </div>
1087
+ </ng-container>
1088
+ </ng-container>
1089
+
1090
+ <ng-container *ngIf="question.get('answerType')?.value === 'date'">
1091
+ <ng-container formGroupName="answers">
1092
+ <div class="d-flex answervalidation">
1093
+ <input class="" type="checkbox"
1094
+ style="width:16px;height:16px;cursor: pointer;"
1095
+ value="1"
1096
+ formControlName="historicDate">
1097
+ <div class="checkbox mt-1 mx-2"
1098
+ style="cursor: default;">
1099
+ <h3>Allow Historic Dates on Date Picker</h3>
1100
+ </div>
1101
+ </div>
1102
+ <div *ngIf="question.get('compliance')?.value">
1103
+ <div class="d-flex mt-5">
1104
+ <div class="rangeText">Select Range from</div>
1105
+ <div class="col-md-3 px-4 pe-3" id="dateclass"
1106
+ data-kt-daterangepicker="true" data-kt-daterangepicker-opens="left">
1107
+ <div class="d-flex align-items-center position-relative my-1">
1108
+ <span class="svg-icon svg-icon-1 position-absolute ms-3">
1109
+ <svg xmlns="http://www.w3.org/2000/svg" width="20"
1110
+ height="20" viewBox="0 0 20 20" fill="none">
1111
+ <path
1112
+ d="M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z"
1113
+ stroke="#344054" stroke-width="1.67"
1114
+ stroke-linecap="round" stroke-linejoin="round" />
1115
+ </svg>
1116
+ </span>
1117
+ <input class="fx-date-range form-control ps-14" type="text"
1118
+ matInput ngxDaterangepickerMd [singleDatePicker]="true"
1119
+ [drops]="'down'" [opens]="'right'"
1120
+ [alwaysShowCalendars]="false"
1121
+ [keepCalendarOpeningWithRange]="true" [showCancel]="true"
1122
+ autocomplete="off"
1123
+ [autoApply]="true"
1124
+ [locale]="{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }"
1125
+ (datesUpdated)="dateRange($event,'start',i,j)" name="daterange"
1126
+ [readonly]="true" formControlName="qnStartDate" [showDropdowns]="true"/>
1127
+ </div>
1128
+ </div>
1129
+ <div class="rangeText">To</div>
1130
+ <div class="col-md-3 px-4 pe-3" id="dateclass"
1131
+ data-kt-daterangepicker="true" data-kt-daterangepicker-opens="left">
1132
+ <div class="d-flex align-items-center position-relative my-1">
1133
+ <span class="svg-icon svg-icon-1 position-absolute ms-3">
1134
+ <svg xmlns="http://www.w3.org/2000/svg" width="20"
1135
+ height="20" viewBox="0 0 20 20" fill="none">
1136
+ <path
1137
+ d="M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z"
1138
+ stroke="#344054" stroke-width="1.67"
1139
+ stroke-linecap="round" stroke-linejoin="round" />
1140
+ </svg>
1141
+ </span>
1142
+ <input class="fx-date-range form-control ps-14" type="text"
1143
+ matInput ngxDaterangepickerMd [singleDatePicker]="true"
1144
+ [drops]="'down'" [opens]="'right'"
1145
+ [alwaysShowCalendars]="false"
1146
+ [keepCalendarOpeningWithRange]="true" [showCancel]="true"
1147
+ autocomplete="off"
1148
+ [autoApply]="true"
1149
+ [locale]="{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }"
1150
+ (datesUpdated)="dateRange($event,'end',i,j)" name="daterange"
1151
+ [readonly]="true" formControlName="qnEndDate" [showDropdowns]="true"/>
1152
+ </div>
1153
+ </div>
1154
+ </div>
1155
+ <div class="d-flex mt-5 dropText" >
1156
+ <div class="mt-3">
1157
+ If the response date is between the selected range, then the score will be
1158
+ </div>
1159
+ <div>
1160
+ <select class="w-150px ms-14" formControlName="matchedCount">
1161
+ <option *ngFor="let value of dropdownValue" [value]="value">{{value}}</option>
1162
+ </select>
1163
+ </div>
1164
+ </div>
1165
+ <div class="d-flex mt-3 dropText" >
1166
+ <div class="mt-3">
1167
+ If the response date is other than the selected range, then the score will be
1168
+ </div>
1169
+ <div>
1170
+ <select class="w-150px ms-10" formControlName="notMatchedCount">
1171
+ <option *ngFor="let value of dropdownValue" [value]="value">{{value}}</option>
1172
+ </select>
1173
+ </div>
1174
+ </div>
1175
+ </div>
1176
+ </ng-container>
1177
+ </ng-container>
1178
+
1179
+ <ng-container *ngIf="question.get('answerType')?.value === 'image/video'"
1180
+ class="row">
1181
+ <ng-container formGroupName="answers">
1182
+ <div *ngFor="let image of getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value;let n=index"
1183
+ class="col-md-4 image-container ref_img_cont ref_img_cont mb-4">
1184
+ <img src="{{environment.TraxAnswerCDN}}{{image.imageURL}}"
1185
+ width="90%" height="300px" class="auto-adjust"
1186
+ alt="Tango Eye" />
1187
+ <div class="overlay-icons">
1188
+ <span class="cursor-pointer" (click)="onPopup(image.imageURL)">
1189
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
1190
+ <g filter="url(#filter0_d_iv_zoom)">
1191
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
1192
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
1193
+ <path d="M22.5 11.5H27.5M27.5 11.5V16.5M27.5 11.5L21.6667 17.3333M17.5 26.5H12.5M12.5 26.5V21.5M12.5 26.5L18.3333 20.6667" stroke="#344054" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
1194
+ </g>
1195
+ <defs>
1196
+ <filter id="filter0_d_iv_zoom" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
1197
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
1198
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
1199
+ <feOffset dy="1"/>
1200
+ <feGaussianBlur stdDeviation="1"/>
1201
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
1202
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_iv_zoom"/>
1203
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_iv_zoom" result="shape"/>
1204
+ </filter>
1205
+ </defs>
1206
+ </svg>
1207
+ </span>
1208
+ <span class="cursor-pointer">
1209
+ <input class="d-none" [id]="'fileuploadIV_'+i+j+n" type="file"
1210
+ name="file" accept="image/png, image/jpeg"
1211
+ (click)="question.get('disableRunAI')?.value ? $event.preventDefault() : null"
1212
+ (change)="question.get('disableRunAI')?.value ? '' : loadImageFromDevice(i,refImgQIdx,$event,-1,'multiReferenceImage',n)">
1213
+ <label [for]="'fileuploadIV_'+i+j+n" (click)="refImgQIdx=j;">
1214
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
1215
+ <g filter="url(#filter0_d_iv_upload)">
1216
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
1217
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
1218
+ <path d="M27.5 21.5V24.8333C27.5 25.2754 27.3244 25.6993 27.0118 26.0118C26.6993 26.3244 26.2754 26.5 25.8333 26.5H14.1667C13.7246 26.5 13.3007 26.3244 12.9882 26.0118C12.6756 25.6993 12.5 25.2754 12.5 24.8333V21.5M24.1667 15.6667L20 11.5M20 11.5L15.8333 15.6667M20 11.5V21.5" stroke="#344054" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
1219
+ </g>
1220
+ <defs>
1221
+ <filter id="filter0_d_iv_upload" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
1222
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
1223
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
1224
+ <feOffset dy="1"/>
1225
+ <feGaussianBlur stdDeviation="1"/>
1226
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
1227
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_iv_upload"/>
1228
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_iv_upload" result="shape"/>
1229
+ </filter>
1230
+ </defs>
1231
+ </svg>
1232
+ </label>
1233
+ </span>
1234
+ <span class="cursor-pointer" (click)="question.get('disableRunAI')?.value ? '' : clearReferenceImage(i,j,-1,n,'multiReferenceImage');">
1235
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
1236
+ <g filter="url(#filter0_d_iv_del)">
1237
+ <rect x="2" y="1" width="36" height="36" rx="8" fill="white"/>
1238
+ <rect x="2.5" y="1.5" width="35" height="35" rx="7.5" stroke="#D0D5DD"/>
1239
+ <path d="M12.5 13.9974H14.1667M14.1667 13.9974H27.5M14.1667 13.9974V25.6641C14.1667 26.1061 14.3423 26.53 14.6548 26.8426C14.9674 27.1551 15.3913 27.3307 15.8333 27.3307H24.1667C24.6087 27.3307 25.0326 27.1551 25.3452 26.8426C25.6577 26.53 25.8333 26.1061 25.8333 25.6641V13.9974H14.1667ZM16.6667 13.9974V12.3307C16.6667 11.8887 16.8423 11.4648 17.1548 11.1522C17.4674 10.8397 17.8913 10.6641 18.3333 10.6641H21.6667C22.1087 10.6641 22.5326 10.8397 22.8452 11.1522C23.1577 11.4648 23.3333 11.8887 23.3333 12.3307V13.9974M18.3333 18.1641V23.1641M21.6667 18.1641V23.1641" stroke="#344054" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
1240
+ </g>
1241
+ <defs>
1242
+ <filter id="filter0_d_iv_del" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
1243
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
1244
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
1245
+ <feOffset dy="1"/>
1246
+ <feGaussianBlur stdDeviation="1"/>
1247
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0"/>
1248
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_iv_del"/>
1249
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_iv_del" result="shape"/>
1250
+ </filter>
1251
+ </defs>
1252
+ </svg>
1253
+ </span>
1254
+ </div>
1255
+ </div>
1256
+ <div class="d-flex mb-3">
1257
+ <div *ngIf="!question.get('disableRunAI')?.value && getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value.length < 5 && !question.get('disableRunAI')?.value"
1258
+ class="col-lg-3 btn add-ref-btn btn-light-primary my-2">
1259
+ <input class="d-none" [id]="'fileuploadrefImageIV'+i+j" type="file"
1260
+ name="file" accept="image/png, image/jpeg"
1261
+ (change)="loadImageFromDevice(i,refImgQIdx,$event,-1,'multiReferenceImage')">
1262
+ <label class="pointer" [for]="'fileuploadrefImageIV'+i+j" (click)="refImgQIdx=j;">
1263
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
1264
+ <path d="M10 4.16797V15.8346M4.16669 10.0013H15.8334" stroke="#009BF3" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
1265
+ </svg>Add Reference Image </label>
1266
+ </div>
1267
+ <div *ngIf="getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value.length >= 5 || question.get('disableRunAI')?.value"
1268
+ class="col-lg-3 btn-light-disbaled btn add-ref-btn my-2 borderCard">
1269
+ <label class="pointer">
1270
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
1271
+ <path d="M10.0013 4.16406V15.8307M4.16797 9.9974H15.8346" stroke="#6BCAFF" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"/>
1272
+ </svg> <span>Add Reference Image</span>
1273
+ </label>
1274
+ </div>
1275
+ <div class="col-lg-4 form-check form-switch mx-2 btn-sec mt-6 text-left align-items-center">
1276
+ <input class="form-check-input mx-0 pointer" type="checkbox" name="toc" value="1"
1277
+ ngDefaultControl formControlName="allowUploadfromGallery">
1278
+ <label class="form-check-label pointer" for="flexSwitchCheckDefault"></label>
1279
+ Allow upload from gallery
1280
+ </div>
1281
+ <div class="col-lg-2"></div>
1282
+ <div *ngIf="getAnswerFormGroup_FormControl(i,j,'multiReferenceImage')?.value && question.get('answerType')?.value === 'image/video'"
1283
+ [ngClass]="'col-lg-3 d-flex justify-content-center align-items-center mt-2'">
1284
+ <div class="d-flex" *ngIf="userType && userType === 'tango'">
1285
+ <h3 class="fs16-600 px-12"> Run AI ✨</h3>
1286
+ <div class="form-check form-switch align-items-center btn-sec ml-5">
1287
+ <!-- (click)="RunAINew(i,j)" -->
1288
+ <input class="form-check-input pointer" type="checkbox"
1289
+ formControlName="runAI" name="toc" value="1" (click)="RunAINew(i,j,-1,$event)">
1290
+ <label class="form-check-label"
1291
+ for="flexSwitchCheckDefault"></label>
1292
+ </div>
1293
+ <svg xmlns="http://www.w3.org/2000/svg" width="16"
1294
+ height="16" viewBox="0 0 16 16" fill="none"
1295
+ matTooltip="Enable AI where you want tango to identify, track and alert instances."
1296
+ matTooltipPosition="above"
1297
+ matTooltipClass="custom-test">
1298
+ <g clip-path="url(#clip0_iv_runai_info)">
1299
+ <path
1300
+ d="M7.99967 10.6654V7.9987M7.99967 5.33203H8.00634M14.6663 7.9987C14.6663 11.6806 11.6816 14.6654 7.99967 14.6654C4.31778 14.6654 1.33301 11.6806 1.33301 7.9987C1.33301 4.3168 4.31778 1.33203 7.99967 1.33203C11.6816 1.33203 14.6663 4.3168 14.6663 7.9987Z"
1301
+ stroke="#98A2B3" stroke-width="2"
1302
+ stroke-linecap="round"
1303
+ stroke-linejoin="round" />
1304
+ </g>
1305
+ <defs>
1306
+ <clipPath id="clip0_iv_runai_info">
1307
+ <rect width="16" height="16" fill="white" />
1308
+ </clipPath>
1309
+ </defs>
1310
+ </svg>
1311
+ </div>
1312
+ </div>
1313
+ </div>
1314
+ <ng-container *ngIf="question.get('compliance')?.value">
1315
+ <span class="limitComplianceText">Compliance score is applicable only for image outputs, not for video.</span>
1316
+ <div class="row mt-3 dropText">
1317
+ <div class="mt-3 col-md-6">
1318
+ If the response image is matched, then the score will be
1319
+ </div>
1320
+ <div class="col-md-3">
1321
+ <select class="w-150px ms-10" formControlName="matchedCount">
1322
+ <option *ngFor="let value of dropdownValue" [value]="value">{{value}}</option>
1323
+ </select>
1324
+ </div>
1325
+ </div>
1326
+ <div class="row mt-3 dropText">
1327
+ <div class="mt-3 col-md-6">
1328
+ If the response image is not matched, then the score will be
1329
+ </div>
1330
+ <div class="col-md-3">
1331
+ <select class="w-150px ms-10" formControlName="notMatchedCount">
1332
+ <option *ngFor="let value of dropdownValue" [value]="value">{{value}}</option>
1333
+ </select>
1334
+ </div>
1335
+ </div>
1336
+ </ng-container>
1337
+ <div
1338
+ class=" col-lg-4 form-check form-switch text-left align-items-center btn-sec mt-5" *ngIf="userType && userType === 'tango'">
1339
+ <input class="form-check-input mx-0 pointer" type="checkbox"
1340
+ name="toc" value="1" ngDefaultControl
1341
+ formControlName="limit" (change)="updateLimit($event,i,j)">
1342
+ <label class="form-check-label pointer"
1343
+ for="flexSwitchCheckDefault">Set Limits </label>
1344
+ <svg ngbTooltip="Uploads are allowed as per the configured image/video limits" width="16" height="16" viewBox="0 0 16 16" fill="none" matTooltip="Enable AI where you want tango to identify, track and alert instances." matTooltipPosition="above" matTooltipClass="custom-test" ng-reflect-ng-class=""><g clip-path="url(#clip0_2301_100038)"><path d="M7.99967 10.6654V7.9987M7.99967 5.33203H8.00634M14.6663 7.9987C14.6663 11.6806 11.6816 14.6654 7.99967 14.6654C4.31778 14.6654 1.33301 11.6806 1.33301 7.9987C1.33301 4.3168 4.31778 1.33203 7.99967 1.33203C11.6816 1.33203 14.6663 4.3168 14.6663 7.9987Z" stroke="#98A2B3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g><defs><clipPath id="clip0_2301_100038"><rect width="16" height="16" fill="white"></rect></clipPath></defs></svg>
1345
+
1346
+ </div>
1347
+ <div
1348
+ class=" col-lg-12 form-check form-switch text-left align-items-center btn-sec mt-5" *ngIf="getAnswerFormGroup_FormControl(i,j,'limit')?.value">
1349
+ <div class="d-flex">
1350
+ <div class="me-3 mt-3">Attach</div>
1351
+ <div class="w-70px me-3">
1352
+ <select formControlName="imageLimit">
1353
+ <option value="1">1</option>
1354
+ <option value="2">2</option>
1355
+ <option value="3">3</option>
1356
+ <option value="4">4</option>
1357
+ <option value="5">5</option>
1358
+ </select>
1359
+ </div>
1360
+ <div class="me-3 mt-3">images and</div>
1361
+ <div class="w-70px me-3">
1362
+ <select formControlName="videoLimit" placeholder="-">
1363
+ <option value="1">1</option>
1364
+ <option value="2">2</option>
1365
+ <option value="3">3</option>
1366
+ <option value="4">4</option>
1367
+ <option value="5">5</option>
1368
+ </select>
1369
+ </div>
1370
+ <div class="me-3 mt-3">
1371
+ Videos.
1372
+ </div>
1373
+ </div>
1374
+ </div>
1375
+ <div class="limitTooltipText mt-3" *ngIf="getAnswerFormGroup_FormControl(i,j,'limit')?.value && (getAnswerFormGroup_FormControl(i,j,'imageLimit')?.value || getAnswerFormGroup_FormControl(i,j,'videoLimit')?.value)">
1376
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" matTooltip="Enable AI where you want tango to identify, track and alert instances." matTooltipPosition="above" matTooltipClass="custom-test" ng-reflect-ng-class=""><g clip-path="url(#clip0_2301_100038)"><path d="M7.99967 10.6654V7.9987M7.99967 5.33203H8.00634M14.6663 7.9987C14.6663 11.6806 11.6816 14.6654 7.99967 14.6654C4.31778 14.6654 1.33301 11.6806 1.33301 7.9987C1.33301 4.3168 4.31778 1.33203 7.99967 1.33203C11.6816 1.33203 14.6663 4.3168 14.6663 7.9987Z" stroke="#98A2B3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g><defs><clipPath id="clip0_2301_100038"><rect width="16" height="16" fill="white"></rect></clipPath></defs></svg>
1377
+ Checklist fillers must capture/upload {{ getAnswerFormGroup_FormControl(i,j,'imageLimit')?.value ? getAnswerFormGroup_FormControl(i,j,'imageLimit')?.value + ' image' + (getAnswerFormGroup_FormControl(i,j,'imageLimit')?.value > 1 ? 's' : '') : '' }} {{ getAnswerFormGroup_FormControl(i,j,'videoLimit')?.value ? ' and ' + getAnswerFormGroup_FormControl(i,j,'videoLimit')?.value + ' video' + (getAnswerFormGroup_FormControl(i,j,'videoLimit')?.value > 1 ? 's' : '') : '' }}
1378
+ </div>
1379
+ </ng-container>
1380
+ </ng-container>
1381
+
1382
+ <div class="d-flex justify-content-end py-2">
1383
+ <div class="pt-1" >
1384
+ <svg (click)="question.get('disableRunAI')?.value ? '' : cloneQuestion(i,j)"
1385
+ xmlns="http://www.w3.org/2000/svg" width="20" height="20"
1386
+ matTooltip="Duplicate" matTooltipPosition="above"
1387
+ matTooltipClass="custom-test" viewBox="0 0 20 20"
1388
+ fill="none">
1389
+ <g clip-path="url(#clip0_3385_10578)">
1390
+ <path
1391
+ d="M4.16663 12.4993H3.33329C2.89127 12.4993 2.46734 12.3238 2.15478 12.0112C1.84222 11.6986 1.66663 11.2747 1.66663 10.8327V3.33268C1.66663 2.89065 1.84222 2.46673 2.15478 2.15417C2.46734 1.84161 2.89127 1.66602 3.33329 1.66602H10.8333C11.2753 1.66602 11.6992 1.84161 12.0118 2.15417C12.3244 2.46673 12.5 2.89065 12.5 3.33268V4.16602M9.16663 7.49935H16.6666C17.5871 7.49935 18.3333 8.24554 18.3333 9.16602V16.666C18.3333 17.5865 17.5871 18.3327 16.6666 18.3327H9.16663C8.24615 18.3327 7.49996 17.5865 7.49996 16.666V9.16602C7.49996 8.24554 8.24615 7.49935 9.16663 7.49935Z"
1392
+ [attr.stroke]="question.get('disableRunAI')?.value ? '#D0D5DD' : '#667085'" stroke-width="1.66667"
1393
+ stroke-linecap="round" stroke-linejoin="round" />
1394
+ </g>
1395
+ <defs>
1396
+ <clipPath id="clip0_3385_10578">
1397
+ <rect width="20" height="20" fill="white" />
1398
+ </clipPath>
1399
+ </defs>
1400
+ </svg>
1401
+ <svg (click)="question.get('disableRunAI')?.value ? '' : deleteQuestion(i,j)"
1402
+ style="margin-left: 24px !important;"
1403
+ xmlns="http://www.w3.org/2000/svg" width="20" height="20"
1404
+ matTooltip="Delete question" matTooltipPosition="above"
1405
+ matTooltipClass="custom-test" viewBox="0 0 20 20"
1406
+ fill="none" [ngbTooltip]="question.get('disableRunAI')?.value ? 'The delete option is disabled as the runAI is enabled' : ''">
1407
+ <path
1408
+ d="M2.5 4.99935H4.16667M4.16667 4.99935H17.5M4.16667 4.99935V16.666C4.16667 17.108 4.34226 17.532 4.65482 17.8445C4.96738 18.1571 5.39131 18.3327 5.83333 18.3327H14.1667C14.6087 18.3327 15.0326 18.1571 15.3452 17.8445C15.6577 17.532 15.8333 17.108 15.8333 16.666V4.99935H4.16667ZM6.66667 4.99935V3.33268C6.66667 2.89065 6.84226 2.46673 7.15482 2.15417C7.46738 1.84161 7.89131 1.66602 8.33333 1.66602H11.6667C12.1087 1.66602 12.5326 1.84161 12.8452 2.15417C13.1577 2.46673 13.3333 2.89065 13.3333 3.33268V4.99935M8.33333 9.16602V14.166M11.6667 9.16602V14.166"
1409
+ [attr.stroke]="question.get('disableRunAI')?.value ? '#D0D5DD' : '#667085'" stroke-width="1.66667"
1410
+ stroke-linecap="round" stroke-linejoin="round" />
1411
+ </svg>
1412
+ </div>
1413
+ </div>
1414
+ </ng-container>
1415
+ </div>
1416
+ </ng-container>
1417
+ </div>
1418
+ </ng-container>
1419
+ </div>
1420
+ </ng-container>
1421
+ <div>
1422
+ <div class="row mx-0">
1423
+ <div class="col-lg-4 px-0" *ngIf="ChecklistForm.get('sections')">
1424
+ <div class="checklist-card py-7 text-center">
1425
+ <div (click)="bulkUploadQuestion()" class="mt-2 btn-sec pointer">
1426
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"
1427
+ viewBox="0 0 20 20" fill="none">
1428
+ <path d="M9.99999 4.16602V15.8327M4.16666 9.99935H15.8333" stroke="#344054"
1429
+ stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round" />
1430
+ </svg>Bulk Upload Questions</div>
1431
+ </div>
1432
+ </div>
1433
+ <div class="col-lg-4 pl-5" *ngIf="ChecklistForm.get('sections')">
1434
+ <div class="checklist-card py-7 text-center">
1435
+ <div (click)="addNewQuestion(sectionIndex)" class="mt-2 btn-sec pointer">
1436
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"
1437
+ viewBox="0 0 20 20" fill="none">
1438
+ <path d="M9.99999 4.16602V15.8327M4.16666 9.99935H15.8333" stroke="#344054"
1439
+ stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round" />
1440
+ </svg> Add New Question</div>
1441
+ </div>
1442
+ </div>
1443
+ <div class="col-lg-4 pl-5">
1444
+ <div class="checklist-card py-7 text-center">
1445
+ <div (click)="addNewSection()" class="mt-2 px-0 btn-sec pointer"> <svg
1446
+ xmlns="http://www.w3.org/2000/svg" width="20" height="20"
1447
+ viewBox="0 0 20 20" fill="none">
1448
+ <path d="M9.99999 4.16602V15.8327M4.16666 9.99935H15.8333" stroke="#344054"
1449
+ stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round" />
1450
+ </svg> Add New Section</div>
1451
+ </div>
1452
+ </div>
1453
+ </div>
1454
+ </div>
1455
+ </div>
1456
+ </form>
1457
+ </div>
1458
+ </div>
1459
+ </div>