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,1076 @@
1
+ <div class="daterange my-4 d-flex justify-content-between W-100">
2
+ <span class="mt-3">Last refreshed at {{reloadDate}}</span>
3
+ <div class="nav-group nav-group-outline border-1 btn-group p-0">
4
+ <button class="btn btn-outline"
5
+ [ngClass]="{
6
+ 'activePlanBtn': type === 'Checklist',
7
+ 'inactivePlanBtn': type !== 'Checklist',
8
+ }"
9
+ (click)="selectPlan('Checklist')"
10
+ [routerLink]="'/manage/trax/dashboard'"
11
+ >
12
+ Checklist
13
+ </button>
14
+ <button class="btn btn-outline px-6 py-3"
15
+ [ngClass]="{
16
+ 'activePlanBtn': type === 'Task',
17
+ 'inactivePlanBtn': type !== 'Task',
18
+ }"
19
+ (click)="selectPlan('Task')"
20
+ [routerLink]="'/manage/trax/dashboard/task'"
21
+
22
+ >
23
+ Task
24
+ </button>
25
+ </div>
26
+ </div>
27
+
28
+ <div class="col-md-12">
29
+ <div class="row d-flex justify-content-between align-items-stretch">
30
+ <div class="col-2 px-2">
31
+ <div class="card card-border pt-2 h-100">
32
+ <div class="card-header ellipse1 border-0 px-3">
33
+ <h3 class="card-title align-items-start flex-column">
34
+ <span class="cardcount">
35
+ {{ overallCardsData.activeUnique !==null ? overallCardsData?.activeUnique?.toLocaleString('en-US', {
36
+ minimumFractionDigits: 0 }) : '--' }}
37
+ </span>
38
+ <span class="cardtext">Active Checklists</span>
39
+ </h3>
40
+ </div>
41
+ <div class="card-body p-0">
42
+ <div class="h-100-auto py-3 px-3">
43
+ <div class="cardsubcount my-2">
44
+ {{ overallCardsData.totalInstances?.count !==null ?
45
+ overallCardsData.totalInstances?.count?.toLocaleString('en-US', { minimumFractionDigits: 0 })
46
+ : '--' }}
47
+ </div>
48
+ <div class="cardtext">Checklist Instances</div>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+
54
+ <div class="col-5 px-2">
55
+ <div class="card card-border pt-2 h-100">
56
+ <div class="card-header ellipse1 border-0 px-3">
57
+ <h3 class="card-title align-items-start flex-column">
58
+ <span class="cardcount">
59
+ {{ overallCardsData.notSubmittedInstances?.count !==null ?
60
+ overallCardsData.notSubmittedInstances?.count?.toLocaleString('en-US', {
61
+ minimumFractionDigits: 0 }) : '--' }}
62
+ </span>
63
+ <span class="cardtext">Not Submitted Checklists</span>
64
+ </h3>
65
+ </div>
66
+ <div class="card-body p-0">
67
+ <div class="row h-100-auto py-3 px-3">
68
+ <div class="col-md-6">
69
+ <div class="cardsubcount my-2">
70
+ {{ overallCardsData.notSubmittedInstances?.open !==null ?
71
+ overallCardsData?.notSubmittedInstances.open?.toLocaleString('en-US', {
72
+ minimumFractionDigits: 0 }) : '--' }}
73
+ </div>
74
+ <div class="cardtext">Open Checklists</div>
75
+ </div>
76
+ <div class="col-md-6">
77
+ <div class="cardsubcount my-2">
78
+ {{ overallCardsData.notSubmittedInstances?.inprogress !==null ?
79
+ overallCardsData.notSubmittedInstances?.inprogress?.toLocaleString('en-US', {
80
+ minimumFractionDigits: 0 }) : '--' }}
81
+ </div>
82
+ <div class="cardtext">In Progress Checklists</div>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </div>
87
+ </div>
88
+
89
+ <div class="col-5 px-2">
90
+ <div class="card card-border pt-2 h-100-auto">
91
+ <div class="card-header ellipse1 border-0 px-3">
92
+ <h3 class="card-title align-items-start flex-column">
93
+ <span class="cardcount">
94
+ {{ overallCardsData.completedInstances?.count !==null ?
95
+ overallCardsData.completedInstances?.count?.toLocaleString('en-US', { minimumFractionDigits: 0
96
+ }) : '--' }}
97
+ </span>
98
+ <span class="cardtext">Submitted Checklists</span>
99
+ </h3>
100
+ </div>
101
+ <div class="card-body p-0">
102
+ <div class="row h-100-auto py-3 px-3">
103
+ <div class="col-md-11">
104
+ <div class="row">
105
+ <div class="col-md-4">
106
+ <div class="cardsubcount my-2">
107
+ {{ overallCardsData.completionScore?.count !==null ?
108
+ overallCardsData.completionScore?.count?.toLocaleString('en-US', { minimumFractionDigits:
109
+ 0 }) :
110
+ '--' }}%
111
+ </div>
112
+ <div class="cardtext">Completion Score</div>
113
+ <div class="mt-2">
114
+ <span *ngIf="overallComparisonData?.completionScore?.comparisonData">
115
+ <span class="mt-2"
116
+ *ngIf="overallComparisonData?.completionScore?.ComparisonFlag; else showArrow2">
117
+ <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12"
118
+ viewBox="0 0 12 12" fill="none" class="ng-star-inserted">
119
+ <g clip-path="url(#clip0_3216_118)">
120
+ <path d="M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6"
121
+ stroke="#039855" stroke-width="1.5" stroke-linecap="round"
122
+ stroke-linejoin="round"></path>
123
+ </g>
124
+ <defs>
125
+ <clipPath id="clip0_3216_118">
126
+ <rect width="12" height="12" fill="white"></rect>
127
+ </clipPath>
128
+ </defs>
129
+ </svg>
130
+ </span>
131
+ <ng-template #showArrow2>
132
+ <span class="arrow2">
133
+ <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"
134
+ viewBox="0 0 18 18" fill="none" class="ng-star-inserted">
135
+ <g clip-path="url(#clip0_2328_4654)">
136
+ <path d="M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6"
137
+ stroke="#D92D20" stroke-width="1.5" stroke-linecap="round"
138
+ stroke-linejoin="round"></path>
139
+ </g>
140
+ <defs>
141
+ <clipPath id="clip0_2328_4654">
142
+ <rect width="12" height="12" fill="white"></rect>
143
+ </clipPath>
144
+ </defs>
145
+ </svg>
146
+ </span>
147
+ </ng-template>
148
+ </span>
149
+ <span class="mt-2 ms-2"><span class="percent-value">{{
150
+ overallComparisonData?.completionScore?.comparisonData !==null ?
151
+ overallComparisonData?.completionScore?.comparisonData?.toLocaleString('en-US', {
152
+ minimumFractionDigits: 0 }) :
153
+ '--'}}%</span><span
154
+ class="week-font"> vs last <span *ngIf="dateType ==='daily'">day</span><span *ngIf="dateType ==='weekly'">week</span> <span *ngIf="dateType ==='monthly'">month</span></span></span>
155
+ </div>
156
+ </div>
157
+ <div class="col-md-4">
158
+ <div class="cardsubcount my-2">
159
+ {{ overallCardsData.complianceRate?.count !==null ?
160
+ overallCardsData.complianceRate.count?.toLocaleString('en-US', { minimumFractionDigits: 0
161
+ }) :
162
+ '--' }}%
163
+ </div>
164
+ <div class="cardtext">Compliance Score</div>
165
+ <div class="mt-2">
166
+ <span *ngIf=" overallComparisonData?.complianceRate?.comparisonData">
167
+ <span class="mt-2"
168
+ *ngIf="overallComparisonData?.complianceRate?.ComparisonFlag; else showArrow2">
169
+ <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12"
170
+ viewBox="0 0 12 12" fill="none" class="ng-star-inserted">
171
+ <g clip-path="url(#clip0_3216_118)">
172
+ <path d="M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6"
173
+ stroke="#039855" stroke-width="1.5" stroke-linecap="round"
174
+ stroke-linejoin="round"></path>
175
+ </g>
176
+ <defs>
177
+ <clipPath id="clip0_3216_118">
178
+ <rect width="12" height="12" fill="white"></rect>
179
+ </clipPath>
180
+ </defs>
181
+ </svg>
182
+ </span>
183
+ <ng-template #showArrow2>
184
+ <span class="arrow2">
185
+ <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"
186
+ viewBox="0 0 18 18" fill="none" class="ng-star-inserted">
187
+ <g clip-path="url(#clip0_2328_4654)">
188
+ <path d="M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6"
189
+ stroke="#D92D20" stroke-width="1.5" stroke-linecap="round"
190
+ stroke-linejoin="round"></path>
191
+ </g>
192
+ <defs>
193
+ <clipPath id="clip0_2328_4654">
194
+ <rect width="12" height="12" fill="white"></rect>
195
+ </clipPath>
196
+ </defs>
197
+ </svg>
198
+ </span>
199
+ </ng-template>
200
+ </span>
201
+ <span class="mt-2 ms-2"><span class="percent-value">{{
202
+ overallComparisonData?.complianceRate?.comparisonData !==null ?
203
+ overallComparisonData?.complianceRate?.comparisonData?.toLocaleString('en-US', {
204
+ minimumFractionDigits: 0 }) :
205
+ '--'}}%</span><span
206
+ class="week-font"> vs last <span *ngIf="dateType ==='daily'">day</span><span *ngIf="dateType ==='weekly'">week</span> <span *ngIf="dateType ==='monthly'">month</span></span></span>
207
+ </div>
208
+ </div>
209
+ <div class="col-md-4">
210
+ <div *ngIf="overallCardsData.flags?.count; else noDataFlagged" [routerLink]="['/manage/trax/flags']" class="cardsubcount my-2 cursor-pointer"> <u>
211
+ {{ overallCardsData.flags?.count !==null ?
212
+ overallCardsData.flags?.count?.toLocaleString('en-US', { minimumFractionDigits: 0 }) :
213
+ '--' }}</u>
214
+ </div>
215
+ <ng-template #noDataFlagged>
216
+ <div class="cardsubcount my-2">--</div>
217
+ </ng-template>
218
+ <div class="cardtext">Total Flags</div>
219
+ <div class="mt-2">
220
+ <span *ngIf="overallComparisonData?.flags?.comparisonData">
221
+ <span class="mt-2"
222
+ *ngIf="overallComparisonData?.flags?.ComparisonFlag; else showArrow2">
223
+ <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12"
224
+ viewBox="0 0 12 12" fill="none" class="ng-star-inserted">
225
+ <g clip-path="url(#clip0_3216_118)">
226
+ <path d="M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6"
227
+ stroke="#039855" stroke-width="1.5" stroke-linecap="round"
228
+ stroke-linejoin="round"></path>
229
+ </g>
230
+ <defs>
231
+ <clipPath id="clip0_3216_118">
232
+ <rect width="12" height="12" fill="white"></rect>
233
+ </clipPath>
234
+ </defs>
235
+ </svg>
236
+ </span>
237
+ <ng-template #showArrow2>
238
+ <span class="arrow2">
239
+ <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"
240
+ viewBox="0 0 18 18" fill="none" class="ng-star-inserted">
241
+ <g clip-path="url(#clip0_2328_4654)">
242
+ <path d="M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6"
243
+ stroke="#D92D20" stroke-width="1.5" stroke-linecap="round"
244
+ stroke-linejoin="round"></path>
245
+ </g>
246
+ <defs>
247
+ <clipPath id="clip0_2328_4654">
248
+ <rect width="12" height="12" fill="white"></rect>
249
+ </clipPath>
250
+ </defs>
251
+ </svg>
252
+ </span>
253
+ </ng-template>
254
+ </span>
255
+ <span class="mt-2 ms-2"><span class="percent-value">{{
256
+ overallComparisonData?.flags?.comparisonData !==null ?
257
+ overallComparisonData?.flags?.comparisonData?.toLocaleString('en-US', {
258
+ minimumFractionDigits: 0 }) :
259
+ '--'}}%</span><span
260
+ class="week-font"> vs last <span *ngIf="dateType ==='daily'">day</span><span *ngIf="dateType ==='weekly'">week</span> <span *ngIf="dateType ==='monthly'">month</span></span></span>
261
+ </div>
262
+ </div>
263
+ </div>
264
+ </div>
265
+ <div *ngIf="headerData?.client !== '11'" class="col-md-1 mt-3">
266
+ <div class="mt-1 cursor-pointer fs-5" [ngClass]="dateType ==='daily' ? 'text-primary' :''" (click)="dateValue('daily')">1D</div>
267
+ <div class="mt-1 cursor-pointer fs-5" [ngClass]="dateType ==='weekly' ? 'text-primary' :''" (click)="dateValue('weekly')">1W</div>
268
+ <div *ngIf="traxMonthlyComparisonData" class="mt-1 cursor-pointer fs-5" [ngClass]="dateType ==='monthly' ? 'text-primary' :''" (click)="dateValue('monthly')">1M</div>
269
+ <!-- <div class="mt-1 cursor-pointer fs-5" [ngClass]="dateType ==='monthly' ? 'text-primary' :''" (click)="dateValue('monthly')">1M</div> -->
270
+ </div>
271
+
272
+
273
+ </div>
274
+ </div>
275
+ </div>
276
+ </div>
277
+ </div>
278
+
279
+ </div>
280
+
281
+ <div class="col-md-12 mt-4 card">
282
+ <div class="row">
283
+ <div class="d-flex overflow-auto p-7">
284
+ <ul
285
+ class="nav nav-stretch nav-line-tabs1 nav-line-tabs-2x justify-content-center align-items-center border-transparent flex-nowrap">
286
+ <li class="nav-item cursor-pointer" (click)="Selecttabs('checklist')"
287
+ [routerLink]="['/manage/trax/dashboard']" [queryParams]="{ type: 'Checklist' }">
288
+ <a [ngClass]="receivedData === 'checklist'?'btn activebtn':''" class="fw-semibold nav-link me-6">
289
+ Checklist Performance
290
+ </a>
291
+ </li>
292
+ <li class="nav-item cursor-pointer" (click)="Selecttabs('store')" [routerLink]="['/manage/trax/store']"
293
+ [queryParams]="{ type: 'store' }">
294
+ <a [ngClass]="receivedData === 'store' || receivedData === 'Group Details Value'? 'btn activebtn':''"
295
+ class="nav-link me-6">Store Performance
296
+ </a>
297
+ </li>
298
+ <li class="nav-item cursor-pointer" (click)="Selecttabs('user')" [routerLink]="['/manage/trax/user']"
299
+ [queryParams]="{ type: 'user' }">
300
+ <a [ngClass]="receivedData === 'user' || receivedData === 'Group Details Value'? 'btn activebtn':''"
301
+ class="nav-link me-6">User Performance
302
+ </a>
303
+ </li>
304
+ </ul>
305
+ </div>
306
+ <div *ngIf="receivedData === 'checklist'" class="col-lg-12">
307
+ <div class="card-header border-0 pt-3">
308
+ <h3 class="card-title align-items-start flex-column">
309
+ <span class="card-label mb-2">Checklist Info <span class="badge badge-light-primary">{{totalItems}} Total</span></span>
310
+ <span class="text-sub mb-2"> Based on {{ headerData?.date?.startDate | date: 'MMM d' }} - {{
311
+ headerData?.date?.endDate | date: 'MMM d, y' }}
312
+ </span>
313
+ </h3>
314
+ <div class="card-toolbar">
315
+ <div class="d-flex">
316
+ <div class="d-flex align-items-center position-relative my-1">
317
+ <span class="svg-icon footfallsearch svg-icon-1 position-absolute ms-8">
318
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
319
+ fill="none">
320
+ <rect opacity="0.5" x="17.0365" y="15.1223" width="8.15546" height="2" rx="1"
321
+ transform="rotate(45 17.0365 15.1223)" fill="currentColor">
322
+ </rect>
323
+ <path
324
+ d="M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z"
325
+ fill="currentColor"></path>
326
+ </svg>
327
+ </span>
328
+ <!-- [disabled]="searchDisabled" -->
329
+ <input [(ngModel)]="searchInput" type="text" class="form-control ps-14 ms-4 footfallsearch"
330
+ placeholder="Search by Checklist" autocomplete="off" (keyup.enter)="searchField()" />
331
+ <button type="button" (click)="onExport()"
332
+ class="btn-outline btn align-items-end text-nowrap invheader ms-4"
333
+ [disabled]="!checklistPerformance.length">
334
+ <!-- Export Icon -->
335
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"
336
+ fill="none">
337
+ <path
338
+ d="M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5"
339
+ stroke="#344054" stroke-width="1.67" stroke-linecap="round"
340
+ stroke-linejoin="round"></path>
341
+ </svg>
342
+ <span class="ms-2"></span> Export
343
+ </button>
344
+ <a *ngIf="(gs.userAccess | async)?.TangoTrax_checklist_isAdd" [routerLink]="['/manage/trax/createChecklist']" type="button"
345
+ class="btn btn-primary ms-4 rounded-3 text-nowrap ng-star-inserted" tabindex="0"><svg
346
+ xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"
347
+ fill="none">
348
+ <path d="M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334" stroke="white"
349
+ stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"></path>
350
+ </svg><span class="ms-2 text-white">Create Checklist</span></a>
351
+
352
+ </div>
353
+ </div>
354
+ </div>
355
+ </div>
356
+ <div class="card-body p-0">
357
+ <div class="table-responsive">
358
+ <table *ngIf="!checklistLoading && !checklistNoData" class="table text-nowrap bottom-border">
359
+ <thead>
360
+ <tr>
361
+ <th>Checklist Name</th>
362
+ <th>Scheduled</th>
363
+ <th (click)="sortData('coverage')" class="cuyrsor-pointer">Coverage<svg
364
+ [ngClass]="sortColumName === 'coverage' && sortDirection === 1 ? 'rotate' : ''"
365
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
366
+ fill="none">
367
+ <path
368
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
369
+ [attr.stroke]="sortColumName === 'coverage' ? '#00A3FF' : '#667085'"
370
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
371
+ </svg></th>
372
+ <th class="cursor-pointer" (click)="sortData('storeCount')">Assigned To<svg
373
+ [ngClass]="sortColumName === 'storeCount' && sortDirection === 1 ? 'rotate' : ''"
374
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
375
+ fill="none">
376
+ <path
377
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
378
+ [attr.stroke]="sortColumName === 'storeCount' ? '#00A3FF' : '#667085'"
379
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
380
+ </svg>
381
+ </th>
382
+ <th class="cursor-pointer" (click)="sortData('submittedChecklist')">Submitted<svg
383
+ [ngClass]="sortColumName === 'submittedChecklist' && sortDirection === 1 ? 'rotate' : ''"
384
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
385
+ fill="none">
386
+ <path
387
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
388
+ [attr.stroke]="sortColumName === 'submittedChecklist' ? '#00A3FF' : '#667085'"
389
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
390
+ </svg>
391
+ </th>
392
+ <th class="cursor-pointer" (click)="sortData('flaggedChecklist')">Flags<svg
393
+ [ngClass]="sortColumName === 'flaggedChecklist' && sortDirection === 1 ? 'rotate' : ''"
394
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
395
+ fill="none">
396
+ <path
397
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
398
+ [attr.stroke]="sortColumName === 'flaggedChecklist' ? '#00A3FF' : '#667085'"
399
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
400
+ </svg>
401
+ </th>
402
+ <th class="cursor-pointer" (click)="sortData('task')">Tasks<svg
403
+ [ngClass]="sortColumName === 'task' && sortDirection === 1 ? 'rotate' : ''"
404
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
405
+ <path d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
406
+ [attr.stroke]="sortColumName === 'task' ? '#00A3FF' : '#667085'" stroke-width="1.33333"
407
+ stroke-linecap="round" stroke-linejoin="round" />
408
+ </svg>
409
+ </th>
410
+ <th class="cursor-pointer" (click)="sortData('redo')">ReDo<svg
411
+ [ngClass]="sortColumName === 'redo' && sortDirection === 1 ? 'rotate' : ''"
412
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
413
+ <path d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
414
+ [attr.stroke]="sortColumName === 'redo' ? '#00A3FF' : '#667085'" stroke-width="1.33333"
415
+ stroke-linecap="round" stroke-linejoin="round" />
416
+ </svg>
417
+ </th>
418
+ <th class="cursor-pointer" (click)="sortData('questionCompliance')">Question Compliance %<svg
419
+ [ngClass]="sortColumName === 'questionCompliance' && sortDirection === 1 ? 'rotate' : ''"
420
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
421
+ <path d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
422
+ [attr.stroke]="sortColumName === 'redo' ? '#00A3FF' : '#667085'" stroke-width="1.33333"
423
+ stroke-linecap="round" stroke-linejoin="round" />
424
+ </svg>
425
+ </th>
426
+ <th>Action</th>
427
+ </tr>
428
+ </thead>
429
+ <tbody>
430
+ <tr *ngFor="let store of checklistPerformance">
431
+ <td>
432
+ <div class="symbol symbol-35px symbol-circle">
433
+ <span class="symbol-label bg-light-primary text-primary me-2">
434
+ {{ store.checkListChar || '--' }}
435
+ </span>
436
+ </div>
437
+ <span [routerLink]="['/manage/trax/dashboard/info']"
438
+ [queryParams]="{ type: 'Checklist', checklist: store.sourceCheckList_id, }"
439
+ class="table-title-primary cursor-pointer">{{ store.checkListName || '--'
440
+ }}</span>
441
+ </td>
442
+ <td>
443
+
444
+ <div class="table-title">
445
+ {{ store.scheduleRepeatedType === 'Onetime' ? 'Single' : (store.scheduleRepeatedType ? store?.scheduleRepeatedType?.toLocaleString('en-US', { minimumFractionDigits: 0 }) : '--') }}
446
+ </div>
447
+
448
+ </td>
449
+ <td>{{ store?.coverage ? store?.coverage : '--'}}</td>
450
+ <td>
451
+ <div class="table-title">{{ store.storeCount !==null ?
452
+ store?.storeCount?.toLocaleString('en-US', {
453
+ minimumFractionDigits: 0 }) : '--' }}</div>
454
+ </td>
455
+ <td>
456
+ <div *ngIf="store.submittedChecklist; else noDataSubmitted" [routerLink]="['/manage/trax/dashboard/info']"
457
+ [queryParams]="{ type: 'Checklist', checklist: store.sourceCheckList_id, status: 'submit' }"
458
+ class="table-title-primary cursor-pointer">{{
459
+ store.submittedChecklist !==null ? store.submittedChecklist?.toLocaleString('en-US', {
460
+ minimumFractionDigits: 0 })
461
+ : '--' }}</div>
462
+ <ng-template #noDataSubmitted>
463
+ <div class="table-title">--</div>
464
+ </ng-template>
465
+ </td>
466
+ <td>
467
+ <div *ngIf="store.flaggedChecklist > 0; else noDataFlagged" [routerLink]="['/manage/trax/flags/flagsinfo']" [queryParams]="{ id: store._id }"
468
+ class="table-title-primary cursor-pointer">{{ store.flaggedChecklist !==null ?
469
+ store?.flaggedChecklist?.toLocaleString('en-US',
470
+ { minimumFractionDigits: 0 }) : '--' }}</div>
471
+ <ng-template #noDataFlagged>
472
+ <div class="table-title">--</div>
473
+ </ng-template>
474
+ </td>
475
+ <td>
476
+ <div *ngIf="store.task > 0; else noDataTasks" [routerLink]="['/manage/trax/dashboard/task']" [queryParams]="{ coverage: 'checklist', checklistId: store._id}"
477
+ class="table-title-primary cursor-pointer">{{ store.task !==null ?
478
+ store?.task?.toLocaleString('en-US',
479
+ { minimumFractionDigits: 0 }) : '--' }}</div>
480
+ <ng-template #noDataTasks>
481
+ <div class="table-title">--</div>
482
+ </ng-template>
483
+ </td>
484
+ <td>
485
+ <div *ngIf="store.redo > 0; else noDataRedo" [routerLink]="['/manage/trax/dashboard/info']" [queryParams]="{ type: 'Checklist', checklist: store.sourceCheckList_id, status: 'redo' }"
486
+ class="table-title-primary cursor-pointer">{{ store.redo !==null ?
487
+ store?.redo?.toLocaleString('en-US',
488
+ { minimumFractionDigits: 0 }) : '--' }}</div>
489
+ <ng-template #noDataRedo>
490
+ <div class="table-title">--</div>
491
+ </ng-template>
492
+ </td>
493
+
494
+ <td>
495
+ <div class="d-flex">
496
+ <div class="h-5px w-100 bg-light mt-4">
497
+ <div role="progressbar" aria-valuemin="20" aria-valuemax="100"
498
+ class="bg-primary rounded h-5px "
499
+ [style.width]="store?.questionComplianceRate + '%'"> </div>
500
+ </div>
501
+ <div class="text-end table-title"><span class="my-1 mx-1 text-end">
502
+ {{store?.questionComplianceRate?.toLocaleString('en-US', {
503
+ minimumFractionDigits: 0 })
504
+ || '--'}}%</span></div>
505
+ </div>
506
+ </td>
507
+
508
+ <!-- <td>
509
+ <div class="table-title-primary">{{ store.checkListType || '--' }}</div>
510
+ </td> -->
511
+ <td>
512
+ <a class="cursor-pointer" [routerLink]="['/manage/trax/dashboard/info']"
513
+ [queryParams]="{ type: 'Checklist', checklist: store.sourceCheckList_id, }"
514
+ class="table-title"><span>
515
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"
516
+ viewBox="0 0 20 20" fill="none">
517
+ <path
518
+ d="M0.832031 9.99992C0.832031 9.99992 4.16536 3.33325 9.9987 3.33325C15.832 3.33325 19.1654 9.99992 19.1654 9.99992C19.1654 9.99992 15.832 16.6666 9.9987 16.6666C4.16536 16.6666 0.832031 9.99992 0.832031 9.99992Z"
519
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round"
520
+ stroke-linejoin="round" />
521
+ <path
522
+ d="M9.9987 12.4999C11.3794 12.4999 12.4987 11.3806 12.4987 9.99992C12.4987 8.61921 11.3794 7.49992 9.9987 7.49992C8.61799 7.49992 7.4987 8.61921 7.4987 9.99992C7.4987 11.3806 8.61799 12.4999 9.9987 12.4999Z"
523
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round"
524
+ stroke-linejoin="round" />
525
+ </svg>
526
+ </span></a>
527
+ </td>
528
+ </tr>
529
+ </tbody>
530
+ </table>
531
+
532
+ <ng-container *ngIf="checklistLoading">
533
+ <div class="row loader d-flex justify-content-center align-items-center">
534
+ <div class="shimmer">
535
+ <div class="wrapper">
536
+ <div class="stroke animate title"></div>
537
+ <div class="stroke animate link"></div>
538
+ <div class="stroke animate description"></div>
539
+ </div>
540
+ </div>
541
+ <div class="shimmer">
542
+ <div class="wrapper">
543
+ <div class="stroke animate title"></div>
544
+ <div class="stroke animate link"></div>
545
+ <div class="stroke animate description"></div>
546
+ </div>
547
+ </div>
548
+ </div>
549
+ </ng-container>
550
+ <ng-container *ngIf="checklistNoData && !checklistLoading">
551
+ <div class="row">
552
+ <div class="col-lg-12 my-6">
553
+ <div class="card-body d-flex justify-content-center align-items-center flex-column">
554
+ <img class="img-src" src="./assets/tango/Icons/Nodata1.svg" alt="">
555
+ <div class="nodatamaintext mt-3">No data found</div>
556
+ <div class="nodatasubtext">There is no result for Checklist Performance Table</div>
557
+ </div>
558
+ </div>
559
+ </div>
560
+ </ng-container>
561
+
562
+ </div>
563
+ <div *ngIf="!checklistLoading && !checklistNoData">
564
+ <lib-pagination class="text-start" [itemsPerPage]="itemsPerPage" [currentPage]="currentPage"
565
+ [totalItems]="totalItems" [paginationSizes]="paginationSizes" [pageSize]="pageSize"
566
+ (pageChange)="onPageChange($event)"
567
+ (pageSizeChange)="onPageSizeChange($event)"></lib-pagination>
568
+ </div>
569
+ </div>
570
+ </div>
571
+
572
+ <div *ngIf="receivedData === 'store'" class="col-lg-12">
573
+ <div class="card-header border-0 pt-3">
574
+ <h3 class="card-title align-items-start flex-column">
575
+ <span class="card-label mb-2">Stores Info<span class="badge badge-light-primary ms-2">{{totalItems}} Total</span></span>
576
+ <span class="text-sub mb-2"> Based on {{ headerData?.date?.startDate | date: 'MMM d' }} - {{
577
+ headerData?.date?.endDate | date: 'MMM d, y' }}
578
+ </span>
579
+ </h3>
580
+ <div class="card-toolbar">
581
+ <div class="d-flex">
582
+ <div class="d-flex align-items-center position-relative my-1">
583
+ <span class="svg-icon footfallsearch svg-icon-1 position-absolute ms-8">
584
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
585
+ fill="none">
586
+ <rect opacity="0.5" x="17.0365" y="15.1223" width="8.15546" height="2" rx="1"
587
+ transform="rotate(45 17.0365 15.1223)" fill="currentColor">
588
+ </rect>
589
+ <path
590
+ d="M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z"
591
+ fill="currentColor"></path>
592
+ </svg>
593
+ </span>
594
+ <input [(ngModel)]="searchInput" type="text" class="form-control ps-14 ms-4 footfallsearch"
595
+ placeholder="Search by Store Name" autocomplete="off" (keyup.enter)="searchField()" />
596
+ <button type="button" (click)="onExport()"
597
+ class="btn-outline btn align-items-end text-nowrap invheader ms-4"
598
+ [disabled]="!storePerformanceData.length">
599
+ <!-- Export Icon -->
600
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"
601
+ fill="none">
602
+ <path
603
+ d="M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5"
604
+ stroke="#344054" stroke-width="1.67" stroke-linecap="round"
605
+ stroke-linejoin="round"></path>
606
+ </svg>
607
+ <span class="ms-2"></span> Export
608
+ </button>
609
+ <a *ngIf="(gs.userAccess | async)?.TangoTrax_checklist_isAdd" [routerLink]="['/manage/trax/createChecklist']" type="button"
610
+ class="btn btn-primary ms-4 rounded-3 text-nowrap ng-star-inserted" tabindex="0"><svg
611
+ xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"
612
+ fill="none">
613
+ <path d="M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334" stroke="white"
614
+ stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"></path>
615
+ </svg><span class="ms-2 text-white">Create Checklist</span></a>
616
+
617
+ </div>
618
+ </div>
619
+ </div>
620
+ </div>
621
+ <div class="card-body p-0">
622
+ <div class="table-responsive">
623
+ <table *ngIf="!storePerformanceLoading && !storePerformanceNoData"
624
+ class="table text-nowrap bottom-border">
625
+ <thead>
626
+ <tr>
627
+ <th class="cursor-pointer" (click)="sortData('storeName')">Store Name<svg
628
+ [ngClass]="sortColumName === 'storeName' && sortDirection === 1 ? 'rotate' : ''"
629
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
630
+ fill="none">
631
+ <path
632
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
633
+ [attr.stroke]="sortColumName === 'storeName' ? '#00A3FF' : '#667085'"
634
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
635
+ </svg></th>
636
+ <th>Store Spoc</th>
637
+ <th class="cursor-pointer" (click)="sortData('checkListCount')">Checklist
638
+ Assigned<svg
639
+ [ngClass]="sortColumName === 'checkListCount' && sortDirection === 1 ? 'rotate' : ''"
640
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
641
+ fill="none">
642
+ <path
643
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
644
+ [attr.stroke]="sortColumName === 'checkListCount' ? '#00A3FF' : '#667085'"
645
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
646
+ </svg></th>
647
+ <th class="cursor-pointer" (click)="sortData('flaggedCount')">Flags<svg
648
+ [ngClass]="sortColumName === 'flaggedCount' && sortDirection === 1 ? 'rotate' : ''"
649
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
650
+ fill="none">
651
+ <path
652
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
653
+ [attr.stroke]="sortColumName === 'flaggedCount' ? '#00A3FF' : '#667085'"
654
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
655
+ </svg></th>
656
+ <th class="cursor-pointer" (click)="sortData('completion')">Completion % <svg
657
+ [ngClass]="sortColumName === 'completion' && sortDirection === 1 ? 'rotate' : ''"
658
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
659
+ fill="none">
660
+ <path
661
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
662
+ [attr.stroke]="sortColumName === 'completion' ? '#00A3FF' : '#667085'"
663
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
664
+ </svg></th>
665
+ <th class="cursor-pointer" (click)="sortData('compliance')">Compliance %<svg
666
+ [ngClass]="sortColumName === 'compliance' && sortDirection === 1 ? 'rotate' : ''"
667
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
668
+ fill="none">
669
+ <path
670
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
671
+ [attr.stroke]="sortColumName === 'compliance' ? '#00A3FF' : '#667085'"
672
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
673
+ </svg></th>
674
+ <th class="cursor-pointer" (click)="sortData('performance')">Performance %<svg
675
+ [ngClass]="sortColumName === 'performance' && sortDirection === 1 ? 'rotate' : ''"
676
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
677
+ fill="none">
678
+ <path
679
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
680
+ [attr.stroke]="sortColumName === 'performance' ? '#00A3FF' : '#667085'"
681
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
682
+ </svg></th>
683
+ <th>Action</th>
684
+ </tr>
685
+ </thead>
686
+
687
+ <tbody>
688
+ <tr *ngFor="let item of storePerformanceData">
689
+ {{item.storeId}}
690
+ <td>
691
+ <!-- [routerLink]="['/manage/trax/dashboard/info']"
692
+ [queryParams]="{ store_id: item._id, type: 'store' }" -->
693
+ <a (click)="storeView(item._id)" class="table-title-primary cursor-pointer">{{
694
+ item.storeName }}</a>
695
+ </td>
696
+ <td>
697
+ <div class="table-title">{{ item.userEmail }}</div>
698
+ </td>
699
+ <td>
700
+ <div class="table-title">
701
+ {{ item.checkListCount !==null ? item?.checkListCount?.toLocaleString('en-US', {
702
+ minimumFractionDigits: 0 }) :
703
+ '--' }}
704
+ </div>
705
+ </td>
706
+ <td>
707
+ <div class="table-title">
708
+ {{ item.flaggedCount !==null ? item?.flaggedCount?.toLocaleString('en-US', {
709
+ minimumFractionDigits: 0 }) :
710
+ '--' }}
711
+ </div>
712
+ </td>
713
+ <td>
714
+ <div class="d-flex">
715
+ <div class="h-5px w-100 bg-light mt-2 ">
716
+ <div role="progressbar" aria-valuemin="0" aria-valuemax="100"
717
+ class="bg-primary rounded h-5px"
718
+ [ngStyle]="{ width: item.completion + '%' }"></div>
719
+ </div>
720
+ <div class="text-end table-title"><span class="my-1 mx-1 text-end">{{
721
+ item.completion !==null ? item?.completion?.toLocaleString('en-US', {
722
+ minimumFractionDigits: 0 })
723
+ : '--' }}%</span></div>
724
+ </div>
725
+ </td>
726
+ <td>
727
+ <div class="d-flex">
728
+ <div class="h-5px w-100 bg-light mt-2 ">
729
+ <div role="progressbar" aria-valuemin="0" aria-valuemax="100"
730
+ class="bg-primary rounded h-5px"
731
+ [ngStyle]="{ width: item.compliance + '%' }"></div>
732
+ </div>
733
+ <div class="text-end table-title"><span class="my-1 mx-1 text-end">{{
734
+ item.compliance !==null ? item?.compliance?.toLocaleString('en-US', {
735
+ minimumFractionDigits: 0 })
736
+ : '--' }}%</span></div>
737
+ </div>
738
+ </td>
739
+ <td>
740
+ <div class="d-flex">
741
+ <div class="h-5px w-100 bg-light mt-2 ">
742
+ <div role="progressbar" aria-valuemin="0" aria-valuemax="100"
743
+ class="bg-primary rounded h-5px"
744
+ [ngStyle]="{ width: item.performance + '%' }"></div>
745
+ </div>
746
+ <div class="text-end table-title"><span class="my-1 mx-1 text-end">{{
747
+ item.performance !==null ? item?.performance?.toLocaleString('en-US', {
748
+ minimumFractionDigits: 0 })
749
+ : '--' }}%</span></div>
750
+ </div>
751
+ </td>
752
+ <td>
753
+ <a (click)="storeView(item._id)" class="table-title cursor-pointer"><span>
754
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"
755
+ viewBox="0 0 20 20" fill="none">
756
+ <path
757
+ d="M0.832031 9.99992C0.832031 9.99992 4.16536 3.33325 9.9987 3.33325C15.832 3.33325 19.1654 9.99992 19.1654 9.99992C19.1654 9.99992 15.832 16.6666 9.9987 16.6666C4.16536 16.6666 0.832031 9.99992 0.832031 9.99992Z"
758
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round"
759
+ stroke-linejoin="round" />
760
+ <path
761
+ d="M9.9987 12.4999C11.3794 12.4999 12.4987 11.3806 12.4987 9.99992C12.4987 8.61921 11.3794 7.49992 9.9987 7.49992C8.61799 7.49992 7.4987 8.61921 7.4987 9.99992C7.4987 11.3806 8.61799 12.4999 9.9987 12.4999Z"
762
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round"
763
+ stroke-linejoin="round" />
764
+ </svg>
765
+ </span></a>
766
+ </td>
767
+ </tr>
768
+ </tbody>
769
+ </table>
770
+ <ng-container *ngIf="storePerformanceLoading">
771
+ <div class="row loader d-flex justify-content-center align-items-center">
772
+ <div class="shimmer">
773
+ <div class="wrapper">
774
+ <div class="stroke animate title"></div>
775
+ <div class="stroke animate link"></div>
776
+ <div class="stroke animate description"></div>
777
+ </div>
778
+ </div>
779
+ <div class="shimmer">
780
+ <div class="wrapper">
781
+ <div class="stroke animate title"></div>
782
+ <div class="stroke animate link"></div>
783
+ <div class="stroke animate description"></div>
784
+ </div>
785
+ </div>
786
+ </div>
787
+ </ng-container>
788
+ <ng-container *ngIf="storePerformanceNoData && !storePerformanceLoading">
789
+ <div class="row">
790
+ <div class="col-lg-12 my-6">
791
+ <div class="card-body d-flex justify-content-center align-items-center flex-column">
792
+ <img class="img-src" src="./assets/tango/Icons/Nodata1.svg" alt="">
793
+ <div class="nodatamaintext mt-3">No data found</div>
794
+ <div class="nodatasubtext">There is no result for Store Performance Table</div>
795
+ </div>
796
+ </div>
797
+ </div>
798
+ </ng-container>
799
+
800
+ </div>
801
+ <div *ngIf="!storePerformanceLoading && !storePerformanceNoData">
802
+ <lib-pagination class="text-start" [itemsPerPage]="itemsPerPage" [currentPage]="currentPage"
803
+ [totalItems]="totalItems" [paginationSizes]="paginationSizes" [pageSize]="pageSize"
804
+ (pageChange)="onPageChange($event)"
805
+ (pageSizeChange)="onPageSizeChange($event)"></lib-pagination>
806
+ </div>
807
+ </div>
808
+ </div>
809
+
810
+ <div *ngIf="receivedData === 'user'" class="col-lg-12">
811
+ <div class="card-header border-0 pt-3">
812
+ <h3 class="card-title align-items-start flex-column">
813
+ <span class="card-label mb-2">User Info <span class="badge badge-light-primary">{{totalItems}} Total</span></span>
814
+ <span class="text-sub mb-2"> Based on {{ headerData?.date?.startDate | date: 'MMM d' }} - {{
815
+ headerData?.date?.endDate | date: 'MMM d, y' }}
816
+ </span>
817
+ </h3>
818
+ <div class="card-toolbar">
819
+ <div class="d-flex">
820
+ <div class="d-flex align-items-center position-relative my-1">
821
+ <span class="svg-icon footfallsearch svg-icon-1 position-absolute ms-8">
822
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
823
+ fill="none">
824
+ <rect opacity="0.5" x="17.0365" y="15.1223" width="8.15546" height="2" rx="1"
825
+ transform="rotate(45 17.0365 15.1223)" fill="currentColor">
826
+ </rect>
827
+ <path
828
+ d="M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z"
829
+ fill="currentColor"></path>
830
+ </svg>
831
+ </span>
832
+ <input [(ngModel)]="searchInput" type="text" class="form-control ps-14 ms-4 footfallsearch"
833
+ placeholder="Search by User Name" autocomplete="off" (keyup.enter)="searchField()" />
834
+ <button type="button" (click)="onExport()"
835
+ class="btn-outline btn align-items-end text-nowrap invheader ms-4"
836
+ [disabled]="!userPerformanceData.length">
837
+ <!-- Export Icon -->
838
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"
839
+ fill="none">
840
+ <path
841
+ d="M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5"
842
+ stroke="#344054" stroke-width="1.67" stroke-linecap="round"
843
+ stroke-linejoin="round"></path>
844
+ </svg>
845
+ <span class="ms-2"></span> Export
846
+ </button>
847
+ <a *ngIf="(gs.userAccess | async)?.TangoTrax_checklist_isAdd" [routerLink]="['/manage/trax/createChecklist']" type="button"
848
+ class="btn btn-primary ms-4 rounded-3 text-nowrap ng-star-inserted" tabindex="0"><svg
849
+ xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"
850
+ fill="none">
851
+ <path d="M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334" stroke="white"
852
+ stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round"></path>
853
+ </svg><span class="ms-2 text-white">Create Checklist</span></a>
854
+
855
+ </div>
856
+ </div>
857
+ </div>
858
+ </div>
859
+ <div class="card-body p-0">
860
+ <div class="table-responsive">
861
+ <table *ngIf="!userPerformanceLoading && !userPerformanceNoData"
862
+ class="table text-nowrap bottom-border">
863
+ <thead>
864
+ <tr>
865
+ <th class="cursor-pointer" (click)="sortData('userName')">User Name<svg
866
+ [ngClass]="sortColumName === 'userName' && sortDirection === 1 ? 'rotate' : ''"
867
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
868
+ fill="none">
869
+ <path
870
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
871
+ [attr.stroke]="sortColumName === 'userName' ? '#00A3FF' : '#667085'"
872
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
873
+ </svg></th>
874
+ <th class="cursor-pointer" (click)="sortData('userEmail')">Email<svg
875
+ [ngClass]="sortColumName === 'userEmail' && sortDirection === 1 ? 'rotate' : ''"
876
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
877
+ fill="none">
878
+ <path
879
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
880
+ [attr.stroke]="sortColumName === 'userEmail' ? '#00A3FF' : '#667085'"
881
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
882
+ </svg></th>
883
+ <th class="cursor-pointer" (click)="sortData('checkListCount')">Checklist
884
+ Assigned<svg
885
+ [ngClass]="sortColumName === 'checkListCount' && sortDirection === 1 ? 'rotate' : ''"
886
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
887
+ fill="none">
888
+ <path
889
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
890
+ [attr.stroke]="sortColumName === 'checkListCount' ? '#00A3FF' : '#667085'"
891
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
892
+ </svg></th>
893
+ <th class="cursor-pointer" (click)="sortData('flaggedCount')">Flags<svg
894
+ [ngClass]="sortColumName === 'flaggedCount' && sortDirection === 1 ? 'rotate' : ''"
895
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
896
+ fill="none">
897
+ <path
898
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
899
+ [attr.stroke]="sortColumName === 'flaggedCount' ? '#00A3FF' : '#667085'"
900
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
901
+ </svg></th>
902
+ <th class="cursor-pointer" (click)="sortData('redo')">ReDo<svg
903
+ [ngClass]="sortColumName === 'redo' && sortDirection === 1 ? 'rotate' : ''"
904
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
905
+ fill="none">
906
+ <path
907
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
908
+ [attr.stroke]="sortColumName === 'redo' ? '#00A3FF' : '#667085'"
909
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
910
+ </svg></th>
911
+ <th class="cursor-pointer" (click)="sortData('completion')">Completion % <svg
912
+ [ngClass]="sortColumName === 'completion' && sortDirection === 1 ? 'rotate' : ''"
913
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
914
+ fill="none">
915
+ <path
916
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
917
+ [attr.stroke]="sortColumName === 'completion' ? '#00A3FF' : '#667085'"
918
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
919
+ </svg></th>
920
+ <th class="cursor-pointer" (click)="sortData('compliance')">Compliance %<svg
921
+ [ngClass]="sortColumName === 'compliance' && sortDirection === 1 ? 'rotate' : ''"
922
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
923
+ fill="none">
924
+ <path
925
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
926
+ [attr.stroke]="sortColumName === 'compliance' ? '#00A3FF' : '#667085'"
927
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
928
+ </svg></th>
929
+ <th class="cursor-pointer" (click)="sortData('performance')">Performance %<svg
930
+ [ngClass]="sortColumName === 'performance' && sortDirection === 1 ? 'rotate' : ''"
931
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
932
+ fill="none">
933
+ <path
934
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
935
+ [attr.stroke]="sortColumName === 'performance' ? '#00A3FF' : '#667085'"
936
+ stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round" />
937
+ </svg></th>
938
+ <th>Action</th>
939
+ </tr>
940
+ </thead>
941
+ <tbody>
942
+ <tr *ngFor="let user of userPerformanceData">
943
+ <td>
944
+ <a [routerLink]="['/manage/trax/dashboard/info']"
945
+ [queryParams]="{ type: 'user', userEmail: user.userEmail, }"
946
+ class="table-title-primary">{{ user.userName }}</a>
947
+ </td>
948
+ <td>
949
+ <div class="table-title">{{ user.userEmail }}</div>
950
+ </td>
951
+ <td>
952
+ <div class="table-title">
953
+ {{ user.checkListCount !==null ? user?.checkListCount?.toLocaleString('en-US', {
954
+ minimumFractionDigits: 0 }) :
955
+ '--' }}
956
+ </div>
957
+ </td>
958
+ <td>
959
+ <div class="table-title">{{ user.flaggedCount !==null ?
960
+ user?.flaggedCount?.toLocaleString('en-US', {
961
+ minimumFractionDigits: 0 }) : '--' }}</div>
962
+ </td>
963
+ <td>
964
+ <div class="d-flex">
965
+ <div class="text-end table-title"><span class="my-1 mx-1 text-end">{{
966
+ user.redo !==null ? user?.redo?.toLocaleString('en-US', {
967
+ minimumFractionDigits: 0 })
968
+ : '--' }}</span></div>
969
+ </div>
970
+ </td>
971
+ <td>
972
+ <div class="d-flex">
973
+ <div class="h-5px w-100 bg-light mt-2">
974
+ <div role="progressbar" aria-valuemin="0" aria-valuemax="100"
975
+ class="bg-primary rounded h-5px"
976
+ [ngStyle]="{ width: user.completion + '%' }">
977
+ </div>
978
+ </div>
979
+ <div class="text-end table-title"><span class="my-1 mx-1 text-end">{{
980
+ user.completion !==null ? user?.completion?.toLocaleString('en-US', {
981
+ minimumFractionDigits: 0 })
982
+ : '--' }}%</span></div>
983
+ </div>
984
+ </td>
985
+ <td>
986
+ <div class="d-flex">
987
+ <div class="h-5px w-100 bg-light mt-2">
988
+ <div role="progressbar" aria-valuemin="0" aria-valuemax="100"
989
+ class="bg-primary rounded h-5px"
990
+ [ngStyle]="{ width: user.compliance + '%' }">
991
+ </div>
992
+ </div>
993
+ <div class="text-end table-title"><span class="my-1 mx-1 text-end">{{
994
+ user.compliance !==null ? user?.compliance?.toLocaleString('en-US', {
995
+ minimumFractionDigits: 0 })
996
+ : '--' }}%</span></div>
997
+ </div>
998
+ </td>
999
+ <td>
1000
+ <div class="d-flex">
1001
+ <div class="h-5px w-100 bg-light mt-2">
1002
+ <div role="progressbar" aria-valuemin="0" aria-valuemax="100"
1003
+ class="bg-primary rounded h-5px"
1004
+ [ngStyle]="{ width: user.performance + '%' }">
1005
+ </div>
1006
+ </div>
1007
+ <div class="text-end table-title"><span class="my-1 mx-1 text-end">{{
1008
+ user.performance !==null ? user?.performance?.toLocaleString('en-US', {
1009
+ minimumFractionDigits: 0 })
1010
+ : '--' }}%</span></div>
1011
+ </div>
1012
+ </td>
1013
+
1014
+ <td>
1015
+ <a class="cursor-pointer" [routerLink]="['/manage/trax/dashboard/info']"
1016
+ [queryParams]="{type: 'user', userEmail: user.userEmail, }"
1017
+ class="table-title"><span>
1018
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"
1019
+ viewBox="0 0 20 20" fill="none">
1020
+ <path
1021
+ d="M0.832031 9.99992C0.832031 9.99992 4.16536 3.33325 9.9987 3.33325C15.832 3.33325 19.1654 9.99992 19.1654 9.99992C19.1654 9.99992 15.832 16.6666 9.9987 16.6666C4.16536 16.6666 0.832031 9.99992 0.832031 9.99992Z"
1022
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round"
1023
+ stroke-linejoin="round" />
1024
+ <path
1025
+ d="M9.9987 12.4999C11.3794 12.4999 12.4987 11.3806 12.4987 9.99992C12.4987 8.61921 11.3794 7.49992 9.9987 7.49992C8.61799 7.49992 7.4987 8.61921 7.4987 9.99992C7.4987 11.3806 8.61799 12.4999 9.9987 12.4999Z"
1026
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round"
1027
+ stroke-linejoin="round" />
1028
+ </svg>
1029
+ </span></a>
1030
+ </td>
1031
+
1032
+ </tr>
1033
+ </tbody>
1034
+ </table>
1035
+ <ng-container *ngIf="userPerformanceLoading">
1036
+ <div class="row loader d-flex justify-content-center align-items-center">
1037
+ <div class="shimmer">
1038
+ <div class="wrapper">
1039
+ <div class="stroke animate title"></div>
1040
+ <div class="stroke animate link"></div>
1041
+ <div class="stroke animate description"></div>
1042
+ </div>
1043
+ </div>
1044
+ <div class="shimmer">
1045
+ <div class="wrapper">
1046
+ <div class="stroke animate title"></div>
1047
+ <div class="stroke animate link"></div>
1048
+ <div class="stroke animate description"></div>
1049
+ </div>
1050
+ </div>
1051
+ </div>
1052
+ </ng-container>
1053
+ <ng-container *ngIf="userPerformanceNoData && !userPerformanceLoading">
1054
+ <div class="row">
1055
+ <div class="col-lg-12 my-6">
1056
+ <div class="card-body d-flex justify-content-center align-items-center flex-column">
1057
+ <img class="img-src" src="./assets/tango/Icons/Nodata1.svg" alt="">
1058
+ <div class="nodatamaintext mt-3">No data found</div>
1059
+ <div class="nodatasubtext">There is no result for User Performance Table</div>
1060
+ </div>
1061
+ </div>
1062
+ </div>
1063
+ </ng-container>
1064
+ </div>
1065
+ <div *ngIf="!userPerformanceLoading && !userPerformanceNoData">
1066
+ <lib-pagination class="text-start" [itemsPerPage]="itemsPerPage" [currentPage]="currentPage"
1067
+ [totalItems]="totalItems" [paginationSizes]="paginationSizes" [pageSize]="pageSize"
1068
+ (pageChange)="onPageChange($event)"
1069
+ (pageSizeChange)="onPageSizeChange($event)"></lib-pagination>
1070
+ </div>
1071
+ </div>
1072
+ </div>
1073
+
1074
+
1075
+ </div>
1076
+ </div>