@tuki-io/tuki-widgets 0.0.64 → 0.0.65

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 (655) hide show
  1. package/.editorconfig +16 -0
  2. package/.hintrc +14 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/README.md +10 -9
  7. package/angular.json +140 -0
  8. package/package.json +47 -65
  9. package/projects/tuki/widgets/README.md +24 -0
  10. package/projects/tuki/widgets/di2mt/api/api.endpoints.ts +20 -0
  11. package/projects/tuki/widgets/di2mt/assets/icons/already_upgraded.png +0 -0
  12. package/projects/tuki/widgets/di2mt/assets/icons/check2_icon.png +0 -0
  13. package/projects/tuki/widgets/di2mt/assets/icons/check_icon.png +0 -0
  14. package/projects/tuki/widgets/di2mt/assets/icons/expand_icon.png +0 -0
  15. package/projects/tuki/widgets/di2mt/assets/icons/issue_icon.png +0 -0
  16. package/projects/tuki/widgets/di2mt/assets/icons/menu_icon.png +0 -0
  17. package/projects/tuki/widgets/di2mt/assets/icons/ready_to_upgrade.png +0 -0
  18. package/projects/tuki/widgets/di2mt/assets/icons/search_icon.png +0 -0
  19. package/projects/tuki/widgets/di2mt/assets/icons/site.png +0 -0
  20. package/projects/tuki/widgets/di2mt/assets/icons/user.png +0 -0
  21. package/projects/tuki/widgets/di2mt/assets/icons/warning_icon.png +0 -0
  22. package/projects/tuki/widgets/di2mt/ng-package.json +7 -0
  23. package/{di2mt/public-api.d.ts → projects/tuki/widgets/di2mt/public-api.ts} +12 -1
  24. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.html +11 -0
  25. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.scss +48 -0
  26. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.ts +10 -0
  27. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.html +15 -0
  28. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.scss +38 -0
  29. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.ts +71 -0
  30. package/{di2mt/shared/components/index.d.ts → projects/tuki/widgets/di2mt/shared/components/index.ts} +1 -1
  31. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.html +57 -0
  32. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.scss +74 -0
  33. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.ts +44 -0
  34. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.html +28 -0
  35. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.scss +55 -0
  36. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.ts +11 -0
  37. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.html +12 -0
  38. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.scss +76 -0
  39. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.ts +27 -0
  40. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.html +28 -0
  41. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.scss +52 -0
  42. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.ts +28 -0
  43. package/projects/tuki/widgets/di2mt/shared/material.module.ts +36 -0
  44. package/projects/tuki/widgets/di2mt/shared/services/api.service.ts +92 -0
  45. package/projects/tuki/widgets/di2mt/shared/shared.module.ts +38 -0
  46. package/projects/tuki/widgets/di2mt/shared/types/constants.ts +14 -0
  47. package/projects/tuki/widgets/di2mt/shared/types/data-table.ts +5 -0
  48. package/projects/tuki/widgets/di2mt/shared/types/table/filter.ts +14 -0
  49. package/projects/tuki/widgets/di2mt/styles/tuki-widgets-theme.scss +13 -0
  50. package/projects/tuki/widgets/di2mt/styles/variables.scss +92 -0
  51. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.html +92 -0
  52. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.scss +187 -0
  53. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.ts +205 -0
  54. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.module.ts +24 -0
  55. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.service.ts +45 -0
  56. package/{di2mt/widgets/site-upgrade/types/user-upgrade.d.ts → projects/tuki/widgets/di2mt/widgets/site-upgrade/types/user-upgrade.ts} +2 -1
  57. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.ts +52 -0
  58. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.ts +53 -0
  59. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.ts +67 -0
  60. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.html +7 -0
  61. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.scss +0 -0
  62. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.ts +45 -0
  63. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.html +7 -0
  64. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.scss +0 -0
  65. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.ts +45 -0
  66. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.ts +59 -0
  67. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.ts +70 -0
  68. package/{di2mt/widgets/upgrade-overview/types/upgrade-overview.d.ts → projects/tuki/widgets/di2mt/widgets/upgrade-overview/types/upgrade-overview.ts} +20 -18
  69. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.module.ts +42 -0
  70. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.service.ts +95 -0
  71. package/{di2mt/widgets/user-upgrade/types/user-upgrade.d.ts → projects/tuki/widgets/di2mt/widgets/user-upgrade/types/user-upgrade.ts} +3 -1
  72. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.html +131 -0
  73. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.scss +275 -0
  74. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.ts +218 -0
  75. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.module.ts +24 -0
  76. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.service.ts +73 -0
  77. package/projects/tuki/widgets/karma.conf.js +44 -0
  78. package/projects/tuki/widgets/ng-package.json +7 -0
  79. package/projects/tuki/widgets/package.json +13 -0
  80. package/projects/tuki/widgets/src/lib/widgets.component.spec.ts +23 -0
  81. package/projects/tuki/widgets/src/lib/widgets.component.ts +20 -0
  82. package/projects/tuki/widgets/src/lib/widgets.module.ts +16 -0
  83. package/projects/tuki/widgets/src/lib/widgets.service.spec.ts +16 -0
  84. package/projects/tuki/widgets/src/lib/widgets.service.ts +9 -0
  85. package/{public-api.d.ts → projects/tuki/widgets/src/public-api.ts} +4 -0
  86. package/projects/tuki/widgets/src/test.ts +27 -0
  87. package/projects/tuki/widgets/styles.scss +572 -0
  88. package/projects/tuki/widgets/tsconfig.lib.json +36 -0
  89. package/projects/tuki/widgets/tsconfig.lib.prod.json +10 -0
  90. package/projects/tuki/widgets/tsconfig.spec.json +17 -0
  91. package/projects/tuki/widgets/user-device-manage/ng-package.json +7 -0
  92. package/projects/tuki/widgets/user-device-manage/src/app.constants.ts +96 -0
  93. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-left.svg +5 -0
  94. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right.svg +5 -0
  95. package/projects/tuki/widgets/user-device-manage/src/assets/icons/close_icon_x.svg +3 -0
  96. package/projects/tuki/widgets/user-device-manage/src/assets/icons/delete_icon.svg +5 -0
  97. package/projects/tuki/widgets/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  98. package/projects/tuki/widgets/user-device-manage/src/assets/icons/icon_user.svg +1 -0
  99. package/projects/tuki/widgets/user-device-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  100. package/projects/tuki/widgets/user-device-manage/src/classes/device.ts +292 -0
  101. package/projects/tuki/widgets/user-device-manage/src/classes/line-association-interface.ts +50 -0
  102. package/projects/tuki/widgets/user-device-manage/src/classes/line-association.ts +177 -0
  103. package/projects/tuki/widgets/user-device-manage/src/classes/line-call-info-display.ts +21 -0
  104. package/projects/tuki/widgets/user-device-manage/src/classes/line-directory.ts +41 -0
  105. package/projects/tuki/widgets/user-device-manage/src/classes/line.ts +144 -0
  106. package/projects/tuki/widgets/user-device-manage/src/classes/notification.ts +40 -0
  107. package/projects/tuki/widgets/user-device-manage/src/classes/recording-options.ts +6 -0
  108. package/projects/tuki/widgets/user-device-manage/src/classes/simplified-user.ts +169 -0
  109. package/projects/tuki/widgets/user-device-manage/src/classes/site-defaults.ts +167 -0
  110. package/projects/tuki/widgets/user-device-manage/src/classes/translation-pattern.ts +50 -0
  111. package/projects/tuki/widgets/user-device-manage/src/classes/types.ts +19 -0
  112. package/projects/tuki/widgets/user-device-manage/src/classes/user-interface.ts +225 -0
  113. package/projects/tuki/widgets/user-device-manage/src/classes/user.ts +8 -0
  114. package/projects/tuki/widgets/user-device-manage/src/common-functions.ts +16 -0
  115. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.html +14 -0
  116. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.scss +80 -0
  117. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.ts +35 -0
  118. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +21 -0
  119. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.scss +97 -0
  120. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +28 -0
  121. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.html +6 -0
  122. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.scss +20 -0
  123. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.ts +13 -0
  124. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +6 -0
  125. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +4 -0
  126. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +63 -0
  127. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.html +241 -0
  128. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.scss +500 -0
  129. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.ts +194 -0
  130. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.html +27 -0
  131. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.scss +131 -0
  132. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.ts +25 -0
  133. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.html +209 -0
  134. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.scss +502 -0
  135. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.ts +354 -0
  136. package/projects/tuki/widgets/user-device-manage/src/environments/environment.prod.ts +9 -0
  137. package/projects/tuki/widgets/user-device-manage/src/environments/environment.ts +10 -0
  138. package/projects/tuki/widgets/user-device-manage/src/interseptors/auth.interceptor.ts +35 -0
  139. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  140. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
  141. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  142. package/projects/tuki/widgets/user-device-manage/src/material.module.ts +87 -0
  143. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.html +33 -0
  144. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.scss +84 -0
  145. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.ts +46 -0
  146. package/projects/tuki/widgets/user-device-manage/src/removeKynFromIBM.service.ts +25 -0
  147. package/projects/tuki/widgets/user-device-manage/src/services/api.service.ts +87 -0
  148. package/projects/tuki/widgets/user-device-manage/src/services/common-functions.ts +17 -0
  149. package/projects/tuki/widgets/user-device-manage/src/services/device.service.ts +95 -0
  150. package/projects/tuki/widgets/user-device-manage/src/services/dns.service.ts +111 -0
  151. package/projects/tuki/widgets/user-device-manage/src/services/line.service.ts +89 -0
  152. package/projects/tuki/widgets/user-device-manage/src/services/notification.service.ts +68 -0
  153. package/projects/tuki/widgets/user-device-manage/src/services/removeKynFromIBM.service.ts +25 -0
  154. package/projects/tuki/widgets/user-device-manage/src/services/site-settings.service.ts +82 -0
  155. package/projects/tuki/widgets/user-device-manage/src/services/sorting-utils.service.ts +203 -0
  156. package/projects/tuki/widgets/user-device-manage/src/services/user.service.ts +283 -0
  157. package/projects/tuki/widgets/user-device-manage/src/services/utils.service.ts +87 -0
  158. package/projects/tuki/widgets/user-device-manage/src/services/validation.service.ts +829 -0
  159. package/projects/tuki/widgets/user-device-manage/src/styles/_variables.scss +90 -0
  160. package/projects/tuki/widgets/user-device-manage/src/styles/form.scss +231 -0
  161. package/projects/tuki/widgets/user-device-manage/src/styles/icons.scss +32 -0
  162. package/projects/tuki/widgets/user-device-manage/src/styles/styles.scss +110 -0
  163. package/projects/tuki/widgets/user-device-manage/src/styles/tables.scss +30 -0
  164. package/projects/tuki/widgets/user-device-manage/src/user-device-manage.module.ts +73 -0
  165. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.html +6 -0
  166. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  167. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.ts +13 -0
  168. package/projects/tuki/widgets/user-manage/ng-package.json +7 -0
  169. package/projects/tuki/widgets/user-manage/src/app.constants.ts +50 -0
  170. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-left.svg +5 -0
  171. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right.svg +5 -0
  172. package/projects/tuki/widgets/user-manage/src/assets/icons/delete_icon.svg +5 -0
  173. package/projects/tuki/widgets/user-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  174. package/projects/tuki/widgets/user-manage/src/assets/icons/icon_user.svg +1 -0
  175. package/projects/tuki/widgets/user-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  176. package/projects/tuki/widgets/user-manage/src/classes/device.ts +232 -0
  177. package/projects/tuki/widgets/user-manage/src/classes/line-association-interface.ts +43 -0
  178. package/projects/tuki/widgets/user-manage/src/classes/line-association.ts +161 -0
  179. package/projects/tuki/widgets/user-manage/src/classes/line-call-info-display.ts +21 -0
  180. package/projects/tuki/widgets/user-manage/src/classes/line-directory.ts +42 -0
  181. package/projects/tuki/widgets/user-manage/src/classes/line.ts +144 -0
  182. package/projects/tuki/widgets/user-manage/src/classes/notification.ts +39 -0
  183. package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +18 -0
  184. package/projects/tuki/widgets/user-manage/src/classes/recording-options.ts +6 -0
  185. package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +165 -0
  186. package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +6 -0
  187. package/projects/tuki/widgets/user-manage/src/classes/translation-pattern.ts +49 -0
  188. package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +225 -0
  189. package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +42 -0
  190. package/projects/tuki/widgets/user-manage/src/classes/user.ts +8 -0
  191. package/projects/tuki/widgets/user-manage/src/common-functions.ts +16 -0
  192. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.html +27 -0
  193. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.scss +131 -0
  194. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.ts +25 -0
  195. package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +9 -0
  196. package/projects/tuki/widgets/user-manage/src/environments/environment.ts +10 -0
  197. package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +35 -0
  198. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  199. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
  200. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  201. package/projects/tuki/widgets/user-manage/src/material.module.ts +85 -0
  202. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +33 -0
  203. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +84 -0
  204. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +46 -0
  205. package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +25 -0
  206. package/projects/tuki/widgets/user-manage/src/services/api.service.ts +90 -0
  207. package/projects/tuki/widgets/user-manage/src/services/dns.service.ts +116 -0
  208. package/projects/tuki/widgets/user-manage/src/services/line.service.ts +31 -0
  209. package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +68 -0
  210. package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +25 -0
  211. package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +35 -0
  212. package/projects/tuki/widgets/user-manage/src/services/sorting-utils.service.ts +203 -0
  213. package/projects/tuki/widgets/user-manage/src/services/user.service.ts +242 -0
  214. package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +59 -0
  215. package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +71 -0
  216. package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +90 -0
  217. package/projects/tuki/widgets/user-manage/src/styles/form.scss +231 -0
  218. package/projects/tuki/widgets/user-manage/src/styles/icons.scss +32 -0
  219. package/projects/tuki/widgets/user-manage/src/styles/styles.scss +110 -0
  220. package/projects/tuki/widgets/user-manage/src/styles/tables.scss +30 -0
  221. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +10 -0
  222. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +429 -0
  223. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +63 -0
  224. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.html +32 -0
  225. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.scss +444 -0
  226. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.ts +89 -0
  227. package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +68 -0
  228. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +29 -0
  229. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +64 -0
  230. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +19 -0
  231. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +290 -0
  232. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +463 -0
  233. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +212 -0
  234. package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +63 -0
  235. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +6 -0
  236. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  237. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +13 -0
  238. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +26 -0
  239. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +41 -0
  240. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +41 -0
  241. package/projects/tuki/widgets/users-list/ng-package.json +6 -0
  242. package/projects/tuki/widgets/users-list/src/app.constants.ts +54 -0
  243. package/projects/tuki/widgets/users-list/src/assets/icons/close_icon_modal.svg +3 -0
  244. package/projects/tuki/widgets/users-list/src/assets/icons/icon_user.svg +1 -0
  245. package/projects/tuki/widgets/users-list/src/assets/icons/move_user_to_another_location.svg +14 -0
  246. package/projects/tuki/widgets/users-list/src/assets/icons/white-close-icon.svg +3 -0
  247. package/projects/tuki/widgets/users-list/src/classes/app-location.ts +36 -0
  248. package/projects/tuki/widgets/users-list/src/classes/device.ts +225 -0
  249. package/projects/tuki/widgets/users-list/src/classes/line.ts +144 -0
  250. package/projects/tuki/widgets/users-list/src/classes/move-user.ts +225 -0
  251. package/projects/tuki/widgets/users-list/src/classes/notification.ts +38 -0
  252. package/projects/tuki/widgets/users-list/src/classes/pagination.ts +18 -0
  253. package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +74 -0
  254. package/projects/tuki/widgets/users-list/src/classes/table-data.ts +6 -0
  255. package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +225 -0
  256. package/projects/tuki/widgets/users-list/src/classes/user-list.ts +47 -0
  257. package/projects/tuki/widgets/users-list/src/classes/user.ts +8 -0
  258. package/projects/tuki/widgets/users-list/src/material.module.ts +94 -0
  259. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.html +37 -0
  260. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.scss +129 -0
  261. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.ts +46 -0
  262. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.html +31 -0
  263. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.scss +20 -0
  264. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.ts +26 -0
  265. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +222 -0
  266. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.scss +239 -0
  267. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +206 -0
  268. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.html +12 -0
  269. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.scss +41 -0
  270. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.ts +36 -0
  271. package/projects/tuki/widgets/users-list/src/services/api-webex.service.ts +14 -0
  272. package/projects/tuki/widgets/users-list/src/services/api.service.ts +90 -0
  273. package/projects/tuki/widgets/users-list/src/services/dns.service.ts +128 -0
  274. package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +11 -0
  275. package/projects/tuki/widgets/users-list/src/services/move-user.service.ts +59 -0
  276. package/projects/tuki/widgets/users-list/src/services/notification.service.ts +68 -0
  277. package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +25 -0
  278. package/projects/tuki/widgets/users-list/src/services/site-settings.service.ts +26 -0
  279. package/projects/tuki/widgets/users-list/src/services/user.service.ts +159 -0
  280. package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +137 -0
  281. package/projects/tuki/widgets/users-list/src/styles/styles.scss +572 -0
  282. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +15 -0
  283. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +103 -0
  284. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +35 -0
  285. package/projects/tuki/widgets/users-list/src/users-list.component.css +4 -0
  286. package/projects/tuki/widgets/users-list/src/users-list.component.css.map +1 -0
  287. package/projects/tuki/widgets/users-list/src/users-list.component.html +86 -0
  288. package/projects/tuki/widgets/users-list/src/users-list.component.scss +572 -0
  289. package/projects/tuki/widgets/users-list/src/users-list.component.ts +312 -0
  290. package/projects/tuki/widgets/users-list/src/users-list.module.ts +63 -0
  291. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css +11 -0
  292. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css.map +1 -0
  293. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +6 -0
  294. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +11 -0
  295. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +13 -0
  296. package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +32 -0
  297. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +33 -0
  298. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +84 -0
  299. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +46 -0
  300. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css +45 -0
  301. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css.map +1 -0
  302. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +26 -0
  303. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +41 -0
  304. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +41 -0
  305. package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +71 -0
  306. package/projects/widgets-playground/src/app/app.component.html +63 -0
  307. package/projects/widgets-playground/src/app/app.component.scss +15 -0
  308. package/projects/widgets-playground/src/app/app.component.spec.ts +31 -0
  309. package/projects/widgets-playground/src/app/app.component.ts +31 -0
  310. package/projects/widgets-playground/src/app/app.module.ts +37 -0
  311. package/projects/widgets-playground/src/assets/.gitkeep +0 -0
  312. package/projects/widgets-playground/src/assets/icons/already_upgraded.png +0 -0
  313. package/projects/widgets-playground/src/assets/icons/check2_icon.png +0 -0
  314. package/projects/widgets-playground/src/assets/icons/check_icon.png +0 -0
  315. package/projects/widgets-playground/src/assets/icons/expand_icon.png +0 -0
  316. package/projects/widgets-playground/src/assets/icons/issue_icon.png +0 -0
  317. package/projects/widgets-playground/src/assets/icons/menu_icon.png +0 -0
  318. package/projects/widgets-playground/src/assets/icons/ready_to_upgrade.png +0 -0
  319. package/projects/widgets-playground/src/assets/icons/search_icon.png +0 -0
  320. package/projects/widgets-playground/src/assets/icons/site.png +0 -0
  321. package/projects/widgets-playground/src/assets/icons/user.png +0 -0
  322. package/projects/widgets-playground/src/assets/icons/warning_icon.png +0 -0
  323. package/projects/widgets-playground/src/favicon.ico +0 -0
  324. package/projects/widgets-playground/src/index.html +13 -0
  325. package/projects/widgets-playground/src/main.ts +7 -0
  326. package/projects/widgets-playground/src/styles.scss +23 -0
  327. package/projects/widgets-playground/tsconfig.app.json +14 -0
  328. package/projects/widgets-playground/tsconfig.spec.json +14 -0
  329. package/proxy.conf.js +23 -0
  330. package/tsconfig.json +46 -0
  331. package/di2mt/api/api.endpoints.d.ts +0 -20
  332. package/di2mt/index.d.ts +0 -5
  333. package/di2mt/shared/components/card/card.component.d.ts +0 -6
  334. package/di2mt/shared/components/chart-card/chart-card.component.d.ts +0 -22
  335. package/di2mt/shared/components/stat-card/stat-card.component.d.ts +0 -14
  336. package/di2mt/shared/components/status-list-card/status-list-card.component.d.ts +0 -7
  337. package/di2mt/shared/components/summary-card/summary-card.component.d.ts +0 -9
  338. package/di2mt/shared/components/table-filters/table-filters.component.d.ts +0 -14
  339. package/di2mt/shared/material.module.d.ts +0 -15
  340. package/di2mt/shared/services/api.service.d.ts +0 -20
  341. package/di2mt/shared/shared.module.d.ts +0 -16
  342. package/di2mt/shared/types/constants.d.ts +0 -7
  343. package/di2mt/shared/types/data-table.d.ts +0 -5
  344. package/di2mt/shared/types/table/filter.d.ts +0 -16
  345. package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +0 -47
  346. package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +0 -12
  347. package/di2mt/widgets/site-upgrade/site-upgrade.service.d.ts +0 -12
  348. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.d.ts +0 -18
  349. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.d.ts +0 -18
  350. package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.d.ts +0 -17
  351. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.d.ts +0 -18
  352. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.d.ts +0 -18
  353. package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.d.ts +0 -14
  354. package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.d.ts +0 -17
  355. package/di2mt/widgets/upgrade-overview/upgrade-overview.module.d.ts +0 -15
  356. package/di2mt/widgets/upgrade-overview/upgrade-overview.service.d.ts +0 -17
  357. package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +0 -48
  358. package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +0 -12
  359. package/di2mt/widgets/user-upgrade/user-upgrade.service.d.ts +0 -14
  360. package/esm2020/di2mt/api/api.endpoints.mjs +0 -21
  361. package/esm2020/di2mt/public-api.mjs +0 -23
  362. package/esm2020/di2mt/shared/components/card/card.component.mjs +0 -13
  363. package/esm2020/di2mt/shared/components/chart-card/chart-card.component.mjs +0 -62
  364. package/esm2020/di2mt/shared/components/index.mjs +0 -7
  365. package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +0 -47
  366. package/esm2020/di2mt/shared/components/status-list-card/status-list-card.component.mjs +0 -17
  367. package/esm2020/di2mt/shared/components/summary-card/summary-card.component.mjs +0 -36
  368. package/esm2020/di2mt/shared/components/table-filters/table-filters.component.mjs +0 -37
  369. package/esm2020/di2mt/shared/material.module.mjs +0 -76
  370. package/esm2020/di2mt/shared/services/api.service.mjs +0 -86
  371. package/esm2020/di2mt/shared/shared.module.mjs +0 -61
  372. package/esm2020/di2mt/shared/types/constants.mjs +0 -12
  373. package/esm2020/di2mt/shared/types/data-table.mjs +0 -2
  374. package/esm2020/di2mt/shared/types/table/filter.mjs +0 -2
  375. package/esm2020/di2mt/tuki-io-tuki-widgets-di2mt.mjs +0 -5
  376. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +0 -179
  377. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +0 -40
  378. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.service.mjs +0 -43
  379. package/esm2020/di2mt/widgets/site-upgrade/types/user-upgrade.mjs +0 -3
  380. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.mjs +0 -61
  381. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.mjs +0 -61
  382. package/esm2020/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.mjs +0 -65
  383. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.mjs +0 -42
  384. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.mjs +0 -42
  385. package/esm2020/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.mjs +0 -61
  386. package/esm2020/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.mjs +0 -71
  387. package/esm2020/di2mt/widgets/upgrade-overview/types/upgrade-overview.mjs +0 -2
  388. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.module.mjs +0 -59
  389. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.service.mjs +0 -82
  390. package/esm2020/di2mt/widgets/user-upgrade/types/user-upgrade.mjs +0 -3
  391. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +0 -194
  392. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +0 -40
  393. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.service.mjs +0 -58
  394. package/esm2020/lib/widgets.component.mjs +0 -22
  395. package/esm2020/lib/widgets.module.mjs +0 -21
  396. package/esm2020/lib/widgets.service.mjs +0 -14
  397. package/esm2020/public-api.mjs +0 -7
  398. package/esm2020/tuki-io-tuki-widgets.mjs +0 -5
  399. package/esm2020/user-device-manage/public-api.mjs +0 -9
  400. package/esm2020/user-device-manage/src/app.constants.mjs +0 -95
  401. package/esm2020/user-device-manage/src/classes/device.mjs +0 -85
  402. package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +0 -2
  403. package/esm2020/user-device-manage/src/classes/line-association.mjs +0 -121
  404. package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +0 -10
  405. package/esm2020/user-device-manage/src/classes/line-directory.mjs +0 -27
  406. package/esm2020/user-device-manage/src/classes/line.mjs +0 -18
  407. package/esm2020/user-device-manage/src/classes/notification.mjs +0 -32
  408. package/esm2020/user-device-manage/src/classes/recording-options.mjs +0 -7
  409. package/esm2020/user-device-manage/src/classes/simplified-user.mjs +0 -111
  410. package/esm2020/user-device-manage/src/classes/site-defaults.mjs +0 -21
  411. package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +0 -32
  412. package/esm2020/user-device-manage/src/classes/types.mjs +0 -24
  413. package/esm2020/user-device-manage/src/common-functions.mjs +0 -19
  414. package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +0 -34
  415. package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +0 -31
  416. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +0 -16
  417. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +0 -64
  418. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +0 -179
  419. package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +0 -24
  420. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +0 -335
  421. package/esm2020/user-device-manage/src/environments/environment.mjs +0 -11
  422. package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +0 -36
  423. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
  424. package/esm2020/user-device-manage/src/material.module.mjs +0 -192
  425. package/esm2020/user-device-manage/src/notifications/notification.component.mjs +0 -35
  426. package/esm2020/user-device-manage/src/services/api.service.mjs +0 -79
  427. package/esm2020/user-device-manage/src/services/device.service.mjs +0 -83
  428. package/esm2020/user-device-manage/src/services/dns.service.mjs +0 -104
  429. package/esm2020/user-device-manage/src/services/line.service.mjs +0 -76
  430. package/esm2020/user-device-manage/src/services/notification.service.mjs +0 -62
  431. package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  432. package/esm2020/user-device-manage/src/services/site-settings.service.mjs +0 -70
  433. package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +0 -197
  434. package/esm2020/user-device-manage/src/services/user.service.mjs +0 -243
  435. package/esm2020/user-device-manage/src/services/utils.service.mjs +0 -87
  436. package/esm2020/user-device-manage/src/services/validation.service.mjs +0 -760
  437. package/esm2020/user-device-manage/src/user-device-manage.module.mjs +0 -107
  438. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +0 -14
  439. package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +0 -5
  440. package/esm2020/user-manage/public-api.mjs +0 -7
  441. package/esm2020/user-manage/src/app.constants.mjs +0 -50
  442. package/esm2020/user-manage/src/classes/device.mjs +0 -37
  443. package/esm2020/user-manage/src/classes/line-association-interface.mjs +0 -2
  444. package/esm2020/user-manage/src/classes/line-association.mjs +0 -110
  445. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +0 -10
  446. package/esm2020/user-manage/src/classes/line-directory.mjs +0 -27
  447. package/esm2020/user-manage/src/classes/line.mjs +0 -18
  448. package/esm2020/user-manage/src/classes/notification.mjs +0 -32
  449. package/esm2020/user-manage/src/classes/pagination.mjs +0 -8
  450. package/esm2020/user-manage/src/classes/recording-options.mjs +0 -7
  451. package/esm2020/user-manage/src/classes/simplified-user.mjs +0 -109
  452. package/esm2020/user-manage/src/classes/table-data.mjs +0 -2
  453. package/esm2020/user-manage/src/classes/translation-pattern.mjs +0 -32
  454. package/esm2020/user-manage/src/classes/user-list.mjs +0 -10
  455. package/esm2020/user-manage/src/common-functions.mjs +0 -19
  456. package/esm2020/user-manage/src/device-list/device-list.component.mjs +0 -24
  457. package/esm2020/user-manage/src/environments/environment.mjs +0 -11
  458. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +0 -36
  459. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
  460. package/esm2020/user-manage/src/material.module.mjs +0 -188
  461. package/esm2020/user-manage/src/notifications/notification.component.mjs +0 -35
  462. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +0 -25
  463. package/esm2020/user-manage/src/services/api.service.mjs +0 -79
  464. package/esm2020/user-manage/src/services/dns.service.mjs +0 -110
  465. package/esm2020/user-manage/src/services/line.service.mjs +0 -34
  466. package/esm2020/user-manage/src/services/notification.service.mjs +0 -62
  467. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  468. package/esm2020/user-manage/src/services/site-settings.service.mjs +0 -36
  469. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +0 -197
  470. package/esm2020/user-manage/src/services/user.service.mjs +0 -207
  471. package/esm2020/user-manage/src/services/users-search.service.mjs +0 -50
  472. package/esm2020/user-manage/src/services/utils.service.mjs +0 -73
  473. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +0 -65
  474. package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +0 -78
  475. package/esm2020/user-manage/src/user-info/user-info.component.mjs +0 -20
  476. package/esm2020/user-manage/src/user-manage-widget.component.mjs +0 -208
  477. package/esm2020/user-manage/src/user-manage.module.mjs +0 -99
  478. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
  479. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +0 -43
  480. package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +0 -5
  481. package/esm2020/users-list/public-api.mjs +0 -9
  482. package/esm2020/users-list/src/app.constants.mjs +0 -54
  483. package/esm2020/users-list/src/classes/app-location.mjs +0 -32
  484. package/esm2020/users-list/src/classes/device.mjs +0 -7
  485. package/esm2020/users-list/src/classes/line.mjs +0 -18
  486. package/esm2020/users-list/src/classes/move-user.mjs +0 -178
  487. package/esm2020/users-list/src/classes/notification.mjs +0 -31
  488. package/esm2020/users-list/src/classes/pagination.mjs +0 -8
  489. package/esm2020/users-list/src/classes/simlified-user.mjs +0 -50
  490. package/esm2020/users-list/src/classes/table-data.mjs +0 -2
  491. package/esm2020/users-list/src/classes/user-list.mjs +0 -14
  492. package/esm2020/users-list/src/material.module.mjs +0 -209
  493. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +0 -38
  494. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +0 -23
  495. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +0 -189
  496. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +0 -38
  497. package/esm2020/users-list/src/services/api-webex.service.mjs +0 -18
  498. package/esm2020/users-list/src/services/api.service.mjs +0 -78
  499. package/esm2020/users-list/src/services/dns.service.mjs +0 -120
  500. package/esm2020/users-list/src/services/events-communication.service.mjs +0 -14
  501. package/esm2020/users-list/src/services/move-user.service.mjs +0 -53
  502. package/esm2020/users-list/src/services/notification.service.mjs +0 -62
  503. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +0 -25
  504. package/esm2020/users-list/src/services/site-settings.service.mjs +0 -27
  505. package/esm2020/users-list/src/services/user.service.mjs +0 -142
  506. package/esm2020/users-list/src/services/users-search.service.mjs +0 -122
  507. package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +0 -34
  508. package/esm2020/users-list/src/users-list.component.mjs +0 -287
  509. package/esm2020/users-list/src/users-list.module.mjs +0 -92
  510. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +0 -14
  511. package/esm2020/users-list/src/utils/common-functions.mjs +0 -32
  512. package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +0 -43
  513. package/esm2020/users-list/src/utils/utils.service.mjs +0 -73
  514. package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +0 -5
  515. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +0 -1438
  516. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
  517. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3402
  518. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
  519. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +0 -2124
  520. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  521. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +0 -1994
  522. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  523. package/fesm2015/tuki-io-tuki-widgets.mjs +0 -63
  524. package/fesm2015/tuki-io-tuki-widgets.mjs.map +0 -1
  525. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +0 -1429
  526. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
  527. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3364
  528. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
  529. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +0 -2107
  530. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  531. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +0 -1973
  532. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  533. package/fesm2020/tuki-io-tuki-widgets.mjs +0 -63
  534. package/fesm2020/tuki-io-tuki-widgets.mjs.map +0 -1
  535. package/index.d.ts +0 -5
  536. package/lib/widgets.component.d.ts +0 -8
  537. package/lib/widgets.module.d.ts +0 -7
  538. package/lib/widgets.service.d.ts +0 -6
  539. package/user-device-manage/index.d.ts +0 -5
  540. package/user-device-manage/src/app.constants.d.ts +0 -74
  541. package/user-device-manage/src/classes/device.d.ts +0 -233
  542. package/user-device-manage/src/classes/line-association-interface.d.ts +0 -45
  543. package/user-device-manage/src/classes/line-association.d.ts +0 -62
  544. package/user-device-manage/src/classes/line-call-info-display.d.ts +0 -11
  545. package/user-device-manage/src/classes/line-directory.d.ts +0 -15
  546. package/user-device-manage/src/classes/line.d.ts +0 -140
  547. package/user-device-manage/src/classes/notification.d.ts +0 -18
  548. package/user-device-manage/src/classes/recording-options.d.ts +0 -5
  549. package/user-device-manage/src/classes/simplified-user.d.ts +0 -52
  550. package/user-device-manage/src/classes/site-defaults.d.ts +0 -146
  551. package/user-device-manage/src/classes/translation-pattern.d.ts +0 -19
  552. package/user-device-manage/src/classes/types.d.ts +0 -19
  553. package/user-device-manage/src/common-functions.d.ts +0 -1
  554. package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +0 -20
  555. package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +0 -15
  556. package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +0 -7
  557. package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +0 -24
  558. package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +0 -89
  559. package/user-device-manage/src/device-list/device-list.component.d.ts +0 -11
  560. package/user-device-manage/src/device-manage-widget.component.d.ts +0 -71
  561. package/user-device-manage/src/environments/environment.d.ts +0 -9
  562. package/user-device-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  563. package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
  564. package/user-device-manage/src/material.module.d.ts +0 -29
  565. package/user-device-manage/src/notifications/notification.component.d.ts +0 -19
  566. package/user-device-manage/src/services/api.service.d.ts +0 -20
  567. package/user-device-manage/src/services/device.service.d.ts +0 -21
  568. package/user-device-manage/src/services/dns.service.d.ts +0 -14
  569. package/user-device-manage/src/services/line.service.d.ts +0 -33
  570. package/user-device-manage/src/services/notification.service.d.ts +0 -18
  571. package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  572. package/user-device-manage/src/services/site-settings.service.d.ts +0 -25
  573. package/user-device-manage/src/services/sorting-utils.service.d.ts +0 -26
  574. package/user-device-manage/src/services/user.service.d.ts +0 -51
  575. package/user-device-manage/src/services/utils.service.d.ts +0 -10
  576. package/user-device-manage/src/services/validation.service.d.ts +0 -165
  577. package/user-device-manage/src/user-device-manage.module.d.ts +0 -22
  578. package/user-device-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  579. package/user-manage/index.d.ts +0 -5
  580. package/user-manage/src/app.constants.d.ts +0 -29
  581. package/user-manage/src/classes/device.d.ts +0 -203
  582. package/user-manage/src/classes/line-association-interface.d.ts +0 -40
  583. package/user-manage/src/classes/line-association.d.ts +0 -55
  584. package/user-manage/src/classes/line-call-info-display.d.ts +0 -11
  585. package/user-manage/src/classes/line-directory.d.ts +0 -16
  586. package/user-manage/src/classes/line.d.ts +0 -140
  587. package/user-manage/src/classes/notification.d.ts +0 -18
  588. package/user-manage/src/classes/pagination.d.ts +0 -13
  589. package/user-manage/src/classes/recording-options.d.ts +0 -5
  590. package/user-manage/src/classes/simplified-user.d.ts +0 -50
  591. package/user-manage/src/classes/table-data.d.ts +0 -5
  592. package/user-manage/src/classes/translation-pattern.d.ts +0 -18
  593. package/user-manage/src/classes/user-list.d.ts +0 -34
  594. package/user-manage/src/common-functions.d.ts +0 -1
  595. package/user-manage/src/device-list/device-list.component.d.ts +0 -11
  596. package/user-manage/src/environments/environment.d.ts +0 -9
  597. package/user-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  598. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
  599. package/user-manage/src/material.module.d.ts +0 -28
  600. package/user-manage/src/notifications/notification.component.d.ts +0 -19
  601. package/user-manage/src/removeKynFromIBM.service.d.ts +0 -8
  602. package/user-manage/src/services/api.service.d.ts +0 -21
  603. package/user-manage/src/services/dns.service.d.ts +0 -14
  604. package/user-manage/src/services/line.service.d.ts +0 -17
  605. package/user-manage/src/services/notification.service.d.ts +0 -18
  606. package/user-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  607. package/user-manage/src/services/site-settings.service.d.ts +0 -9
  608. package/user-manage/src/services/sorting-utils.service.d.ts +0 -26
  609. package/user-manage/src/services/user.service.d.ts +0 -43
  610. package/user-manage/src/services/users-search.service.d.ts +0 -25
  611. package/user-manage/src/services/utils.service.d.ts +0 -9
  612. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +0 -24
  613. package/user-manage/src/user-calling/user-calling.component.d.ts +0 -30
  614. package/user-manage/src/user-info/user-info.component.d.ts +0 -9
  615. package/user-manage/src/user-manage-widget.component.d.ts +0 -45
  616. package/user-manage/src/user-manage.module.d.ts +0 -21
  617. package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  618. package/user-manage/src/utils/pagination/pagination.component.d.ts +0 -18
  619. package/users-list/index.d.ts +0 -5
  620. package/users-list/src/app.constants.d.ts +0 -36
  621. package/users-list/src/classes/app-location.d.ts +0 -17
  622. package/users-list/src/classes/device.d.ts +0 -224
  623. package/users-list/src/classes/line.d.ts +0 -140
  624. package/users-list/src/classes/move-user.d.ts +0 -85
  625. package/users-list/src/classes/notification.d.ts +0 -18
  626. package/users-list/src/classes/pagination.d.ts +0 -13
  627. package/users-list/src/classes/simlified-user.d.ts +0 -25
  628. package/users-list/src/classes/table-data.d.ts +0 -5
  629. package/users-list/src/classes/user-list.d.ts +0 -36
  630. package/users-list/src/material.module.d.ts +0 -31
  631. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.d.ts +0 -21
  632. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.d.ts +0 -12
  633. package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +0 -55
  634. package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +0 -17
  635. package/users-list/src/services/api-webex.service.d.ts +0 -8
  636. package/users-list/src/services/api.service.d.ts +0 -21
  637. package/users-list/src/services/dns.service.d.ts +0 -18
  638. package/users-list/src/services/events-communication.service.d.ts +0 -8
  639. package/users-list/src/services/move-user.service.d.ts +0 -17
  640. package/users-list/src/services/notification.service.d.ts +0 -18
  641. package/users-list/src/services/removeKynFromIBM.service.d.ts +0 -8
  642. package/users-list/src/services/site-settings.service.d.ts +0 -11
  643. package/users-list/src/services/user.service.d.ts +0 -35
  644. package/users-list/src/services/users-search.service.d.ts +0 -34
  645. package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +0 -20
  646. package/users-list/src/users-list.component.d.ts +0 -60
  647. package/users-list/src/users-list.module.d.ts +0 -18
  648. package/users-list/src/utils/app-loader/app-loader.d.ts +0 -6
  649. package/users-list/src/utils/common-functions.d.ts +0 -2
  650. package/users-list/src/utils/pagination/pagination.component.d.ts +0 -18
  651. package/users-list/src/utils/utils.service.d.ts +0 -9
  652. /package/{di2mt → projects/tuki/widgets/di2mt}/README.md +0 -0
  653. /package/{user-device-manage/public-api.d.ts → projects/tuki/widgets/user-device-manage/public-api.ts} +0 -0
  654. /package/{user-manage/public-api.d.ts → projects/tuki/widgets/user-manage/public-api.ts} +0 -0
  655. /package/{users-list/public-api.d.ts → projects/tuki/widgets/users-list/public-api.ts} +0 -0
@@ -1,179 +0,0 @@
1
- import { SelectionModel } from "@angular/cdk/collections";
2
- import { Component, inject, Input } from "@angular/core";
3
- import { MatTableDataSource } from "@angular/material/table";
4
- import { Subject } from "rxjs";
5
- import { takeUntil } from "rxjs";
6
- import { SiteUpgradeService } from "../site-upgrade.service";
7
- import { STATUS_ENTRIES } from "../../../shared/types/constants";
8
- import { APIService } from "../../../shared/services/api.service";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common";
11
- import * as i2 from "../../../shared/components/summary-card/summary-card.component";
12
- import * as i3 from "../../../shared/components/table-filters/table-filters.component";
13
- import * as i4 from "@angular/material/table";
14
- import * as i5 from "@angular/material/button";
15
- export class SiteUpgradeDataTableComponent {
16
- constructor() {
17
- this.siteUpgradeService = inject(SiteUpgradeService);
18
- this.apiService = inject(APIService);
19
- this.destroy$ = new Subject();
20
- this.STATUS_ENTRIES = STATUS_ENTRIES;
21
- this.displayedColumns = ['site', 'ready users', 'upgraded users', 'location mapping', 'pstn trunk', 'site upgrade status'];
22
- this.selection = new SelectionModel(true, []);
23
- this.filters = [];
24
- this.activeFilters = {};
25
- this.statusCounts = {};
26
- }
27
- ngOnInit() {
28
- this.apiService.token = this.token;
29
- this.siteUpgradeService.getSiteUpgradeRecords()
30
- .pipe(takeUntil(this.destroy$))
31
- .subscribe((records) => {
32
- this.data = new MatTableDataSource(records);
33
- this.setupCustomFilter();
34
- this.initializeFilters(records);
35
- });
36
- this.siteUpgradeService.getSiteUpgradeStatusCounts()
37
- .pipe(takeUntil(this.destroy$))
38
- .subscribe((statusCounts) => {
39
- this.statusCounts['Ready'] = statusCounts['READY'] || 0;
40
- this.statusCounts['Not Ready'] = statusCounts['NOT_READY'] || 0;
41
- this.statusCounts['Completed'] = statusCounts['COMPLETED'] || 0;
42
- this.statusCounts['Failed'] = statusCounts['FAILED'] || 0;
43
- });
44
- }
45
- initializeFilters(records) {
46
- // Extract unique sites from actual data
47
- const uniqueSites = [...new Set(records.map(record => record.siteName))];
48
- const siteOptions = uniqueSites.map(site => ({
49
- label: site,
50
- value: site.toLowerCase().replace(/\s+/g, '-')
51
- }));
52
- // Extract unique statuses from actual data
53
- const uniqueStatuses = [...new Set(records.map(record => record.upgradeStatus))];
54
- const statusOptions = uniqueStatuses.map(status => ({
55
- label: STATUS_ENTRIES[status],
56
- value: status.toLowerCase().replace(/\s+/g, '-')
57
- }));
58
- this.filters = [
59
- {
60
- id: 'sites',
61
- type: 'select',
62
- columnKey: 'Site',
63
- placeholder: 'Sites',
64
- options: siteOptions
65
- },
66
- {
67
- id: 'status',
68
- type: 'select',
69
- columnKey: 'Site Upgrade Status',
70
- placeholder: 'Upgrade Status',
71
- options: statusOptions
72
- }
73
- ];
74
- }
75
- onFilter(filterEvent) {
76
- const { key, value } = filterEvent;
77
- let filterValue;
78
- if (value && value.value !== undefined) {
79
- filterValue = value.value;
80
- }
81
- else if (value && value.target) {
82
- filterValue = value.target.value;
83
- }
84
- else {
85
- filterValue = value;
86
- }
87
- // Handle "All" option or empty values - remove the filter
88
- if (filterValue === 'all' || !filterValue || filterValue === '') {
89
- delete this.activeFilters[key];
90
- }
91
- else {
92
- this.activeFilters[key] = filterValue;
93
- }
94
- this.applyFilters();
95
- }
96
- setupCustomFilter() {
97
- this.data.filterPredicate = (data, filter) => {
98
- const filters = JSON.parse(filter || '{}');
99
- for (const [key, value] of Object.entries(filters)) {
100
- if (!value)
101
- continue;
102
- switch (key) {
103
- case 'Site':
104
- if (data.siteName !== this.getSiteNameFromValue(value)) {
105
- return false;
106
- }
107
- break;
108
- case 'Site Upgrade Status':
109
- if (!this.matchesUpgradeStatus(data.upgradeStatus, value)) {
110
- return false;
111
- }
112
- break;
113
- }
114
- }
115
- return true;
116
- };
117
- }
118
- applyFilters() {
119
- this.data.filter = JSON.stringify(this.activeFilters);
120
- }
121
- getSiteNameFromValue(value) {
122
- // Since we're now using actual site names, just convert back from slug format
123
- return value.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
124
- }
125
- matchesUpgradeStatus(status, filterValue) {
126
- // Handle direct status matching for cleaner implementation
127
- return status.toLowerCase().replace(/\s+/g, '-') === filterValue.toLowerCase();
128
- }
129
- get filteredDataCount() {
130
- return this.data?.filteredData?.length || 0;
131
- }
132
- /** Whether the number of selected elements matches the total number of rows. */
133
- isAllSelected() {
134
- const numSelected = this.selection.selected.length;
135
- const numRows = this.data?.data.length || 0;
136
- return numSelected === numRows;
137
- }
138
- /** Selects all rows if they are not all selected; otherwise clear selection. */
139
- masterToggle() {
140
- this.isAllSelected() ?
141
- this.selection.clear() :
142
- this.data?.data.forEach(row => this.selection.select(row));
143
- }
144
- getLocationMappingClass(locationMapping) {
145
- return locationMapping ? 'success' : 'error';
146
- }
147
- getSiteUpgradeStatusClass(status) {
148
- switch (status.toLowerCase()) {
149
- case 'ready':
150
- return 'ready';
151
- case 'partial ready':
152
- return 'partial-ready';
153
- case 'completed':
154
- return 'completed';
155
- case 'failed':
156
- return 'failed';
157
- case 'not ready':
158
- return 'not-ready';
159
- default:
160
- return 'not-ready';
161
- }
162
- }
163
- upgradeSite(site) {
164
- this.siteUpgradeService.upgradeSite(site);
165
- }
166
- ngOnDestroy() {
167
- this.destroy$.next();
168
- this.destroy$.complete();
169
- }
170
- }
171
- SiteUpgradeDataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeDataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
172
- SiteUpgradeDataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SiteUpgradeDataTableComponent, selector: "tk-site-upgrade-data-table", inputs: { token: "token" }, ngImport: i0, template: "<div class=\"wrapper\">\r\n <div class=\"site-upgrade-status-wrapper\">\r\n <tk-summary-card [description]=\"'Sites are ready to upgrade'\" [value]=\"statusCounts['Ready']\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites are not ready'\" [value]=\"statusCounts['Not Ready']\" [status]=\"'Not Ready'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites failed to upgrade'\" [value]=\"statusCounts['Failed']\" [status]=\"'Failed'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Successfully upgraded'\" [value]=\"statusCounts['Completed']\" [status]=\"'Completed'\"></tk-summary-card>\r\n </div>\r\n <div class=\"table-action-panel\">\r\n <tk-table-filters *ngIf=\"filters.length > 0\" [filters]=\"filters\" (filter)=\"onFilter($event)\"></tk-table-filters>\r\n <div class=\"action-wrapper\">\r\n <span>{{filteredDataCount}} Sites</span>\r\n </div>\r\n </div>\r\n <table mat-table [dataSource]=\"data\" class=\"site-upgrade-table\">\r\n\r\n <!-- Site Column -->\r\n <ng-container matColumnDef=\"site\">\r\n <th mat-header-cell *matHeaderCellDef>Site</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"site-info\">\r\n <span class=\"site-indicator\"></span>\r\n {{element.siteName}}\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Ready Users Column -->\r\n <ng-container matColumnDef=\"ready users\">\r\n <th mat-header-cell *matHeaderCellDef>Ready Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{element.totalReadyUsers}}/{{element.totalUsers}}</div>\r\n <div class=\"user-label\">Ready/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Upgraded Users Column --> \r\n <ng-container matColumnDef=\"upgraded users\">\r\n <th mat-header-cell *matHeaderCellDef>Upgraded Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{element.totalUpgradedUsers}}/{{element.totalUsers}}</div>\r\n <div class=\"user-label\">Upgraded/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Location Mapping Column -->\r\n <ng-container matColumnDef=\"location mapping\">\r\n <th mat-header-cell *matHeaderCellDef>Location Mapping</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.locationMapping\" src=\"/assets/icons/check2_icon.png\" alt=\"Location Mapping Enabled\"/>\r\n <img *ngIf=\"!element.locationMapping\" src=\"/assets/icons/issue_icon.png\" alt=\"Location Mapping Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- PSTN Trunk Column -->\r\n <ng-container matColumnDef=\"pstn trunk\">\r\n <th mat-header-cell *matHeaderCellDef>PSTN Trunk</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.PSTNTrunk\" src=\"/assets/icons/check2_icon.png\" alt=\"PSTN Trunk Enabled\"/>\r\n <img *ngIf=\"!element.PSTNTrunk\" src=\"/assets/icons/issue_icon.png\" alt=\"PSTN Trunk Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Site Upgrade Status Column -->\r\n <ng-container matColumnDef=\"site upgrade status\">\r\n <th mat-header-cell *matHeaderCellDef>Site Upgrade Status</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"upgrade-status-cell\">\r\n <ng-container *ngIf=\"STATUS_ENTRIES[element.upgradeStatus] === 'Ready'; else statusBlock\">\r\n <button mat-button color=\"primary\" class=\"upgrade-button\" (click)=\"upgradeSite(element)\">Upgrade</button>\r\n </ng-container>\r\n <ng-template #statusBlock>\r\n <div class=\"status-info\">\r\n <span class=\"status-indicator\" [ngClass]=\"getSiteUpgradeStatusClass(element.upgradeStatus)\"></span>\r\n <span>{{ STATUS_ENTRIES[element.upgradeStatus] }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n</table>\r\n</div>", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.wrapper{display:flex;flex-direction:column;gap:1rem}.site-upgrade-status-wrapper{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.site-upgrade-table{font-family:Inter,Inter,sans-serif;width:100%;background:white;border-radius:8px;overflow:hidden;font-size:14px}.site-upgrade-table .mat-header-row{font-size:12px;height:35px}.site-upgrade-table .mat-cell{border-bottom:1px solid #d6d6d6}.site-upgrade-table .mat-header-cell{border-bottom:1px solid #afafaf}.site-upgrade-table .site-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .site-info .site-indicator{width:8px;height:8px;border-radius:50%;background-color:#1170cf}.site-upgrade-table .device-info{display:flex;align-items:center;gap:12px}.site-upgrade-table .device-info .device-name-wrapper{display:flex;align-items:center;gap:4px}.site-upgrade-table .device-info .device-name-wrapper .device-name{font-weight:500;color:#212121}.site-upgrade-table .device-info .device-name-wrapper .device-indicator{width:8px;height:8px;border-radius:50%;background-color:#f8cd00}.site-upgrade-table .device-info .device-model{font-size:12px;color:#757575}.site-upgrade-table .status-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .status-info .status-indicator{width:8px;height:8px;border-radius:50%}.site-upgrade-table .status-info .status-indicator.ready{background-color:#1d805f}.site-upgrade-table .status-info .status-indicator.partial-ready{background-color:#f8cd00}.site-upgrade-table .status-info .status-indicator.not-ready{background-color:#9e9e9e}.site-upgrade-table .status-info .status-indicator.completed{background-color:#1d805f}.site-upgrade-table .status-info .status-indicator.failed{background-color:#f23933}.site-upgrade-table .dependencies-text{font-size:12px;background-color:#ffe9e9;padding:.25rem .5rem;border-radius:3px;color:#000}.site-upgrade-table .upgrade-status-cell{display:flex;align-items:center;justify-content:flex-start}.site-upgrade-table .upgrade-button{border:1px solid #08599c;color:#08599c;background:white;border-radius:20px;font-size:14px;font-style:normal;font-weight:500;height:32px;display:flex;align-items:center;justify-content:center}.site-upgrade-table .upgrade-button:hover{background-color:#e3f2fd}.site-upgrade-table .user-count-info .user-count{font-weight:500;color:#212121}.site-upgrade-table .user-count-info .user-label{font-size:12px;color:#757575}.site-upgrade-table .status-icon-cell{display:flex;align-items:center}.action-wrapper{display:flex;align-items:center;flex:1;justify-content:space-between;gap:1rem}.table-action-panel{width:100%;display:flex;justify-content:flex-start;align-items:center;gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SummaryCardComponent, selector: "tk-summary-card", inputs: ["value", "status", "description"] }, { kind: "component", type: i3.TableFiltersComponent, selector: "tk-table-filters", inputs: ["filters"], outputs: ["filter"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeDataTableComponent, decorators: [{
174
- type: Component,
175
- args: [{ selector: 'tk-site-upgrade-data-table', template: "<div class=\"wrapper\">\r\n <div class=\"site-upgrade-status-wrapper\">\r\n <tk-summary-card [description]=\"'Sites are ready to upgrade'\" [value]=\"statusCounts['Ready']\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites are not ready'\" [value]=\"statusCounts['Not Ready']\" [status]=\"'Not Ready'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites failed to upgrade'\" [value]=\"statusCounts['Failed']\" [status]=\"'Failed'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Successfully upgraded'\" [value]=\"statusCounts['Completed']\" [status]=\"'Completed'\"></tk-summary-card>\r\n </div>\r\n <div class=\"table-action-panel\">\r\n <tk-table-filters *ngIf=\"filters.length > 0\" [filters]=\"filters\" (filter)=\"onFilter($event)\"></tk-table-filters>\r\n <div class=\"action-wrapper\">\r\n <span>{{filteredDataCount}} Sites</span>\r\n </div>\r\n </div>\r\n <table mat-table [dataSource]=\"data\" class=\"site-upgrade-table\">\r\n\r\n <!-- Site Column -->\r\n <ng-container matColumnDef=\"site\">\r\n <th mat-header-cell *matHeaderCellDef>Site</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"site-info\">\r\n <span class=\"site-indicator\"></span>\r\n {{element.siteName}}\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Ready Users Column -->\r\n <ng-container matColumnDef=\"ready users\">\r\n <th mat-header-cell *matHeaderCellDef>Ready Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{element.totalReadyUsers}}/{{element.totalUsers}}</div>\r\n <div class=\"user-label\">Ready/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Upgraded Users Column --> \r\n <ng-container matColumnDef=\"upgraded users\">\r\n <th mat-header-cell *matHeaderCellDef>Upgraded Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{element.totalUpgradedUsers}}/{{element.totalUsers}}</div>\r\n <div class=\"user-label\">Upgraded/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Location Mapping Column -->\r\n <ng-container matColumnDef=\"location mapping\">\r\n <th mat-header-cell *matHeaderCellDef>Location Mapping</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.locationMapping\" src=\"/assets/icons/check2_icon.png\" alt=\"Location Mapping Enabled\"/>\r\n <img *ngIf=\"!element.locationMapping\" src=\"/assets/icons/issue_icon.png\" alt=\"Location Mapping Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- PSTN Trunk Column -->\r\n <ng-container matColumnDef=\"pstn trunk\">\r\n <th mat-header-cell *matHeaderCellDef>PSTN Trunk</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.PSTNTrunk\" src=\"/assets/icons/check2_icon.png\" alt=\"PSTN Trunk Enabled\"/>\r\n <img *ngIf=\"!element.PSTNTrunk\" src=\"/assets/icons/issue_icon.png\" alt=\"PSTN Trunk Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Site Upgrade Status Column -->\r\n <ng-container matColumnDef=\"site upgrade status\">\r\n <th mat-header-cell *matHeaderCellDef>Site Upgrade Status</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"upgrade-status-cell\">\r\n <ng-container *ngIf=\"STATUS_ENTRIES[element.upgradeStatus] === 'Ready'; else statusBlock\">\r\n <button mat-button color=\"primary\" class=\"upgrade-button\" (click)=\"upgradeSite(element)\">Upgrade</button>\r\n </ng-container>\r\n <ng-template #statusBlock>\r\n <div class=\"status-info\">\r\n <span class=\"status-indicator\" [ngClass]=\"getSiteUpgradeStatusClass(element.upgradeStatus)\"></span>\r\n <span>{{ STATUS_ENTRIES[element.upgradeStatus] }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n</table>\r\n</div>", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.wrapper{display:flex;flex-direction:column;gap:1rem}.site-upgrade-status-wrapper{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.site-upgrade-table{font-family:Inter,Inter,sans-serif;width:100%;background:white;border-radius:8px;overflow:hidden;font-size:14px}.site-upgrade-table .mat-header-row{font-size:12px;height:35px}.site-upgrade-table .mat-cell{border-bottom:1px solid #d6d6d6}.site-upgrade-table .mat-header-cell{border-bottom:1px solid #afafaf}.site-upgrade-table .site-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .site-info .site-indicator{width:8px;height:8px;border-radius:50%;background-color:#1170cf}.site-upgrade-table .device-info{display:flex;align-items:center;gap:12px}.site-upgrade-table .device-info .device-name-wrapper{display:flex;align-items:center;gap:4px}.site-upgrade-table .device-info .device-name-wrapper .device-name{font-weight:500;color:#212121}.site-upgrade-table .device-info .device-name-wrapper .device-indicator{width:8px;height:8px;border-radius:50%;background-color:#f8cd00}.site-upgrade-table .device-info .device-model{font-size:12px;color:#757575}.site-upgrade-table .status-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .status-info .status-indicator{width:8px;height:8px;border-radius:50%}.site-upgrade-table .status-info .status-indicator.ready{background-color:#1d805f}.site-upgrade-table .status-info .status-indicator.partial-ready{background-color:#f8cd00}.site-upgrade-table .status-info .status-indicator.not-ready{background-color:#9e9e9e}.site-upgrade-table .status-info .status-indicator.completed{background-color:#1d805f}.site-upgrade-table .status-info .status-indicator.failed{background-color:#f23933}.site-upgrade-table .dependencies-text{font-size:12px;background-color:#ffe9e9;padding:.25rem .5rem;border-radius:3px;color:#000}.site-upgrade-table .upgrade-status-cell{display:flex;align-items:center;justify-content:flex-start}.site-upgrade-table .upgrade-button{border:1px solid #08599c;color:#08599c;background:white;border-radius:20px;font-size:14px;font-style:normal;font-weight:500;height:32px;display:flex;align-items:center;justify-content:center}.site-upgrade-table .upgrade-button:hover{background-color:#e3f2fd}.site-upgrade-table .user-count-info .user-count{font-weight:500;color:#212121}.site-upgrade-table .user-count-info .user-label{font-size:12px;color:#757575}.site-upgrade-table .status-icon-cell{display:flex;align-items:center}.action-wrapper{display:flex;align-items:center;flex:1;justify-content:space-between;gap:1rem}.table-action-panel{width:100%;display:flex;justify-content:flex-start;align-items:center;gap:1rem}\n"] }]
176
- }], ctorParameters: function () { return []; }, propDecorators: { token: [{
177
- type: Input
178
- }] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS11cGdyYWRlLWRhdGEtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2RpMm10L3dpZGdldHMvc2l0ZS11cGdyYWRlL3NpdGUtdXBncmFkZS1kYXRhLXRhYmxlL3NpdGUtdXBncmFkZS1kYXRhLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3NpdGUtdXBncmFkZS9zaXRlLXVwZ3JhZGUtZGF0YS10YWJsZS9zaXRlLXVwZ3JhZGUtZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFLN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7QUFRbEUsTUFBTSxPQUFPLDZCQUE2QjtJQWlCdEM7UUFoQlMsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDeEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEs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Z0JBQ1osT0FBTyxXQUFXLENBQUM7WUFDdkI7Z0JBQ0ksT0FBTyxXQUFXLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQXVCO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7MkhBdExRLDZCQUE2QjsrR0FBN0IsNkJBQTZCLDhGQ25CMUMseW9KQTJGTTs0RkR4RU8sNkJBQTZCO2tCQU56QyxTQUFTOytCQUNJLDRCQUE0QjswRUFXN0IsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIGluamVjdCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC90eXBlcy9kYXRhLXRhYmxlXCI7XHJcbmltcG9ydCB7IFRhYmxlRmlsdGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC90eXBlcy90YWJsZS9maWx0ZXJcIjtcclxuaW1wb3J0IHsgU2l0ZVVwZ3JhZGVSZWNvcmQgfSBmcm9tIFwiLi4vdHlwZXMvdXNlci11cGdyYWRlXCI7XHJcbmltcG9ydCB7IFVwZ3JhZGVPdmVydmlld1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vdXBncmFkZS1vdmVydmlldy91cGdyYWRlLW92ZXJ2aWV3LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFNpdGVVcGdyYWRlU2VydmljZSB9IGZyb20gXCIuLi9zaXRlLXVwZ3JhZGUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTVEFUVVNfRU5UUklFUyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdHlwZXMvY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2FwaS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndGstc2l0ZS11cGdyYWRlLWRhdGEtdGFibGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpdGUtdXBncmFkZS1kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NpdGUtdXBncmFkZS1kYXRhLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICAvLyBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb21cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpdGVVcGdyYWRlRGF0YVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgcmVhZG9ubHkgc2l0ZVVwZ3JhZGVTZXJ2aWNlID0gaW5qZWN0KFNpdGVVcGdyYWRlU2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQVBJU2VydmljZSk7XHJcbiAgICByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICByZWFkb25seSBTVEFUVVNfRU5UUklFUyA9IFNUQVRVU19FTlRSSUVTXHJcblxyXG4gICAgQElucHV0KCkgdG9rZW4hOiBzdHJpbmc7XHJcblxyXG4gICAgY29sdW1ucyE6IFRhYmxlQ29sdW1uW107XHJcbiAgICBkYXRhITogTWF0VGFibGVEYXRhU291cmNlPGFueT47XHJcbiAgICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFsnc2l0ZScsICdyZWFkeSB1c2VycycsICd1cGdyYWRlZCB1c2VycycsICdsb2NhdGlvbiBtYXBwaW5nJywgJ3BzdG4gdHJ1bmsnLCAnc2l0ZSB1cGdyYWRlIHN0YXR1cyddO1xyXG4gICAgc2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odHJ1ZSwgW10pO1xyXG4gICAgZmlsdGVyczogVGFibGVGaWx0ZXJbXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBhY3RpdmVGaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcblxyXG4gICAgc3RhdHVzQ291bnRzOiBhbnkgPSB7fTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYXBpU2VydmljZS50b2tlbiA9IHRoaXMudG9rZW47XHJcblxyXG4gICAgICAgIHRoaXMuc2l0ZVVwZ3JhZGVTZXJ2aWNlLmdldFNpdGVVcGdyYWRlUmVjb3JkcygpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVjb3JkczogU2l0ZVVwZ3JhZGVSZWNvcmRbXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxTaXRlVXBncmFkZVJlY29yZD4ocmVjb3Jkcyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwQ3VzdG9tRmlsdGVyKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVGaWx0ZXJzKHJlY29yZHMpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zaXRlVXBncmFkZVNlcnZpY2UuZ2V0U2l0ZVVwZ3JhZGVTdGF0dXNDb3VudHMoKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHN0YXR1c0NvdW50cykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0dXNDb3VudHNbJ1JlYWR5J10gPSBzdGF0dXNDb3VudHNbJ1JFQURZJ10gfHwgMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzQ291bnRzWydOb3QgUmVhZHknXSA9IHN0YXR1c0NvdW50c1snTk9UX1JFQURZJ10gfHwgMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzQ291bnRzWydDb21wbGV0ZWQnXSA9IHN0YXR1c0NvdW50c1snQ09NUExFVEVEJ10gfHwgMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzQ291bnRzWydGYWlsZWQnXSA9IHN0YXR1c0NvdW50c1snRkFJTEVEJ10gfHwgMDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplRmlsdGVycyhyZWNvcmRzOiBTaXRlVXBncmFkZVJlY29yZFtdKTogdm9pZCB7XHJcbiAgICAgICAgLy8gRXh0cmFjdCB1bmlxdWUgc2l0ZXMgZnJvbSBhY3R1YWwgZGF0YVxyXG4gICAgICAgIGNvbnN0IHVuaXF1ZVNpdGVzID0gWy4uLm5ldyBTZXQocmVjb3Jkcy5tYXAocmVjb3JkID0+IHJlY29yZC5zaXRlTmFtZSkpXTtcclxuICAgICAgICBjb25zdCBzaXRlT3B0aW9ucyA9IHVuaXF1ZVNpdGVzLm1hcChzaXRlID0+ICh7XHJcbiAgICAgICAgICAgIGxhYmVsOiBzaXRlLFxyXG4gICAgICAgICAgICB2YWx1ZTogc2l0ZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccysvZywgJy0nKVxyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgLy8gRXh0cmFjdCB1bmlxdWUgc3RhdHVzZXMgZnJvbSBhY3R1YWwgZGF0YVxyXG4gICAgICAgIGNvbnN0IHVuaXF1ZVN0YXR1c2VzID0gWy4uLm5ldyBTZXQocmVjb3Jkcy5tYXAocmVjb3JkID0+IHJlY29yZC51cGdyYWRlU3RhdHVzKSldO1xyXG4gICAgICAgIGNvbnN0IHN0YXR1c09wdGlvbnMgPSB1bmlxdWVTdGF0dXNlcy5tYXAoc3RhdHVzID0+ICh7XHJcbiAgICAgICAgICAgIGxhYmVsOiBTVEFUVVNfRU5UUklFU1tzdGF0dXNdLFxyXG4gICAgICAgICAgICB2YWx1ZTogc3RhdHVzLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxzKy9nLCAnLScpXHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLmZpbHRlcnMgPSBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiAnc2l0ZXMnLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3NlbGVjdCcsXHJcbiAgICAgICAgICAgICAgICBjb2x1bW5LZXk6ICdTaXRlJyxcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnU2l0ZXMnLFxyXG4gICAgICAgICAgICAgICAgb3B0aW9uczogc2l0ZU9wdGlvbnNcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6ICdzdGF0dXMnLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3NlbGVjdCcsXHJcbiAgICAgICAgICAgICAgICBjb2x1bW5LZXk6ICdTaXRlIFVwZ3JhZGUgU3RhdHVzJyxcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnVXBncmFkZSBTdGF0dXMnLFxyXG4gICAgICAgICAgICAgICAgb3B0aW9uczogc3RhdHVzT3B0aW9uc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBvbkZpbHRlcihmaWx0ZXJFdmVudDogeyBrZXk6IHN0cmluZywgdmFsdWU6IGFueSB9KSB7XHJcbiAgICAgICAgY29uc3QgeyBrZXksIHZhbHVlIH0gPSBmaWx0ZXJFdmVudDtcclxuXHJcbiAgICAgICAgbGV0IGZpbHRlclZhbHVlOiBhbnk7XHJcbiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZmlsdGVyVmFsdWUgPSB2YWx1ZS52YWx1ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlICYmIHZhbHVlLnRhcmdldCkge1xyXG4gICAgICAgICAgICBmaWx0ZXJWYWx1ZSA9IHZhbHVlLnRhcmdldC52YWx1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmaWx0ZXJWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSGFuZGxlIFwiQWxsXCIgb3B0aW9uIG9yIGVtcHR5IHZhbHVlcyAtIHJlbW92ZSB0aGUgZmlsdGVyXHJcbiAgICAgICAgaWYgKGZpbHRlclZhbHVlID09PSAnYWxsJyB8fCAhZmlsdGVyVmFsdWUgfHwgZmlsdGVyVmFsdWUgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmFjdGl2ZUZpbHRlcnNba2V5XTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlcnNba2V5XSA9IGZpbHRlclZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5hcHBseUZpbHRlcnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldHVwQ3VzdG9tRmlsdGVyKCkge1xyXG4gICAgICAgIHRoaXMuZGF0YS5maWx0ZXJQcmVkaWNhdGUgPSAoZGF0YTogYW55LCBmaWx0ZXI6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJzID0gSlNPTi5wYXJzZShmaWx0ZXIgfHwgJ3t9Jyk7XHJcblxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmaWx0ZXJzKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgY29udGludWU7XHJcblxyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdTaXRlJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc2l0ZU5hbWUgIT09IHRoaXMuZ2V0U2l0ZU5hbWVGcm9tVmFsdWUodmFsdWUgYXMgc3RyaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ1NpdGUgVXBncmFkZSBTdGF0dXMnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMubWF0Y2hlc1VwZ3JhZGVTdGF0dXMoZGF0YS51cGdyYWRlU3RhdHVzLCB2YWx1ZSBhcyBzdHJpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhcHBseUZpbHRlcnMoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhLmZpbHRlciA9IEpTT04uc3RyaW5naWZ5KHRoaXMuYWN0aXZlRmlsdGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTaXRlTmFtZUZyb21WYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICAvLyBTaW5jZSB3ZSdyZSBub3cgdXNpbmcgYWN0dWFsIHNpdGUgbmFtZXMsIGp1c3QgY29udmVydCBiYWNrIGZyb20gc2x1ZyBmb3JtYXRcclxuICAgICAgICByZXR1cm4gdmFsdWUuc3BsaXQoJy0nKS5tYXAod29yZCA9PlxyXG4gICAgICAgICAgICB3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKVxyXG4gICAgICAgICkuam9pbignICcpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbWF0Y2hlc1VwZ3JhZGVTdGF0dXMoc3RhdHVzOiBzdHJpbmcsIGZpbHRlclZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICAvLyBIYW5kbGUgZGlyZWN0IHN0YXR1cyBtYXRjaGluZyBmb3IgY2xlYW5lciBpbXBsZW1lbnRhdGlvblxyXG4gICAgICAgIHJldHVybiBzdGF0dXMudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJykgPT09IGZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGZpbHRlcmVkRGF0YUNvdW50KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YT8uZmlsdGVyZWREYXRhPy5sZW5ndGggfHwgMDtcclxuICAgIH1cclxuXHJcbiAgICAvKiogV2hldGhlciB0aGUgbnVtYmVyIG9mIHNlbGVjdGVkIGVsZW1lbnRzIG1hdGNoZXMgdGhlIHRvdGFsIG51bWJlciBvZiByb3dzLiAqL1xyXG4gICAgaXNBbGxTZWxlY3RlZCgpIHtcclxuICAgICAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcclxuICAgICAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhPy5kYXRhLmxlbmd0aCB8fCAwO1xyXG4gICAgICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcclxuICAgIH1cclxuXHJcbiAgICAvKiogU2VsZWN0cyBhbGwgcm93cyBpZiB0aGV5IGFyZSBub3QgYWxsIHNlbGVjdGVkOyBvdGhlcndpc2UgY2xlYXIgc2VsZWN0aW9uLiAqL1xyXG4gICAgbWFzdGVyVG9nZ2xlKCkge1xyXG4gICAgICAgIHRoaXMuaXNBbGxTZWxlY3RlZCgpID9cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKSA6XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YT8uZGF0YS5mb3JFYWNoKHJvdyA9PiB0aGlzLnNlbGVjdGlvbi5zZWxlY3Qocm93KSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TG9jYXRpb25NYXBwaW5nQ2xhc3MobG9jYXRpb25NYXBwaW5nOiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gbG9jYXRpb25NYXBwaW5nID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJztcclxuICAgIH1cclxuXHJcbiAgICBnZXRTaXRlVXBncmFkZVN0YXR1c0NsYXNzKHN0YXR1czogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBzd2l0Y2ggKHN0YXR1cy50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ3JlYWR5JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAncmVhZHknO1xyXG4gICAgICAgICAgICBjYXNlICdwYXJ0aWFsIHJlYWR5JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAncGFydGlhbC1yZWFkeSc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NvbXBsZXRlZCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2NvbXBsZXRlZCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2ZhaWxlZCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ZhaWxlZCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ25vdCByZWFkeSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ25vdC1yZWFkeSc7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ25vdC1yZWFkeSc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZ3JhZGVTaXRlKHNpdGU6IFNpdGVVcGdyYWRlUmVjb3JkKSB7XHJcbiAgICAgICAgdGhpcy5zaXRlVXBncmFkZVNlcnZpY2UudXBncmFkZVNpdGUoc2l0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaXRlLXVwZ3JhZGUtc3RhdHVzLXdyYXBwZXJcIj5cclxuICAgICAgICA8dGstc3VtbWFyeS1jYXJkIFtkZXNjcmlwdGlvbl09XCInU2l0ZXMgYXJlIHJlYWR5IHRvIHVwZ3JhZGUnXCIgW3ZhbHVlXT1cInN0YXR1c0NvdW50c1snUmVhZHknXVwiPjwvdGstc3VtbWFyeS1jYXJkPlxyXG4gICAgICAgIDx0ay1zdW1tYXJ5LWNhcmQgW2Rlc2NyaXB0aW9uXT1cIidTaXRlcyBhcmUgbm90IHJlYWR5J1wiIFt2YWx1ZV09XCJzdGF0dXNDb3VudHNbJ05vdCBSZWFkeSddXCIgW3N0YXR1c109XCInTm90IFJlYWR5J1wiPjwvdGstc3VtbWFyeS1jYXJkPlxyXG4gICAgICAgIDx0ay1zdW1tYXJ5LWNhcmQgW2Rlc2NyaXB0aW9uXT1cIidTaXRlcyBmYWlsZWQgdG8gdXBncmFkZSdcIiBbdmFsdWVdPVwic3RhdHVzQ291bnRzWydGYWlsZWQnXVwiIFtzdGF0dXNdPVwiJ0ZhaWxlZCdcIj48L3RrLXN1bW1hcnktY2FyZD5cclxuICAgICAgICA8dGstc3VtbWFyeS1jYXJkIFtkZXNjcmlwdGlvbl09XCInU3VjY2Vzc2Z1bGx5IHVwZ3JhZGVkJ1wiIFt2YWx1ZV09XCJzdGF0dXNDb3VudHNbJ0NvbXBsZXRlZCddXCIgW3N0YXR1c109XCInQ29tcGxldGVkJ1wiPjwvdGstc3VtbWFyeS1jYXJkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtYWN0aW9uLXBhbmVsXCI+XHJcbiAgICAgICAgPHRrLXRhYmxlLWZpbHRlcnMgKm5nSWY9XCJmaWx0ZXJzLmxlbmd0aCA+IDBcIiBbZmlsdGVyc109XCJmaWx0ZXJzXCIgKGZpbHRlcik9XCJvbkZpbHRlcigkZXZlbnQpXCI+PC90ay10YWJsZS1maWx0ZXJzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57e2ZpbHRlcmVkRGF0YUNvdW50fX0gU2l0ZXM8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVwiIGNsYXNzPVwic2l0ZS11cGdyYWRlLXRhYmxlXCI+XHJcblxyXG4gICAgPCEtLSBTaXRlIENvbHVtbiAtLT5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic2l0ZVwiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+U2l0ZTwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpdGUtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaXRlLWluZGljYXRvclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIHt7ZWxlbWVudC5zaXRlTmFtZX19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIFJlYWR5IFVzZXJzIENvbHVtbiAtLT5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicmVhZHkgdXNlcnNcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlJlYWR5IFVzZXJzPC90aD5cclxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1jb3VudC1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1jb3VudFwiPnt7ZWxlbWVudC50b3RhbFJlYWR5VXNlcnN9fS97e2VsZW1lbnQudG90YWxVc2Vyc319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1sYWJlbFwiPlJlYWR5L1RvdGFsPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIFVwZ3JhZGVkIFVzZXJzIENvbHVtbiAtLT4gXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVwZ3JhZGVkIHVzZXJzXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5VcGdyYWRlZCBVc2VyczwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItY291bnQtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItY291bnRcIj57e2VsZW1lbnQudG90YWxVcGdyYWRlZFVzZXJzfX0ve3tlbGVtZW50LnRvdGFsVXNlcnN9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItbGFiZWxcIj5VcGdyYWRlZC9Ub3RhbDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBMb2NhdGlvbiBNYXBwaW5nIENvbHVtbiAtLT5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibG9jYXRpb24gbWFwcGluZ1wiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+TG9jYXRpb24gTWFwcGluZzwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1pY29uLWNlbGxcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJlbGVtZW50LmxvY2F0aW9uTWFwcGluZ1wiIHNyYz1cIi9hc3NldHMvaWNvbnMvY2hlY2syX2ljb24ucG5nXCIgYWx0PVwiTG9jYXRpb24gTWFwcGluZyBFbmFibGVkXCIvPlxyXG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIiFlbGVtZW50LmxvY2F0aW9uTWFwcGluZ1wiIHNyYz1cIi9hc3NldHMvaWNvbnMvaXNzdWVfaWNvbi5wbmdcIiBhbHQ9XCJMb2NhdGlvbiBNYXBwaW5nIERpc2FibGVkXCIvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBQU1ROIFRydW5rIENvbHVtbiAtLT5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicHN0biB0cnVua1wiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+UFNUTiBUcnVuazwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1pY29uLWNlbGxcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJlbGVtZW50LlBTVE5UcnVua1wiIHNyYz1cIi9hc3NldHMvaWNvbnMvY2hlY2syX2ljb24ucG5nXCIgYWx0PVwiUFNUTiBUcnVuayBFbmFibGVkXCIvPlxyXG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIiFlbGVtZW50LlBTVE5UcnVua1wiIHNyYz1cIi9hc3NldHMvaWNvbnMvaXNzdWVfaWNvbi5wbmdcIiBhbHQ9XCJQU1ROIFRydW5rIERpc2FibGVkXCIvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBTaXRlIFVwZ3JhZGUgU3RhdHVzIENvbHVtbiAtLT5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic2l0ZSB1cGdyYWRlIHN0YXR1c1wiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+U2l0ZSBVcGdyYWRlIFN0YXR1czwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwZ3JhZGUtc3RhdHVzLWNlbGxcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJTVEFUVVNfRU5UUklFU1tlbGVtZW50LnVwZ3JhZGVTdGF0dXNdID09PSAnUmVhZHknOyBlbHNlIHN0YXR1c0Jsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIGNsYXNzPVwidXBncmFkZS1idXR0b25cIiAoY2xpY2spPVwidXBncmFkZVNpdGUoZWxlbWVudClcIj5VcGdyYWRlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhdHVzQmxvY2s+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RhdHVzLWluZGljYXRvclwiIFtuZ0NsYXNzXT1cImdldFNpdGVVcGdyYWRlU3RhdHVzQ2xhc3MoZWxlbWVudC51cGdyYWRlU3RhdHVzKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgU1RBVFVTX0VOVFJJRVNbZWxlbWVudC51cGdyYWRlU3RhdHVzXSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxyXG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cclxuPC90YWJsZT5cclxuPC9kaXY+Il19
@@ -1,40 +0,0 @@
1
- import { NgModule } from "@angular/core";
2
- import { SiteUpgradeDataTableComponent } from "./site-upgrade-data-table/site-upgrade-data-table.component";
3
- import { CommonModule } from "@angular/common";
4
- import { MatTableModule } from "@angular/material/table";
5
- import { MatIconModule } from "@angular/material/icon";
6
- import { MatButtonModule } from "@angular/material/button";
7
- import { SharedModule } from "../../public-api";
8
- import * as i0 from "@angular/core";
9
- export class SiteUpgradeModule {
10
- }
11
- SiteUpgradeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SiteUpgradeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeModule, declarations: [SiteUpgradeDataTableComponent], imports: [CommonModule,
13
- SharedModule,
14
- MatTableModule,
15
- MatIconModule,
16
- MatButtonModule], exports: [SiteUpgradeDataTableComponent] });
17
- SiteUpgradeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeModule, imports: [CommonModule,
18
- SharedModule,
19
- MatTableModule,
20
- MatIconModule,
21
- MatButtonModule] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeModule, decorators: [{
23
- type: NgModule,
24
- args: [{
25
- declarations: [
26
- SiteUpgradeDataTableComponent
27
- ],
28
- imports: [
29
- CommonModule,
30
- SharedModule,
31
- MatTableModule,
32
- MatIconModule,
33
- MatButtonModule
34
- ],
35
- exports: [
36
- SiteUpgradeDataTableComponent
37
- ]
38
- }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS11cGdyYWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3NpdGUtdXBncmFkZS9zaXRlLXVwZ3JhZGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFpQmhELE1BQU0sT0FBTyxpQkFBaUI7OytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkFidEIsNkJBQTZCLGFBRzdCLFlBQVk7UUFDWixZQUFZO1FBQ1osY0FBYztRQUNkLGFBQWE7UUFDYixlQUFlLGFBR2YsNkJBQTZCO2dIQUd4QixpQkFBaUIsWUFWdEIsWUFBWTtRQUNaLFlBQVk7UUFDWixjQUFjO1FBQ2QsYUFBYTtRQUNiLGVBQWU7NEZBTVYsaUJBQWlCO2tCQWY3QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDViw2QkFBNkI7cUJBQ2hDO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDTCw2QkFBNkI7cUJBQ2hDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTaXRlVXBncmFkZURhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuL3NpdGUtdXBncmFkZS1kYXRhLXRhYmxlL3NpdGUtdXBncmFkZS1kYXRhLXRhYmxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gXCIuLi8uLi9wdWJsaWMtYXBpXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgU2l0ZVVwZ3JhZGVEYXRhVGFibGVDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLCBcclxuICAgICAgICBTaGFyZWRNb2R1bGUsXHJcbiAgICAgICAgTWF0VGFibGVNb2R1bGUsXHJcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgU2l0ZVVwZ3JhZGVEYXRhVGFibGVDb21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpdGVVcGdyYWRlTW9kdWxlIHsgfSJdfQ==
@@ -1,43 +0,0 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { map } from "rxjs";
3
- import { API } from "../../api/api.endpoints";
4
- import { APIService } from "../../shared/services/api.service";
5
- import * as i0 from "@angular/core";
6
- export class SiteUpgradeService {
7
- constructor() {
8
- this.apiService = inject(APIService);
9
- }
10
- getSiteUpgradeStatusCounts() {
11
- return this.apiService.fetch(API.SITE_UPGRADE.GET_SITES_UPGRADE_STATUS_COUNTS.replace(':customerId', this.customerId));
12
- }
13
- getSiteUpgradeRecords() {
14
- return this.apiService.fetch(API.SITE_UPGRADE.GET_SITES_UPGRADE_DATA.replace(':customerId', this.customerId)).pipe(map((resp) => {
15
- return resp.content.map((record) => ({
16
- siteId: record.siteId,
17
- siteName: record.siteName,
18
- totalUsers: record.totalUsers,
19
- totalReadyUsers: record.readyUsers,
20
- totalNotReadyUsers: record.notReadyUsers,
21
- totalUpgradedUsers: record.totalUpgradedUsers,
22
- totalFailedUsers: record.totalFailedToUpgradeUsers,
23
- locationMapping: record.locationMappingStatus,
24
- PSTNTrunk: record.pstnTrunkStatus,
25
- upgradeStatus: record.siteUpgradeStatus
26
- }));
27
- }));
28
- }
29
- // TODO: Impl the site upgrade logic here
30
- upgradeSite(site) {
31
- const customerId = site.customerId;
32
- const siteId = site.siteId;
33
- }
34
- }
35
- SiteUpgradeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
36
- SiteUpgradeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeService, providedIn: 'root' });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeService, decorators: [{
38
- type: Injectable,
39
- args: [{
40
- providedIn: 'root'
41
- }]
42
- }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS11cGdyYWRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvZGkybXQvd2lkZ2V0cy9zaXRlLXVwZ3JhZGUvc2l0ZS11cGdyYWRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUsvRCxNQUFNLE9BQU8sa0JBQWtCO0lBSC9CO1FBSVksZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWlDM0M7SUE5QkcsMEJBQTBCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQ3hCLEdBQUcsQ0FBQyxZQUFZLENBQUMsK0JBQStCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQzNGLENBQUM7SUFDTixDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQ3hCLEdBQUcsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ2xGLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3RDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtnQkFDckIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO2dCQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7Z0JBQzdCLGVBQWUsRUFBRSxNQUFNLENBQUMsVUFBVTtnQkFDbEMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGFBQWE7Z0JBQ3hDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxrQkFBa0I7Z0JBQzdDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyx5QkFBeUI7Z0JBQ2xELGVBQWUsRUFBRSxNQUFNLENBQUMscUJBQXFCO2dCQUM3QyxTQUFTLEVBQUUsTUFBTSxDQUFDLGVBQWU7Z0JBQ2pDLGFBQWEsRUFBRSxNQUFNLENBQUMsaUJBQWlCO2FBQ3BCLENBQUEsQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLFdBQVcsQ0FBQyxJQUF1QjtRQUMvQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQzs7Z0hBakNRLGtCQUFrQjtvSEFBbEIsa0JBQWtCLGNBRmYsTUFBTTs0RkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgU2l0ZVVwZ3JhZGVSZWNvcmQgfSBmcm9tIFwiLi90eXBlcy91c2VyLXVwZ3JhZGVcIjtcclxuaW1wb3J0IHsgQVBJIH0gZnJvbSBcIi4uLy4uL2FwaS9hcGkuZW5kcG9pbnRzXCI7XHJcbmltcG9ydCB7IFVzZXJVcGdyYWRlUmVjb3JkIH0gZnJvbSBcIi4uL3VzZXItdXBncmFkZS90eXBlcy91c2VyLXVwZ3JhZGVcIjtcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2l0ZVVwZ3JhZGVTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgYXBpU2VydmljZSA9IGluamVjdChBUElTZXJ2aWNlKTtcclxuICAgIGN1c3RvbWVySWQhOiBzdHJpbmc7XHJcblxyXG4gICAgZ2V0U2l0ZVVwZ3JhZGVTdGF0dXNDb3VudHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKFxyXG4gICAgICAgICAgICBBUEkuU0lURV9VUEdSQURFLkdFVF9TSVRFU19VUEdSQURFX1NUQVRVU19DT1VOVFMucmVwbGFjZSgnOmN1c3RvbWVySWQnLCB0aGlzLmN1c3RvbWVySWQpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRTaXRlVXBncmFkZVJlY29yZHMoKTogT2JzZXJ2YWJsZTxTaXRlVXBncmFkZVJlY29yZFtdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChcclxuICAgICAgICAgICAgQVBJLlNJVEVfVVBHUkFERS5HRVRfU0lURVNfVVBHUkFERV9EQVRBLnJlcGxhY2UoJzpjdXN0b21lcklkJywgdGhpcy5jdXN0b21lcklkKVxyXG4gICAgICAgICkucGlwZShtYXAoKHJlc3ApID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3AuY29udGVudC5tYXAoKHJlY29yZDogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgc2l0ZUlkOiByZWNvcmQuc2l0ZUlkLFxyXG4gICAgICAgICAgICAgICAgc2l0ZU5hbWU6IHJlY29yZC5zaXRlTmFtZSxcclxuICAgICAgICAgICAgICAgIHRvdGFsVXNlcnM6IHJlY29yZC50b3RhbFVzZXJzLFxyXG4gICAgICAgICAgICAgICAgdG90YWxSZWFkeVVzZXJzOiByZWNvcmQucmVhZHlVc2VycyxcclxuICAgICAgICAgICAgICAgIHRvdGFsTm90UmVhZHlVc2VyczogcmVjb3JkLm5vdFJlYWR5VXNlcnMsXHJcbiAgICAgICAgICAgICAgICB0b3RhbFVwZ3JhZGVkVXNlcnM6IHJlY29yZC50b3RhbFVwZ3JhZGVkVXNlcnMsXHJcbiAgICAgICAgICAgICAgICB0b3RhbEZhaWxlZFVzZXJzOiByZWNvcmQudG90YWxGYWlsZWRUb1VwZ3JhZGVVc2VycyxcclxuICAgICAgICAgICAgICAgIGxvY2F0aW9uTWFwcGluZzogcmVjb3JkLmxvY2F0aW9uTWFwcGluZ1N0YXR1cyxcclxuICAgICAgICAgICAgICAgIFBTVE5UcnVuazogcmVjb3JkLnBzdG5UcnVua1N0YXR1cyxcclxuICAgICAgICAgICAgICAgIHVwZ3JhZGVTdGF0dXM6IHJlY29yZC5zaXRlVXBncmFkZVN0YXR1c1xyXG4gICAgICAgICAgICB9IGFzIFNpdGVVcGdyYWRlUmVjb3JkKSk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRPRE86IEltcGwgdGhlIHNpdGUgdXBncmFkZSBsb2dpYyBoZXJlXHJcbiAgICB1cGdyYWRlU2l0ZShzaXRlOiBTaXRlVXBncmFkZVJlY29yZCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGN1c3RvbWVySWQgPSBzaXRlLmN1c3RvbWVySWQ7XHJcbiAgICAgICAgY29uc3Qgc2l0ZUlkID0gc2l0ZS5zaXRlSWQ7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,3 +0,0 @@
1
- ;
2
- export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci11cGdyYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2RpMm10L3dpZGdldHMvc2l0ZS11cGdyYWRlL3R5cGVzL3VzZXItdXBncmFkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC90eXBlcy9jb25zdGFudHNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2l0ZVVwZ3JhZGVSZWNvcmQge1xyXG4gICAgY3VzdG9tZXJJZDogc3RyaW5nO1xyXG4gICAgc2l0ZUlkOiBzdHJpbmc7XHJcbiAgICBzaXRlTmFtZTogc3RyaW5nO1xyXG4gICAgdG90YWxVc2VyczogbnVtYmVyO1xyXG4gICAgdG90YWxSZWFkeVVzZXJzOiBudW1iZXI7XHJcbiAgICB0b3RhbE5vdFJlYWR5VXNlcnM6IG51bWJlcjtcclxuICAgIHRvdGFsVXBncmFkZWRVc2VyczogbnVtYmVyO1xyXG4gICAgdG90YWxGYWlsZWRVc2VyczogbnVtYmVyO1xyXG4gICAgbG9jYXRpb25NYXBwaW5nOiBib29sZWFuO1xyXG4gICAgUFNUTlRydW5rOiBib29sZWFuO1xyXG4gICAgdXBncmFkZVN0YXR1czogU3RhdHVzO1xyXG59OyJdfQ==
@@ -1,61 +0,0 @@
1
- import { Component, Input, inject } from "@angular/core";
2
- import { UpgradeOverviewService } from "../../upgrade-overview.service";
3
- import { Subject } from "rxjs";
4
- import { takeUntil } from "rxjs";
5
- import { APIService } from "../../../../shared/services/api.service";
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "../../../../shared/components/stat-card/stat-card.component";
9
- export class AlreadyUpgradedSitesCardComponent {
10
- constructor() {
11
- this.apiService = inject(APIService);
12
- this.upgradeOverviewService = inject(UpgradeOverviewService);
13
- this.destroy$ = new Subject();
14
- this.title = 'Upgraded Sites';
15
- this.type = 'site';
16
- this.upgradeStatus = 'already';
17
- this.loading = false;
18
- }
19
- ngOnInit() {
20
- this.apiService.token = this.token;
21
- this.loading = true;
22
- this.upgradeOverviewService.getSitesUpgradeSummary()
23
- .pipe(takeUntil(this.destroy$))
24
- .subscribe((stats) => {
25
- this.readinessStats = stats;
26
- this.loading = false;
27
- });
28
- }
29
- ngOnDestroy() {
30
- this.destroy$.next();
31
- this.destroy$.complete();
32
- }
33
- }
34
- AlreadyUpgradedSitesCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlreadyUpgradedSitesCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- AlreadyUpgradedSitesCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AlreadyUpgradedSitesCardComponent, selector: "tk-already-upgraded-sites-card", inputs: { token: "token" }, ngImport: i0, template: `
36
- <tk-stat-card
37
- *ngIf="!loading"
38
- [title]="title"
39
- [type]="type"
40
- [readinessStats]="readinessStats"
41
- [upgradeStatus]="upgradeStatus"
42
- ></tk-stat-card>
43
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.StatCardComponent, selector: "tk-stat-card", inputs: ["title", "type", "readinessStats", "upgradeStatus"] }] });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlreadyUpgradedSitesCardComponent, decorators: [{
45
- type: Component,
46
- args: [{
47
- selector: 'tk-already-upgraded-sites-card',
48
- template: `
49
- <tk-stat-card
50
- *ngIf="!loading"
51
- [title]="title"
52
- [type]="type"
53
- [readinessStats]="readinessStats"
54
- [upgradeStatus]="upgradeStatus"
55
- ></tk-stat-card>
56
- `
57
- }]
58
- }], propDecorators: { token: [{
59
- type: Input
60
- }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxyZWFkeS11cGdyYWRlZC1zaXRlcy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3VwZ3JhZGUtb3ZlcnZpZXcvY2FyZHMvYWxyZWFkeS11cGdyYWRlZC1zaXRlcy9hbHJlYWR5LXVwZ3JhZGVkLXNpdGVzLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQWNyRSxNQUFNLE9BQU8saUNBQWlDO0lBWjlDO1FBYVksZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQywyQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN4RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUl2QyxVQUFLLEdBQVcsZ0JBQWdCLENBQUM7UUFDakMsU0FBSSxHQUFvQixNQUFNLENBQUM7UUFFL0Isa0JBQWEsR0FBUSxTQUFTLENBQUM7UUFFL0IsWUFBTyxHQUFZLEtBQUssQ0FBQztLQWtCNUI7SUFoQkcsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixFQUFFO2FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7K0hBN0JRLGlDQUFpQzttSEFBakMsaUNBQWlDLGtHQVZoQzs7Ozs7Ozs7S0FRVDs0RkFFUSxpQ0FBaUM7a0JBWjdDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsUUFBUSxFQUFFOzs7Ozs7OztLQVFUO2lCQUNKOzhCQU1ZLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95LCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBVcGdyYWRlT3ZlcnZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3VwZ3JhZGUtb3ZlcnZpZXcuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTaXRlc1VwZ3JhZGVTdW1tYXJ5IH0gZnJvbSBcIi4uLy4uL3R5cGVzL3VwZ3JhZGUtb3ZlcnZpZXdcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2FwaS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndGstYWxyZWFkeS11cGdyYWRlZC1zaXRlcy1jYXJkJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHRrLXN0YXQtY2FyZFxyXG4gICAgICAgICAgICAqbmdJZj1cIiFsb2FkaW5nXCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICAgIFtyZWFkaW5lc3NTdGF0c109XCJyZWFkaW5lc3NTdGF0c1wiXHJcbiAgICAgICAgICAgIFt1cGdyYWRlU3RhdHVzXT1cInVwZ3JhZGVTdGF0dXNcIlxyXG4gICAgICAgID48L3RrLXN0YXQtY2FyZD5cclxuICAgIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIEFscmVhZHlVcGdyYWRlZFNpdGVzQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHByaXZhdGUgYXBpU2VydmljZSA9IGluamVjdChBUElTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgdXBncmFkZU92ZXJ2aWV3U2VydmljZSA9IGluamVjdChVcGdyYWRlT3ZlcnZpZXdTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xyXG5cclxuICAgIHRpdGxlOiBzdHJpbmcgPSAnVXBncmFkZWQgU2l0ZXMnO1xyXG4gICAgdHlwZTogJ3NpdGUnIHwgJ3VzZXInID0gJ3NpdGUnO1xyXG4gICAgcmVhZGluZXNzU3RhdHMhOiBTaXRlc1VwZ3JhZGVTdW1tYXJ5O1xyXG4gICAgdXBncmFkZVN0YXR1czogYW55ID0gJ2FscmVhZHknO1xyXG5cclxuICAgIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UudG9rZW4gPSB0aGlzLnRva2VuO1xyXG5cclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudXBncmFkZU92ZXJ2aWV3U2VydmljZS5nZXRTaXRlc1VwZ3JhZGVTdW1tYXJ5KClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0cykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkaW5lc3NTdGF0cyA9IHN0YXRzO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxufSJdfQ==
@@ -1,61 +0,0 @@
1
- import { Component, Input, inject } from "@angular/core";
2
- import { UpgradeOverviewService } from "../../upgrade-overview.service";
3
- import { Subject } from "rxjs";
4
- import { takeUntil } from "rxjs";
5
- import { APIService } from "../../../../shared/services/api.service";
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "../../../../shared/components/stat-card/stat-card.component";
9
- export class AlreadyUpgradedUsersCardComponent {
10
- constructor() {
11
- this.apiService = inject(APIService);
12
- this.upgradeOverviewService = inject(UpgradeOverviewService);
13
- this.destroy$ = new Subject();
14
- this.title = 'Upgraded Users';
15
- this.type = 'user';
16
- this.upgradeStatus = 'already';
17
- this.loading = false;
18
- }
19
- ngOnInit() {
20
- this.apiService.token = this.token;
21
- this.loading = true;
22
- this.upgradeOverviewService.getUsersUpgradeSummary()
23
- .pipe(takeUntil(this.destroy$))
24
- .subscribe((stats) => {
25
- this.readinessStats = stats;
26
- this.loading = false;
27
- });
28
- }
29
- ngOnDestroy() {
30
- this.destroy$.next();
31
- this.destroy$.complete();
32
- }
33
- }
34
- AlreadyUpgradedUsersCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlreadyUpgradedUsersCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- AlreadyUpgradedUsersCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AlreadyUpgradedUsersCardComponent, selector: "tk-already-upgraded-users-card", inputs: { token: "token" }, ngImport: i0, template: `
36
- <tk-stat-card
37
- *ngIf="!loading"
38
- [title]="title"
39
- [type]="type"
40
- [readinessStats]="readinessStats"
41
- [upgradeStatus]="upgradeStatus"
42
- ></tk-stat-card>
43
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.StatCardComponent, selector: "tk-stat-card", inputs: ["title", "type", "readinessStats", "upgradeStatus"] }] });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlreadyUpgradedUsersCardComponent, decorators: [{
45
- type: Component,
46
- args: [{
47
- selector: 'tk-already-upgraded-users-card',
48
- template: `
49
- <tk-stat-card
50
- *ngIf="!loading"
51
- [title]="title"
52
- [type]="type"
53
- [readinessStats]="readinessStats"
54
- [upgradeStatus]="upgradeStatus"
55
- ></tk-stat-card>
56
- `
57
- }]
58
- }], propDecorators: { token: [{
59
- type: Input
60
- }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxyZWFkeS11cGdyYWRlZC11c2Vycy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3VwZ3JhZGUtb3ZlcnZpZXcvY2FyZHMvYWxyZWFkeS11cGdyYWRlZC11c2Vycy9hbHJlYWR5LXVwZ3JhZGVkLXVzZXJzLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQWVyRSxNQUFNLE9BQU8saUNBQWlDO0lBWjlDO1FBYVksZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQywyQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN4RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUl2QyxVQUFLLEdBQVcsZ0JBQWdCLENBQUM7UUFDakMsU0FBSSxHQUFRLE1BQU0sQ0FBQztRQUVuQixrQkFBYSxHQUFRLFNBQVMsQ0FBQztRQUUvQixZQUFPLEdBQVksS0FBSyxDQUFDO0tBa0I1QjtJQWhCRyxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsc0JBQXNCLENBQUMsc0JBQXNCLEVBQUU7YUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzsrSEE3QlEsaUNBQWlDO21IQUFqQyxpQ0FBaUMsa0dBVmhDOzs7Ozs7OztLQVFUOzRGQUVRLGlDQUFpQztrQkFaN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxRQUFRLEVBQUU7Ozs7Ozs7O0tBUVQ7aUJBQ0o7OEJBTVksS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFVwZ3JhZGVPdmVydmlld1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vdXBncmFkZS1vdmVydmlldy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFVzZXJzVXBncmFkZVN1bW1hcnkgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdXBncmFkZS1vdmVydmlld1wiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndGstYWxyZWFkeS11cGdyYWRlZC11c2Vycy1jYXJkJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHRrLXN0YXQtY2FyZFxyXG4gICAgICAgICAgICAqbmdJZj1cIiFsb2FkaW5nXCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICAgIFtyZWFkaW5lc3NTdGF0c109XCJyZWFkaW5lc3NTdGF0c1wiXHJcbiAgICAgICAgICAgIFt1cGdyYWRlU3RhdHVzXT1cInVwZ3JhZGVTdGF0dXNcIlxyXG4gICAgICAgID48L3RrLXN0YXQtY2FyZD5cclxuICAgIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIEFscmVhZHlVcGdyYWRlZFVzZXJzQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHByaXZhdGUgYXBpU2VydmljZSA9IGluamVjdChBUElTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgdXBncmFkZU92ZXJ2aWV3U2VydmljZSA9IGluamVjdChVcGdyYWRlT3ZlcnZpZXdTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xyXG5cclxuICAgIHRpdGxlOiBzdHJpbmcgPSAnVXBncmFkZWQgVXNlcnMnO1xyXG4gICAgdHlwZTogYW55ID0gJ3VzZXInO1xyXG4gICAgcmVhZGluZXNzU3RhdHMhOiBVc2Vyc1VwZ3JhZGVTdW1tYXJ5O1xyXG4gICAgdXBncmFkZVN0YXR1czogYW55ID0gJ2FscmVhZHknO1xyXG5cclxuICAgIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UudG9rZW4gPSB0aGlzLnRva2VuO1xyXG5cclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudXBncmFkZU92ZXJ2aWV3U2VydmljZS5nZXRVc2Vyc1VwZ3JhZGVTdW1tYXJ5KClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0cykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkaW5lc3NTdGF0cyA9IHN0YXRzO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxufSJdfQ==
@@ -1,65 +0,0 @@
1
- import { Component, inject, Input } from "@angular/core";
2
- import { UpgradeOverviewService } from "../../upgrade-overview.service";
3
- import { Subject, takeUntil } from "rxjs";
4
- import { APIService } from "../../../../shared/services/api.service";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../../shared/components/status-list-card/status-list-card.component";
7
- export class PreconditionsStatusListCardComponent {
8
- constructor() {
9
- this.apiService = inject(APIService);
10
- this.destroy$ = new Subject();
11
- this.upgradeOverviewService = inject(UpgradeOverviewService);
12
- this.title = 'Preconditions';
13
- }
14
- ngOnInit() {
15
- this.apiService.token = this.token;
16
- this.upgradeOverviewService.getUpgradePreconditions()
17
- .pipe(takeUntil(this.destroy$))
18
- .subscribe((resp) => {
19
- this.preconditions = resp;
20
- this.init();
21
- });
22
- }
23
- ngOnDestroy() {
24
- this.destroy$.next();
25
- this.destroy$.complete();
26
- }
27
- init() {
28
- this.items = [
29
- {
30
- label: 'Control Hub Integration',
31
- description: 'Control Hub Connectivity',
32
- status: this.preconditions.controlHubIntegration === 'CONNECTED'
33
- },
34
- {
35
- label: 'SIP Trunk (Local Gateway)',
36
- description: 'CUCM trunk connectivity estabilished',
37
- status: false
38
- },
39
- {
40
- label: `${this.preconditions.numberOfAvailableLicences} Available User Licences`,
41
- description: 'Webex calling licences provisioned and assgined',
42
- status: this.preconditions.numberOfAvailableLicences > 0
43
- }
44
- ];
45
- }
46
- }
47
- PreconditionsStatusListCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PreconditionsStatusListCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
- PreconditionsStatusListCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PreconditionsStatusListCardComponent, selector: "tk-preconditions-status-list-card", inputs: { token: "token" }, ngImport: i0, template: `
49
- <tk-status-list-card
50
- [title]="title"
51
- [items]="items"
52
- ></tk-status-list-card>
53
- `, isInline: true, styles: [":host{width:100%}\n"], dependencies: [{ kind: "component", type: i1.StatusListCardComponent, selector: "tk-status-list-card", inputs: ["title", "items"] }] });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PreconditionsStatusListCardComponent, decorators: [{
55
- type: Component,
56
- args: [{ selector: 'tk-preconditions-status-list-card', template: `
57
- <tk-status-list-card
58
- [title]="title"
59
- [items]="items"
60
- ></tk-status-list-card>
61
- `, styles: [":host{width:100%}\n"] }]
62
- }], propDecorators: { token: [{
63
- type: Input
64
- }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlY29uZGl0aW9ucy1zdGF0dXMtbGlzdC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3VwZ3JhZGUtb3ZlcnZpZXcvY2FyZHMvcHJlY29uZGl0aW9ucy1zdGF0dXMtbGlzdC9wcmVjb25kaXRpb25zLXN0YXR1cy1saXN0LWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUFhckUsTUFBTSxPQUFPLG9DQUFvQztJQVZqRDtRQVdZLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFJaEUsVUFBSyxHQUFXLGVBQWUsQ0FBQztLQXdDbkM7SUFuQ0csUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFO2FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxJQUFJO1FBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNUO2dCQUNJLEtBQUssRUFBRSx5QkFBeUI7Z0JBQ2hDLFdBQVcsRUFBRSwwQkFBMEI7Z0JBQ3ZDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixLQUFLLFdBQVc7YUFDbkU7WUFDRDtnQkFDSSxLQUFLLEVBQUUsMkJBQTJCO2dCQUNsQyxXQUFXLEVBQUUsc0NBQXNDO2dCQUNuRCxNQUFNLEVBQUUsS0FBSzthQUNoQjtZQUNEO2dCQUNJLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMseUJBQXlCLDBCQUEwQjtnQkFDaEYsV0FBVyxFQUFFLGlEQUFpRDtnQkFDOUQsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMseUJBQXlCLEdBQUcsQ0FBQzthQUMzRDtTQUNKLENBQUM7SUFDTixDQUFDOztrSUE5Q1Esb0NBQW9DO3NIQUFwQyxvQ0FBb0MscUdBUm5DOzs7OztLQUtUOzRGQUdRLG9DQUFvQztrQkFWaEQsU0FBUzsrQkFDSSxtQ0FBbUMsWUFDbkM7Ozs7O0tBS1Q7OEJBUVEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFVwZ3JhZGVQcmVjb25kaXRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3VwZ3JhZGUtb3ZlcnZpZXdcIjtcclxuaW1wb3J0IHsgVXBncmFkZU92ZXJ2aWV3U2VydmljZSB9IGZyb20gXCIuLi8uLi91cGdyYWRlLW92ZXJ2aWV3LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndGstcHJlY29uZGl0aW9ucy1zdGF0dXMtbGlzdC1jYXJkJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHRrLXN0YXR1cy1saXN0LWNhcmQgXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXHJcbiAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXHJcbiAgICAgICAgPjwvdGstc3RhdHVzLWxpc3QtY2FyZD5cclxuICAgIGAsXHJcbiAgICBzdHlsZXM6IFtgIDpob3N0IHsgd2lkdGg6IDEwMCU7IH0gYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByZWNvbmRpdGlvbnNTdGF0dXNMaXN0Q2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHByaXZhdGUgYXBpU2VydmljZSA9IGluamVjdChBUElTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSB1cGdyYWRlT3ZlcnZpZXdTZXJ2aWNlID0gaW5qZWN0KFVwZ3JhZGVPdmVydmlld1NlcnZpY2UpO1xyXG5cclxuICAgIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xyXG5cclxuICAgIHRpdGxlOiBzdHJpbmcgPSAnUHJlY29uZGl0aW9ucyc7XHJcbiAgICBwcmVjb25kaXRpb25zITogVXBncmFkZVByZWNvbmRpdGlvbnM7XHJcblxyXG4gICAgaXRlbXM6IGFueTtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UudG9rZW4gPSB0aGlzLnRva2VuO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMudXBncmFkZU92ZXJ2aWV3U2VydmljZS5nZXRVcGdyYWRlUHJlY29uZGl0aW9ucygpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wcmVjb25kaXRpb25zID0gcmVzcDtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXRlbXMgPSBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29udHJvbCBIdWIgSW50ZWdyYXRpb24nLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdDb250cm9sIEh1YiBDb25uZWN0aXZpdHknLFxyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiB0aGlzLnByZWNvbmRpdGlvbnMuY29udHJvbEh1YkludGVncmF0aW9uID09PSAnQ09OTkVDVEVEJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1NJUCBUcnVuayAoTG9jYWwgR2F0ZXdheSknLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdDVUNNIHRydW5rIGNvbm5lY3Rpdml0eSBlc3RhYmlsaXNoZWQnLFxyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbDogYCR7dGhpcy5wcmVjb25kaXRpb25zLm51bWJlck9mQXZhaWxhYmxlTGljZW5jZXN9IEF2YWlsYWJsZSBVc2VyIExpY2VuY2VzYCxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnV2ViZXggY2FsbGluZyBsaWNlbmNlcyBwcm92aXNpb25lZCBhbmQgYXNzZ2luZWQnLFxyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiB0aGlzLnByZWNvbmRpdGlvbnMubnVtYmVyT2ZBdmFpbGFibGVMaWNlbmNlcyA+IDBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcbn0iXX0=