@tuki-io/tuki-widgets 0.0.134 → 0.0.136

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 (825) hide show
  1. package/README.md +9 -10
  2. package/contact-center/cc-readiness/cc-readiness.module.d.ts +19 -0
  3. package/contact-center/cc-readiness/cc-readiness.service.d.ts +12 -0
  4. package/contact-center/cc-readiness/components/card/card.component.d.ts +6 -0
  5. package/contact-center/cc-readiness/types/cc-readiness.d.ts +20 -0
  6. package/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.d.ts +52 -0
  7. package/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.d.ts +26 -0
  8. package/contact-center/index.d.ts +5 -0
  9. package/contact-center/public-api.d.ts +3 -0
  10. package/contact-center/shared/api.endpoints.d.ts +6 -0
  11. package/contact-center/shared/api.service.d.ts +20 -0
  12. package/contact-center/shared/material.module.d.ts +15 -0
  13. package/contact-center/shared/shared.module.d.ts +10 -0
  14. package/di2mt/api/api.endpoints.d.ts +31 -0
  15. package/di2mt/index.d.ts +5 -0
  16. package/di2mt/public-api.d.ts +13 -0
  17. package/di2mt/shared/components/card/card.component.d.ts +6 -0
  18. package/di2mt/shared/components/chart-card/chart-card.component.d.ts +23 -0
  19. package/di2mt/shared/components/stat-card/stat-card.component.d.ts +14 -0
  20. package/di2mt/shared/components/status-list-card/status-list-card.component.d.ts +15 -0
  21. package/di2mt/shared/components/summary-card/summary-card.component.d.ts +9 -0
  22. package/di2mt/shared/components/table-filters/table-filters.component.d.ts +14 -0
  23. package/di2mt/shared/constants/app.constants.d.ts +74 -0
  24. package/di2mt/shared/material.module.d.ts +15 -0
  25. package/di2mt/shared/services/api.service.d.ts +20 -0
  26. package/di2mt/shared/shared.module.d.ts +16 -0
  27. package/di2mt/shared/types/constants.d.ts +15 -0
  28. package/di2mt/shared/types/data-table.d.ts +5 -0
  29. package/di2mt/shared/types/table/filter.d.ts +16 -0
  30. package/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.d.ts +11 -0
  31. package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +69 -0
  32. package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +15 -0
  33. package/di2mt/widgets/site-upgrade/site-upgrade.service.d.ts +84 -0
  34. package/di2mt/widgets/site-upgrade/types/user-upgrade.d.ts +26 -0
  35. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.d.ts +19 -0
  36. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.d.ts +19 -0
  37. package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.d.ts +18 -0
  38. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.d.ts +19 -0
  39. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.d.ts +19 -0
  40. package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.d.ts +15 -0
  41. package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.d.ts +18 -0
  42. package/di2mt/widgets/upgrade-overview/types/upgrade-overview.d.ts +56 -0
  43. package/di2mt/widgets/upgrade-overview/upgrade-overview.module.d.ts +15 -0
  44. package/di2mt/widgets/upgrade-overview/upgrade-overview.service.d.ts +17 -0
  45. package/di2mt/widgets/user-upgrade/types/user-upgrade.d.ts +32 -0
  46. package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +79 -0
  47. package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +16 -0
  48. package/di2mt/widgets/user-upgrade/user-upgrade.service.d.ts +41 -0
  49. package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +71 -0
  50. package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +35 -0
  51. package/esm2020/contact-center/cc-readiness/components/card/card.component.mjs +13 -0
  52. package/esm2020/contact-center/cc-readiness/types/cc-readiness.mjs +5 -0
  53. package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +187 -0
  54. package/esm2020/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.mjs +47 -0
  55. package/esm2020/contact-center/public-api.mjs +4 -0
  56. package/esm2020/contact-center/shared/api.endpoints.mjs +7 -0
  57. package/esm2020/contact-center/shared/api.service.mjs +86 -0
  58. package/esm2020/contact-center/shared/material.module.mjs +76 -0
  59. package/esm2020/contact-center/shared/shared.module.mjs +33 -0
  60. package/esm2020/contact-center/tuki-io-tuki-widgets-contact-center.mjs +5 -0
  61. package/esm2020/di2mt/api/api.endpoints.mjs +32 -0
  62. package/esm2020/di2mt/public-api.mjs +24 -0
  63. package/esm2020/di2mt/shared/components/card/card.component.mjs +13 -0
  64. package/esm2020/di2mt/shared/components/chart-card/chart-card.component.mjs +66 -0
  65. package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +47 -0
  66. package/esm2020/di2mt/shared/components/status-list-card/status-list-card.component.mjs +43 -0
  67. package/esm2020/di2mt/shared/components/summary-card/summary-card.component.mjs +36 -0
  68. package/esm2020/di2mt/shared/components/table-filters/table-filters.component.mjs +37 -0
  69. package/esm2020/di2mt/shared/constants/app.constants.mjs +95 -0
  70. package/esm2020/di2mt/shared/material.module.mjs +76 -0
  71. package/esm2020/di2mt/shared/services/api.service.mjs +86 -0
  72. package/esm2020/di2mt/shared/shared.module.mjs +63 -0
  73. package/esm2020/di2mt/shared/types/constants.mjs +20 -0
  74. package/esm2020/di2mt/shared/types/data-table.mjs +2 -0
  75. package/esm2020/di2mt/shared/types/table/filter.mjs +2 -0
  76. package/esm2020/di2mt/tuki-io-tuki-widgets-di2mt.mjs +5 -0
  77. package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +38 -0
  78. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +433 -0
  79. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +53 -0
  80. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.service.mjs +92 -0
  81. package/esm2020/di2mt/widgets/site-upgrade/types/user-upgrade.mjs +3 -0
  82. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.mjs +64 -0
  83. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.mjs +64 -0
  84. package/esm2020/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.mjs +83 -0
  85. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.mjs +45 -0
  86. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.mjs +45 -0
  87. package/esm2020/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.mjs +86 -0
  88. package/esm2020/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.mjs +74 -0
  89. package/esm2020/di2mt/widgets/upgrade-overview/types/upgrade-overview.mjs +2 -0
  90. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.module.mjs +59 -0
  91. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.service.mjs +82 -0
  92. package/esm2020/di2mt/widgets/user-upgrade/types/user-upgrade.mjs +3 -0
  93. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +376 -0
  94. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +59 -0
  95. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.service.mjs +80 -0
  96. package/esm2020/lib/widgets.component.mjs +22 -0
  97. package/esm2020/lib/widgets.module.mjs +21 -0
  98. package/esm2020/lib/widgets.service.mjs +14 -0
  99. package/esm2020/public-api.mjs +7 -0
  100. package/esm2020/tuki-io-tuki-widgets.mjs +5 -0
  101. package/esm2020/user-device-manage/public-api.mjs +9 -0
  102. package/esm2020/user-device-manage/src/app.constants.mjs +97 -0
  103. package/esm2020/user-device-manage/src/classes/device.mjs +85 -0
  104. package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +34 -0
  105. package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +2 -0
  106. package/esm2020/user-device-manage/src/classes/line-association.mjs +121 -0
  107. package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +10 -0
  108. package/esm2020/user-device-manage/src/classes/line-directory.mjs +27 -0
  109. package/esm2020/user-device-manage/src/classes/line.mjs +18 -0
  110. package/esm2020/user-device-manage/src/classes/notification.mjs +32 -0
  111. package/esm2020/user-device-manage/src/classes/recording-options.mjs +7 -0
  112. package/esm2020/user-device-manage/src/classes/simplified-user.mjs +111 -0
  113. package/esm2020/user-device-manage/src/classes/site-defaults.mjs +21 -0
  114. package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +32 -0
  115. package/esm2020/user-device-manage/src/classes/types.mjs +24 -0
  116. package/esm2020/user-device-manage/src/common-functions.mjs +19 -0
  117. package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +34 -0
  118. package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +31 -0
  119. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +16 -0
  120. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +64 -0
  121. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +179 -0
  122. package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +43 -0
  123. package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +24 -0
  124. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +141 -0
  125. package/esm2020/user-device-manage/src/environments/environment.mjs +11 -0
  126. package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +36 -0
  127. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +74 -0
  128. package/esm2020/user-device-manage/src/material.module.mjs +192 -0
  129. package/esm2020/user-device-manage/src/notifications/notification.component.mjs +35 -0
  130. package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +26 -0
  131. package/esm2020/user-device-manage/src/services/api.service.mjs +79 -0
  132. package/esm2020/user-device-manage/src/services/device.service.mjs +83 -0
  133. package/esm2020/user-device-manage/src/services/dns.service.mjs +104 -0
  134. package/esm2020/user-device-manage/src/services/line.service.mjs +76 -0
  135. package/esm2020/user-device-manage/src/services/notification.service.mjs +62 -0
  136. package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +25 -0
  137. package/esm2020/user-device-manage/src/services/site-settings.service.mjs +70 -0
  138. package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +197 -0
  139. package/esm2020/user-device-manage/src/services/user.service.mjs +311 -0
  140. package/esm2020/user-device-manage/src/services/utils.service.mjs +87 -0
  141. package/esm2020/user-device-manage/src/services/validation.service.mjs +760 -0
  142. package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +13 -0
  143. package/esm2020/user-device-manage/src/user-device-manage.module.mjs +116 -0
  144. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +14 -0
  145. package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +5 -0
  146. package/esm2020/user-manage/public-api.mjs +7 -0
  147. package/esm2020/user-manage/src/app.constants.mjs +54 -0
  148. package/esm2020/user-manage/src/classes/device.mjs +37 -0
  149. package/esm2020/user-manage/src/classes/line-association-interface.mjs +2 -0
  150. package/esm2020/user-manage/src/classes/line-association.mjs +110 -0
  151. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +10 -0
  152. package/esm2020/user-manage/src/classes/line-directory.mjs +28 -0
  153. package/esm2020/user-manage/src/classes/line.mjs +18 -0
  154. package/esm2020/user-manage/src/classes/notification.mjs +32 -0
  155. package/esm2020/user-manage/src/classes/pagination.mjs +8 -0
  156. package/esm2020/user-manage/src/classes/recording-options.mjs +7 -0
  157. package/esm2020/user-manage/src/classes/simplified-user.mjs +109 -0
  158. package/esm2020/user-manage/src/classes/table-data.mjs +2 -0
  159. package/esm2020/user-manage/src/classes/translation-pattern.mjs +32 -0
  160. package/esm2020/user-manage/src/classes/user-list.mjs +10 -0
  161. package/esm2020/user-manage/src/common-functions.mjs +19 -0
  162. package/esm2020/user-manage/src/device-list/device-list.component.mjs +26 -0
  163. package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +33 -0
  164. package/esm2020/user-manage/src/environments/environment.mjs +11 -0
  165. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +36 -0
  166. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +81 -0
  167. package/esm2020/user-manage/src/material.module.mjs +188 -0
  168. package/esm2020/user-manage/src/notifications/notification.component.mjs +35 -0
  169. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +25 -0
  170. package/esm2020/user-manage/src/services/api.service.mjs +79 -0
  171. package/esm2020/user-manage/src/services/dns.service.mjs +110 -0
  172. package/esm2020/user-manage/src/services/line.service.mjs +34 -0
  173. package/esm2020/user-manage/src/services/notification.service.mjs +62 -0
  174. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +25 -0
  175. package/esm2020/user-manage/src/services/site-settings.service.mjs +36 -0
  176. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +197 -0
  177. package/esm2020/user-manage/src/services/user.service.mjs +249 -0
  178. package/esm2020/user-manage/src/services/users-search.service.mjs +50 -0
  179. package/esm2020/user-manage/src/services/utils.service.mjs +73 -0
  180. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +65 -0
  181. package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +75 -0
  182. package/esm2020/user-manage/src/user-info/user-info.component.mjs +23 -0
  183. package/esm2020/user-manage/src/user-manage-widget.component.mjs +219 -0
  184. package/esm2020/user-manage/src/user-manage.module.mjs +102 -0
  185. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +14 -0
  186. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +43 -0
  187. package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +5 -0
  188. package/esm2020/users-list/public-api.mjs +9 -0
  189. package/esm2020/users-list/src/app.constants.mjs +54 -0
  190. package/esm2020/users-list/src/classes/app-location.mjs +32 -0
  191. package/esm2020/users-list/src/classes/device.mjs +7 -0
  192. package/esm2020/users-list/src/classes/line.mjs +18 -0
  193. package/esm2020/users-list/src/classes/move-user.mjs +178 -0
  194. package/esm2020/users-list/src/classes/notification.mjs +31 -0
  195. package/esm2020/users-list/src/classes/pagination.mjs +8 -0
  196. package/esm2020/users-list/src/classes/simlified-user.mjs +50 -0
  197. package/esm2020/users-list/src/classes/table-data.mjs +2 -0
  198. package/esm2020/users-list/src/classes/user-list.mjs +14 -0
  199. package/esm2020/users-list/src/components/table-toolbar/table-toolbar.component.mjs +25 -0
  200. package/esm2020/users-list/src/material.module.mjs +216 -0
  201. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +38 -0
  202. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +23 -0
  203. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +189 -0
  204. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +38 -0
  205. package/esm2020/users-list/src/services/api-webex.service.mjs +18 -0
  206. package/esm2020/users-list/src/services/api.service.mjs +78 -0
  207. package/esm2020/users-list/src/services/dns.service.mjs +120 -0
  208. package/esm2020/users-list/src/services/events-communication.service.mjs +14 -0
  209. package/esm2020/users-list/src/services/move-user.service.mjs +53 -0
  210. package/esm2020/users-list/src/services/notification.service.mjs +62 -0
  211. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +25 -0
  212. package/esm2020/users-list/src/services/site-settings.service.mjs +27 -0
  213. package/esm2020/users-list/src/services/user.service.mjs +142 -0
  214. package/esm2020/users-list/src/services/users-search.service.mjs +141 -0
  215. package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +34 -0
  216. package/esm2020/users-list/src/users-list.component.mjs +339 -0
  217. package/esm2020/users-list/src/users-list.module.mjs +95 -0
  218. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +14 -0
  219. package/esm2020/users-list/src/utils/common-functions.mjs +32 -0
  220. package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +43 -0
  221. package/esm2020/users-list/src/utils/utils.service.mjs +73 -0
  222. package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +5 -0
  223. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +433 -0
  224. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -0
  225. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +2220 -0
  226. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -0
  227. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +3378 -0
  228. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -0
  229. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +2222 -0
  230. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -0
  231. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +2098 -0
  232. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -0
  233. package/fesm2015/tuki-io-tuki-widgets.mjs +63 -0
  234. package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -0
  235. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +430 -0
  236. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -0
  237. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +2204 -0
  238. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -0
  239. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +3357 -0
  240. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -0
  241. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +2208 -0
  242. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -0
  243. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +2074 -0
  244. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -0
  245. package/fesm2020/tuki-io-tuki-widgets.mjs +63 -0
  246. package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -0
  247. package/index.d.ts +5 -0
  248. package/lib/widgets.component.d.ts +8 -0
  249. package/lib/widgets.module.d.ts +7 -0
  250. package/lib/widgets.service.d.ts +6 -0
  251. package/package.json +73 -49
  252. package/public-api.d.ts +3 -0
  253. package/user-device-manage/index.d.ts +5 -0
  254. package/user-device-manage/src/app.constants.d.ts +76 -0
  255. package/user-device-manage/src/classes/device.d.ts +233 -0
  256. package/user-device-manage/src/classes/deviceProfile.d.ts +24 -0
  257. package/user-device-manage/src/classes/line-association-interface.d.ts +45 -0
  258. package/user-device-manage/src/classes/line-association.d.ts +62 -0
  259. package/user-device-manage/src/classes/line-call-info-display.d.ts +11 -0
  260. package/user-device-manage/src/classes/line-directory.d.ts +15 -0
  261. package/user-device-manage/src/classes/line.d.ts +140 -0
  262. package/user-device-manage/src/classes/notification.d.ts +18 -0
  263. package/user-device-manage/src/classes/recording-options.d.ts +5 -0
  264. package/user-device-manage/src/classes/simplified-user.d.ts +52 -0
  265. package/user-device-manage/src/classes/site-defaults.d.ts +146 -0
  266. package/user-device-manage/src/classes/translation-pattern.d.ts +19 -0
  267. package/user-device-manage/src/classes/types.d.ts +19 -0
  268. package/user-device-manage/src/common-functions.d.ts +1 -0
  269. package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +20 -0
  270. package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +15 -0
  271. package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +7 -0
  272. package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +24 -0
  273. package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +89 -0
  274. package/user-device-manage/src/device-info/device-info.component.d.ts +15 -0
  275. package/user-device-manage/src/device-list/device-list.component.d.ts +11 -0
  276. package/user-device-manage/src/device-manage-widget.component.d.ts +54 -0
  277. package/user-device-manage/src/environments/environment.d.ts +9 -0
  278. package/user-device-manage/src/interseptors/auth.interceptor.d.ts +9 -0
  279. package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +35 -0
  280. package/user-device-manage/src/material.module.d.ts +29 -0
  281. package/user-device-manage/src/notifications/notification.component.d.ts +19 -0
  282. package/user-device-manage/src/pipes/mac-address.pipe.d.ts +7 -0
  283. package/user-device-manage/src/services/api.service.d.ts +20 -0
  284. package/user-device-manage/src/services/device.service.d.ts +21 -0
  285. package/user-device-manage/src/services/dns.service.d.ts +14 -0
  286. package/user-device-manage/src/services/line.service.d.ts +33 -0
  287. package/user-device-manage/src/services/notification.service.d.ts +18 -0
  288. package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +8 -0
  289. package/user-device-manage/src/services/site-settings.service.d.ts +25 -0
  290. package/user-device-manage/src/services/sorting-utils.service.d.ts +26 -0
  291. package/user-device-manage/src/services/user.service.d.ts +61 -0
  292. package/user-device-manage/src/services/utils.service.d.ts +10 -0
  293. package/user-device-manage/src/services/validation.service.d.ts +165 -0
  294. package/user-device-manage/src/shared/tk-page-section/page-section.component.d.ts +6 -0
  295. package/user-device-manage/src/user-device-manage.module.d.ts +25 -0
  296. package/user-device-manage/src/utils/app-loader/app-loader.d.ts +6 -0
  297. package/user-manage/index.d.ts +5 -0
  298. package/user-manage/src/app.constants.d.ts +33 -0
  299. package/user-manage/src/classes/device.d.ts +203 -0
  300. package/user-manage/src/classes/line-association-interface.d.ts +41 -0
  301. package/user-manage/src/classes/line-association.d.ts +55 -0
  302. package/user-manage/src/classes/line-call-info-display.d.ts +11 -0
  303. package/user-manage/src/classes/line-directory.d.ts +17 -0
  304. package/user-manage/src/classes/line.d.ts +141 -0
  305. package/user-manage/src/classes/notification.d.ts +18 -0
  306. package/user-manage/src/classes/pagination.d.ts +13 -0
  307. package/user-manage/src/classes/recording-options.d.ts +5 -0
  308. package/user-manage/src/classes/simplified-user.d.ts +50 -0
  309. package/user-manage/src/classes/table-data.d.ts +5 -0
  310. package/user-manage/src/classes/translation-pattern.d.ts +18 -0
  311. package/user-manage/src/classes/user-list.d.ts +34 -0
  312. package/user-manage/src/common-functions.d.ts +1 -0
  313. package/user-manage/src/device-list/device-list.component.d.ts +11 -0
  314. package/user-manage/src/device-list/device-row/device-row.component.d.ts +12 -0
  315. package/user-manage/src/environments/environment.d.ts +9 -0
  316. package/user-manage/src/interseptors/auth.interceptor.d.ts +9 -0
  317. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +37 -0
  318. package/user-manage/src/material.module.d.ts +28 -0
  319. package/user-manage/src/notifications/notification.component.d.ts +19 -0
  320. package/user-manage/src/removeKynFromIBM.service.d.ts +8 -0
  321. package/user-manage/src/services/api.service.d.ts +21 -0
  322. package/user-manage/src/services/dns.service.d.ts +14 -0
  323. package/user-manage/src/services/line.service.d.ts +17 -0
  324. package/user-manage/src/services/notification.service.d.ts +18 -0
  325. package/user-manage/src/services/removeKynFromIBM.service.d.ts +8 -0
  326. package/user-manage/src/services/site-settings.service.d.ts +9 -0
  327. package/user-manage/src/services/sorting-utils.service.d.ts +26 -0
  328. package/user-manage/src/services/user.service.d.ts +45 -0
  329. package/user-manage/src/services/users-search.service.d.ts +25 -0
  330. package/user-manage/src/services/utils.service.d.ts +9 -0
  331. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +24 -0
  332. package/user-manage/src/user-calling/user-calling.component.d.ts +30 -0
  333. package/user-manage/src/user-info/user-info.component.d.ts +10 -0
  334. package/user-manage/src/user-manage-widget.component.d.ts +45 -0
  335. package/user-manage/src/user-manage.module.d.ts +22 -0
  336. package/user-manage/src/utils/app-loader/app-loader.d.ts +6 -0
  337. package/user-manage/src/utils/pagination/pagination.component.d.ts +18 -0
  338. package/users-list/index.d.ts +5 -0
  339. package/users-list/src/app.constants.d.ts +36 -0
  340. package/users-list/src/classes/app-location.d.ts +17 -0
  341. package/users-list/src/classes/device.d.ts +224 -0
  342. package/users-list/src/classes/line.d.ts +140 -0
  343. package/users-list/src/classes/move-user.d.ts +85 -0
  344. package/users-list/src/classes/notification.d.ts +18 -0
  345. package/users-list/src/classes/pagination.d.ts +13 -0
  346. package/users-list/src/classes/simlified-user.d.ts +25 -0
  347. package/users-list/src/classes/table-data.d.ts +5 -0
  348. package/users-list/src/classes/user-list.d.ts +36 -0
  349. package/users-list/src/components/table-toolbar/table-toolbar.component.d.ts +10 -0
  350. package/users-list/src/material.module.d.ts +32 -0
  351. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.d.ts +21 -0
  352. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.d.ts +12 -0
  353. package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +55 -0
  354. package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +17 -0
  355. package/users-list/src/services/api-webex.service.d.ts +8 -0
  356. package/users-list/src/services/api.service.d.ts +21 -0
  357. package/users-list/src/services/dns.service.d.ts +18 -0
  358. package/users-list/src/services/events-communication.service.d.ts +8 -0
  359. package/users-list/src/services/move-user.service.d.ts +17 -0
  360. package/users-list/src/services/notification.service.d.ts +18 -0
  361. package/users-list/src/services/removeKynFromIBM.service.d.ts +8 -0
  362. package/users-list/src/services/site-settings.service.d.ts +11 -0
  363. package/users-list/src/services/user.service.d.ts +35 -0
  364. package/users-list/src/services/users-search.service.d.ts +37 -0
  365. package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +20 -0
  366. package/users-list/src/users-list.component.d.ts +62 -0
  367. package/users-list/src/users-list.module.d.ts +19 -0
  368. package/users-list/src/utils/app-loader/app-loader.d.ts +6 -0
  369. package/users-list/src/utils/common-functions.d.ts +2 -0
  370. package/users-list/src/utils/pagination/pagination.component.d.ts +18 -0
  371. package/users-list/src/utils/utils.service.d.ts +9 -0
  372. package/.editorconfig +0 -16
  373. package/.hintrc +0 -14
  374. package/.vscode/extensions.json +0 -4
  375. package/.vscode/launch.json +0 -20
  376. package/.vscode/tasks.json +0 -42
  377. package/angular.json +0 -141
  378. package/projects/tuki/widgets/README.md +0 -24
  379. package/projects/tuki/widgets/contact-center/cc-readiness/cc-readiness.module.ts +0 -44
  380. package/projects/tuki/widgets/contact-center/cc-readiness/cc-readiness.service.spec.ts +0 -16
  381. package/projects/tuki/widgets/contact-center/cc-readiness/cc-readiness.service.ts +0 -33
  382. package/projects/tuki/widgets/contact-center/cc-readiness/components/card/card.component.html +0 -11
  383. package/projects/tuki/widgets/contact-center/cc-readiness/components/card/card.component.scss +0 -48
  384. package/projects/tuki/widgets/contact-center/cc-readiness/components/card/card.component.ts +0 -10
  385. package/projects/tuki/widgets/contact-center/cc-readiness/types/cc-readiness.ts +0 -34
  386. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.html +0 -74
  387. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.scss +0 -177
  388. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.spec.ts +0 -35
  389. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.ts +0 -237
  390. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.html +0 -19
  391. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.scss +0 -38
  392. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.ts +0 -57
  393. package/projects/tuki/widgets/contact-center/ng-package.json +0 -7
  394. package/projects/tuki/widgets/contact-center/public-api.ts +0 -6
  395. package/projects/tuki/widgets/contact-center/shared/api.endpoints.ts +0 -6
  396. package/projects/tuki/widgets/contact-center/shared/api.service.ts +0 -91
  397. package/projects/tuki/widgets/contact-center/shared/assets/icons/applications.svg +0 -6
  398. package/projects/tuki/widgets/contact-center/shared/assets/icons/audioPrompts.svg +0 -4
  399. package/projects/tuki/widgets/contact-center/shared/assets/icons/contactServiceQueues.svg +0 -3
  400. package/projects/tuki/widgets/contact-center/shared/assets/icons/phonebooks.svg +0 -6
  401. package/projects/tuki/widgets/contact-center/shared/assets/icons/resourceGroups.svg +0 -6
  402. package/projects/tuki/widgets/contact-center/shared/assets/icons/resources.svg +0 -3
  403. package/projects/tuki/widgets/contact-center/shared/assets/icons/scripts.svg +0 -12
  404. package/projects/tuki/widgets/contact-center/shared/assets/icons/skills.svg +0 -3
  405. package/projects/tuki/widgets/contact-center/shared/assets/icons/teams.svg +0 -3
  406. package/projects/tuki/widgets/contact-center/shared/assets/icons/triggers.svg +0 -4
  407. package/projects/tuki/widgets/contact-center/shared/assets/icons/wrapUpCodes.svg +0 -3
  408. package/projects/tuki/widgets/contact-center/shared/assets/icons/xml.svg +0 -6
  409. package/projects/tuki/widgets/contact-center/shared/material.module.ts +0 -36
  410. package/projects/tuki/widgets/contact-center/shared/shared.module.ts +0 -20
  411. package/projects/tuki/widgets/contact-center/shared/styles/tuki-widgets-theme.scss +0 -13
  412. package/projects/tuki/widgets/contact-center/shared/styles/variables.scss +0 -94
  413. package/projects/tuki/widgets/di2mt/api/api.endpoints.ts +0 -31
  414. package/projects/tuki/widgets/di2mt/assets/icons/already_upgraded.png +0 -0
  415. package/projects/tuki/widgets/di2mt/assets/icons/check2_icon.png +0 -0
  416. package/projects/tuki/widgets/di2mt/assets/icons/check_icon.png +0 -0
  417. package/projects/tuki/widgets/di2mt/assets/icons/details_d_icon.svg +0 -3
  418. package/projects/tuki/widgets/di2mt/assets/icons/expand_icon.png +0 -0
  419. package/projects/tuki/widgets/di2mt/assets/icons/icon_play.svg +0 -3
  420. package/projects/tuki/widgets/di2mt/assets/icons/issue_icon.png +0 -0
  421. package/projects/tuki/widgets/di2mt/assets/icons/menu_icon.png +0 -0
  422. package/projects/tuki/widgets/di2mt/assets/icons/ready_to_upgrade.png +0 -0
  423. package/projects/tuki/widgets/di2mt/assets/icons/search_icon.png +0 -0
  424. package/projects/tuki/widgets/di2mt/assets/icons/site.png +0 -0
  425. package/projects/tuki/widgets/di2mt/assets/icons/user.png +0 -0
  426. package/projects/tuki/widgets/di2mt/assets/icons/warning_icon.png +0 -0
  427. package/projects/tuki/widgets/di2mt/ng-package.json +0 -7
  428. package/projects/tuki/widgets/di2mt/public-api.ts +0 -27
  429. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.html +0 -11
  430. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.scss +0 -48
  431. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.ts +0 -10
  432. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.html +0 -15
  433. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.scss +0 -38
  434. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.ts +0 -76
  435. package/projects/tuki/widgets/di2mt/shared/components/index.ts +0 -6
  436. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.html +0 -43
  437. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.scss +0 -74
  438. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.ts +0 -44
  439. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.html +0 -57
  440. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.scss +0 -187
  441. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.ts +0 -41
  442. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.html +0 -12
  443. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.scss +0 -78
  444. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.ts +0 -27
  445. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.html +0 -28
  446. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.scss +0 -245
  447. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.ts +0 -28
  448. package/projects/tuki/widgets/di2mt/shared/constants/app.constants.ts +0 -96
  449. package/projects/tuki/widgets/di2mt/shared/material.module.ts +0 -36
  450. package/projects/tuki/widgets/di2mt/shared/services/api.service.ts +0 -91
  451. package/projects/tuki/widgets/di2mt/shared/shared.module.ts +0 -39
  452. package/projects/tuki/widgets/di2mt/shared/types/constants.ts +0 -22
  453. package/projects/tuki/widgets/di2mt/shared/types/data-table.ts +0 -5
  454. package/projects/tuki/widgets/di2mt/shared/types/table/filter.ts +0 -14
  455. package/projects/tuki/widgets/di2mt/styles/tuki-widgets-theme.scss +0 -13
  456. package/projects/tuki/widgets/di2mt/styles/variables.scss +0 -94
  457. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.html +0 -6
  458. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.scss +0 -45
  459. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.ts +0 -27
  460. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.html +0 -160
  461. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.scss +0 -460
  462. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.ts +0 -506
  463. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.module.ts +0 -33
  464. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.service.ts +0 -172
  465. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/types/user-upgrade.ts +0 -27
  466. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.ts +0 -52
  467. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.ts +0 -53
  468. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.ts +0 -82
  469. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.html +0 -7
  470. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.scss +0 -0
  471. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.ts +0 -45
  472. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.html +0 -7
  473. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.scss +0 -0
  474. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.ts +0 -45
  475. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.ts +0 -81
  476. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.ts +0 -70
  477. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/types/upgrade-overview.ts +0 -58
  478. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.module.ts +0 -42
  479. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.service.ts +0 -95
  480. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/types/user-upgrade.ts +0 -35
  481. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.html +0 -204
  482. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.scss +0 -462
  483. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.ts +0 -438
  484. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.module.ts +0 -34
  485. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.service.ts +0 -137
  486. package/projects/tuki/widgets/karma.conf.js +0 -44
  487. package/projects/tuki/widgets/ng-package.json +0 -10
  488. package/projects/tuki/widgets/package.json +0 -13
  489. package/projects/tuki/widgets/src/lib/widgets.component.spec.ts +0 -23
  490. package/projects/tuki/widgets/src/lib/widgets.component.ts +0 -20
  491. package/projects/tuki/widgets/src/lib/widgets.module.ts +0 -16
  492. package/projects/tuki/widgets/src/lib/widgets.service.spec.ts +0 -16
  493. package/projects/tuki/widgets/src/lib/widgets.service.ts +0 -9
  494. package/projects/tuki/widgets/src/public-api.ts +0 -7
  495. package/projects/tuki/widgets/src/test.ts +0 -27
  496. package/projects/tuki/widgets/styles.scss +0 -558
  497. package/projects/tuki/widgets/tsconfig.lib.json +0 -37
  498. package/projects/tuki/widgets/tsconfig.lib.prod.json +0 -10
  499. package/projects/tuki/widgets/tsconfig.spec.json +0 -17
  500. package/projects/tuki/widgets/user-device-manage/ng-package.json +0 -7
  501. package/projects/tuki/widgets/user-device-manage/src/app.constants.ts +0 -98
  502. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-down-bold.svg +0 -1
  503. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-left.svg +0 -5
  504. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right-regular.svg +0 -1
  505. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right.svg +0 -5
  506. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cancel-regular.svg +0 -1
  507. package/projects/tuki/widgets/user-device-manage/src/assets/icons/check-circle-regular.svg +0 -1
  508. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cisco.svg +0 -8
  509. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cisco_7841.png +0 -0
  510. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cisco_8841.png +0 -0
  511. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cisco_8851.png +0 -0
  512. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cisco_9861.png +0 -0
  513. package/projects/tuki/widgets/user-device-manage/src/assets/icons/close_icon_x.svg +0 -3
  514. package/projects/tuki/widgets/user-device-manage/src/assets/icons/delete_icon.svg +0 -5
  515. package/projects/tuki/widgets/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +0 -3
  516. package/projects/tuki/widgets/user-device-manage/src/assets/icons/icon_user.svg +0 -1
  517. package/projects/tuki/widgets/user-device-manage/src/assets/icons/info-circle-regular.svg +0 -1
  518. package/projects/tuki/widgets/user-device-manage/src/assets/icons/people-regular.svg +0 -1
  519. package/projects/tuki/widgets/user-device-manage/src/assets/icons/plus-regular.svg +0 -1
  520. package/projects/tuki/widgets/user-device-manage/src/assets/icons/settings-light.svg +0 -1
  521. package/projects/tuki/widgets/user-device-manage/src/assets/icons/settings-regular.svg +0 -1
  522. package/projects/tuki/widgets/user-device-manage/src/assets/icons/vartical_divider_icon.svg +0 -3
  523. package/projects/tuki/widgets/user-device-manage/src/assets/icons/warning-regular.svg +0 -1
  524. package/projects/tuki/widgets/user-device-manage/src/assets/info-circle-bold.svg +0 -1
  525. package/projects/tuki/widgets/user-device-manage/src/classes/device.ts +0 -292
  526. package/projects/tuki/widgets/user-device-manage/src/classes/deviceProfile.ts +0 -60
  527. package/projects/tuki/widgets/user-device-manage/src/classes/line-association-interface.ts +0 -50
  528. package/projects/tuki/widgets/user-device-manage/src/classes/line-association.ts +0 -177
  529. package/projects/tuki/widgets/user-device-manage/src/classes/line-call-info-display.ts +0 -21
  530. package/projects/tuki/widgets/user-device-manage/src/classes/line-directory.ts +0 -41
  531. package/projects/tuki/widgets/user-device-manage/src/classes/line.ts +0 -144
  532. package/projects/tuki/widgets/user-device-manage/src/classes/notification.ts +0 -40
  533. package/projects/tuki/widgets/user-device-manage/src/classes/recording-options.ts +0 -6
  534. package/projects/tuki/widgets/user-device-manage/src/classes/simplified-user.ts +0 -169
  535. package/projects/tuki/widgets/user-device-manage/src/classes/site-defaults.ts +0 -167
  536. package/projects/tuki/widgets/user-device-manage/src/classes/translation-pattern.ts +0 -50
  537. package/projects/tuki/widgets/user-device-manage/src/classes/types.ts +0 -19
  538. package/projects/tuki/widgets/user-device-manage/src/classes/user-interface.ts +0 -225
  539. package/projects/tuki/widgets/user-device-manage/src/classes/user.ts +0 -8
  540. package/projects/tuki/widgets/user-device-manage/src/common-functions.ts +0 -16
  541. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.html +0 -14
  542. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.scss +0 -80
  543. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.ts +0 -35
  544. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +0 -21
  545. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.scss +0 -97
  546. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +0 -28
  547. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.html +0 -6
  548. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.scss +0 -20
  549. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.ts +0 -13
  550. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +0 -6
  551. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +0 -4
  552. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +0 -63
  553. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.html +0 -241
  554. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.scss +0 -500
  555. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.ts +0 -194
  556. package/projects/tuki/widgets/user-device-manage/src/device-info/device-info.component.html +0 -52
  557. package/projects/tuki/widgets/user-device-manage/src/device-info/device-info.component.scss +0 -219
  558. package/projects/tuki/widgets/user-device-manage/src/device-info/device-info.component.ts +0 -38
  559. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.html +0 -27
  560. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.scss +0 -131
  561. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.ts +0 -25
  562. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.html +0 -281
  563. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.scss +0 -766
  564. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.ts +0 -142
  565. package/projects/tuki/widgets/user-device-manage/src/environments/environment.prod.ts +0 -9
  566. package/projects/tuki/widgets/user-device-manage/src/environments/environment.ts +0 -10
  567. package/projects/tuki/widgets/user-device-manage/src/interseptors/auth.interceptor.ts +0 -35
  568. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +0 -67
  569. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +0 -98
  570. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +0 -81
  571. package/projects/tuki/widgets/user-device-manage/src/material.module.ts +0 -87
  572. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.html +0 -33
  573. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.scss +0 -84
  574. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.ts +0 -46
  575. package/projects/tuki/widgets/user-device-manage/src/pipes/mac-address.pipe.ts +0 -24
  576. package/projects/tuki/widgets/user-device-manage/src/removeKynFromIBM.service.ts +0 -25
  577. package/projects/tuki/widgets/user-device-manage/src/services/api.service.ts +0 -87
  578. package/projects/tuki/widgets/user-device-manage/src/services/common-functions.ts +0 -17
  579. package/projects/tuki/widgets/user-device-manage/src/services/device.service.ts +0 -95
  580. package/projects/tuki/widgets/user-device-manage/src/services/dns.service.ts +0 -111
  581. package/projects/tuki/widgets/user-device-manage/src/services/line.service.ts +0 -89
  582. package/projects/tuki/widgets/user-device-manage/src/services/notification.service.ts +0 -68
  583. package/projects/tuki/widgets/user-device-manage/src/services/removeKynFromIBM.service.ts +0 -25
  584. package/projects/tuki/widgets/user-device-manage/src/services/site-settings.service.ts +0 -82
  585. package/projects/tuki/widgets/user-device-manage/src/services/sorting-utils.service.ts +0 -203
  586. package/projects/tuki/widgets/user-device-manage/src/services/user.service.ts +0 -360
  587. package/projects/tuki/widgets/user-device-manage/src/services/utils.service.ts +0 -87
  588. package/projects/tuki/widgets/user-device-manage/src/services/validation.service.ts +0 -829
  589. package/projects/tuki/widgets/user-device-manage/src/shared/tk-page-section/page-section.component.html +0 -13
  590. package/projects/tuki/widgets/user-device-manage/src/shared/tk-page-section/page-section.component.scss +0 -48
  591. package/projects/tuki/widgets/user-device-manage/src/shared/tk-page-section/page-section.component.spec.ts +0 -23
  592. package/projects/tuki/widgets/user-device-manage/src/shared/tk-page-section/page-section.component.ts +0 -10
  593. package/projects/tuki/widgets/user-device-manage/src/styles/_variables.scss +0 -90
  594. package/projects/tuki/widgets/user-device-manage/src/styles/form.scss +0 -284
  595. package/projects/tuki/widgets/user-device-manage/src/styles/icons.scss +0 -33
  596. package/projects/tuki/widgets/user-device-manage/src/styles/styles.scss +0 -127
  597. package/projects/tuki/widgets/user-device-manage/src/styles/tables.scss +0 -30
  598. package/projects/tuki/widgets/user-device-manage/src/user-device-manage.module.ts +0 -79
  599. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.html +0 -7
  600. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.scss +0 -11
  601. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.ts +0 -13
  602. package/projects/tuki/widgets/user-manage/ng-package.json +0 -7
  603. package/projects/tuki/widgets/user-manage/src/app.constants.ts +0 -54
  604. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-down-bold.svg +0 -1
  605. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-left.svg +0 -5
  606. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right-bold.svg +0 -1
  607. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right.svg +0 -5
  608. package/projects/tuki/widgets/user-manage/src/assets/icons/cisco_7841.png +0 -0
  609. package/projects/tuki/widgets/user-manage/src/assets/icons/cisco_8841.png +0 -0
  610. package/projects/tuki/widgets/user-manage/src/assets/icons/cisco_8851.png +0 -0
  611. package/projects/tuki/widgets/user-manage/src/assets/icons/cisco_9861.png +0 -0
  612. package/projects/tuki/widgets/user-manage/src/assets/icons/delete_icon.svg +0 -5
  613. package/projects/tuki/widgets/user-manage/src/assets/icons/dragger-vertical-icon.svg +0 -3
  614. package/projects/tuki/widgets/user-manage/src/assets/icons/icon_user.svg +0 -1
  615. package/projects/tuki/widgets/user-manage/src/assets/icons/info-circle-bold.svg +0 -1
  616. package/projects/tuki/widgets/user-manage/src/assets/icons/people-regular.svg +0 -1
  617. package/projects/tuki/widgets/user-manage/src/assets/icons/settings-light.svg +0 -1
  618. package/projects/tuki/widgets/user-manage/src/assets/icons/vartical_divider_icon.svg +0 -3
  619. package/projects/tuki/widgets/user-manage/src/classes/device.ts +0 -232
  620. package/projects/tuki/widgets/user-manage/src/classes/line-association-interface.ts +0 -44
  621. package/projects/tuki/widgets/user-manage/src/classes/line-association.ts +0 -161
  622. package/projects/tuki/widgets/user-manage/src/classes/line-call-info-display.ts +0 -21
  623. package/projects/tuki/widgets/user-manage/src/classes/line-directory.ts +0 -44
  624. package/projects/tuki/widgets/user-manage/src/classes/line.ts +0 -145
  625. package/projects/tuki/widgets/user-manage/src/classes/notification.ts +0 -39
  626. package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +0 -18
  627. package/projects/tuki/widgets/user-manage/src/classes/recording-options.ts +0 -6
  628. package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +0 -165
  629. package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +0 -6
  630. package/projects/tuki/widgets/user-manage/src/classes/translation-pattern.ts +0 -49
  631. package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +0 -225
  632. package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +0 -42
  633. package/projects/tuki/widgets/user-manage/src/classes/user.ts +0 -8
  634. package/projects/tuki/widgets/user-manage/src/common-functions.ts +0 -16
  635. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.html +0 -32
  636. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.scss +0 -305
  637. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.ts +0 -26
  638. package/projects/tuki/widgets/user-manage/src/device-list/device-row/device-row.component.html +0 -13
  639. package/projects/tuki/widgets/user-manage/src/device-list/device-row/device-row.component.scss +0 -154
  640. package/projects/tuki/widgets/user-manage/src/device-list/device-row/device-row.component.ts +0 -34
  641. package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +0 -9
  642. package/projects/tuki/widgets/user-manage/src/environments/environment.ts +0 -10
  643. package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +0 -35
  644. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +0 -68
  645. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +0 -125
  646. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +0 -93
  647. package/projects/tuki/widgets/user-manage/src/material.module.ts +0 -85
  648. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +0 -33
  649. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +0 -84
  650. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +0 -46
  651. package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +0 -25
  652. package/projects/tuki/widgets/user-manage/src/services/api.service.ts +0 -90
  653. package/projects/tuki/widgets/user-manage/src/services/dns.service.ts +0 -116
  654. package/projects/tuki/widgets/user-manage/src/services/line.service.ts +0 -31
  655. package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +0 -68
  656. package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +0 -25
  657. package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +0 -35
  658. package/projects/tuki/widgets/user-manage/src/services/sorting-utils.service.ts +0 -203
  659. package/projects/tuki/widgets/user-manage/src/services/user.service.ts +0 -288
  660. package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +0 -59
  661. package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +0 -71
  662. package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +0 -93
  663. package/projects/tuki/widgets/user-manage/src/styles/form.scss +0 -231
  664. package/projects/tuki/widgets/user-manage/src/styles/icons.scss +0 -41
  665. package/projects/tuki/widgets/user-manage/src/styles/styles.scss +0 -128
  666. package/projects/tuki/widgets/user-manage/src/styles/tables.scss +0 -30
  667. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +0 -10
  668. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +0 -444
  669. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +0 -63
  670. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.html +0 -97
  671. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.scss +0 -444
  672. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.ts +0 -89
  673. package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +0 -68
  674. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +0 -37
  675. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +0 -121
  676. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +0 -19
  677. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +0 -313
  678. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +0 -638
  679. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +0 -222
  680. package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +0 -65
  681. package/projects/tuki/widgets/user-manage/src/user-summary/user-summary.component.html +0 -64
  682. package/projects/tuki/widgets/user-manage/src/user-summary/user-summary.component.scss +0 -17
  683. package/projects/tuki/widgets/user-manage/src/user-summary/user-summary.component.ts +0 -8
  684. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +0 -7
  685. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +0 -11
  686. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +0 -13
  687. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +0 -26
  688. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +0 -41
  689. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +0 -41
  690. package/projects/tuki/widgets/users-list/ng-package.json +0 -7
  691. package/projects/tuki/widgets/users-list/src/app.constants.ts +0 -54
  692. package/projects/tuki/widgets/users-list/src/assets/icons/close_icon_modal.svg +0 -3
  693. package/projects/tuki/widgets/users-list/src/assets/icons/cogs.svg +0 -8
  694. package/projects/tuki/widgets/users-list/src/assets/icons/copy-regular.svg +0 -1
  695. package/projects/tuki/widgets/users-list/src/assets/icons/icon_user.svg +0 -1
  696. package/projects/tuki/widgets/users-list/src/assets/icons/info-circle-regular.svg +0 -1
  697. package/projects/tuki/widgets/users-list/src/assets/icons/info.svg +0 -5
  698. package/projects/tuki/widgets/users-list/src/assets/icons/move_user_to_another_location.svg +0 -14
  699. package/projects/tuki/widgets/users-list/src/assets/icons/mt.svg +0 -3
  700. package/projects/tuki/widgets/users-list/src/assets/icons/settings-regular.svg +0 -1
  701. package/projects/tuki/widgets/users-list/src/assets/icons/webex.svg +0 -7
  702. package/projects/tuki/widgets/users-list/src/assets/icons/webex_logo_icon.svg +0 -305
  703. package/projects/tuki/widgets/users-list/src/assets/icons/white-close-icon.svg +0 -3
  704. package/projects/tuki/widgets/users-list/src/classes/app-location.ts +0 -36
  705. package/projects/tuki/widgets/users-list/src/classes/device.ts +0 -225
  706. package/projects/tuki/widgets/users-list/src/classes/line.ts +0 -144
  707. package/projects/tuki/widgets/users-list/src/classes/move-user.ts +0 -225
  708. package/projects/tuki/widgets/users-list/src/classes/notification.ts +0 -38
  709. package/projects/tuki/widgets/users-list/src/classes/pagination.ts +0 -18
  710. package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +0 -74
  711. package/projects/tuki/widgets/users-list/src/classes/table-data.ts +0 -6
  712. package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +0 -225
  713. package/projects/tuki/widgets/users-list/src/classes/user-list.ts +0 -47
  714. package/projects/tuki/widgets/users-list/src/classes/user.ts +0 -8
  715. package/projects/tuki/widgets/users-list/src/components/table-toolbar/table-toolbar.component.html +0 -39
  716. package/projects/tuki/widgets/users-list/src/components/table-toolbar/table-toolbar.component.scss +0 -41
  717. package/projects/tuki/widgets/users-list/src/components/table-toolbar/table-toolbar.component.ts +0 -21
  718. package/projects/tuki/widgets/users-list/src/material.module.ts +0 -97
  719. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.html +0 -37
  720. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.scss +0 -129
  721. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.ts +0 -46
  722. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.html +0 -31
  723. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.scss +0 -20
  724. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.ts +0 -26
  725. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +0 -222
  726. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.scss +0 -249
  727. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +0 -206
  728. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.html +0 -12
  729. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.scss +0 -41
  730. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.ts +0 -36
  731. package/projects/tuki/widgets/users-list/src/services/api-webex.service.ts +0 -14
  732. package/projects/tuki/widgets/users-list/src/services/api.service.ts +0 -90
  733. package/projects/tuki/widgets/users-list/src/services/dns.service.ts +0 -128
  734. package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +0 -11
  735. package/projects/tuki/widgets/users-list/src/services/move-user.service.ts +0 -59
  736. package/projects/tuki/widgets/users-list/src/services/notification.service.ts +0 -68
  737. package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +0 -25
  738. package/projects/tuki/widgets/users-list/src/services/site-settings.service.ts +0 -26
  739. package/projects/tuki/widgets/users-list/src/services/user.service.ts +0 -159
  740. package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +0 -160
  741. package/projects/tuki/widgets/users-list/src/styles/styles.scss +0 -639
  742. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +0 -15
  743. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +0 -103
  744. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +0 -35
  745. package/projects/tuki/widgets/users-list/src/users-list.component.css +0 -4
  746. package/projects/tuki/widgets/users-list/src/users-list.component.css.map +0 -1
  747. package/projects/tuki/widgets/users-list/src/users-list.component.html +0 -261
  748. package/projects/tuki/widgets/users-list/src/users-list.component.scss +0 -629
  749. package/projects/tuki/widgets/users-list/src/users-list.component.ts +0 -410
  750. package/projects/tuki/widgets/users-list/src/users-list.module.ts +0 -65
  751. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css +0 -11
  752. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css.map +0 -1
  753. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +0 -7
  754. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +0 -17
  755. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +0 -13
  756. package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +0 -32
  757. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +0 -33
  758. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +0 -84
  759. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +0 -46
  760. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css +0 -45
  761. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css.map +0 -1
  762. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +0 -26
  763. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +0 -41
  764. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +0 -41
  765. package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +0 -71
  766. package/projects/widgets-playground/src/app/app.component.html +0 -130
  767. package/projects/widgets-playground/src/app/app.component.scss +0 -16
  768. package/projects/widgets-playground/src/app/app.component.spec.ts +0 -31
  769. package/projects/widgets-playground/src/app/app.component.ts +0 -31
  770. package/projects/widgets-playground/src/app/app.module.ts +0 -45
  771. package/projects/widgets-playground/src/assets/.gitkeep +0 -0
  772. package/projects/widgets-playground/src/assets/icons/already_upgraded.png +0 -0
  773. package/projects/widgets-playground/src/assets/icons/applications copy.svg +0 -6
  774. package/projects/widgets-playground/src/assets/icons/applications.svg +0 -6
  775. package/projects/widgets-playground/src/assets/icons/arrow-down-bold.svg +0 -1
  776. package/projects/widgets-playground/src/assets/icons/audio-prompts.svg +0 -4
  777. package/projects/widgets-playground/src/assets/icons/audioPrompts.svg +0 -4
  778. package/projects/widgets-playground/src/assets/icons/check2_icon.png +0 -0
  779. package/projects/widgets-playground/src/assets/icons/check_icon.png +0 -0
  780. package/projects/widgets-playground/src/assets/icons/contactServiceQueues.svg +0 -3
  781. package/projects/widgets-playground/src/assets/icons/copy-regular.svg +0 -1
  782. package/projects/widgets-playground/src/assets/icons/csqs.svg +0 -3
  783. package/projects/widgets-playground/src/assets/icons/expand_icon.png +0 -0
  784. package/projects/widgets-playground/src/assets/icons/info-circle-regular.svg +0 -1
  785. package/projects/widgets-playground/src/assets/icons/issue_icon.png +0 -0
  786. package/projects/widgets-playground/src/assets/icons/menu_icon.png +0 -0
  787. package/projects/widgets-playground/src/assets/icons/mt.svg +0 -3
  788. package/projects/widgets-playground/src/assets/icons/phone-books.svg +0 -6
  789. package/projects/widgets-playground/src/assets/icons/phonebooks.svg +0 -6
  790. package/projects/widgets-playground/src/assets/icons/ready_to_upgrade.png +0 -0
  791. package/projects/widgets-playground/src/assets/icons/resource-group.svg +0 -6
  792. package/projects/widgets-playground/src/assets/icons/resource.svg +0 -3
  793. package/projects/widgets-playground/src/assets/icons/resourceGroups.svg +0 -6
  794. package/projects/widgets-playground/src/assets/icons/resources.svg +0 -3
  795. package/projects/widgets-playground/src/assets/icons/scripts copy.svg +0 -12
  796. package/projects/widgets-playground/src/assets/icons/scripts.svg +0 -12
  797. package/projects/widgets-playground/src/assets/icons/search_icon.png +0 -0
  798. package/projects/widgets-playground/src/assets/icons/settings-regular.svg +0 -1
  799. package/projects/widgets-playground/src/assets/icons/site.png +0 -0
  800. package/projects/widgets-playground/src/assets/icons/skills copy.svg +0 -3
  801. package/projects/widgets-playground/src/assets/icons/skills.svg +0 -3
  802. package/projects/widgets-playground/src/assets/icons/teams copy.svg +0 -3
  803. package/projects/widgets-playground/src/assets/icons/teams.svg +0 -3
  804. package/projects/widgets-playground/src/assets/icons/triggers copy.svg +0 -4
  805. package/projects/widgets-playground/src/assets/icons/triggers.svg +0 -4
  806. package/projects/widgets-playground/src/assets/icons/user.png +0 -0
  807. package/projects/widgets-playground/src/assets/icons/warning_icon.png +0 -0
  808. package/projects/widgets-playground/src/assets/icons/webex.svg +0 -7
  809. package/projects/widgets-playground/src/assets/icons/webex_logo_icon.svg +0 -305
  810. package/projects/widgets-playground/src/assets/icons/wrapUpCodes.svg +0 -3
  811. package/projects/widgets-playground/src/assets/icons/wrapup-codes.svg +0 -3
  812. package/projects/widgets-playground/src/assets/icons/xml copy.svg +0 -6
  813. package/projects/widgets-playground/src/assets/icons/xml.svg +0 -6
  814. package/projects/widgets-playground/src/favicon.ico +0 -0
  815. package/projects/widgets-playground/src/index.html +0 -13
  816. package/projects/widgets-playground/src/main.ts +0 -7
  817. package/projects/widgets-playground/src/styles.scss +0 -24
  818. package/projects/widgets-playground/tsconfig.app.json +0 -14
  819. package/projects/widgets-playground/tsconfig.spec.json +0 -14
  820. package/proxy.conf.js +0 -23
  821. package/tsconfig.json +0 -46
  822. /package/{projects/tuki/widgets/di2mt → di2mt}/README.md +0 -0
  823. /package/{projects/tuki/widgets/user-device-manage/public-api.ts → user-device-manage/public-api.d.ts} +0 -0
  824. /package/{projects/tuki/widgets/user-manage/public-api.ts → user-manage/public-api.d.ts} +0 -0
  825. /package/{projects/tuki/widgets/users-list/public-api.ts → users-list/public-api.d.ts} +0 -0
@@ -0,0 +1,2074 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ViewEncapsulation, Inject, Injectable, EventEmitter, Input, Output, ViewChild, NgModule } from '@angular/core';
3
+ import * as i11$1 from '@angular/material/table';
4
+ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
5
+ import * as i1 from '@angular/material/dialog';
6
+ import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
7
+ import * as i2 from '@angular/common';
8
+ import { Subject, of, forkJoin, BehaviorSubject, Observable } from 'rxjs';
9
+ import * as i7 from '@angular/forms';
10
+ import { FormBuilder, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
11
+ import { map } from 'rxjs/operators';
12
+ import * as i1$1 from '@angular/common/http';
13
+ import { HttpHeaders, HttpClientModule } from '@angular/common/http';
14
+ import * as i8 from '@angular/material/button';
15
+ import { MatButtonModule } from '@angular/material/button';
16
+ import * as i9 from '@angular/material/progress-spinner';
17
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
18
+ import * as i10$1 from '@angular/material/tooltip';
19
+ import { MatTooltipModule } from '@angular/material/tooltip';
20
+ import * as i12$1 from '@angular/material/menu';
21
+ import { MatMenuModule } from '@angular/material/menu';
22
+ import * as i4 from '@angular/material/core';
23
+ import { MatNativeDateModule } from '@angular/material/core';
24
+ import * as i5 from '@angular/material/select';
25
+ import { MatSelectModule } from '@angular/material/select';
26
+ import * as i6 from '@angular/material/paginator';
27
+ import { MatPaginatorModule } from '@angular/material/paginator';
28
+ import * as Big from 'big.js';
29
+ import * as i10 from '@angular/material/form-field';
30
+ import { MatFormFieldModule } from '@angular/material/form-field';
31
+ import * as i11 from '@angular/material/input';
32
+ import { MatInputModule } from '@angular/material/input';
33
+ import * as i12 from '@angular/material/autocomplete';
34
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
35
+ import * as i14 from '@angular/material/stepper';
36
+ import { MatStepperModule } from '@angular/material/stepper';
37
+ import * as i7$1 from '@angular/material/checkbox';
38
+ import { MatCheckboxModule } from '@angular/material/checkbox';
39
+ import * as i16 from '@angular/material/radio';
40
+ import { MatRadioModule } from '@angular/material/radio';
41
+ import * as i6$1 from '@angular/material/divider';
42
+ import { BrowserModule } from '@angular/platform-browser';
43
+ import { MatExpansionModule } from '@angular/material/expansion';
44
+ import { MatDatepickerModule } from '@angular/material/datepicker';
45
+ import { MatChipsModule } from '@angular/material/chips';
46
+ import { MatListModule } from '@angular/material/list';
47
+ import { MatSidenavModule } from '@angular/material/sidenav';
48
+ import { MatTreeModule } from '@angular/material/tree';
49
+ import { DragDropModule } from '@angular/cdk/drag-drop';
50
+ import { MatTabsModule } from '@angular/material/tabs';
51
+ import { MatCardModule } from '@angular/material/card';
52
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
53
+ import { MatIconModule } from '@angular/material/icon';
54
+
55
+ class UserListConfirmDialogComponent {
56
+ constructor(dialogRef, data) {
57
+ this.dialogRef = dialogRef;
58
+ this.data = data;
59
+ this.confirmButtonText = 'OK';
60
+ this.message = '';
61
+ this.title = '';
62
+ }
63
+ ngOnInit() {
64
+ this.confirmButtonText = this.data.confirmButtonText || '';
65
+ this.message = this.data.message || '';
66
+ this.title = this.data.title || '';
67
+ }
68
+ onClose(val) {
69
+ this.dialogRef.close(val);
70
+ }
71
+ }
72
+ UserListConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserListConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
73
+ UserListConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserListConfirmDialogComponent, selector: "app-info-dialog", ngImport: i0, template: "<div id=\"info-dialog\" class=\"app-dialog\" aria-labelledby=\"info-dialog-label\" role=\"dialog\">\r\n <h3 *ngIf=\"title\" class=\"app-dialog-title\">{{title}}</h3>\r\n <div mat-dialog-content *ngIf=\"message\" class=\"app-dialog-content\">\r\n <div class=\"move_user_popup_icon\"></div>\r\n <div class=\"dialog-content-message\" [innerHTML]=\"message\"></div>\r\n </div>\r\n <div mat-dialog-actions class=\"flex-gap-container\">\r\n <button class=\"app-dialog-button app-dialog-cancel-button\" (click)=\"onClose(false)\">\r\n Cancel\r\n </button>\r\n <button class=\"app-dialog-button app-dialog-confirm-button\" (click)=\"onClose(true)\">\r\n {{confirmButtonText}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";#info-dialog{min-height:150px;width:400px;box-sizing:border-box;position:relative;padding:0 0 30px}#info-dialog .fa{font-size:35px;margin:0 auto 20px;display:block;text-align:center;color:#009fdb;cursor:default}.scroll-content{overflow-y:auto;margin:auto;max-height:150px;width:100%}.app-dialog{font-family:Inter,Inter,sans-serif}.app-dialog .app-dialog-title{text-align:center;font-weight:600;font-size:16px;font-family:Inter,Inter,sans-serif;margin:0 0 24px}.app-dialog .flex-gap-container{gap:16px;position:absolute;right:0;gap:15px;display:flex}.app-dialog .app-dialog-content{color:#000000b3;font-size:14px;margin:0 auto 15px}.move_user_popup_icon{display:block;height:30xp;margin:auto}.mat-dialog-actions{margin:0;bottom:-20px}.dialog-content-message{font-weight:500}.dialog-content-message p{padding:15px 0 0}.mat-dialog-content{padding:0}.app-dialog-button{height:32px;padding:10px 12px;text-align:center;border-radius:50px;box-shadow:none;line-height:11px;border:none;font-size:14px;font-family:Inter,Inter,sans-serif;cursor:pointer}.app-dialog-cancel-button{border:1px solid rgba(0,0,0,.5);color:#000;background:white}.app-dialog-confirm-button{background:black;color:#fff}.move_user_popup_icon{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%22170%22 height%3D%2292%22 viewBox%3D%220 0 170 92%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg clip-path%3D%22url(%23clip0_1542_78221)%22%3E%0D%3Cpath d%3D%22M110.843 14.284C112.49 18.534 116.58 23.8465 122.052 23.8465C133.74 23.8465 141.177 6.31523 144.737 2.96836M103.99 17.6309C104.096 18.1621 104.521 18.534 105.052 18.534H107.337C107.868 18.534 108.293 18.1621 108.399 17.6309L108.718 15.8246C109.568 15.4527 110.312 14.9215 110.896 14.2309C111.321 13.7527 111.693 13.1684 111.958 12.5309L113.765 12.2121C114.296 12.1059 114.668 11.6809 114.668 11.1496V8.70586C114.668 8.17461 114.296 7.74961 113.765 7.64336L111.958 7.32461C111.321 5.89023 110.152 4.72148 108.718 4.08398L108.399 2.27773C108.293 1.74648 107.868 1.37461 107.337 1.37461H104.893C104.362 1.37461 103.937 1.74648 103.83 2.27773L103.512 4.08398C102.077 4.72148 100.908 5.89023 100.271 7.32461L98.4646 7.64336C97.9334 7.74961 97.5615 8.17461 97.5615 8.70586V11.6809C97.5615 12.2121 97.9334 12.6371 98.4646 12.7434L99.899 12.9559C100.43 13.0621 100.802 13.4871 100.802 14.0184V16.4621C100.802 16.9934 100.43 17.4184 99.899 17.5246L97.349 17.9496C96.9772 18.0027 96.6584 18.2684 96.499 18.6402C96.0209 20.1809 95.1709 21.5621 94.1084 22.7309C93.8428 22.9965 93.7897 23.4215 93.8959 23.7934L94.799 26.184C94.9584 26.6621 94.799 27.1934 94.3209 27.459L92.1959 28.6809C91.7709 28.9465 91.1865 28.8402 90.8678 28.4152L89.2209 26.4496C88.9553 26.1309 88.5834 26.0246 88.2115 26.0777C87.4678 26.2371 86.6709 26.3434 85.874 26.3434C85.0771 26.3434 84.2803 26.2371 83.5365 26.0777C83.1647 25.9715 82.7396 26.1309 82.5271 26.4496L80.8803 28.4152C80.5615 28.8402 79.9772 28.8934 79.5522 28.6809L77.4272 27.459C77.0022 27.1934 76.7897 26.6621 76.949 26.184L77.8522 23.7934C78.0115 23.4215 77.9053 22.9965 77.6396 22.7309C76.5771 21.5621 75.7803 20.1809 75.249 18.6402C75.1428 18.2684 74.824 18.0027 74.399 17.9496L71.849 17.5246C71.3178 17.4184 70.9459 16.9934 70.9459 16.4621V14.0184C70.9459 13.4871 71.3178 13.0621 71.849 12.9559L74.399 12.5309C74.7709 12.4777 75.0896 12.2121 75.249 11.8402C75.7271 10.2996 76.5771 8.91836 77.6396 7.74961C77.9053 7.48398 77.9584 7.05898 77.8522 6.68711L76.949 4.29648C76.7897 3.81836 76.949 3.28711 77.4272 3.02148L79.5522 1.79961C79.9772 1.53398 80.5615 1.64023 80.8803 2.06523L82.5271 4.03086C82.7928 4.34961 83.1647 4.45586 83.5365 4.40273C84.2803 4.24336 85.0771 4.13711 85.874 4.13711C86.6709 4.13711 87.4678 4.24336 88.2115 4.40273C88.5834 4.50898 89.0084 4.34961 89.2209 4.03086L90.8678 2.06523C91.1865 1.64023 91.7709 1.58711 92.1959 1.79961L94.3209 3.02148C94.7459 3.28711 94.9584 3.81836 94.799 4.29648L94.0022 6.68711C93.8959 7.05898 94.0022 7.48398 94.2678 7.74961M38.0615 85.4184H31.6865V55.6684C29.5084 55.6684 27.3303 54.8184 25.6834 53.1715C24.0365 51.5246 23.1865 49.3465 23.1865 47.1684H10.4365L18.9365 30.1684L25.6834 41.1652C28.9771 37.8715 34.3959 37.8715 37.6896 41.1652C40.8771 44.3527 40.9834 49.4527 38.0615 52.7996C37.849 53.0121 37.849 53.3309 38.0615 53.5434L47.5178 62.9996C46.0303 65.4434 46.349 68.684 48.474 70.809C49.2709 71.6059 50.2803 72.1902 51.3428 72.4559L51.9803 74.9527C52.2459 76.0152 53.7865 76.0152 54.0522 74.9527L54.6897 72.4559C55.9115 72.1371 57.0272 71.4465 57.8772 70.4371C59.8428 68.0996 59.8959 64.5934 57.9303 62.2559C55.8584 59.759 52.299 59.2809 49.6959 60.8746L42.1521 53.3309M59.3115 82.2309H57.1865V80.1059C57.1865 79.5215 56.7084 79.0434 56.124 79.0434H49.749C49.1646 79.0434 48.6865 79.5215 48.6865 80.1059V82.2309H47.624C47.0396 82.2309 46.5615 82.709 46.5615 83.2934V84.3559C46.5615 84.9402 47.0396 85.4184 47.624 85.4184H82.6865C84.4396 85.4184 85.874 86.8527 85.874 88.6059C85.874 90.4121 84.2272 91.7934 82.3678 91.7934C75.4615 91.634 69.9365 86.0027 69.9365 79.0434C69.9365 74.2621 69.9365 72.6684 69.9365 72.6684H66.749C66.1646 72.6684 65.6865 72.1902 65.6865 71.6059V56.7309C65.6865 56.1465 66.1646 55.6684 66.749 55.6684H69.9365C69.9365 53.0121 68.874 52.4809 68.874 50.3559C68.874 48.6027 70.3084 47.1684 72.0615 47.1684C73.8146 47.1684 75.249 48.6027 75.249 50.3559C75.249 52.4809 74.1865 53.0121 74.1865 55.6684H92.249C92.8334 55.6684 93.3115 56.1465 93.3115 56.7309V71.6059C93.3115 72.1902 92.8334 72.6684 92.249 72.6684H89.0615C89.0615 74.4215 87.6271 75.8559 85.874 75.8559C84.1209 75.8559 82.6865 74.4215 82.6865 72.6684C82.6865 70.9152 84.1209 69.4809 85.874 69.4809V26.4496M60.374 78.5121L62.499 76.9184M58.249 75.8559L59.3115 73.1996M68.874 59.9184H75.249M68.874 63.1059H75.249M68.874 66.2934H75.249M135.333 77.4496L127.683 85.0996C127.471 85.3121 127.205 85.4184 126.94 85.4184H100.802C100.218 85.4184 99.7397 84.9402 99.7397 84.3559V35.4809C99.7397 34.8965 100.218 34.4184 100.802 34.4184H136.927C137.512 34.4184 137.99 34.8965 137.99 35.4809V62.0434H132.943C132.199 62.0434 131.615 62.6277 131.615 63.3715C131.615 64.1152 132.199 64.6996 132.943 64.6996H149.412C150.155 64.6996 150.74 64.1152 150.74 63.3715C150.74 62.6277 150.155 62.0434 149.412 62.0434H142.24M126.249 81.6996V74.7934C126.249 74.209 126.727 73.7309 127.312 73.7309H136.874C137.458 73.7309 137.937 73.2527 137.937 72.6684V68.4184M103.937 44.9902L105.371 43.5559C106.646 42.2809 108.877 43.184 108.877 44.9902C108.877 46.7965 111.108 47.7527 112.383 46.4246L115.305 43.5027C116.58 42.2277 118.812 43.1309 118.812 44.9371C118.812 46.7434 121.043 47.6996 122.318 46.3715L125.24 43.4496C126.515 42.1746 128.746 43.0777 128.746 44.884C128.746 46.6902 130.977 47.6465 132.252 46.3184L133.687 44.884M103.937 54.5527L105.371 53.1184C106.646 51.8434 108.877 52.7465 108.877 54.5527C108.877 56.359 111.108 57.3152 112.383 55.9871L115.305 53.0652C116.58 51.7902 118.812 52.6934 118.812 54.4996C118.812 56.3059 121.043 57.2621 122.318 55.934L125.24 53.0121C126.515 51.7371 128.746 52.6402 128.746 54.4465C128.746 56.2527 130.977 57.209 132.252 55.8809L133.687 54.4465M103.937 64.1152L105.371 62.6809C106.646 61.4059 108.877 62.309 108.877 64.1152C108.877 65.9215 111.108 66.8777 112.383 65.5496L115.305 62.6277C116.58 61.3527 118.812 62.2559 118.812 64.0621C118.812 65.8684 121.043 66.8246 122.318 65.4965L123.699 64.1152M148.562 64.6996V66.2934C148.562 66.8777 148.083 67.3559 147.499 67.3559H143.249M131.562 63.4246H129.437M150.687 8.91836L142.505 17.0996C142.293 17.3121 142.187 17.5777 142.187 17.8434V62.0434M148.03 17.0465C148.88 17.3121 149.783 17.4715 150.687 17.4715C152.865 17.4715 155.043 16.6215 156.69 14.9746C159.983 11.6809 159.983 6.26211 156.69 2.96836C153.396 -0.325391 147.977 -0.325391 144.683 2.96836C143.037 4.61523 142.187 6.79336 142.187 8.97148C142.187 11.1496 143.037 13.3277 144.683 14.9746M92.249 15.2934C92.249 18.8142 89.3948 21.6684 85.874 21.6684C82.3532 21.6684 79.499 18.8142 79.499 15.2934C79.499 11.7725 82.3532 8.91836 85.874 8.91836C89.3948 8.91836 92.249 11.7725 92.249 15.2934ZM108.187 9.98086C108.187 11.1545 107.235 12.1059 106.062 12.1059C104.888 12.1059 103.937 11.1545 103.937 9.98086C103.937 8.80725 104.888 7.85586 106.062 7.85586C107.235 7.85586 108.187 8.80725 108.187 9.98086Z%22 stroke%3D%22url(%23paint0_linear_1542_78221)%22 stroke-width%3D%221.5%22 stroke-miterlimit%3D%2210%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fg%3E%0D%3Cdefs%3E%0D%3ClinearGradient id%3D%22paint0_linear_1542_78221%22 x1%3D%2284.7982%22 y1%3D%220.498047%22 x2%3D%2284.7982%22 y2%3D%2291.7934%22 gradientUnits%3D%22userSpaceOnUse%22%3E%0D%3Cstop stop-color%3D%22%2393C437%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22%23279BE8%22%2F%3E%0D%3C%2FlinearGradient%3E%0D%3CclipPath id%3D%22clip0_1542_78221%22%3E%0D%3Crect width%3D%22170%22 height%3D%2292%22 fill%3D%22white%22%2F%3E%0D%3C%2FclipPath%3E%0D%3C%2Fdefs%3E%0D%3C%2Fsvg%3E%0D\");display:block;height:100px;margin:auto;background-repeat:no-repeat;background-position:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }], encapsulation: i0.ViewEncapsulation.None });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserListConfirmDialogComponent, decorators: [{
75
+ type: Component,
76
+ args: [{ selector: 'app-info-dialog', encapsulation: ViewEncapsulation.None, template: "<div id=\"info-dialog\" class=\"app-dialog\" aria-labelledby=\"info-dialog-label\" role=\"dialog\">\r\n <h3 *ngIf=\"title\" class=\"app-dialog-title\">{{title}}</h3>\r\n <div mat-dialog-content *ngIf=\"message\" class=\"app-dialog-content\">\r\n <div class=\"move_user_popup_icon\"></div>\r\n <div class=\"dialog-content-message\" [innerHTML]=\"message\"></div>\r\n </div>\r\n <div mat-dialog-actions class=\"flex-gap-container\">\r\n <button class=\"app-dialog-button app-dialog-cancel-button\" (click)=\"onClose(false)\">\r\n Cancel\r\n </button>\r\n <button class=\"app-dialog-button app-dialog-confirm-button\" (click)=\"onClose(true)\">\r\n {{confirmButtonText}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";#info-dialog{min-height:150px;width:400px;box-sizing:border-box;position:relative;padding:0 0 30px}#info-dialog .fa{font-size:35px;margin:0 auto 20px;display:block;text-align:center;color:#009fdb;cursor:default}.scroll-content{overflow-y:auto;margin:auto;max-height:150px;width:100%}.app-dialog{font-family:Inter,Inter,sans-serif}.app-dialog .app-dialog-title{text-align:center;font-weight:600;font-size:16px;font-family:Inter,Inter,sans-serif;margin:0 0 24px}.app-dialog .flex-gap-container{gap:16px;position:absolute;right:0;gap:15px;display:flex}.app-dialog .app-dialog-content{color:#000000b3;font-size:14px;margin:0 auto 15px}.move_user_popup_icon{display:block;height:30xp;margin:auto}.mat-dialog-actions{margin:0;bottom:-20px}.dialog-content-message{font-weight:500}.dialog-content-message p{padding:15px 0 0}.mat-dialog-content{padding:0}.app-dialog-button{height:32px;padding:10px 12px;text-align:center;border-radius:50px;box-shadow:none;line-height:11px;border:none;font-size:14px;font-family:Inter,Inter,sans-serif;cursor:pointer}.app-dialog-cancel-button{border:1px solid rgba(0,0,0,.5);color:#000;background:white}.app-dialog-confirm-button{background:black;color:#fff}.move_user_popup_icon{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%22170%22 height%3D%2292%22 viewBox%3D%220 0 170 92%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg clip-path%3D%22url(%23clip0_1542_78221)%22%3E%0D%3Cpath d%3D%22M110.843 14.284C112.49 18.534 116.58 23.8465 122.052 23.8465C133.74 23.8465 141.177 6.31523 144.737 2.96836M103.99 17.6309C104.096 18.1621 104.521 18.534 105.052 18.534H107.337C107.868 18.534 108.293 18.1621 108.399 17.6309L108.718 15.8246C109.568 15.4527 110.312 14.9215 110.896 14.2309C111.321 13.7527 111.693 13.1684 111.958 12.5309L113.765 12.2121C114.296 12.1059 114.668 11.6809 114.668 11.1496V8.70586C114.668 8.17461 114.296 7.74961 113.765 7.64336L111.958 7.32461C111.321 5.89023 110.152 4.72148 108.718 4.08398L108.399 2.27773C108.293 1.74648 107.868 1.37461 107.337 1.37461H104.893C104.362 1.37461 103.937 1.74648 103.83 2.27773L103.512 4.08398C102.077 4.72148 100.908 5.89023 100.271 7.32461L98.4646 7.64336C97.9334 7.74961 97.5615 8.17461 97.5615 8.70586V11.6809C97.5615 12.2121 97.9334 12.6371 98.4646 12.7434L99.899 12.9559C100.43 13.0621 100.802 13.4871 100.802 14.0184V16.4621C100.802 16.9934 100.43 17.4184 99.899 17.5246L97.349 17.9496C96.9772 18.0027 96.6584 18.2684 96.499 18.6402C96.0209 20.1809 95.1709 21.5621 94.1084 22.7309C93.8428 22.9965 93.7897 23.4215 93.8959 23.7934L94.799 26.184C94.9584 26.6621 94.799 27.1934 94.3209 27.459L92.1959 28.6809C91.7709 28.9465 91.1865 28.8402 90.8678 28.4152L89.2209 26.4496C88.9553 26.1309 88.5834 26.0246 88.2115 26.0777C87.4678 26.2371 86.6709 26.3434 85.874 26.3434C85.0771 26.3434 84.2803 26.2371 83.5365 26.0777C83.1647 25.9715 82.7396 26.1309 82.5271 26.4496L80.8803 28.4152C80.5615 28.8402 79.9772 28.8934 79.5522 28.6809L77.4272 27.459C77.0022 27.1934 76.7897 26.6621 76.949 26.184L77.8522 23.7934C78.0115 23.4215 77.9053 22.9965 77.6396 22.7309C76.5771 21.5621 75.7803 20.1809 75.249 18.6402C75.1428 18.2684 74.824 18.0027 74.399 17.9496L71.849 17.5246C71.3178 17.4184 70.9459 16.9934 70.9459 16.4621V14.0184C70.9459 13.4871 71.3178 13.0621 71.849 12.9559L74.399 12.5309C74.7709 12.4777 75.0896 12.2121 75.249 11.8402C75.7271 10.2996 76.5771 8.91836 77.6396 7.74961C77.9053 7.48398 77.9584 7.05898 77.8522 6.68711L76.949 4.29648C76.7897 3.81836 76.949 3.28711 77.4272 3.02148L79.5522 1.79961C79.9772 1.53398 80.5615 1.64023 80.8803 2.06523L82.5271 4.03086C82.7928 4.34961 83.1647 4.45586 83.5365 4.40273C84.2803 4.24336 85.0771 4.13711 85.874 4.13711C86.6709 4.13711 87.4678 4.24336 88.2115 4.40273C88.5834 4.50898 89.0084 4.34961 89.2209 4.03086L90.8678 2.06523C91.1865 1.64023 91.7709 1.58711 92.1959 1.79961L94.3209 3.02148C94.7459 3.28711 94.9584 3.81836 94.799 4.29648L94.0022 6.68711C93.8959 7.05898 94.0022 7.48398 94.2678 7.74961M38.0615 85.4184H31.6865V55.6684C29.5084 55.6684 27.3303 54.8184 25.6834 53.1715C24.0365 51.5246 23.1865 49.3465 23.1865 47.1684H10.4365L18.9365 30.1684L25.6834 41.1652C28.9771 37.8715 34.3959 37.8715 37.6896 41.1652C40.8771 44.3527 40.9834 49.4527 38.0615 52.7996C37.849 53.0121 37.849 53.3309 38.0615 53.5434L47.5178 62.9996C46.0303 65.4434 46.349 68.684 48.474 70.809C49.2709 71.6059 50.2803 72.1902 51.3428 72.4559L51.9803 74.9527C52.2459 76.0152 53.7865 76.0152 54.0522 74.9527L54.6897 72.4559C55.9115 72.1371 57.0272 71.4465 57.8772 70.4371C59.8428 68.0996 59.8959 64.5934 57.9303 62.2559C55.8584 59.759 52.299 59.2809 49.6959 60.8746L42.1521 53.3309M59.3115 82.2309H57.1865V80.1059C57.1865 79.5215 56.7084 79.0434 56.124 79.0434H49.749C49.1646 79.0434 48.6865 79.5215 48.6865 80.1059V82.2309H47.624C47.0396 82.2309 46.5615 82.709 46.5615 83.2934V84.3559C46.5615 84.9402 47.0396 85.4184 47.624 85.4184H82.6865C84.4396 85.4184 85.874 86.8527 85.874 88.6059C85.874 90.4121 84.2272 91.7934 82.3678 91.7934C75.4615 91.634 69.9365 86.0027 69.9365 79.0434C69.9365 74.2621 69.9365 72.6684 69.9365 72.6684H66.749C66.1646 72.6684 65.6865 72.1902 65.6865 71.6059V56.7309C65.6865 56.1465 66.1646 55.6684 66.749 55.6684H69.9365C69.9365 53.0121 68.874 52.4809 68.874 50.3559C68.874 48.6027 70.3084 47.1684 72.0615 47.1684C73.8146 47.1684 75.249 48.6027 75.249 50.3559C75.249 52.4809 74.1865 53.0121 74.1865 55.6684H92.249C92.8334 55.6684 93.3115 56.1465 93.3115 56.7309V71.6059C93.3115 72.1902 92.8334 72.6684 92.249 72.6684H89.0615C89.0615 74.4215 87.6271 75.8559 85.874 75.8559C84.1209 75.8559 82.6865 74.4215 82.6865 72.6684C82.6865 70.9152 84.1209 69.4809 85.874 69.4809V26.4496M60.374 78.5121L62.499 76.9184M58.249 75.8559L59.3115 73.1996M68.874 59.9184H75.249M68.874 63.1059H75.249M68.874 66.2934H75.249M135.333 77.4496L127.683 85.0996C127.471 85.3121 127.205 85.4184 126.94 85.4184H100.802C100.218 85.4184 99.7397 84.9402 99.7397 84.3559V35.4809C99.7397 34.8965 100.218 34.4184 100.802 34.4184H136.927C137.512 34.4184 137.99 34.8965 137.99 35.4809V62.0434H132.943C132.199 62.0434 131.615 62.6277 131.615 63.3715C131.615 64.1152 132.199 64.6996 132.943 64.6996H149.412C150.155 64.6996 150.74 64.1152 150.74 63.3715C150.74 62.6277 150.155 62.0434 149.412 62.0434H142.24M126.249 81.6996V74.7934C126.249 74.209 126.727 73.7309 127.312 73.7309H136.874C137.458 73.7309 137.937 73.2527 137.937 72.6684V68.4184M103.937 44.9902L105.371 43.5559C106.646 42.2809 108.877 43.184 108.877 44.9902C108.877 46.7965 111.108 47.7527 112.383 46.4246L115.305 43.5027C116.58 42.2277 118.812 43.1309 118.812 44.9371C118.812 46.7434 121.043 47.6996 122.318 46.3715L125.24 43.4496C126.515 42.1746 128.746 43.0777 128.746 44.884C128.746 46.6902 130.977 47.6465 132.252 46.3184L133.687 44.884M103.937 54.5527L105.371 53.1184C106.646 51.8434 108.877 52.7465 108.877 54.5527C108.877 56.359 111.108 57.3152 112.383 55.9871L115.305 53.0652C116.58 51.7902 118.812 52.6934 118.812 54.4996C118.812 56.3059 121.043 57.2621 122.318 55.934L125.24 53.0121C126.515 51.7371 128.746 52.6402 128.746 54.4465C128.746 56.2527 130.977 57.209 132.252 55.8809L133.687 54.4465M103.937 64.1152L105.371 62.6809C106.646 61.4059 108.877 62.309 108.877 64.1152C108.877 65.9215 111.108 66.8777 112.383 65.5496L115.305 62.6277C116.58 61.3527 118.812 62.2559 118.812 64.0621C118.812 65.8684 121.043 66.8246 122.318 65.4965L123.699 64.1152M148.562 64.6996V66.2934C148.562 66.8777 148.083 67.3559 147.499 67.3559H143.249M131.562 63.4246H129.437M150.687 8.91836L142.505 17.0996C142.293 17.3121 142.187 17.5777 142.187 17.8434V62.0434M148.03 17.0465C148.88 17.3121 149.783 17.4715 150.687 17.4715C152.865 17.4715 155.043 16.6215 156.69 14.9746C159.983 11.6809 159.983 6.26211 156.69 2.96836C153.396 -0.325391 147.977 -0.325391 144.683 2.96836C143.037 4.61523 142.187 6.79336 142.187 8.97148C142.187 11.1496 143.037 13.3277 144.683 14.9746M92.249 15.2934C92.249 18.8142 89.3948 21.6684 85.874 21.6684C82.3532 21.6684 79.499 18.8142 79.499 15.2934C79.499 11.7725 82.3532 8.91836 85.874 8.91836C89.3948 8.91836 92.249 11.7725 92.249 15.2934ZM108.187 9.98086C108.187 11.1545 107.235 12.1059 106.062 12.1059C104.888 12.1059 103.937 11.1545 103.937 9.98086C103.937 8.80725 104.888 7.85586 106.062 7.85586C107.235 7.85586 108.187 8.80725 108.187 9.98086Z%22 stroke%3D%22url(%23paint0_linear_1542_78221)%22 stroke-width%3D%221.5%22 stroke-miterlimit%3D%2210%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fg%3E%0D%3Cdefs%3E%0D%3ClinearGradient id%3D%22paint0_linear_1542_78221%22 x1%3D%2284.7982%22 y1%3D%220.498047%22 x2%3D%2284.7982%22 y2%3D%2291.7934%22 gradientUnits%3D%22userSpaceOnUse%22%3E%0D%3Cstop stop-color%3D%22%2393C437%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22%23279BE8%22%2F%3E%0D%3C%2FlinearGradient%3E%0D%3CclipPath id%3D%22clip0_1542_78221%22%3E%0D%3Crect width%3D%22170%22 height%3D%2292%22 fill%3D%22white%22%2F%3E%0D%3C%2FclipPath%3E%0D%3C%2Fdefs%3E%0D%3C%2Fsvg%3E%0D\");display:block;height:100px;margin:auto;background-repeat:no-repeat;background-position:center}\n"] }]
77
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: InfoDialogConfig, decorators: [{
78
+ type: Inject,
79
+ args: [MAT_DIALOG_DATA]
80
+ }] }]; } });
81
+ class InfoDialogConfig {
82
+ }
83
+
84
+ const getSavableData = (model, exclude) => {
85
+ let result = Object.keys(model);
86
+ if (exclude && exclude.length) {
87
+ result = result.filter(key => !exclude.some(item => item === key));
88
+ }
89
+ return result.reduce((result, key) => {
90
+ if (model[key] instanceof Array && model[key].length && model[key][0].getSavableData) {
91
+ result[key] = model[key].map((item) => item.getSavableData());
92
+ }
93
+ else if (model[key] instanceof Object && model[key].getSavableData) {
94
+ result[key] = model[key].getSavableData();
95
+ }
96
+ else {
97
+ result[key] = model[key];
98
+ }
99
+ return result;
100
+ }, {});
101
+ };
102
+ const filterOptions = (options, query, shownValue, field) => {
103
+ if (!options) {
104
+ return [];
105
+ }
106
+ if (!query) {
107
+ return options;
108
+ }
109
+ return options.filter(option => {
110
+ return (field ? String(option[field]).toLowerCase().includes(String(query).toLowerCase()) :
111
+ String(option).toLowerCase().includes(String(query).toLowerCase()) ||
112
+ (shownValue && shownValue === option));
113
+ });
114
+ };
115
+
116
+ const API = {
117
+ USER_TOKEN: '/api/provision/:siteId/users/:userId/token',
118
+ UPDATE_USER_FIELDS: '/api/provision/:siteId/userFields/:token',
119
+ PERSIST_USER_CACHE: '/api/provision/:siteId/saveUser/:token',
120
+ USER_BY_ID: '/api/provision/:siteId/users/:userId',
121
+ QUICK_USERS_SEARCH: "/api/search/quickusers",
122
+ DELETE_USER: "/api/search/quickusers",
123
+ MOVE_USER: "/api/migration/webex/singlemigration/features/PERSON",
124
+ AVAILABLE_DN_IN_RANGES: "/api/sites/:siteId/available-dn-in-ranges",
125
+ DELETE_LINE: "/api/provision/:siteId/deleteLine/:pkid/:token",
126
+ DISASSOCIATE_LINE: "/api/provision/:siteId/:deviceName/deleteLineAssociation/:linePkid/:token",
127
+ CHECK_DELETE_LINE: "/api/provision/:siteId/checklinedeletion",
128
+ ASSOCIATE_LINE: "/api/provision/:siteId/:deviceName/createLineAssociation/:token",
129
+ CHECK_DESTINATION_NUMBER: "/api/provision/:siteId/check-dn",
130
+ UPDATE_LINE_FIELDS: "/api/provision/:siteId/lineFields/:pkid/:token",
131
+ UPDATE_DEVICE_FIELDS: "/api/provision/:siteId/deviceFields/:deviceName/:token",
132
+ WEBEX_USERS: "/api/webex/provisioning/customers/:customerId/users",
133
+ MIGRATED_USERS: "/api/search/migratedusers",
134
+ REVERT_WEBEX_USER: "/api/webex/provisioning/customers/:customerId/persons/:webexUUID/revertmigration",
135
+ PHONE_NUMBERS: "/api/search/webex/customers/:customerId/locations/:locationId/phonenumbers",
136
+ GET_LOCATIONS: "/api/search/webex/customers/:customerId/locations",
137
+ PREPARE_PERSON_MIGRATION: "/api/migration/webex/preparepersonmigration",
138
+ MIGRATION_FORM: "/api/search/webex/customers/:customerId/migrationforms/:formId",
139
+ START_MIGRATION: "/api/migration/webex/startpersonmigration"
140
+ };
141
+ const REGEX_PATTERN = {
142
+ EMAIL: '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))' +
143
+ '@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])' +
144
+ '?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])?)*$'
145
+ };
146
+ const PAGINATION_DEFAULTS = {
147
+ SIZE: 10,
148
+ INDEX: 0
149
+ };
150
+ const PAGINATION_SIZE_OPTIONS = [
151
+ 10,
152
+ 50,
153
+ 100,
154
+ 500
155
+ ];
156
+ const CUCS_TO_IGNORE = [
157
+ 189,
158
+ 194,
159
+ 191,
160
+ 190
161
+ ];
162
+ const CUCMS_TO_IGNORE = [
163
+ 249,
164
+ 255,
165
+ 251,
166
+ 250
167
+ ];
168
+ const MAX_INTEGER = 2147483647;
169
+
170
+ class SimplifiedUser {
171
+ constructor(user) {
172
+ if (user) {
173
+ this.userid = user.userid;
174
+ this.email = user.email;
175
+ this.firstName = user.firstName;
176
+ this.lastName = user.lastName;
177
+ this.token = user.token;
178
+ }
179
+ this.initForm();
180
+ }
181
+ initForm() {
182
+ const formBuilder = new FormBuilder();
183
+ const formSettings = {
184
+ userid: [{ value: this.userid || '', disabled: true }, [Validators.required, Validators.maxLength(128)]],
185
+ email: [{ value: this.email || '', disabled: true }, [
186
+ Validators.pattern(REGEX_PATTERN.EMAIL),
187
+ Validators.required
188
+ ]],
189
+ firstName: [{ value: this.firstName || '', disabled: true }],
190
+ lastName: [{ value: this.lastName || '', disabled: true }, Validators.required],
191
+ };
192
+ this.form = formBuilder.group(formSettings);
193
+ }
194
+ toggleEditMode() {
195
+ this.editMode = !this.editMode;
196
+ ['userid', 'email', 'firstName', 'lastName'].forEach(token => {
197
+ if (this.editMode) {
198
+ this.form.get(token)?.enable();
199
+ }
200
+ else {
201
+ this.form.get(token)?.disable();
202
+ }
203
+ });
204
+ }
205
+ getSavableData() {
206
+ const excludedFields = ['form', 'editMode', 'viewMode', 'token', 'hasModifiedCache'];
207
+ return getSavableData(this, excludedFields);
208
+ }
209
+ equal(userToCompare) {
210
+ if (!userToCompare) {
211
+ return false;
212
+ }
213
+ return JSON.stringify(this.getSavableData()) === JSON.stringify(userToCompare.getSavableData());
214
+ }
215
+ }
216
+
217
+ class UtilsService {
218
+ static sortSortArrayByProperty(array, sortBy) {
219
+ if (!array) {
220
+ return null;
221
+ }
222
+ return array.sort((a, b) => {
223
+ if (!a[sortBy] && !b[sortBy]) {
224
+ return 0;
225
+ }
226
+ if (a[sortBy] && !b[sortBy]) {
227
+ return 1;
228
+ }
229
+ if (!a[sortBy] && b[sortBy]) {
230
+ return -1;
231
+ }
232
+ const positionA = a[sortBy];
233
+ const positionB = b[sortBy];
234
+ return (positionA < positionB) ? -1 : (positionA > positionB) ? 1 : 0;
235
+ });
236
+ }
237
+ static diff(origObject, updatedObj, path, keysToIgnore) {
238
+ let result = [];
239
+ if (Object.is(origObject, updatedObj)) {
240
+ return undefined;
241
+ }
242
+ if (!updatedObj || typeof updatedObj !== 'object') {
243
+ return updatedObj;
244
+ }
245
+ const concat = Array.from(new Set([...Object.keys(origObject || {}), ...Object.keys(updatedObj || {})]));
246
+ const filter = keysToIgnore ? concat.filter(key => !keysToIgnore.includes(key)) : concat;
247
+ filter
248
+ .forEach(key => {
249
+ if (typeof updatedObj[key] === 'object' && typeof origObject[key] === 'object') {
250
+ if (UtilsService.differs(updatedObj[key], origObject[key])) {
251
+ const newPath = `${path}${path ? '.' : ''}${key}`;
252
+ const values = UtilsService.diff(origObject[key], updatedObj[key], newPath, keysToIgnore);
253
+ if (values !== undefined) {
254
+ result = [...result, ...values];
255
+ }
256
+ }
257
+ }
258
+ else if (updatedObj && !origObject || updatedObj[key] !== origObject[key] && !Object.is(origObject[key], updatedObj[key])) {
259
+ const value = updatedObj ? UtilsService.formatIfEmpty(updatedObj[key]) : null;
260
+ result.push(`${path}${path ? '.' : ''}${key}=${value}`);
261
+ }
262
+ });
263
+ return result;
264
+ }
265
+ static formatIfEmpty(value) {
266
+ if (value) {
267
+ return value;
268
+ }
269
+ switch (typeof value) {
270
+ case 'boolean':
271
+ return value;
272
+ case 'string':
273
+ return '';
274
+ default:
275
+ return null;
276
+ }
277
+ }
278
+ static differs(obj1, obj2) {
279
+ return JSON.stringify(obj1) !== JSON.stringify(obj2);
280
+ }
281
+ }
282
+ UtilsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
283
+ UtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService });
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService, decorators: [{
285
+ type: Injectable
286
+ }] });
287
+
288
+ class APIService {
289
+ constructor(httpClient) {
290
+ this.httpClient = httpClient;
291
+ this.apiUrl = window.location.protocol + '//' + window.location.hostname + '/dcp';
292
+ }
293
+ fetch(url, params = {}, cache) {
294
+ const headers = this.getHeaders(cache);
295
+ return this.httpClient.get(this.apiUrl + url, { params: this.prepareEncodedParams(params), headers });
296
+ }
297
+ post(url, body, params = {}) {
298
+ body = body || null;
299
+ const headers = this.getHeaders();
300
+ return this.httpClient.post(this.apiUrl + url, body, { params: this.prepareEncodedParams(params), headers });
301
+ }
302
+ // use when response extended data is necessary:
303
+ postExtended(url, body = null, params = {}, headers = {}) {
304
+ headers = headers || this.getHeaders();
305
+ return this.httpClient.post(this.apiUrl + url, body, {
306
+ headers,
307
+ observe: 'response',
308
+ params: this.prepareEncodedParams(params)
309
+ });
310
+ }
311
+ put(url, body = null, params = {}) {
312
+ const headers = this.getHeaders();
313
+ return this.httpClient.put(this.apiUrl + url, body, { headers, params: this.prepareEncodedParams(params) });
314
+ }
315
+ delete(url, params = {}) {
316
+ const headers = this.getHeaders();
317
+ return this.httpClient.delete(this.apiUrl + url, { headers, params: this.prepareEncodedParams(params) });
318
+ }
319
+ fetchPagination(url, pageSize, pageNumber, additionalParams = {}, cache) {
320
+ const copyAdditionalParams = JSON.parse(JSON.stringify(additionalParams));
321
+ const params = Object.assign(copyAdditionalParams, { size: pageSize.toString(), page: pageNumber.toString() });
322
+ return this.fetch(url, params, cache);
323
+ }
324
+ prepareEncodedParams(params) {
325
+ const result = {};
326
+ if (!params) {
327
+ return {};
328
+ }
329
+ for (const key of Object.keys(params)) {
330
+ if (params[key]) {
331
+ const stringParam = params[key].toString();
332
+ result[key] = stringParam.includes('+') ? encodeURIComponent(stringParam) : stringParam;
333
+ }
334
+ }
335
+ return result;
336
+ }
337
+ getHeaders(cache) {
338
+ let headers = new HttpHeaders();
339
+ if (cache) {
340
+ headers = headers.append('_Cache', 'true ');
341
+ }
342
+ const token = this.token || this.getParameterByName('token');
343
+ headers = headers.append('Authorization', 'Bearer ' + token);
344
+ return headers;
345
+ }
346
+ getParameterByName(name, url = window.location.href) {
347
+ name = name.replace(/[\[\]]/g, '\\$&');
348
+ var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
349
+ if (!results)
350
+ return null;
351
+ if (!results[2])
352
+ return '';
353
+ return decodeURIComponent(results[2].replace(/\+/g, ' '));
354
+ }
355
+ }
356
+ APIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
357
+ APIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService });
358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, decorators: [{
359
+ type: Injectable
360
+ }], ctorParameters: function () { return [{ type: i1$1.HttpClient }]; } });
361
+
362
+ class ApiWebexService extends APIService {
363
+ constructor(httpClient) {
364
+ super(httpClient);
365
+ //this.apiUrl = window.location.protocol + "//"+ window.location.hostname + environment.apiAuthUrl;
366
+ this.apiUrl = 'https://webex.car-west.net/webex';
367
+ // this.apiUrl = 'https://staging.tuki.io/webex';
368
+ }
369
+ }
370
+ ApiWebexService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiWebexService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
371
+ ApiWebexService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiWebexService });
372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiWebexService, decorators: [{
373
+ type: Injectable
374
+ }], ctorParameters: function () { return [{ type: i1$1.HttpClient }]; } });
375
+
376
+ class UserService {
377
+ constructor(apiService, apiWebexService) {
378
+ this.apiService = apiService;
379
+ this.apiWebexService = apiWebexService;
380
+ this.siteId = -1;
381
+ this.userId = '';
382
+ this.userIdExistPending = false;
383
+ this.hasExistedUserId = false;
384
+ this.moveUserPending = false;
385
+ this.userMoved$ = new Subject();
386
+ }
387
+ ngOnInit() {
388
+ console.log(this.siteId);
389
+ }
390
+ fetchUserToken(siteId, userId) {
391
+ this.siteId = siteId;
392
+ this.userId = userId;
393
+ return this.apiService.fetch(API.USER_TOKEN.replace(':siteId', String(this.siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(userId))))
394
+ .pipe(map((result) => {
395
+ const token = Object.keys(result)[0];
396
+ this.setSimplifiedUser(Object.values(result)[0], token);
397
+ }));
398
+ // .pipe(this.handleError(false, true));
399
+ }
400
+ updateUserFields(body) {
401
+ if (!this.userId || !this.siteId || !this.user?.token) {
402
+ return;
403
+ }
404
+ return this.apiService.post(API.UPDATE_USER_FIELDS.replace(':siteId', String(this.siteId)).replace(':token', this.user.token), body);
405
+ // .pipe(this.handleError(false, true));
406
+ }
407
+ moveUserToMT(customerId, user) {
408
+ // return new Observable<boolean>(observer => {
409
+ // setTimeout(() => {
410
+ // observer.next(true);
411
+ //
412
+ // }, 1000);
413
+ // });
414
+ return this.apiWebexService.post(API.MOVE_USER, this.getMoveUserBody(customerId, user));
415
+ // .pipe(this.handleError(true, true));
416
+ }
417
+ moveUserToDI(customerId, user) {
418
+ // return new Observable<boolean>(observer => {
419
+ // setTimeout(() => {
420
+ // observer.next(true);
421
+ //
422
+ // }, 1000);
423
+ // });
424
+ const URL = API.REVERT_WEBEX_USER.replace(':customerId', customerId).replace(':webexUUID', String(user.webexUUID));
425
+ return this.apiWebexService.post(URL, this.getMoveUserBody(customerId, user));
426
+ // .pipe(this.handleError(true, true));
427
+ }
428
+ getMoveUserBody(customerId, user) {
429
+ return {
430
+ customerId: customerId,
431
+ entities: {
432
+ PERSON: [{ cucmId: user.cucmId, entityId: user.userid }]
433
+ }
434
+ };
435
+ }
436
+ deleteUser(siteId, userId) {
437
+ return this.apiService.delete(API.DELETE_USER.replace(':siteId', String(siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(userId))));
438
+ // .pipe(this.handleError(true, true));
439
+ }
440
+ fetchUserById(id) {
441
+ this.userIdExistPending = true;
442
+ return this.apiService.fetch(API.USER_BY_ID.replace(':siteId', String(this.siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(id))))
443
+ .pipe(map(result => {
444
+ this.userIdExistPending = false;
445
+ return result;
446
+ }));
447
+ }
448
+ persistCacheChanges() {
449
+ const params = {
450
+ excludeDeviceExtraOptions: true
451
+ };
452
+ return this.processUserChangesToCache()
453
+ .pipe(map((result) => {
454
+ return this.apiService.post(API.PERSIST_USER_CACHE.replace(':siteId', String(this.siteId)).replace(':token', this.user.token), {}, params)
455
+ .subscribe(() => {
456
+ });
457
+ // .pipe(map((user) => {
458
+ // // this.setUser(user, false, this.user.token);
459
+ // this.user.hasModifiedCache = false;
460
+ // }))
461
+ // .pipe(this.handleError(true, true));
462
+ }));
463
+ }
464
+ processUserChangesToCache() {
465
+ const calls = [];
466
+ const body = UtilsService.diff(this.originUser.getSavableData(), this.user.getSavableData(), 'user');
467
+ if (body) {
468
+ calls.push(this.updateUserFields(body));
469
+ }
470
+ if (!calls?.length) {
471
+ return of(this.user);
472
+ }
473
+ return forkJoin(calls)
474
+ .pipe(map((responses) => {
475
+ // ApiUserResponse
476
+ this.handleSaveUserResponse(responses);
477
+ }));
478
+ // .pipe(this.handleError(false, true));
479
+ }
480
+ hasUnsavedChanges() {
481
+ return !this.user.equal(this.originUser);
482
+ }
483
+ setSimplifiedUser(user, token) {
484
+ this.user = new SimplifiedUser(user);
485
+ const copiedUser = JSON.parse(JSON.stringify(user));
486
+ this.originUser = new SimplifiedUser(copiedUser);
487
+ this.user.token = this.user.token || token;
488
+ this.originUser.token = this.originUser.token || token;
489
+ }
490
+ handleSaveUserResponse(responses) {
491
+ if (!responses?.length) {
492
+ return;
493
+ }
494
+ for (let len = responses.length, i = len - 1; i >= 0; i--) {
495
+ if (responses[i] && responses[i].currentUpdatedUser) {
496
+ // this.setUser(responses[i].currentUpdatedUser, false, this.user.token);
497
+ this.user.hasModifiedCache = true;
498
+ return;
499
+ }
500
+ }
501
+ }
502
+ }
503
+ UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService, deps: [{ token: APIService }, { token: ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
504
+ UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService });
505
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService, decorators: [{
506
+ type: Injectable
507
+ }], ctorParameters: function () { return [{ type: APIService }, { type: ApiWebexService }]; } });
508
+
509
+ const TTL_DEFAULT = 30000;
510
+ const TTL_LONG_DEFAULT = 45000;
511
+ var NotificationType;
512
+ (function (NotificationType) {
513
+ NotificationType["info"] = "info";
514
+ NotificationType["error"] = "error";
515
+ NotificationType["success"] = "success";
516
+ NotificationType["warning"] = "warning";
517
+ })(NotificationType || (NotificationType = {}));
518
+ class Notification {
519
+ constructor(data) {
520
+ this.ttl = TTL_DEFAULT;
521
+ Object.assign(this, data || {});
522
+ if (this.ttl === undefined) {
523
+ this.ttl = this.message && this.message.length && this.message.length < 80 ? TTL_DEFAULT : TTL_LONG_DEFAULT;
524
+ }
525
+ }
526
+ isInfo() {
527
+ return this.type === NotificationType.info;
528
+ }
529
+ isError() {
530
+ return this.type === NotificationType.error;
531
+ }
532
+ isSuccess() {
533
+ return this.type === NotificationType.success;
534
+ }
535
+ isWarning() {
536
+ return this.type === NotificationType.warning;
537
+ }
538
+ }
539
+
540
+ const SUCCESS_TIME = 5000;
541
+ const INACTIVE_SESSION_MESSAGE = 'Your session was lost due to inactivity. Please login again';
542
+ const INACTIVE_SESSION = 'SESSION_INACTIVE';
543
+ class NotificationService {
544
+ constructor() {
545
+ this.listChange = new Subject();
546
+ this.max = 0;
547
+ this.list = [];
548
+ }
549
+ error(message, ttl) {
550
+ this.notify('error', message, ttl);
551
+ }
552
+ success(message, ttl) {
553
+ this.notify('success', message, (!ttl) ? SUCCESS_TIME : ttl);
554
+ }
555
+ warning(message, ttl) {
556
+ this.notify('warning', message, ttl);
557
+ }
558
+ info(message, ttl) {
559
+ this.notify('info', message, ttl);
560
+ }
561
+ notify(type, message, ttl) {
562
+ const found = this.list.find((n) => n.message === message);
563
+ if (found) {
564
+ this.remove(found);
565
+ }
566
+ const notification = new Notification({
567
+ id: ++this.max,
568
+ type, message, ttl
569
+ });
570
+ if (notification.ttl > 0) {
571
+ notification.timerId = setTimeout(() => this.remove(notification, true), notification.ttl);
572
+ }
573
+ this.list.push(notification);
574
+ this.listChange.next(this.list);
575
+ }
576
+ remove(notification, auto) {
577
+ if (!auto && notification.timerId) {
578
+ // clear timeout in case of manual remove
579
+ clearInterval(notification.timerId);
580
+ }
581
+ this.list = this.list.filter(n => n.id !== notification.id);
582
+ this.listChange.next(this.list);
583
+ }
584
+ removeInactiveSessionError() {
585
+ if (!this.list || !this.list.length) {
586
+ return;
587
+ }
588
+ this.list = this.list.filter(n => n.message !== INACTIVE_SESSION_MESSAGE && n.message !== INACTIVE_SESSION);
589
+ this.listChange.next(this.list);
590
+ }
591
+ }
592
+ NotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
593
+ NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService });
594
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService, decorators: [{
595
+ type: Injectable
596
+ }], ctorParameters: function () { return []; } });
597
+
598
+ class ListUser {
599
+ constructor(user, roleName) {
600
+ this.devices = [];
601
+ this.deviceProfiles = [];
602
+ this.isMigrated = false;
603
+ if (user) {
604
+ Object.assign(this, user);
605
+ }
606
+ if (roleName) {
607
+ this.roleName = roleName;
608
+ }
609
+ }
610
+ }
611
+
612
+ class RemoveKynFromIBMService {
613
+ constructor() {
614
+ }
615
+ removeCUCMS(date, customerId) {
616
+ if (customerId === 8) {
617
+ return date.filter((val) => !CUCMS_TO_IGNORE.includes(Math.round(val.cucmId)));
618
+ }
619
+ return date;
620
+ }
621
+ removeCUCS(date, customerId) {
622
+ if (customerId === 8) {
623
+ return date.filter((val) => !CUCS_TO_IGNORE.includes(Math.round(val.cucId)));
624
+ }
625
+ return date;
626
+ }
627
+ }
628
+ RemoveKynFromIBMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveKynFromIBMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
629
+ RemoveKynFromIBMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveKynFromIBMService });
630
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveKynFromIBMService, decorators: [{
631
+ type: Injectable
632
+ }], ctorParameters: function () { return []; } });
633
+
634
+ class UsersSearchService {
635
+ constructor(apiService, webexApiService, removeKynFromIBMService) {
636
+ this.apiService = apiService;
637
+ this.webexApiService = webexApiService;
638
+ this.removeKynFromIBMService = removeKynFromIBMService;
639
+ this.siteId = -1;
640
+ this.userId = '';
641
+ this.userIdExistPending = false;
642
+ this.hasExistedUserId = false;
643
+ this.pageSize = PAGINATION_DEFAULTS.SIZE;
644
+ this.pageIndex = PAGINATION_DEFAULTS.SIZE;
645
+ this.pageSizeOptions = PAGINATION_SIZE_OPTIONS;
646
+ this.foundUsers$ = new BehaviorSubject(null);
647
+ }
648
+ getAllRegularUsers(searchParams) {
649
+ const params = searchParams || { customerid: this.customerId, siteid: this.siteId };
650
+ return this.apiService.fetchPagination(API.QUICK_USERS_SEARCH, MAX_INTEGER, 0, params)
651
+ .pipe(map((res) => {
652
+ const users = res.pageData && res.pageData.length ? res.pageData
653
+ .map(user => new ListUser(user, user.webexUUID ? '' : 'Dedicated Instance Calling User')) : [];
654
+ if (this.migratedUsersIds?.length) {
655
+ this.setMigratedPropToUsers(users);
656
+ }
657
+ return users;
658
+ }));
659
+ }
660
+ getPagination() {
661
+ return {
662
+ total: this.total,
663
+ pageSizeOptions: this.pageSizeOptions,
664
+ pageSize: this.pageSize,
665
+ pageIndex: this.pageIndex
666
+ };
667
+ }
668
+ setDefaultValues() {
669
+ this.total = 0;
670
+ this.pageSize = PAGINATION_DEFAULTS.SIZE;
671
+ this.pageIndex = PAGINATION_DEFAULTS.INDEX;
672
+ this.pageSizeOptions = PAGINATION_SIZE_OPTIONS;
673
+ }
674
+ quickRegularUsersSearch(searchParams, isMigratedUsersOnly, pageSize) {
675
+ console.log('searchParams = ', searchParams);
676
+ this.searchParams = searchParams || { customerid: this.customerId, siteid: this.siteId };
677
+ // this.searchParams['provisionType'] = 'CUCM';
678
+ return this.apiService.fetchPagination(API.QUICK_USERS_SEARCH, this.pageSize, pageSize || this.pageIndex, this.searchParams)
679
+ .pipe(map((res) => {
680
+ // this.totals = this.totals || {};
681
+ // this.totals['users'] = res.total;
682
+ // this.foundUsers$.next(this.removeKynFromIBMService.removeCUCMS(users, this.customerId));
683
+ if (!isMigratedUsersOnly) {
684
+ const users = res.pageData && res.pageData.length ? res.pageData
685
+ .map(user => new ListUser(user)) : [];
686
+ if (this.migratedUsersIds?.length) {
687
+ this.setMigratedPropToUsers(users);
688
+ }
689
+ this.total = res.total;
690
+ this.foundUsers$.next(users);
691
+ }
692
+ else {
693
+ this.migratedUsersIds = res.pageData && res.pageData.length ? res.pageData
694
+ .map(user => user.userid) : [];
695
+ }
696
+ }));
697
+ // .pipe(this.handleError(true));
698
+ }
699
+ quickWebexUsersSearch(searchParams, isMigratedUsersOnly, pageSize) {
700
+ this.searchParams = searchParams || { customerid: this.customerId, siteid: this.siteId };
701
+ // this.searchParams['provisionType'] = 'CUCM';
702
+ return this.webexApiService.fetchPagination(API.QUICK_USERS_SEARCH, this.pageSize, pageSize || this.pageIndex, this.searchParams)
703
+ .pipe(map((res) => {
704
+ console.log('data: ', res);
705
+ if (!isMigratedUsersOnly) {
706
+ const users = res.pageData && res.pageData.length ? res.pageData
707
+ .map(user => new ListUser(user)) : [];
708
+ if (this.migratedUsersIds?.length) {
709
+ this.setMigratedPropToUsers(users);
710
+ }
711
+ this.total = res.total;
712
+ this.foundUsers$.next(users);
713
+ }
714
+ else {
715
+ this.migratedUsersIds = res.pageData && res.pageData.length ? res.pageData
716
+ .map(user => user.userid) : [];
717
+ }
718
+ }));
719
+ // .pipe(this.handleError(true));
720
+ }
721
+ getMigratedUsers(customerId) {
722
+ this.migratedUsers = [];
723
+ return of(this.migratedUsers);
724
+ // return this.webexApiService.fetch(API.WEBEX_USERS.replace(':customerId', String(customerId)), {})
725
+ // .pipe(map((result: any) => {
726
+ // if (result && result.length) {
727
+ // this.migratedUsers = result.filter((user: any) => user.webexUUID && user.devices && user.devices.length);
728
+ // }
729
+ // }))
730
+ }
731
+ getMigratedWebexUsers(customerId) {
732
+ const params = { customerid: customerId, type: 'PERSON' };
733
+ return this.webexApiService.fetch(API.MIGRATED_USERS.replace(':customerId', String(customerId)), params, true)
734
+ .pipe(map((result) => {
735
+ }));
736
+ }
737
+ setMigratedPropToUsers(users) {
738
+ // users.forEach((user: any) => {
739
+ // const migratedUser = this.migratedUsers.filter((migratedUser: any) => migratedUser.userid === user.email);
740
+ // if (migratedUser && migratedUser[0]) {
741
+ // user.roleName = '';
742
+ // user.isMigrated = true;
743
+ // user.status = 'Migrated';
744
+ // user.webexUUID = migratedUser[0].webexUUID;
745
+ // } else {
746
+ // user.roleName = 'Dedicated Instance Calling user';
747
+ // user.isMigrated = false;
748
+ // user.status = 'Active';
749
+ // user.webexUUID = null;
750
+ // }
751
+ // if (user.webexUUID) {
752
+ // user.roleName = 'Dedicated Instance Calling user';
753
+ // } else {
754
+ // user.roleName = '';
755
+ // }
756
+ // })
757
+ // console.log('users ttt', users);
758
+ }
759
+ }
760
+ UsersSearchService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersSearchService, deps: [{ token: APIService }, { token: ApiWebexService }, { token: RemoveKynFromIBMService }], target: i0.ɵɵFactoryTarget.Injectable });
761
+ UsersSearchService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersSearchService });
762
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersSearchService, decorators: [{
763
+ type: Injectable
764
+ }], ctorParameters: function () { return [{ type: APIService }, { type: ApiWebexService }, { type: RemoveKynFromIBMService }]; } });
765
+
766
+ class PaginationComponent {
767
+ constructor() {
768
+ this.pageEmitter = new EventEmitter();
769
+ this.pageNumberChangeEmitter = new EventEmitter();
770
+ this.pageSizeOptions = PAGINATION_SIZE_OPTIONS;
771
+ }
772
+ ngOnInit() {
773
+ }
774
+ pageEvent(event) {
775
+ this.pageEmitter.emit(event);
776
+ }
777
+ changePerPageNumber(event) {
778
+ this.pageNumberChangeEmitter.emit(event.value);
779
+ }
780
+ }
781
+ PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
782
+ PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PaginationComponent, selector: "app-pagination", inputs: { pagination: "pagination", showPageSizeOptions: "showPageSizeOptions", showRefreshButton: "showRefreshButton", lengthPending: "lengthPending" }, outputs: { pageEmitter: "pageEmitter", pageNumberChangeEmitter: "pageNumberChangeEmitter" }, ngImport: i0, template: "<div class=\"flex-box pagination\">\r\n <div class=\"page-indexes-box\">\r\n <mat-paginator\r\n [id]=\"'commonPagination'\"\r\n [hidePageSize]=\"true\"\r\n [length]=\"pagination.total\"\r\n [pageIndex]=\"pagination.pageIndex\"\r\n [pageSize]=\"pagination.pageSize\"\r\n [pageSizeOptions]=\"pagination.pageSizeOptions || [5, 10, 25, 100]\"\r\n (page)=\"pageEvent($event)\">\r\n </mat-paginator>\r\n <mat-spinner class=\"length-spinner\" [diameter]=\"20\" mode=\"indeterminate\" *ngIf=\"lengthPending\">\r\n </mat-spinner>\r\n </div>\r\n\r\n <div class=\"flex-box per-page-block\" style=\"justify-content: left;\" *ngIf=\"showPageSizeOptions\">\r\n <div class=\"item_per_page\">Items per page:</div>\r\n <div class=\"select-box select-page-size\">\r\n <mat-select [(ngModel)]=\"pagination.pageSize\" (selectionChange)=\"changePerPageNumber($event)\" #page\r\n [id]=\"'commonPaginationSelect'\">\r\n <mat-option *ngFor=\"let option of pageSizeOptions; let i = index;\" [id]=\"'paginationSelectOpt_' + i\" [value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", styles: [".search-header-refresh-icon{align-items:center;line-height:54px;margin-left:10px}button[mat-icon-button] i{font-size:18px}mat-spinner.length-spinner{position:absolute;right:120px}h3,.search-header-refresh-icon{float:left}.page-options,.mat-paginator{float:right}.per-page-block mat-form-field{width:70px!important}.per-page-block span{margin-right:20px}.pagination{display:flex;justify-content:flex-end}.select-page-size{width:60px;margin:0 0 0 15px;padding:0 10px}.item_per_page{line-height:35px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }] });
783
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginationComponent, decorators: [{
784
+ type: Component,
785
+ args: [{ selector: 'app-pagination', template: "<div class=\"flex-box pagination\">\r\n <div class=\"page-indexes-box\">\r\n <mat-paginator\r\n [id]=\"'commonPagination'\"\r\n [hidePageSize]=\"true\"\r\n [length]=\"pagination.total\"\r\n [pageIndex]=\"pagination.pageIndex\"\r\n [pageSize]=\"pagination.pageSize\"\r\n [pageSizeOptions]=\"pagination.pageSizeOptions || [5, 10, 25, 100]\"\r\n (page)=\"pageEvent($event)\">\r\n </mat-paginator>\r\n <mat-spinner class=\"length-spinner\" [diameter]=\"20\" mode=\"indeterminate\" *ngIf=\"lengthPending\">\r\n </mat-spinner>\r\n </div>\r\n\r\n <div class=\"flex-box per-page-block\" style=\"justify-content: left;\" *ngIf=\"showPageSizeOptions\">\r\n <div class=\"item_per_page\">Items per page:</div>\r\n <div class=\"select-box select-page-size\">\r\n <mat-select [(ngModel)]=\"pagination.pageSize\" (selectionChange)=\"changePerPageNumber($event)\" #page\r\n [id]=\"'commonPaginationSelect'\">\r\n <mat-option *ngFor=\"let option of pageSizeOptions; let i = index;\" [id]=\"'paginationSelectOpt_' + i\" [value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", styles: [".search-header-refresh-icon{align-items:center;line-height:54px;margin-left:10px}button[mat-icon-button] i{font-size:18px}mat-spinner.length-spinner{position:absolute;right:120px}h3,.search-header-refresh-icon{float:left}.page-options,.mat-paginator{float:right}.per-page-block mat-form-field{width:70px!important}.per-page-block span{margin-right:20px}.pagination{display:flex;justify-content:flex-end}.select-page-size{width:60px;margin:0 0 0 15px;padding:0 10px}.item_per_page{line-height:35px}\n"] }]
786
+ }], ctorParameters: function () { return []; }, propDecorators: { pagination: [{
787
+ type: Input
788
+ }], showPageSizeOptions: [{
789
+ type: Input
790
+ }], showRefreshButton: [{
791
+ type: Input
792
+ }], lengthPending: [{
793
+ type: Input
794
+ }], pageEmitter: [{
795
+ type: Output
796
+ }], pageNumberChangeEmitter: [{
797
+ type: Output
798
+ }] } });
799
+
800
+ class AppLoaderComponent {
801
+ constructor() {
802
+ }
803
+ }
804
+ AppLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
805
+ AppLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppLoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"overlay\">\n <mat-progress-spinner\n class=\"page-spinner\"\n mode=\"indeterminate\"\n [diameter]=\"70\"\n strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}.mat-progress-spinner circle,.mat-spinner circle{stroke:#000!important}\n"], dependencies: [{ kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, decorators: [{
807
+ type: Component,
808
+ args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\n <mat-progress-spinner\n class=\"page-spinner\"\n mode=\"indeterminate\"\n [diameter]=\"70\"\n strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}.mat-progress-spinner circle,.mat-spinner circle{stroke:#000!important}\n"] }]
809
+ }], ctorParameters: function () { return []; } });
810
+
811
+ var EntityChangeType;
812
+ (function (EntityChangeType) {
813
+ EntityChangeType["added"] = "added";
814
+ EntityChangeType["updated"] = "updated";
815
+ EntityChangeType["existing"] = "existing";
816
+ EntityChangeType["removed"] = "removed";
817
+ EntityChangeType["unassociated"] = "unassociated";
818
+ })(EntityChangeType || (EntityChangeType = {}));
819
+ var DnRangeType;
820
+ (function (DnRangeType) {
821
+ DnRangeType["extension"] = "EXTENSION";
822
+ DnRangeType["cpg"] = "CPG";
823
+ DnRangeType["callpark"] = "CALLPARK";
824
+ DnRangeType["huntgroup"] = "HUNTGROUP";
825
+ DnRangeType["meetme"] = "MEETME";
826
+ DnRangeType["did"] = "DID";
827
+ })(DnRangeType || (DnRangeType = {}));
828
+
829
+ class DnsService {
830
+ constructor(apiService, apiWebexService) {
831
+ this.apiService = apiService;
832
+ this.apiWebexService = apiWebexService;
833
+ this.availableNumbers = {};
834
+ this.phoneNumbers = [];
835
+ }
836
+ getNumberRange(siteId, routePartition, withdids, from, pageSize) {
837
+ // @ts-ignore
838
+ if (this.availableNumbers[routePartition]?.length) {
839
+ return new Observable(observer => {
840
+ // @ts-ignore
841
+ observer.next(this.availableNumbers[routePartition]);
842
+ });
843
+ }
844
+ this.availableDidPatternsMappedToDn = {};
845
+ pageSize = pageSize ? pageSize : 20;
846
+ const params = { dntype: DnRangeType.extension, routepartition: routePartition, size: pageSize, page: 0 };
847
+ if (withdids) {
848
+ // @ts-ignore
849
+ params['withdids'] = 'true';
850
+ }
851
+ if (from) {
852
+ // @ts-ignore
853
+ params['from'] = from;
854
+ }
855
+ // @ts-ignore
856
+ this.availableNumbers[routePartition] = this.availableNumbers[routePartition] || [];
857
+ return this.apiService.fetch(API.AVAILABLE_DN_IN_RANGES.replace(':siteId', siteId), params)
858
+ .pipe(map((res) => {
859
+ res.availableNumberList.forEach((availableNumber) => {
860
+ this.setAvailableDidMappedToDn(availableNumber);
861
+ // @ts-ignore
862
+ this.availableNumbers[routePartition] = [...this.availableNumbers[routePartition], ...this.getUnwrapNumberRange(availableNumber)];
863
+ });
864
+ }));
865
+ // .pipe(this.handleError(true, false));
866
+ }
867
+ setAvailableDidMappedToDn(availableNumber) {
868
+ if (availableNumber.unUsedNumbersWithDids && availableNumber.unUsedNumbersWithDids.length) {
869
+ availableNumber.unUsedNumbersWithDids.forEach((numberWithDids) => {
870
+ const dn = numberWithDids['unUsedNumber'];
871
+ this.availableDidPatternsMappedToDn[dn] = [{}];
872
+ if (numberWithDids['translationPatternList'] && numberWithDids['translationPatternList'].length > 0) {
873
+ this.availableDidPatternsMappedToDn[dn] = numberWithDids['translationPatternList'];
874
+ this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] = [{}];
875
+ if (numberWithDids['mappedDids'] && numberWithDids['mappedDids'].length > 0) {
876
+ this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] = numberWithDids['mappedDids'];
877
+ }
878
+ }
879
+ this.availableDidPatternsMappedToDn[dn][0]['vm'] = numberWithDids['vm'];
880
+ });
881
+ }
882
+ }
883
+ getUnwrapNumberRange(availableNumber) {
884
+ let unwrapNumberRange = this.unwrapNumberRange(availableNumber.phoneNumberRange.from, availableNumber.phoneNumberRange.to)
885
+ .map((unwrappedNumber) => {
886
+ const dn = availableNumber.phoneNumberRange.prefix + unwrappedNumber;
887
+ let str = dn;
888
+ if (this.availableDidPatternsMappedToDn[dn] && this.availableDidPatternsMappedToDn[dn].length > 0) {
889
+ if (this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] && this.availableDidPatternsMappedToDn[dn][0]['mappedDids'].length > 0) {
890
+ str += ' DID: ' + (this.availableDidPatternsMappedToDn[dn][0]['mappedDids'].length > 1 ? 'multiple' :
891
+ this.availableDidPatternsMappedToDn[dn][0]['mappedDids'][0]);
892
+ }
893
+ if (this.availableDidPatternsMappedToDn[dn][0]['vm']) {
894
+ str += ' In Use - VM';
895
+ }
896
+ }
897
+ return str;
898
+ });
899
+ unwrapNumberRange = unwrapNumberRange.filter((unwrappedNumber) => !availableNumber.usedNumbers.includes(unwrappedNumber));
900
+ return unwrapNumberRange;
901
+ }
902
+ unwrapNumberRange(start, end) {
903
+ const regExp = /(^0+)/;
904
+ let leadingZeros = '';
905
+ const matches = start.match(regExp);
906
+ if (matches) {
907
+ leadingZeros = matches[1];
908
+ }
909
+ const startNumeric = new Big(start);
910
+ const endNumeric = new Big(end);
911
+ // @ts-ignore
912
+ return Array.from({ length: (endNumeric.minus(startNumeric).plus(new Big(1)).toFixed(0)) }, (v, k) => {
913
+ const number = String(startNumeric.plus(new Big(k)).toFixed(0));
914
+ if ((leadingZeros + number).length > start.length) {
915
+ leadingZeros = leadingZeros.substr(1);
916
+ }
917
+ return leadingZeros + number;
918
+ });
919
+ }
920
+ fetchPhoneNumbers(customerId, locationId) {
921
+ const params = {
922
+ available: true,
923
+ numberType: 'NUMBER'
924
+ };
925
+ return this.apiWebexService.fetch(API.PHONE_NUMBERS.replace(':customerId', String(customerId)).replace(':locationId', locationId), params)
926
+ .pipe(map((result) => {
927
+ if (result?.length) {
928
+ this.phoneNumbers = result.map((item) => item.phoneNumber);
929
+ }
930
+ return result;
931
+ }));
932
+ }
933
+ }
934
+ DnsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService, deps: [{ token: APIService }, { token: ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
935
+ DnsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService });
936
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService, decorators: [{
937
+ type: Injectable
938
+ }], ctorParameters: function () { return [{ type: APIService }, { type: ApiWebexService }]; } });
939
+
940
+ class AppLocation {
941
+ constructor(props) {
942
+ this.id = '';
943
+ this.name = '';
944
+ this.timeZone = '';
945
+ this.address = new LocationAddress();
946
+ if (props) {
947
+ this.id = props.id || '';
948
+ this.name = props.name || '';
949
+ this.timeZone = props.timeZone || '';
950
+ this.address = new LocationAddress(props.address);
951
+ }
952
+ }
953
+ }
954
+ class LocationAddress {
955
+ constructor(props) {
956
+ this.country = '';
957
+ this.countryName = '';
958
+ this.state = '';
959
+ this.city = '';
960
+ this.postalCode = '';
961
+ this.address1 = '';
962
+ this.address2 = '';
963
+ if (props) {
964
+ ['country', 'countryName', 'state', 'city', 'postalCode', 'address1', 'address2'].forEach(token => {
965
+ // @ts-ignore
966
+ this[token] = props[token] || '';
967
+ });
968
+ }
969
+ }
970
+ }
971
+
972
+ class PrepareMigrationData {
973
+ constructor(data, originData) {
974
+ this.customerId = 0;
975
+ this.siteId = 0;
976
+ this.cucmId = 0;
977
+ this.entityId = '';
978
+ this.devices = [];
979
+ this.softDevices = [];
980
+ this.notSupportedDevices = [];
981
+ this.primaryExtension = '';
982
+ this.newExtension = '';
983
+ this.removeExtension = false;
984
+ this.primaryPhoneNumber = '';
985
+ this.newPhoneNumber = '';
986
+ this.removePhoneNumber = false;
987
+ this.newLocation = null;
988
+ this.newLocationName = '';
989
+ this.phoneNumberWithExtension = [];
990
+ this.moveType = new MoveType();
991
+ this.errors = [];
992
+ this.pending = false;
993
+ this.isConfirm = false;
994
+ if (data) {
995
+ this.customerId = data.customerId;
996
+ this.siteId = data.siteId;
997
+ this.cucmId = data.cucmId;
998
+ this.entityId = data.entityId;
999
+ this.primaryExtension = data.primaryExtension || '';
1000
+ this.primaryPhoneNumber = data.primaryPhoneNumber || '';
1001
+ this.newLocation = originData?.newLocation || new AppLocation(data.newLocation) || this.newLocation;
1002
+ this.errors = data.errors;
1003
+ this.phoneNumberWithExtension = data.phoneNumberWithExtension?.length ? data.phoneNumberWithExtension.map((item) => new PhoneNumberWithExtension(item)) : [];
1004
+ this.devices = data.devices?.length ? data.devices.map((deviceData) => new PrepareMigrationDevice(deviceData, true, false, true)) : [];
1005
+ this.softDevices = data.softDevices?.length ? data.softDevices.map((deviceData) => new PrepareMigrationDevice(deviceData, true, true, true)) : [];
1006
+ this.notSupportedDevices = data.notSupportedDevices?.length ? data.notSupportedDevices.map((deviceData) => new PrepareMigrationDevice(deviceData, false, true, false)) : [];
1007
+ }
1008
+ if (originData) {
1009
+ this.moveType = originData.moveType;
1010
+ }
1011
+ }
1012
+ eligibleDevicesSize() {
1013
+ return this.devices.length + this.softDevices.length;
1014
+ }
1015
+ getSavableData() {
1016
+ return getSavableData(this, ['pending', 'isConfirm']);
1017
+ }
1018
+ }
1019
+ class PrepareMigrationDevice {
1020
+ constructor(data, toMigrate, isToMigrateDisabled, isEligible) {
1021
+ this.toMigrate = false;
1022
+ this.isToMigrateDisabled = false;
1023
+ this.isEligible = false;
1024
+ this.name = '';
1025
+ if (data) {
1026
+ this.id = data.id ?? null;
1027
+ this.mac = data.mac;
1028
+ this.name = data.name;
1029
+ this.product = data.product;
1030
+ this.model = data.model;
1031
+ this.cisUuid = data.cisUuid ?? null;
1032
+ this.deviceId = data.deviceId ?? null;
1033
+ this.personId = data.personId ?? null;
1034
+ this.workspaceId = data.workspaceId ?? null;
1035
+ this.locationId = data.locationId ?? null;
1036
+ }
1037
+ this.toMigrate = toMigrate || this.toMigrate;
1038
+ this.isToMigrateDisabled = isToMigrateDisabled || this.isToMigrateDisabled;
1039
+ this.isEligible = isEligible || this.isEligible;
1040
+ }
1041
+ getSavableData() {
1042
+ const excludedFields = ['toMigrate', 'isToMigrateDisabled'];
1043
+ return getSavableData(this, excludedFields);
1044
+ }
1045
+ }
1046
+ class PhoneNumberWithExtension {
1047
+ constructor(item) {
1048
+ this.extension = '';
1049
+ this.phoneNumber = '';
1050
+ this.extension = item.extension;
1051
+ this.phoneNumber = item.phoneNumber;
1052
+ }
1053
+ getSavableData() {
1054
+ const excludedFields = ['form'];
1055
+ return getSavableData(this, excludedFields);
1056
+ }
1057
+ }
1058
+ class PrepareMigrationBody {
1059
+ constructor(userList, customerId, locationId) {
1060
+ this.customerId = 0;
1061
+ this.locationId = '';
1062
+ this.customerId = customerId || this.customerId;
1063
+ this.locationId = locationId || this.locationId;
1064
+ this.entities = new PrepareMigrationEntity(userList.cucmId, userList.userid);
1065
+ }
1066
+ getSavableData() {
1067
+ return getSavableData(this);
1068
+ }
1069
+ }
1070
+ class PrepareMigrationEntity {
1071
+ constructor(cucmId, entityId) {
1072
+ this.PERSON = [];
1073
+ this.PERSON.push(new PersonMigrationEntity(cucmId, entityId));
1074
+ }
1075
+ getSavableData() {
1076
+ const excludedFields = ['form'];
1077
+ return getSavableData(this, excludedFields);
1078
+ }
1079
+ }
1080
+ class PersonMigrationEntity {
1081
+ constructor(cucmId, entityId) {
1082
+ this.entityId = '';
1083
+ this.cucmId = cucmId;
1084
+ this.entityId = entityId || this.entityId;
1085
+ }
1086
+ getSavableData() {
1087
+ const excludedFields = ['form'];
1088
+ return getSavableData(this, excludedFields);
1089
+ }
1090
+ }
1091
+ class MigrationData {
1092
+ constructor(data) {
1093
+ this.customerId = 0;
1094
+ this.siteId = 0;
1095
+ this.cucmId = 0;
1096
+ this.entityId = '';
1097
+ this.primaryExtension = '';
1098
+ this.primaryPhoneNumber = '';
1099
+ this.devices = [];
1100
+ this.phoneNumberWithExtension = [];
1101
+ this.customerId = data.customerId;
1102
+ this.siteId = data.siteId;
1103
+ this.cucmId = data.cucmId;
1104
+ this.entityId = data.entityId;
1105
+ if (data.newExtension) {
1106
+ this.primaryExtension = data.newExtension;
1107
+ }
1108
+ else if (data.removeExtension) {
1109
+ this.primaryExtension = null;
1110
+ }
1111
+ else {
1112
+ this.primaryExtension = data.primaryExtension;
1113
+ }
1114
+ if (data.newPhoneNumber) {
1115
+ this.primaryPhoneNumber = data.newPhoneNumber;
1116
+ }
1117
+ else if (data.removePhoneNumber) {
1118
+ this.primaryPhoneNumber = null;
1119
+ }
1120
+ else {
1121
+ this.primaryPhoneNumber = data.primaryPhoneNumber;
1122
+ }
1123
+ this.phoneNumberWithExtension = data.phoneNumberWithExtension;
1124
+ if (data.devices?.length) {
1125
+ data.devices.map(device => {
1126
+ if (device.toMigrate && device.mac) {
1127
+ this.devices.push(device.mac);
1128
+ }
1129
+ });
1130
+ }
1131
+ }
1132
+ getSavableData() {
1133
+ const excludedFields = ['form'];
1134
+ return getSavableData(this, excludedFields);
1135
+ }
1136
+ }
1137
+ class MoveType {
1138
+ constructor(data) {
1139
+ this.phoneNumber = '1';
1140
+ this.extension = '1';
1141
+ if (data) {
1142
+ this.phoneNumber = data.phoneNumber;
1143
+ this.extension = data.extension;
1144
+ }
1145
+ }
1146
+ }
1147
+
1148
+ class SiteSettingsService {
1149
+ constructor(apiWebexService) {
1150
+ this.apiWebexService = apiWebexService;
1151
+ this.locations = [];
1152
+ }
1153
+ getLocations(customerId) {
1154
+ return this.apiWebexService.fetch(API.GET_LOCATIONS.replace(':customerId', String(customerId)), {})
1155
+ .pipe(map((result) => {
1156
+ if (result && result.length) {
1157
+ this.locations = result.map((location) => new AppLocation(location));
1158
+ }
1159
+ return result;
1160
+ }));
1161
+ }
1162
+ }
1163
+ SiteSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteSettingsService, deps: [{ token: ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
1164
+ SiteSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteSettingsService });
1165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteSettingsService, decorators: [{
1166
+ type: Injectable
1167
+ }], ctorParameters: function () { return [{ type: ApiWebexService }]; } });
1168
+
1169
+ class MoveUserService {
1170
+ constructor(apiService, apiWebexService) {
1171
+ this.apiService = apiService;
1172
+ this.apiWebexService = apiWebexService;
1173
+ }
1174
+ resetMigrationDataForNewLocation() {
1175
+ this.prepareMigrationData.newExtension = '';
1176
+ this.prepareMigrationData.newPhoneNumber = '';
1177
+ this.prepareMigrationData.newExtension = '';
1178
+ }
1179
+ setOriginPrepareMigrationData() {
1180
+ const data = JSON.parse(JSON.stringify(this.prepareMigrationData.getSavableData()));
1181
+ this.originPrepareMigrationData = new PrepareMigrationData(data);
1182
+ }
1183
+ fetchPrepareMigrationData(data) {
1184
+ return this.apiWebexService.post(API.PREPARE_PERSON_MIGRATION, data.getSavableData())
1185
+ .pipe(map((result) => {
1186
+ if (result) {
1187
+ this.prepareMigrationData = new PrepareMigrationData(result, this.originPrepareMigrationData);
1188
+ }
1189
+ return result;
1190
+ }));
1191
+ // .pipe(this.handleError(false, true));
1192
+ }
1193
+ startMigration(data) {
1194
+ /* return new Observable<boolean>(observer => {
1195
+ setTimeout(() => {
1196
+ observer.next(true);
1197
+
1198
+ }, 2000);
1199
+ });*/
1200
+ return this.apiWebexService.post(API.START_MIGRATION, data.getSavableData())
1201
+ .pipe(map((result) => {
1202
+ if (data) {
1203
+ this.prepareMigrationData = new PrepareMigrationData(data);
1204
+ }
1205
+ }));
1206
+ // .pipe(this.handleError(false, true));
1207
+ }
1208
+ }
1209
+ MoveUserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserService, deps: [{ token: APIService }, { token: ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
1210
+ MoveUserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserService });
1211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserService, decorators: [{
1212
+ type: Injectable
1213
+ }], ctorParameters: function () { return [{ type: APIService }, { type: ApiWebexService }]; } });
1214
+
1215
+ class DeviceMoveUserWizardComponent {
1216
+ get moveUserPending() {
1217
+ return this.userService.moveUserPending;
1218
+ }
1219
+ get locations() {
1220
+ return this.siteSettingsService.locations;
1221
+ }
1222
+ constructor(dnsService, userService, siteSettingsService) {
1223
+ this.dnsService = dnsService;
1224
+ this.userService = userService;
1225
+ this.siteSettingsService = siteSettingsService;
1226
+ }
1227
+ ngOnInit() {
1228
+ }
1229
+ onMigrateDeviceChecked(event) {
1230
+ }
1231
+ resetMoveTypePhoneNUmber() {
1232
+ this.dnsService.phoneNumbers = [];
1233
+ }
1234
+ }
1235
+ DeviceMoveUserWizardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceMoveUserWizardComponent, deps: [{ token: DnsService }, { token: UserService }, { token: SiteSettingsService }], target: i0.ɵɵFactoryTarget.Component });
1236
+ DeviceMoveUserWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DeviceMoveUserWizardComponent, selector: "app-device-move-user-wizard", inputs: { device: "device" }, ngImport: i0, template: "<form>\r\n <div class=\"device-item-panel-container\">\r\n <div class=\"device-left\">\r\n <div\r\n class=\"device-migration-status\"\r\n [ngClass]=\"{'--checked': device.toMigrate}\"\r\n >\r\n <mat-checkbox\r\n class=\"rounded\"\r\n [checked]=\"device.toMigrate\"\r\n ></mat-checkbox>\r\n </div>\r\n </div>\r\n <div class=\"device-right\">\r\n <div class=\"device-header\">\r\n <div class=\"device-name\">{{ device.name }}</div>\r\n <div class=\"device-migrate\" *ngIf=\"device.isEligible\">\r\n <mat-checkbox name=\"toMigrate\"\r\n [(ngModel)]=\"device.toMigrate\"\r\n >Migrate this device</mat-checkbox>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"device-info\">\r\n <div *ngIf=\"device.product\" class=\"device-info__item\">\r\n <div class=\"key\">Device type</div>\r\n <div class=\"value\">{{ device.product }}</div>\r\n </div>\r\n <div *ngIf=\"device.mac\" class=\"device-info__item\">\r\n <div class=\"key\">MAC address</div>\r\n <div class=\"value\">{{ device.mac }}</div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [".device-item-panel-container{display:flex;border:1px solid gray;border-radius:.5rem;margin-bottom:1.5rem;overflow:hidden}.device-migration-status{height:100%;padding:1rem;background-color:#ffebc2}.device-right{width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:1rem 2rem}.device-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 7px}.device-header .device-name{font-size:18px;font-weight:700}.device-header .device-migrate{font-weight:700}.device-header .device-migrate .mat-checkbox ::ng-deep .mat-checkbox-label{margin-left:.4rem}.device-header .device-migrate ::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:#05f!important}.device-header .device-migrate ::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background,.device-header .device-migrate ::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#05f!important}.device-header .device-migrate ::ng-deep .mat-checkbox.mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:#05f!important}.device-info{display:grid;grid-template-columns:auto auto;gap:2.5rem}.device-info__item{font-size:16px;font-weight:700}.device-info__item .key{margin:10px 0 0}.device-info__item .value{color:#a0a0a0}.--checked{background-color:#cef5eb}.mat-checkbox ::ng-deep .mat-checkbox-inner-container{width:20px;height:20px}::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:#185e46!important}::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background,::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#185e46}::ng-deep .mat-checkbox.mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:#185e46!important}::ng-deep .rounded{pointer-events:none}::ng-deep .rounded .mat-checkbox-background,::ng-deep .rounded .mat-checkbox-frame{border-radius:50%!important}::ng-deep .mat-divider{display:block;margin:0;border-top-width:2px;border-top-style:solid}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
1237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceMoveUserWizardComponent, decorators: [{
1238
+ type: Component,
1239
+ args: [{ selector: 'app-device-move-user-wizard', template: "<form>\r\n <div class=\"device-item-panel-container\">\r\n <div class=\"device-left\">\r\n <div\r\n class=\"device-migration-status\"\r\n [ngClass]=\"{'--checked': device.toMigrate}\"\r\n >\r\n <mat-checkbox\r\n class=\"rounded\"\r\n [checked]=\"device.toMigrate\"\r\n ></mat-checkbox>\r\n </div>\r\n </div>\r\n <div class=\"device-right\">\r\n <div class=\"device-header\">\r\n <div class=\"device-name\">{{ device.name }}</div>\r\n <div class=\"device-migrate\" *ngIf=\"device.isEligible\">\r\n <mat-checkbox name=\"toMigrate\"\r\n [(ngModel)]=\"device.toMigrate\"\r\n >Migrate this device</mat-checkbox>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"device-info\">\r\n <div *ngIf=\"device.product\" class=\"device-info__item\">\r\n <div class=\"key\">Device type</div>\r\n <div class=\"value\">{{ device.product }}</div>\r\n </div>\r\n <div *ngIf=\"device.mac\" class=\"device-info__item\">\r\n <div class=\"key\">MAC address</div>\r\n <div class=\"value\">{{ device.mac }}</div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [".device-item-panel-container{display:flex;border:1px solid gray;border-radius:.5rem;margin-bottom:1.5rem;overflow:hidden}.device-migration-status{height:100%;padding:1rem;background-color:#ffebc2}.device-right{width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:1rem 2rem}.device-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 7px}.device-header .device-name{font-size:18px;font-weight:700}.device-header .device-migrate{font-weight:700}.device-header .device-migrate .mat-checkbox ::ng-deep .mat-checkbox-label{margin-left:.4rem}.device-header .device-migrate ::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:#05f!important}.device-header .device-migrate ::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background,.device-header .device-migrate ::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#05f!important}.device-header .device-migrate ::ng-deep .mat-checkbox.mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:#05f!important}.device-info{display:grid;grid-template-columns:auto auto;gap:2.5rem}.device-info__item{font-size:16px;font-weight:700}.device-info__item .key{margin:10px 0 0}.device-info__item .value{color:#a0a0a0}.--checked{background-color:#cef5eb}.mat-checkbox ::ng-deep .mat-checkbox-inner-container{width:20px;height:20px}::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:#185e46!important}::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background,::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#185e46}::ng-deep .mat-checkbox.mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:#185e46!important}::ng-deep .rounded{pointer-events:none}::ng-deep .rounded .mat-checkbox-background,::ng-deep .rounded .mat-checkbox-frame{border-radius:50%!important}::ng-deep .mat-divider{display:block;margin:0;border-top-width:2px;border-top-style:solid}\n"] }]
1240
+ }], ctorParameters: function () { return [{ type: DnsService }, { type: UserService }, { type: SiteSettingsService }]; }, propDecorators: { device: [{
1241
+ type: Input
1242
+ }] } });
1243
+
1244
+ class DevicesMoveUserWizardTabComponent {
1245
+ get prepareMigrationData() {
1246
+ return this.moveUserService.prepareMigrationData;
1247
+ }
1248
+ constructor(moveUserService) {
1249
+ this.moveUserService = moveUserService;
1250
+ }
1251
+ ngOnInit() {
1252
+ }
1253
+ }
1254
+ DevicesMoveUserWizardTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DevicesMoveUserWizardTabComponent, deps: [{ token: MoveUserService }], target: i0.ɵɵFactoryTarget.Component });
1255
+ DevicesMoveUserWizardTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DevicesMoveUserWizardTabComponent, selector: "app-devices-move-user-tab", ngImport: i0, template: "<div *ngIf=\"prepareMigrationData.eligibleDevicesSize\"\r\n class=\"devices-move-user-box eligible-devices-section\" >\r\n <div class=\"section-title\">Eligible devices ({{ prepareMigrationData.eligibleDevicesSize() }})</div>\r\n <div class=\"section-content\">\r\n <div *ngIf=\"prepareMigrationData.devices?.length\" class=\"device-group\">\r\n <div class=\"group-title\">IP Phones</div>\r\n <ng-container *ngFor=\"let device of prepareMigrationData.devices\">\r\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"prepareMigrationData.softDevices?.length\" class=\"device-group\">\r\n <div class=\"group-title\">Soft Devices</div>\r\n <ng-container *ngFor=\"let device of prepareMigrationData.softDevices\">\r\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<mat-divider *ngIf=\"prepareMigrationData.notSupportedDevices.length\"></mat-divider>\r\n<div *ngIf=\"prepareMigrationData.notSupportedDevices.length\" class=\"ineligible-devices-section\">\r\n <div class=\"section-title\">Ineligible devices ({{ prepareMigrationData.notSupportedDevices.length }})</div>\r\n <div class=\"section-content\">\r\n <div class=\"device-group\">\r\n <ng-container *ngFor=\"let device of prepareMigrationData.notSupportedDevices\">\r\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".eligible-devices-section,.ineligible-devices-section{display:flex;padding:1.5rem}.eligible-devices-section .section-title,.ineligible-devices-section .section-title{font-size:18px;font-weight:700;padding:0 .5rem;width:300px}.eligible-devices-section .section-content,.ineligible-devices-section .section-content{width:100%}.group-title{font-size:18px;font-weight:700;margin-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DeviceMoveUserWizardComponent, selector: "app-device-move-user-wizard", inputs: ["device"] }] });
1256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DevicesMoveUserWizardTabComponent, decorators: [{
1257
+ type: Component,
1258
+ args: [{ selector: 'app-devices-move-user-tab', template: "<div *ngIf=\"prepareMigrationData.eligibleDevicesSize\"\r\n class=\"devices-move-user-box eligible-devices-section\" >\r\n <div class=\"section-title\">Eligible devices ({{ prepareMigrationData.eligibleDevicesSize() }})</div>\r\n <div class=\"section-content\">\r\n <div *ngIf=\"prepareMigrationData.devices?.length\" class=\"device-group\">\r\n <div class=\"group-title\">IP Phones</div>\r\n <ng-container *ngFor=\"let device of prepareMigrationData.devices\">\r\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"prepareMigrationData.softDevices?.length\" class=\"device-group\">\r\n <div class=\"group-title\">Soft Devices</div>\r\n <ng-container *ngFor=\"let device of prepareMigrationData.softDevices\">\r\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<mat-divider *ngIf=\"prepareMigrationData.notSupportedDevices.length\"></mat-divider>\r\n<div *ngIf=\"prepareMigrationData.notSupportedDevices.length\" class=\"ineligible-devices-section\">\r\n <div class=\"section-title\">Ineligible devices ({{ prepareMigrationData.notSupportedDevices.length }})</div>\r\n <div class=\"section-content\">\r\n <div class=\"device-group\">\r\n <ng-container *ngFor=\"let device of prepareMigrationData.notSupportedDevices\">\r\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".eligible-devices-section,.ineligible-devices-section{display:flex;padding:1.5rem}.eligible-devices-section .section-title,.ineligible-devices-section .section-title{font-size:18px;font-weight:700;padding:0 .5rem;width:300px}.eligible-devices-section .section-content,.ineligible-devices-section .section-content{width:100%}.group-title{font-size:18px;font-weight:700;margin-bottom:1rem}\n"] }]
1259
+ }], ctorParameters: function () { return [{ type: MoveUserService }]; } });
1260
+
1261
+ // for test only
1262
+ const LOCATION = 'Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzE2YjY0NjljLTBjZmQtNDJjMS1iOWJjLTUyN2FlZTNhN2RlOQ';
1263
+ class MoveUserStepperComponent {
1264
+ get moveUserPending() {
1265
+ return this.userService.moveUserPending;
1266
+ }
1267
+ get currentNumber() {
1268
+ if (this.user?.devices?.length && this.user.devices[0]?.lineAssociations && this.user.devices[0].lineAssociations[0]) {
1269
+ return this.user.devices[0].lineAssociations[0].directoryNumber.directoryNumber;
1270
+ }
1271
+ return '';
1272
+ }
1273
+ get locations() {
1274
+ return this.siteSettingsService.locations;
1275
+ }
1276
+ get prepareMigrationData() {
1277
+ return this.moveUserService.prepareMigrationData;
1278
+ }
1279
+ constructor(dnsService, userService, siteSettingsService, notificationService, moveUserService) {
1280
+ this.dnsService = dnsService;
1281
+ this.userService = userService;
1282
+ this.siteSettingsService = siteSettingsService;
1283
+ this.notificationService = notificationService;
1284
+ this.moveUserService = moveUserService;
1285
+ this.done = new EventEmitter();
1286
+ this.runMoveUser = new EventEmitter();
1287
+ this.cancel = new EventEmitter();
1288
+ this.isLinear = false;
1289
+ this.phoneNumberPending = false;
1290
+ this.filteredLocations = [];
1291
+ this.dataPending = false;
1292
+ }
1293
+ ngOnInit() {
1294
+ this.moveUserService.prepareMigrationData = new PrepareMigrationData();
1295
+ this.getData();
1296
+ }
1297
+ displayLocation(location) {
1298
+ return location?.name || '';
1299
+ }
1300
+ onLocationAutocomplete(event) {
1301
+ const value = event.target.value;
1302
+ if (this.locations?.length) {
1303
+ this.filteredLocations = filterOptions(this.locations, value || '', '', 'name');
1304
+ }
1305
+ }
1306
+ onNumberAutocomplete() {
1307
+ if (this.dnsService.phoneNumbers?.length) {
1308
+ this.filteredPhoneNumbers = filterOptions(this.dnsService.phoneNumbers, this.prepareMigrationData.newPhoneNumber);
1309
+ }
1310
+ }
1311
+ onMoveUser(stepper) {
1312
+ this.stepper = stepper;
1313
+ this.runMoveUser.emit();
1314
+ }
1315
+ onStepChange(event) {
1316
+ }
1317
+ selectPhoneNumberMigrationType(event) {
1318
+ if (event.value && event.value === '2') {
1319
+ this.getPhoneNumbers();
1320
+ }
1321
+ this.moveUserService.prepareMigrationData.removePhoneNumber = event.value && event.value === '3';
1322
+ }
1323
+ selectExtensionMigrationType(event) {
1324
+ this.moveUserService.prepareMigrationData.removeExtension = event.value && event.value === '3';
1325
+ }
1326
+ onPhoneNumberChange(event) {
1327
+ console.log('new phone number = ', this.prepareMigrationData.newPhoneNumber);
1328
+ }
1329
+ onLocationChange(event) {
1330
+ this.moveUserService.prepareMigrationData.newLocation = event.option.value;
1331
+ this.moveUserService.resetMigrationDataForNewLocation();
1332
+ if (this.prepareMigrationData.moveType.phoneNumber === '2') {
1333
+ this.getPhoneNumbers();
1334
+ }
1335
+ this.getPrepareUserData();
1336
+ }
1337
+ onExtensionChange(event) {
1338
+ console.log('new newExtension = ', this.prepareMigrationData.newExtension);
1339
+ }
1340
+ getPhoneNumbers() {
1341
+ if (!this.prepareMigrationData.newLocation?.id) {
1342
+ return;
1343
+ }
1344
+ this.phoneNumberPending = true;
1345
+ this.dnsService.fetchPhoneNumbers(this.customerId, this.prepareMigrationData.newLocation.id)
1346
+ .subscribe(() => {
1347
+ this.phoneNumberPending = false;
1348
+ this.filteredPhoneNumbers = this.dnsService.phoneNumbers.slice();
1349
+ }, () => this.phoneNumberPending = false);
1350
+ }
1351
+ isNextFromSelectLocationDisabled() {
1352
+ if (!this.prepareMigrationData?.newLocation?.id || !this.prepareMigrationData.entityId) {
1353
+ return true;
1354
+ }
1355
+ if (this.prepareMigrationData.moveType.phoneNumber === '2' && !this.prepareMigrationData.newPhoneNumber) {
1356
+ return true;
1357
+ }
1358
+ if (this.prepareMigrationData.moveType.extension === '2' && !this.prepareMigrationData.newExtension) {
1359
+ return true;
1360
+ }
1361
+ return false;
1362
+ }
1363
+ goNextStep(stepper) {
1364
+ }
1365
+ startMigration() {
1366
+ const migrationData = new MigrationData(this.prepareMigrationData);
1367
+ this.dataPending = true;
1368
+ this.moveUserService.startMigration(migrationData)
1369
+ .subscribe((result) => {
1370
+ this.dataPending = false;
1371
+ if (this.nextAfterMoveBtn?._elementRef?.nativeElement) {
1372
+ this.nextAfterMoveBtn._elementRef.nativeElement.click();
1373
+ }
1374
+ }, () => {
1375
+ this.dataPending = false;
1376
+ });
1377
+ }
1378
+ getData() {
1379
+ if (!this.user) {
1380
+ return;
1381
+ }
1382
+ this.dataPending = true;
1383
+ this.siteSettingsService.getLocations(this.customerId)
1384
+ .subscribe(() => {
1385
+ if (this.locations?.length) {
1386
+ this.filteredLocations = this.locations.slice();
1387
+ }
1388
+ this.dataPending = false;
1389
+ }, () => this.dataPending = false);
1390
+ }
1391
+ getPrepareUserData() {
1392
+ if (this.prepareMigrationData?.newLocation?.id) {
1393
+ this.moveUserService.setOriginPrepareMigrationData();
1394
+ const prepareMigrationBody = new PrepareMigrationBody(this.user, this.customerId, this.prepareMigrationData.newLocation.id);
1395
+ this.moveUserService.prepareMigrationData.pending = true;
1396
+ this.moveUserService.fetchPrepareMigrationData(prepareMigrationBody)
1397
+ .subscribe(() => {
1398
+ }, () => {
1399
+ this.moveUserService.prepareMigrationData.pending = false;
1400
+ this.notificationService.error('Move user attempt is failed');
1401
+ });
1402
+ }
1403
+ }
1404
+ resetMoveTypePhoneNUmber() {
1405
+ this.dnsService.phoneNumbers = [];
1406
+ }
1407
+ }
1408
+ MoveUserStepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserStepperComponent, deps: [{ token: DnsService }, { token: UserService }, { token: SiteSettingsService }, { token: NotificationService }, { token: MoveUserService }], target: i0.ɵɵFactoryTarget.Component });
1409
+ MoveUserStepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MoveUserStepperComponent, selector: "app-move-user-stepper", inputs: { user: "user", customerId: "customerId" }, outputs: { done: "done", runMoveUser: "runMoveUser", cancel: "cancel" }, viewQueries: [{ propertyName: "nextAfterMoveBtn", first: true, predicate: ["nextAfterMoveBtn"], descendants: true }], ngImport: i0, template: "<app-loader *ngIf=\"prepareMigrationData.pending || moveUserPending || dataPending\"></app-loader>\r\n<div id=\"move-user-stepper\">\r\n <mat-stepper *ngIf=\"prepareMigrationData?.moveType\" [linear]=\"isLinear\" labelPosition=\"bottom\" #stepper>\r\n <mat-step>\r\n <div class=\"step-title\">Step 1: Select location</div>\r\n <!-- <form>-->\r\n <ng-template matStepLabel>Select location</ng-template>\r\n <form>\r\n <div class=\"move-user-tab-content-box\">\r\n <mat-label class=\"mat-label\">Select a new location</mat-label>\r\n <mat-form-field class=\"app-autocomplete-input\" appearance=\"outline\">\r\n <input placeholder=\"Select location\" [matAutocomplete]=\"auto\" matInput\r\n (input)=\"onLocationAutocomplete($event)\"/>\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayLocation\"\r\n (optionSelected)=\"onLocationChange($event)\">\r\n <mat-option *ngFor=\"let location of filteredLocations\" [value]=\"location\">\r\n {{ location.name }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"!dataPending && !locations.length\" class=\"mat-error\">\r\n Locations are not available\r\n </div>\r\n\r\n <ng-container *ngIf=\"prepareMigrationData?.newLocation?.id\">\r\n <mat-label class=\"mat-label\">Phone number</mat-label>\r\n <mat-radio-group class=\"radio-group\" name=\"moveTypePhoneNumber\"\r\n [(ngModel)]=\"prepareMigrationData.moveType.phoneNumber\" name=\"phoneNumber\"\r\n (change)=\"selectPhoneNumberMigrationType($event)\">\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"1\"\r\n color=\"primary\">\r\n Keep current number\r\n {{ prepareMigrationData.primaryPhoneNumber || currentNumber }}\r\n </mat-radio-button>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"2\"\r\n color=\"primary\"\r\n [disabled]=\"!prepareMigrationData.newLocation?.id\">\r\n Select a new number\r\n </mat-radio-button>\r\n\r\n <div *ngIf=\"prepareMigrationData.moveType.phoneNumber === '2'\" class=\"select-container\">\r\n <mat-progress-spinner *ngIf=\"phoneNumberPending\" class=\"field-spinner\" mode=\"indeterminate\"\r\n [diameter]=\"70\" strokeWidth=\"3\"></mat-progress-spinner>\r\n\r\n <mat-form-field class=\"app-autocomplete-input\" appearance=\"outline\">\r\n <input placeholder=\"Select number\" [(ngModel)]=\"prepareMigrationData.newPhoneNumber\"\r\n [matAutocomplete]=\"autoPh\" matInput name=\"newPhoneNumber\"\r\n (input)=\"onNumberAutocomplete()\"/>\r\n <mat-autocomplete #autoPh=\"matAutocomplete\" (optionSelected)=\"onPhoneNumberChange($event)\">\r\n <mat-option *ngFor=\"let number of filteredPhoneNumbers\" [value]=\"number\">\r\n {{ number }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"!phoneNumberPending && !dnsService.phoneNumbers?.length\" class=\"mat-error\">\r\n Phone numbers are not available for this location\r\n </div>\r\n </div>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"3\"\r\n color=\"primary\"\r\n [disabled]=\"prepareMigrationData.removeExtension\">\r\n Remove number\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n\r\n <mat-label class=\"mat-label\">Extension</mat-label>\r\n <mat-radio-group class=\"radio-group\" name=\"moveTypeExtension\"\r\n (change)=\"selectExtensionMigrationType($event)\"\r\n [(ngModel)]=\"prepareMigrationData.moveType.extension\">\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"1\"\r\n color=\"primary\">\r\n Keep current extension {{ prepareMigrationData.primaryExtension }}\r\n </mat-radio-button>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"2\"\r\n color=\"primary\">\r\n Select a new extension\r\n </mat-radio-button>\r\n\r\n <div *ngIf=\"prepareMigrationData.moveType.extension === '2'\" class=\"input-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n type=\"text\"\r\n name=\"newExtension\"\r\n (change)=\"onExtensionChange($event)\"\r\n [(ngModel)]=\"prepareMigrationData.newExtension\"\r\n [placeholder]=\"'Enter extension'\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"3\"\r\n color=\"primary\"\r\n [disabled]=\"prepareMigrationData.removePhoneNumber\">Remove extension\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </ng-container>\r\n </div>\r\n </form>\r\n\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\" matStepperNext\r\n [disabled]=\"isNextFromSelectLocationDisabled()\" (click)=\"goNextStep(stepper)\">\r\n Next\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" (click)=\"cancel.emit()\">Cancel</button>\r\n </div>\r\n </mat-step>\r\n <mat-step [aria-labelledby]=\"'disabled_af'\">\r\n <div class=\"step-title\">Step 2: Device eligibility check</div>\r\n <ng-template matStepLabel>Device eligibility check</ng-template>\r\n <div class=\"move-user-tab-content-box\">\r\n <app-devices-move-user-tab></app-devices-move-user-tab>\r\n </div>\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\" matStepperNext (click)=\"goNextStep(stepper)\">\r\n Next\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" matStepperPrevious>\r\n Previous\r\n </button>\r\n </div>\r\n </mat-step>\r\n <mat-step [aria-labelledby]=\"'disabled_af'\">\r\n <div class=\"step-title\">Step 3: Validation</div>\r\n <ng-template matStepLabel>Validation</ng-template>\r\n\r\n <div class=\"devices-move-user-box\">\r\n <mat-label class=\"mat-label\">Validation</mat-label>\r\n <div *ngIf=\"!prepareMigrationData.errors?.length\">\r\n <ng-container *ngTemplateOutlet=\"validationSuccess\">\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"prepareMigrationData.errors?.length\">\r\n <ng-container *ngTemplateOutlet=\"validationFailed\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <button #nextAfterMoveBtn mat-button class=\"invisible-next-btn\" matStepperNext\r\n (click)=\"goNextStep(stepper)\"></button>\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\"\r\n [disabled]=\"prepareMigrationData.errors.length > 0 || !prepareMigrationData.isConfirm\"\r\n (click)=\"startMigration()\">\r\n Upgrade\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" matStepperPrevious>\r\n Previous\r\n </button>\r\n </div>\r\n </mat-step>\r\n <mat-step>\r\n <div class=\"step-title\">Step 4: Result</div>\r\n <ng-template matStepLabel>Result</ng-template>\r\n\r\n <div class=\"devices-move-user-box\">\r\n <mat-label class=\"mat-label\">Moving user has been successfully initiated!</mat-label>\r\n <p class=\"validation-text\">\r\n The user will be moved to the new location {{prepareMigrationData.newLocation?.name}}\r\n <br/>\r\n For the progress of move, please visit the\r\n <a class=\"form-link\" href=\"#\">user details</a>.\r\n </p>\r\n </div>\r\n\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-done\" (click)=\"done.emit(true)\">\r\n Done\r\n </button>\r\n </div>\r\n </mat-step>\r\n </mat-stepper>\r\n</div>\r\n\r\n<ng-template #validationSuccess>\r\n <p class=\"validation-text\">\r\n Validation has completed successfully. The user can be moved to the\r\n new location. Please be aware of the potential impact of the changes\r\n below.\r\n </p>\r\n <mat-label class=\"mat-label\">Expected changes</mat-label>\r\n <ul>\r\n <li>Cisco 6941 device (SEP987987987987) will not be migrated</li>\r\n <li>\r\n The user will be removed from the Call Pickup Group:\r\n 1675090334-Paris_pickup\r\n </li>\r\n <li>\r\n If Webex App is currently in use, the user will to sign in again to\r\n update the service.\r\n </li>\r\n </ul>\r\n <form>\r\n <mat-checkbox class=\"checkbox\" name=\"isConfirm\" [(ngModel)]=\"prepareMigrationData.isConfirm\"\r\n color=\"primary\">\r\n I confirm that I understand these conditions. I acknowledge the\r\n changes.\r\n </mat-checkbox>\r\n </form>\r\n\r\n</ng-template>\r\n\r\n<ng-template #validationFailed>\r\n <p class=\"validation-text\">\r\n Validation is failed. User migration is not available\r\n </p>\r\n <ul>\r\n <li *ngFor=\"let error of prepareMigrationData.errors\">{{ error }}</li>\r\n </ul>\r\n</ng-template>\r\n", styles: [".mat-stepper-horizontal{height:-moz-fit-content;height:fit-content;max-height:750px;margin:0 auto;width:70%;background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container{margin:0 auto;width:800px}.mat-stepper-horizontal .mat-step-icon{width:28px;height:28px;border:3px solid hsl(0,0%,50.2%)}.mat-stepper-horizontal .mat-step-icon-selected{background-color:#c6c6c6!important;border-color:#19487d}.mat-stepper-horizontal .mat-step-icon-state-number{background-color:#fff}.mat-stepper-horizontal .mat-step-icon-state-edit,.mat-stepper-horizontal .mat-step-header .mat-step-icon-state-done{background-color:#1170cf;border-color:#1170cf}.mat-stepper-horizontal .mat-step-icon-content{display:none}.mat-stepper-horizontal .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):before,.mat-stepper-horizontal [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):before,.mat-stepper-horizontal .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):after,.mat-stepper-horizontal [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):after{border-top-width:3px!important}.mat-stepper-horizontal .mat-horizontal-stepper-header:before,.mat-stepper-horizontal .mat-horizontal-stepper-header:after,.mat-stepper-horizontal .mat-stepper-horizontal-line{border-top-color:#1170cf!important;border-top-width:3px!important;border-top-style:solid!important}.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-stepper-horizontal-line,.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:before,.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:after{border-top-width:3px!important;background-color:#7b7b7b!important;border-top-color:#7b7b7b!important}::ng-deep .mat-form-field-infix{padding:0!important;width:100%}::ng-deep .mat-form-field-appearance-outline .mat-input-element{height:35px;width:100%;line-height:35px;margin:5px 0 0}::ng-deep .mat-form-field{width:350px}::ng-deep .mat-step-header[aria-labelledby=disabled_af]{pointer-events:none!important;cursor:not-allowed}::ng-deep .mat-step-header[aria-labelledby=disabled_af] .mat-step-icon,::ng-deep .mat-step-header[aria-labelledby=disabled_af] .mat-step-label{cursor:not-allowed;opacity:.6}.mat-mdc-form-field{margin-top:16px}.mat-label{font-size:16px;font-weight:600;margin:1rem 0}.step-title{font-size:28px;font-weight:700;margin:.5rem 0 1.5rem 2rem}.validation-text{margin-top:.5rem;margin-bottom:2rem}ul{padding:.5rem 2rem;margin-top:.5rem;margin-bottom:2rem}.devices-move-user-box{background-color:#fff;padding:2.5rem;padding:1rem 2.5rem;min-height:350px;border-radius:.5rem}.user-select-location-box{background-color:#fff;padding:2.5rem;height:350px;border-radius:.5rem}.form-link{text-decoration:none;color:#007bff}.radio-group{display:flex;flex-direction:column;margin:15px 0;align-items:flex-start}.radio-button{margin:.5rem 0}.select{width:350px;padding:.5rem;margin:.5rem 0;border:1px solid #a0a0a0;border-radius:.5rem}.step-actions{display:flex;flex-flow:row-reverse;margin-top:2rem;gap:1rem}.webex-btn{border:1px solid black;border-radius:1rem;cursor:pointer;gap:1rem}.btn-next{background-color:#000;color:#fff}.btn-cancel,.btn-done{background-color:#fff;color:#000}.select-container{position:relative;width:100%;max-width:300px}.select-container .mat-progress-spinner{position:absolute;left:45%;top:35px}.invisible-next-btn{height:1px;width:1px}.mat-error{margin:0 0 15px}mat-label{display:block}.btn-next{min-width:80px}.mat-button-disabled{background-color:#bbb;color:#fff;border:1px solid grey;cursor:default!important}.move-user-tab-content-box{background-color:#fff;min-height:350px;border-radius:.5rem;box-sizing:border-box;padding:25px}.input-container{display:flex;flex-direction:column;gap:1rem}.input-container input{height:-moz-fit-content!important;height:fit-content!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i8.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"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i12.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i12.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i14.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i14.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i14.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i14.MatStepperNext, selector: "button[matStepperNext]", inputs: ["type"] }, { kind: "directive", type: i14.MatStepperPrevious, selector: "button[matStepperPrevious]", inputs: ["type"] }, { kind: "component", type: i7$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i16.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i16.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: AppLoaderComponent, selector: "app-loader" }, { kind: "component", type: DevicesMoveUserWizardTabComponent, selector: "app-devices-move-user-tab" }], encapsulation: i0.ViewEncapsulation.None });
1410
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserStepperComponent, decorators: [{
1411
+ type: Component,
1412
+ args: [{ selector: 'app-move-user-stepper', encapsulation: ViewEncapsulation.None, template: "<app-loader *ngIf=\"prepareMigrationData.pending || moveUserPending || dataPending\"></app-loader>\r\n<div id=\"move-user-stepper\">\r\n <mat-stepper *ngIf=\"prepareMigrationData?.moveType\" [linear]=\"isLinear\" labelPosition=\"bottom\" #stepper>\r\n <mat-step>\r\n <div class=\"step-title\">Step 1: Select location</div>\r\n <!-- <form>-->\r\n <ng-template matStepLabel>Select location</ng-template>\r\n <form>\r\n <div class=\"move-user-tab-content-box\">\r\n <mat-label class=\"mat-label\">Select a new location</mat-label>\r\n <mat-form-field class=\"app-autocomplete-input\" appearance=\"outline\">\r\n <input placeholder=\"Select location\" [matAutocomplete]=\"auto\" matInput\r\n (input)=\"onLocationAutocomplete($event)\"/>\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayLocation\"\r\n (optionSelected)=\"onLocationChange($event)\">\r\n <mat-option *ngFor=\"let location of filteredLocations\" [value]=\"location\">\r\n {{ location.name }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"!dataPending && !locations.length\" class=\"mat-error\">\r\n Locations are not available\r\n </div>\r\n\r\n <ng-container *ngIf=\"prepareMigrationData?.newLocation?.id\">\r\n <mat-label class=\"mat-label\">Phone number</mat-label>\r\n <mat-radio-group class=\"radio-group\" name=\"moveTypePhoneNumber\"\r\n [(ngModel)]=\"prepareMigrationData.moveType.phoneNumber\" name=\"phoneNumber\"\r\n (change)=\"selectPhoneNumberMigrationType($event)\">\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"1\"\r\n color=\"primary\">\r\n Keep current number\r\n {{ prepareMigrationData.primaryPhoneNumber || currentNumber }}\r\n </mat-radio-button>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"2\"\r\n color=\"primary\"\r\n [disabled]=\"!prepareMigrationData.newLocation?.id\">\r\n Select a new number\r\n </mat-radio-button>\r\n\r\n <div *ngIf=\"prepareMigrationData.moveType.phoneNumber === '2'\" class=\"select-container\">\r\n <mat-progress-spinner *ngIf=\"phoneNumberPending\" class=\"field-spinner\" mode=\"indeterminate\"\r\n [diameter]=\"70\" strokeWidth=\"3\"></mat-progress-spinner>\r\n\r\n <mat-form-field class=\"app-autocomplete-input\" appearance=\"outline\">\r\n <input placeholder=\"Select number\" [(ngModel)]=\"prepareMigrationData.newPhoneNumber\"\r\n [matAutocomplete]=\"autoPh\" matInput name=\"newPhoneNumber\"\r\n (input)=\"onNumberAutocomplete()\"/>\r\n <mat-autocomplete #autoPh=\"matAutocomplete\" (optionSelected)=\"onPhoneNumberChange($event)\">\r\n <mat-option *ngFor=\"let number of filteredPhoneNumbers\" [value]=\"number\">\r\n {{ number }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"!phoneNumberPending && !dnsService.phoneNumbers?.length\" class=\"mat-error\">\r\n Phone numbers are not available for this location\r\n </div>\r\n </div>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"3\"\r\n color=\"primary\"\r\n [disabled]=\"prepareMigrationData.removeExtension\">\r\n Remove number\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n\r\n <mat-label class=\"mat-label\">Extension</mat-label>\r\n <mat-radio-group class=\"radio-group\" name=\"moveTypeExtension\"\r\n (change)=\"selectExtensionMigrationType($event)\"\r\n [(ngModel)]=\"prepareMigrationData.moveType.extension\">\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"1\"\r\n color=\"primary\">\r\n Keep current extension {{ prepareMigrationData.primaryExtension }}\r\n </mat-radio-button>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"2\"\r\n color=\"primary\">\r\n Select a new extension\r\n </mat-radio-button>\r\n\r\n <div *ngIf=\"prepareMigrationData.moveType.extension === '2'\" class=\"input-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n type=\"text\"\r\n name=\"newExtension\"\r\n (change)=\"onExtensionChange($event)\"\r\n [(ngModel)]=\"prepareMigrationData.newExtension\"\r\n [placeholder]=\"'Enter extension'\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"3\"\r\n color=\"primary\"\r\n [disabled]=\"prepareMigrationData.removePhoneNumber\">Remove extension\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </ng-container>\r\n </div>\r\n </form>\r\n\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\" matStepperNext\r\n [disabled]=\"isNextFromSelectLocationDisabled()\" (click)=\"goNextStep(stepper)\">\r\n Next\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" (click)=\"cancel.emit()\">Cancel</button>\r\n </div>\r\n </mat-step>\r\n <mat-step [aria-labelledby]=\"'disabled_af'\">\r\n <div class=\"step-title\">Step 2: Device eligibility check</div>\r\n <ng-template matStepLabel>Device eligibility check</ng-template>\r\n <div class=\"move-user-tab-content-box\">\r\n <app-devices-move-user-tab></app-devices-move-user-tab>\r\n </div>\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\" matStepperNext (click)=\"goNextStep(stepper)\">\r\n Next\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" matStepperPrevious>\r\n Previous\r\n </button>\r\n </div>\r\n </mat-step>\r\n <mat-step [aria-labelledby]=\"'disabled_af'\">\r\n <div class=\"step-title\">Step 3: Validation</div>\r\n <ng-template matStepLabel>Validation</ng-template>\r\n\r\n <div class=\"devices-move-user-box\">\r\n <mat-label class=\"mat-label\">Validation</mat-label>\r\n <div *ngIf=\"!prepareMigrationData.errors?.length\">\r\n <ng-container *ngTemplateOutlet=\"validationSuccess\">\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"prepareMigrationData.errors?.length\">\r\n <ng-container *ngTemplateOutlet=\"validationFailed\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <button #nextAfterMoveBtn mat-button class=\"invisible-next-btn\" matStepperNext\r\n (click)=\"goNextStep(stepper)\"></button>\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\"\r\n [disabled]=\"prepareMigrationData.errors.length > 0 || !prepareMigrationData.isConfirm\"\r\n (click)=\"startMigration()\">\r\n Upgrade\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" matStepperPrevious>\r\n Previous\r\n </button>\r\n </div>\r\n </mat-step>\r\n <mat-step>\r\n <div class=\"step-title\">Step 4: Result</div>\r\n <ng-template matStepLabel>Result</ng-template>\r\n\r\n <div class=\"devices-move-user-box\">\r\n <mat-label class=\"mat-label\">Moving user has been successfully initiated!</mat-label>\r\n <p class=\"validation-text\">\r\n The user will be moved to the new location {{prepareMigrationData.newLocation?.name}}\r\n <br/>\r\n For the progress of move, please visit the\r\n <a class=\"form-link\" href=\"#\">user details</a>.\r\n </p>\r\n </div>\r\n\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-done\" (click)=\"done.emit(true)\">\r\n Done\r\n </button>\r\n </div>\r\n </mat-step>\r\n </mat-stepper>\r\n</div>\r\n\r\n<ng-template #validationSuccess>\r\n <p class=\"validation-text\">\r\n Validation has completed successfully. The user can be moved to the\r\n new location. Please be aware of the potential impact of the changes\r\n below.\r\n </p>\r\n <mat-label class=\"mat-label\">Expected changes</mat-label>\r\n <ul>\r\n <li>Cisco 6941 device (SEP987987987987) will not be migrated</li>\r\n <li>\r\n The user will be removed from the Call Pickup Group:\r\n 1675090334-Paris_pickup\r\n </li>\r\n <li>\r\n If Webex App is currently in use, the user will to sign in again to\r\n update the service.\r\n </li>\r\n </ul>\r\n <form>\r\n <mat-checkbox class=\"checkbox\" name=\"isConfirm\" [(ngModel)]=\"prepareMigrationData.isConfirm\"\r\n color=\"primary\">\r\n I confirm that I understand these conditions. I acknowledge the\r\n changes.\r\n </mat-checkbox>\r\n </form>\r\n\r\n</ng-template>\r\n\r\n<ng-template #validationFailed>\r\n <p class=\"validation-text\">\r\n Validation is failed. User migration is not available\r\n </p>\r\n <ul>\r\n <li *ngFor=\"let error of prepareMigrationData.errors\">{{ error }}</li>\r\n </ul>\r\n</ng-template>\r\n", styles: [".mat-stepper-horizontal{height:-moz-fit-content;height:fit-content;max-height:750px;margin:0 auto;width:70%;background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container{margin:0 auto;width:800px}.mat-stepper-horizontal .mat-step-icon{width:28px;height:28px;border:3px solid hsl(0,0%,50.2%)}.mat-stepper-horizontal .mat-step-icon-selected{background-color:#c6c6c6!important;border-color:#19487d}.mat-stepper-horizontal .mat-step-icon-state-number{background-color:#fff}.mat-stepper-horizontal .mat-step-icon-state-edit,.mat-stepper-horizontal .mat-step-header .mat-step-icon-state-done{background-color:#1170cf;border-color:#1170cf}.mat-stepper-horizontal .mat-step-icon-content{display:none}.mat-stepper-horizontal .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):before,.mat-stepper-horizontal [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):before,.mat-stepper-horizontal .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):after,.mat-stepper-horizontal [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):after{border-top-width:3px!important}.mat-stepper-horizontal .mat-horizontal-stepper-header:before,.mat-stepper-horizontal .mat-horizontal-stepper-header:after,.mat-stepper-horizontal .mat-stepper-horizontal-line{border-top-color:#1170cf!important;border-top-width:3px!important;border-top-style:solid!important}.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-stepper-horizontal-line,.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:before,.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:after{border-top-width:3px!important;background-color:#7b7b7b!important;border-top-color:#7b7b7b!important}::ng-deep .mat-form-field-infix{padding:0!important;width:100%}::ng-deep .mat-form-field-appearance-outline .mat-input-element{height:35px;width:100%;line-height:35px;margin:5px 0 0}::ng-deep .mat-form-field{width:350px}::ng-deep .mat-step-header[aria-labelledby=disabled_af]{pointer-events:none!important;cursor:not-allowed}::ng-deep .mat-step-header[aria-labelledby=disabled_af] .mat-step-icon,::ng-deep .mat-step-header[aria-labelledby=disabled_af] .mat-step-label{cursor:not-allowed;opacity:.6}.mat-mdc-form-field{margin-top:16px}.mat-label{font-size:16px;font-weight:600;margin:1rem 0}.step-title{font-size:28px;font-weight:700;margin:.5rem 0 1.5rem 2rem}.validation-text{margin-top:.5rem;margin-bottom:2rem}ul{padding:.5rem 2rem;margin-top:.5rem;margin-bottom:2rem}.devices-move-user-box{background-color:#fff;padding:2.5rem;padding:1rem 2.5rem;min-height:350px;border-radius:.5rem}.user-select-location-box{background-color:#fff;padding:2.5rem;height:350px;border-radius:.5rem}.form-link{text-decoration:none;color:#007bff}.radio-group{display:flex;flex-direction:column;margin:15px 0;align-items:flex-start}.radio-button{margin:.5rem 0}.select{width:350px;padding:.5rem;margin:.5rem 0;border:1px solid #a0a0a0;border-radius:.5rem}.step-actions{display:flex;flex-flow:row-reverse;margin-top:2rem;gap:1rem}.webex-btn{border:1px solid black;border-radius:1rem;cursor:pointer;gap:1rem}.btn-next{background-color:#000;color:#fff}.btn-cancel,.btn-done{background-color:#fff;color:#000}.select-container{position:relative;width:100%;max-width:300px}.select-container .mat-progress-spinner{position:absolute;left:45%;top:35px}.invisible-next-btn{height:1px;width:1px}.mat-error{margin:0 0 15px}mat-label{display:block}.btn-next{min-width:80px}.mat-button-disabled{background-color:#bbb;color:#fff;border:1px solid grey;cursor:default!important}.move-user-tab-content-box{background-color:#fff;min-height:350px;border-radius:.5rem;box-sizing:border-box;padding:25px}.input-container{display:flex;flex-direction:column;gap:1rem}.input-container input{height:-moz-fit-content!important;height:fit-content!important}\n"] }]
1413
+ }], ctorParameters: function () { return [{ type: DnsService }, { type: UserService }, { type: SiteSettingsService }, { type: NotificationService }, { type: MoveUserService }]; }, propDecorators: { nextAfterMoveBtn: [{
1414
+ type: ViewChild,
1415
+ args: ['nextAfterMoveBtn']
1416
+ }], done: [{
1417
+ type: Output
1418
+ }], user: [{
1419
+ type: Input
1420
+ }], customerId: [{
1421
+ type: Input
1422
+ }], runMoveUser: [{
1423
+ type: Output
1424
+ }], cancel: [{
1425
+ type: Output
1426
+ }] } });
1427
+
1428
+ class MoveUserWizardComponent {
1429
+ constructor(dnsService) {
1430
+ this.dnsService = dnsService;
1431
+ this.closeMoveUserWizard = new EventEmitter();
1432
+ this.done = new EventEmitter();
1433
+ this.runMoveUser = new EventEmitter();
1434
+ this.dataPending = false;
1435
+ }
1436
+ onClose() {
1437
+ this.closeMoveUserWizard.emit();
1438
+ }
1439
+ onRunMoveUser() {
1440
+ this.runMoveUser.emit();
1441
+ }
1442
+ }
1443
+ MoveUserWizardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserWizardComponent, deps: [{ token: DnsService }], target: i0.ɵɵFactoryTarget.Component });
1444
+ MoveUserWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MoveUserWizardComponent, selector: "app-move-user-wizard", inputs: { user: "user", customerId: "customerId" }, outputs: { closeMoveUserWizard: "closeMoveUserWizard", done: "done", runMoveUser: "runMoveUser" }, ngImport: i0, template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div class=\"move-user-stepper-container\">\r\n <header class=\"move-user-header\">\r\n <div class=\"move-user-header__title\">Upgrade User {{user.userid}}</div>\r\n <div class=\"move-user-header__close\">\r\n <span class=\"app-icon icon-white-close\" (click)=\"onClose()\"></span>\r\n </div>\r\n </header>\r\n <app-move-user-stepper *ngIf=\"user\" [customerId]=\"customerId\"\r\n [user]=\"user\" (cancel)=\"onClose()\" (done)=\"done.emit()\"\r\n (runMoveUser)=\"onRunMoveUser()\"></app-move-user-stepper>\r\n</div>\r\n", styles: [".move-user-header{background-color:#1170cf;height:45px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:18px;font-weight:500}.move-user-header__close{cursor:pointer}.move-user-header__close i{font-size:25px;font-weight:100}.app-icon{height:20px;width:20px;display:inline-block;cursor:pointer;background-repeat:no-repeat;background-position:center}.icon-close{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M12.0005 13.0538L6.92737 18.1269C6.78892 18.2654 6.61489 18.3362 6.40527 18.3394C6.19567 18.3426 6.01844 18.2718 5.87357 18.1269C5.72869 17.982 5.65625 17.8064 5.65625 17.6C5.65625 17.3936 5.72869 17.218 5.87357 17.0731L10.9466 12L5.87357 6.92689C5.73511 6.78844 5.66427 6.6144 5.66107 6.40479C5.65786 6.19519 5.72869 6.01795 5.87357 5.87309C6.01844 5.7282 6.19407 5.65576 6.40047 5.65576C6.60687 5.65576 6.78251 5.7282 6.92737 5.87309L12.0005 10.9462L17.0736 5.87309C17.212 5.73462 17.3861 5.66379 17.5957 5.66059C17.8053 5.65737 17.9825 5.7282 18.1274 5.87309C18.2723 6.01795 18.3447 6.19359 18.3447 6.39999C18.3447 6.60639 18.2723 6.78202 18.1274 6.92689L13.0543 12L18.1274 17.0731C18.2658 17.2115 18.3367 17.3856 18.3399 17.5952C18.3431 17.8048 18.2723 17.982 18.1274 18.1269C17.9825 18.2718 17.8069 18.3442 17.6005 18.3442C17.3941 18.3442 17.2184 18.2718 17.0736 18.1269L12.0005 13.0538Z%22 fill%3D%22%23333333%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.icon-white-close{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M13.0606 11.9998L19.2803 5.78001C19.35 5.71038 19.4052 5.6277 19.4429 5.53672C19.4806 5.44573 19.5 5.34822 19.5 5.24974C19.5 5.15126 19.4806 5.05374 19.4429 4.96276C19.4052 4.87177 19.3499 4.7891 19.2803 4.71947C19.2107 4.64983 19.128 4.5946 19.037 4.55691C18.946 4.51923 18.8485 4.49983 18.75 4.49983C18.6515 4.49984 18.554 4.51924 18.463 4.55692C18.3721 4.59461 18.2894 4.64985 18.2198 4.71949L12 10.9392L5.78026 4.71949C5.71077 4.64921 5.62807 4.59335 5.53691 4.55514C5.44576 4.51692 5.34795 4.49711 5.24911 4.49683C5.15027 4.49655 5.05235 4.51581 4.96098 4.55351C4.86961 4.59121 4.78659 4.64659 4.7167 4.71648C4.64681 4.78638 4.59143 4.8694 4.55374 4.96077C4.51605 5.05214 4.49679 5.15006 4.49707 5.2489C4.49736 5.34774 4.51718 5.44555 4.5554 5.5367C4.59361 5.62786 4.64947 5.71055 4.71976 5.78004L10.9395 11.9998L4.71976 18.2195C4.65013 18.2892 4.59489 18.3718 4.5572 18.4628C4.51951 18.5538 4.50011 18.6513 4.50011 18.7498C4.50011 18.8483 4.51951 18.9458 4.5572 19.0368C4.59488 19.1278 4.65012 19.2105 4.71976 19.2801C4.7894 19.3497 4.87207 19.405 4.96305 19.4427C5.05403 19.4803 5.15155 19.4997 5.25003 19.4997C5.34851 19.4997 5.44603 19.4803 5.53701 19.4427C5.628 19.405 5.71067 19.3497 5.78031 19.2801L12.0001 13.0603L18.2198 19.2801C18.3604 19.4207 18.5512 19.4997 18.7501 19.4997C18.949 19.4997 19.1397 19.4207 19.2804 19.2801C19.421 19.1395 19.5 18.9487 19.5 18.7498C19.5 18.5509 19.421 18.3602 19.2804 18.2195L13.0606 11.9998Z%22 fill%3D%22white%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AppLoaderComponent, selector: "app-loader" }, { kind: "component", type: MoveUserStepperComponent, selector: "app-move-user-stepper", inputs: ["user", "customerId"], outputs: ["done", "runMoveUser", "cancel"] }] });
1445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserWizardComponent, decorators: [{
1446
+ type: Component,
1447
+ args: [{ selector: 'app-move-user-wizard', template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div class=\"move-user-stepper-container\">\r\n <header class=\"move-user-header\">\r\n <div class=\"move-user-header__title\">Upgrade User {{user.userid}}</div>\r\n <div class=\"move-user-header__close\">\r\n <span class=\"app-icon icon-white-close\" (click)=\"onClose()\"></span>\r\n </div>\r\n </header>\r\n <app-move-user-stepper *ngIf=\"user\" [customerId]=\"customerId\"\r\n [user]=\"user\" (cancel)=\"onClose()\" (done)=\"done.emit()\"\r\n (runMoveUser)=\"onRunMoveUser()\"></app-move-user-stepper>\r\n</div>\r\n", styles: [".move-user-header{background-color:#1170cf;height:45px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:18px;font-weight:500}.move-user-header__close{cursor:pointer}.move-user-header__close i{font-size:25px;font-weight:100}.app-icon{height:20px;width:20px;display:inline-block;cursor:pointer;background-repeat:no-repeat;background-position:center}.icon-close{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M12.0005 13.0538L6.92737 18.1269C6.78892 18.2654 6.61489 18.3362 6.40527 18.3394C6.19567 18.3426 6.01844 18.2718 5.87357 18.1269C5.72869 17.982 5.65625 17.8064 5.65625 17.6C5.65625 17.3936 5.72869 17.218 5.87357 17.0731L10.9466 12L5.87357 6.92689C5.73511 6.78844 5.66427 6.6144 5.66107 6.40479C5.65786 6.19519 5.72869 6.01795 5.87357 5.87309C6.01844 5.7282 6.19407 5.65576 6.40047 5.65576C6.60687 5.65576 6.78251 5.7282 6.92737 5.87309L12.0005 10.9462L17.0736 5.87309C17.212 5.73462 17.3861 5.66379 17.5957 5.66059C17.8053 5.65737 17.9825 5.7282 18.1274 5.87309C18.2723 6.01795 18.3447 6.19359 18.3447 6.39999C18.3447 6.60639 18.2723 6.78202 18.1274 6.92689L13.0543 12L18.1274 17.0731C18.2658 17.2115 18.3367 17.3856 18.3399 17.5952C18.3431 17.8048 18.2723 17.982 18.1274 18.1269C17.9825 18.2718 17.8069 18.3442 17.6005 18.3442C17.3941 18.3442 17.2184 18.2718 17.0736 18.1269L12.0005 13.0538Z%22 fill%3D%22%23333333%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.icon-white-close{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M13.0606 11.9998L19.2803 5.78001C19.35 5.71038 19.4052 5.6277 19.4429 5.53672C19.4806 5.44573 19.5 5.34822 19.5 5.24974C19.5 5.15126 19.4806 5.05374 19.4429 4.96276C19.4052 4.87177 19.3499 4.7891 19.2803 4.71947C19.2107 4.64983 19.128 4.5946 19.037 4.55691C18.946 4.51923 18.8485 4.49983 18.75 4.49983C18.6515 4.49984 18.554 4.51924 18.463 4.55692C18.3721 4.59461 18.2894 4.64985 18.2198 4.71949L12 10.9392L5.78026 4.71949C5.71077 4.64921 5.62807 4.59335 5.53691 4.55514C5.44576 4.51692 5.34795 4.49711 5.24911 4.49683C5.15027 4.49655 5.05235 4.51581 4.96098 4.55351C4.86961 4.59121 4.78659 4.64659 4.7167 4.71648C4.64681 4.78638 4.59143 4.8694 4.55374 4.96077C4.51605 5.05214 4.49679 5.15006 4.49707 5.2489C4.49736 5.34774 4.51718 5.44555 4.5554 5.5367C4.59361 5.62786 4.64947 5.71055 4.71976 5.78004L10.9395 11.9998L4.71976 18.2195C4.65013 18.2892 4.59489 18.3718 4.5572 18.4628C4.51951 18.5538 4.50011 18.6513 4.50011 18.7498C4.50011 18.8483 4.51951 18.9458 4.5572 19.0368C4.59488 19.1278 4.65012 19.2105 4.71976 19.2801C4.7894 19.3497 4.87207 19.405 4.96305 19.4427C5.05403 19.4803 5.15155 19.4997 5.25003 19.4997C5.34851 19.4997 5.44603 19.4803 5.53701 19.4427C5.628 19.405 5.71067 19.3497 5.78031 19.2801L12.0001 13.0603L18.2198 19.2801C18.3604 19.4207 18.5512 19.4997 18.7501 19.4997C18.949 19.4997 19.1397 19.4207 19.2804 19.2801C19.421 19.1395 19.5 18.9487 19.5 18.7498C19.5 18.5509 19.421 18.3602 19.2804 18.2195L13.0606 11.9998Z%22 fill%3D%22white%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}\n"] }]
1448
+ }], ctorParameters: function () { return [{ type: DnsService }]; }, propDecorators: { user: [{
1449
+ type: Input
1450
+ }], customerId: [{
1451
+ type: Input
1452
+ }], closeMoveUserWizard: [{
1453
+ type: Output
1454
+ }], done: [{
1455
+ type: Output
1456
+ }], runMoveUser: [{
1457
+ type: Output
1458
+ }] } });
1459
+
1460
+ class TableToolbarComponent {
1461
+ constructor() {
1462
+ this.searchChange = new EventEmitter();
1463
+ }
1464
+ onSearchInputChange(event) {
1465
+ const value = event.target.value.trim().toLowerCase() || '';
1466
+ if (this.timerId)
1467
+ window.clearTimeout(this.timerId);
1468
+ this.timerId = window.setTimeout(() => this.searchChange.emit(value), 1500);
1469
+ }
1470
+ }
1471
+ TableToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1472
+ TableToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableToolbarComponent, selector: "tk-users-table-toolbar", inputs: { totalUsersCount: "totalUsersCount" }, outputs: { searchChange: "searchChange" }, ngImport: i0, template: "<header style=\"margin-bottom: 1rem;\">\r\n <div style=\"display: flex; align-items: center; justify-content: space-between;\">\r\n <div class=\"collection-header-left\">\r\n <div style=\"display: flex; align-items: center; gap: 12px;\">\r\n <!-- Search Input -->\r\n <div style=\"position: relative; width: fit-content; min-width: 200px;\">\r\n <input (input)=\"onSearchInputChange($event)\" type=\"text\" placeholder=\"Search by display name, email\" style=\"width: 100%; height: 34px; border-radius: .5rem; font-size: 16px; padding: 6px 12px 6px 44px; border: 1px solid #00000080; background: #fff; color: #222; outline: none; box-sizing: border-box; min-width: 280px;\">\r\n <span style=\"position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #757575; font-size: 18px; font-weight: normal; pointer-events: none;\">\r\n <i class=\"material-icons\" style=\"font-size: 18px; font-weight: normal;\">search</i>\r\n </span>\r\n </div>\r\n <span style=\"margin: 0 4px; color: #757575; font-size: 1rem;\">or</span>\r\n <!-- Filter Select -->\r\n <div style=\"display: flex; align-items: center; position: relative; width: fit-content; min-width: 200px;\">\r\n <span style=\"position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #757575; font-size: 18px; font-weight: normal; pointer-events: none;\">\r\n <i class=\"material-icons\" style=\"font-size: 18px; font-weight: normal;\">filter_list</i>\r\n </span>\r\n <select style=\"height: 34px; border-radius: .5rem; font-size: 16px; padding: 6px 32px 6px 44px; border: 1px solid #00000080; background: #fff; min-width: 200px; width: fit-content; color: #222; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url('data:image/svg+xml;utf8,<svg fill=\\'%23757575\\' height=\\'20\\' viewBox=\\'0 0 24 24\\' width=\\'20\\' xmlns=\\'http://www.w3.org/2000/svg\\'><path d=\\'M7 10l5 5 5-5z\\'/></svg>'); background-repeat: no-repeat; background-position: right 12px center; background-size: 20px 20px;\">\r\n <option>Filter</option>\r\n </select>\r\n </div>\r\n <span style=\"margin: 0 4px; color: #757575; font-size: 1rem;\">or</span>\r\n <!-- Location Select -->\r\n <select style=\"height: 34px; border-radius: .5rem; font-size: 16px; padding: 6px 32px 6px 12px; border: 1px solid #00000080; background: #fff; min-width: 200px; width: fit-content; color: #222; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url('data:image/svg+xml;utf8,<svg fill=\\'%23757575\\' height=\\'20\\' viewBox=\\'0 0 24 24\\' width=\\'20\\' xmlns=\\'http://www.w3.org/2000/svg\\'><path d=\\'M7 10l5 5 5-5z\\'/></svg>'); background-repeat: no-repeat; background-position: right 12px center; background-size: 20px 20px;\">\r\n <option>Select a Location</option>\r\n </select>\r\n <span style=\"margin-left: 8px; color: #757575; font-size: 1rem; white-space: nowrap;\">{{ totalUsersCount }} users</span>\r\n </div>\r\n </div>\r\n <div style=\"display: flex; gap: 1rem;\">\r\n <button class=\"btn si\">\r\n Send invitations\r\n </button>\r\n <button class=\"btn mu\">\r\n Manage users\r\n </button>\r\n </div>\r\n </div>\r\n</header>", styles: [".btn{position:relative;display:inline-flex;gap:6px;align-items:center;justify-content:center;overflow:hidden!important;width:min-content;max-width:100%;padding:0rem .75rem;border:1px solid transparent;border-radius:6.25rem;font-weight:500;font-size:14px;text-overflow:ellipsis;white-space:nowrap;transition:all .1s cubic-bezier(.25,.1,.25,1);height:2rem;cursor:pointer}.btn:hover{background-color:#0000000d}.si{border-color:#0000004d;background-color:#0000;color:#000000f2}.mu{color:#fff;background-color:#000000f2}.mu:hover{background-color:#232323e6!important}\n"], dependencies: [{ kind: "directive", type: i7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
1473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableToolbarComponent, decorators: [{
1474
+ type: Component,
1475
+ args: [{ selector: 'tk-users-table-toolbar', template: "<header style=\"margin-bottom: 1rem;\">\r\n <div style=\"display: flex; align-items: center; justify-content: space-between;\">\r\n <div class=\"collection-header-left\">\r\n <div style=\"display: flex; align-items: center; gap: 12px;\">\r\n <!-- Search Input -->\r\n <div style=\"position: relative; width: fit-content; min-width: 200px;\">\r\n <input (input)=\"onSearchInputChange($event)\" type=\"text\" placeholder=\"Search by display name, email\" style=\"width: 100%; height: 34px; border-radius: .5rem; font-size: 16px; padding: 6px 12px 6px 44px; border: 1px solid #00000080; background: #fff; color: #222; outline: none; box-sizing: border-box; min-width: 280px;\">\r\n <span style=\"position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #757575; font-size: 18px; font-weight: normal; pointer-events: none;\">\r\n <i class=\"material-icons\" style=\"font-size: 18px; font-weight: normal;\">search</i>\r\n </span>\r\n </div>\r\n <span style=\"margin: 0 4px; color: #757575; font-size: 1rem;\">or</span>\r\n <!-- Filter Select -->\r\n <div style=\"display: flex; align-items: center; position: relative; width: fit-content; min-width: 200px;\">\r\n <span style=\"position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #757575; font-size: 18px; font-weight: normal; pointer-events: none;\">\r\n <i class=\"material-icons\" style=\"font-size: 18px; font-weight: normal;\">filter_list</i>\r\n </span>\r\n <select style=\"height: 34px; border-radius: .5rem; font-size: 16px; padding: 6px 32px 6px 44px; border: 1px solid #00000080; background: #fff; min-width: 200px; width: fit-content; color: #222; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url('data:image/svg+xml;utf8,<svg fill=\\'%23757575\\' height=\\'20\\' viewBox=\\'0 0 24 24\\' width=\\'20\\' xmlns=\\'http://www.w3.org/2000/svg\\'><path d=\\'M7 10l5 5 5-5z\\'/></svg>'); background-repeat: no-repeat; background-position: right 12px center; background-size: 20px 20px;\">\r\n <option>Filter</option>\r\n </select>\r\n </div>\r\n <span style=\"margin: 0 4px; color: #757575; font-size: 1rem;\">or</span>\r\n <!-- Location Select -->\r\n <select style=\"height: 34px; border-radius: .5rem; font-size: 16px; padding: 6px 32px 6px 12px; border: 1px solid #00000080; background: #fff; min-width: 200px; width: fit-content; color: #222; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url('data:image/svg+xml;utf8,<svg fill=\\'%23757575\\' height=\\'20\\' viewBox=\\'0 0 24 24\\' width=\\'20\\' xmlns=\\'http://www.w3.org/2000/svg\\'><path d=\\'M7 10l5 5 5-5z\\'/></svg>'); background-repeat: no-repeat; background-position: right 12px center; background-size: 20px 20px;\">\r\n <option>Select a Location</option>\r\n </select>\r\n <span style=\"margin-left: 8px; color: #757575; font-size: 1rem; white-space: nowrap;\">{{ totalUsersCount }} users</span>\r\n </div>\r\n </div>\r\n <div style=\"display: flex; gap: 1rem;\">\r\n <button class=\"btn si\">\r\n Send invitations\r\n </button>\r\n <button class=\"btn mu\">\r\n Manage users\r\n </button>\r\n </div>\r\n </div>\r\n</header>", styles: [".btn{position:relative;display:inline-flex;gap:6px;align-items:center;justify-content:center;overflow:hidden!important;width:min-content;max-width:100%;padding:0rem .75rem;border:1px solid transparent;border-radius:6.25rem;font-weight:500;font-size:14px;text-overflow:ellipsis;white-space:nowrap;transition:all .1s cubic-bezier(.25,.1,.25,1);height:2rem;cursor:pointer}.btn:hover{background-color:#0000000d}.si{border-color:#0000004d;background-color:#0000;color:#000000f2}.mu{color:#fff;background-color:#000000f2}.mu:hover{background-color:#232323e6!important}\n"] }]
1476
+ }], propDecorators: { totalUsersCount: [{
1477
+ type: Input
1478
+ }], searchChange: [{
1479
+ type: Output
1480
+ }] } });
1481
+
1482
+ const DISPLAYED_COLS = [
1483
+ 'name',
1484
+ 'email',
1485
+ 'status',
1486
+ 'last-active-time',
1487
+ 'role',
1488
+ 'source',
1489
+ 'actions',
1490
+ ];
1491
+ const LOCAL_STORAGE = {
1492
+ USER_IN_MIGRATION: 'userIdInMigration',
1493
+ };
1494
+ class UsersListComponent {
1495
+ get form() {
1496
+ return this.userService?.user?.form;
1497
+ }
1498
+ constructor(userService, apiService, apiWebexService, notifications, usersSearchService, dialog) {
1499
+ this.userService = userService;
1500
+ this.apiService = apiService;
1501
+ this.apiWebexService = apiWebexService;
1502
+ this.notifications = notifications;
1503
+ this.usersSearchService = usersSearchService;
1504
+ this.dialog = dialog;
1505
+ this.openUser = new EventEmitter();
1506
+ this.userMoved = new EventEmitter();
1507
+ this.switchToWizard = new EventEmitter();
1508
+ this.displayedColumns = DISPLAYED_COLS;
1509
+ this.showMoveUserWizard = false;
1510
+ this.moveUserPending = false;
1511
+ this.subscriptions = [];
1512
+ this.totalUsersCount = 0;
1513
+ }
1514
+ ngOnInit() {
1515
+ this.usersSearchService.setDefaultValues();
1516
+ this.usersSearchService.customerId = this.customerId;
1517
+ this.usersSearchService.siteId = this.siteId;
1518
+ this.apiService.token = this.token;
1519
+ this.apiWebexService.token = this.token;
1520
+ this.apiService.apiUrl = this.host + '/dcp';
1521
+ this.apiWebexService.apiUrl = this.host + '/webex';
1522
+ this.getMigratedUsers();
1523
+ const subscription = this.usersSearchService.foundUsers$.subscribe((users) => {
1524
+ this.initializeDataSource(users);
1525
+ });
1526
+ this.subscriptions.push(subscription);
1527
+ console.log('users list paris 7773');
1528
+ }
1529
+ ngOnDestroy() {
1530
+ if (this.subscriptions?.length) {
1531
+ this.subscriptions.forEach((subscription) => subscription.unsubscribe());
1532
+ }
1533
+ }
1534
+ pageNumberChangeEvent(perPageNumber) {
1535
+ this.usersSearchService.pageSize = perPageNumber;
1536
+ this.usersSearchService.pageIndex = 0;
1537
+ this.runSearch();
1538
+ }
1539
+ closeMoveUserWizard(afterUserMove) {
1540
+ this.moveUser = null;
1541
+ this.moveUserIndex = null;
1542
+ localStorage.removeItem(LOCAL_STORAGE.USER_IN_MIGRATION);
1543
+ this.showMoveUserWizard = false;
1544
+ this.switchToWizard.emit(false);
1545
+ if (afterUserMove) {
1546
+ this.getMigratedUsers();
1547
+ }
1548
+ }
1549
+ pageEvent(event) {
1550
+ this.usersSearchService.pageSize = event.pageSize;
1551
+ this.usersSearchService.pageIndex = event.pageIndex;
1552
+ this.runSearch();
1553
+ }
1554
+ onUserClick(user) {
1555
+ localStorage.setItem('isWebex', String(!!user.webexUUID));
1556
+ if (user.webexUUID) {
1557
+ localStorage.setItem('webexUUID', String(user.webexUUID));
1558
+ }
1559
+ this.openUser.emit(user);
1560
+ }
1561
+ moveUserToMT(user, index) {
1562
+ if (user && user.siteId && user.userid) {
1563
+ this.moveUserPending = true;
1564
+ this.moveInProgressUserId = user.userid;
1565
+ this.setStatusToUser(index, 'In Progress');
1566
+ localStorage.setItem(LOCAL_STORAGE.USER_IN_MIGRATION, user.userid);
1567
+ const subscription = this.userService
1568
+ .moveUserToMT(this.customerId, user)
1569
+ .subscribe(() => {
1570
+ this.moveUser = null;
1571
+ this.moveUserIndex = null;
1572
+ this.getMigratedUsers();
1573
+ }, () => {
1574
+ this.removeUserInMigrationProgress();
1575
+ this.setStatusToUser(index, 'Migration Error');
1576
+ });
1577
+ this.subscriptions.push(subscription);
1578
+ }
1579
+ }
1580
+ moveUserToDI(user, index) {
1581
+ if (user && user.siteId && user.webexUUID) {
1582
+ this.moveUserPending = true;
1583
+ this.moveInProgressUserId = user.userid;
1584
+ this.users[index].status = 'In Progress';
1585
+ localStorage.setItem(LOCAL_STORAGE.USER_IN_MIGRATION, user.userid);
1586
+ const subscription = this.userService
1587
+ .moveUserToDI(this.customerId, user)
1588
+ .subscribe(() => {
1589
+ this.removeUserInMigrationProgress();
1590
+ this.setStatusToUser(index, 'Active');
1591
+ this.users[index].webexUUID = '';
1592
+ if (this.usersSearchService.migratedUsers &&
1593
+ this.usersSearchService.migratedUsers.length) {
1594
+ this.usersSearchService.migratedUsers =
1595
+ this.usersSearchService.migratedUsers.filter((migratedUser) => migratedUser.userid !== user.email);
1596
+ }
1597
+ }, () => {
1598
+ this.removeUserInMigrationProgress();
1599
+ this.setStatusToUser(index, 'Migration Error');
1600
+ });
1601
+ }
1602
+ }
1603
+ removeUserInMigrationProgress() {
1604
+ localStorage.removeItem(LOCAL_STORAGE.USER_IN_MIGRATION);
1605
+ this.moveInProgressUserId = '';
1606
+ this.moveUserPending = false;
1607
+ }
1608
+ setStatusToUser(index, status) {
1609
+ if (this.users && this.users[index]) {
1610
+ this.users[index].status = status;
1611
+ // if (status === 'Migrated') {
1612
+ // this.users[index].roleName = '';
1613
+ // this.users[index].isMigrated = true;
1614
+ // this.users[index].status = status;
1615
+ // } else {
1616
+ // this.users[index].roleName = 'Dedicated Instance Calling user';
1617
+ // this.users[index].isMigrated = false;
1618
+ // this.users[index].status = status;
1619
+ // }
1620
+ }
1621
+ this.dataSource = new MatTableDataSource(this.users);
1622
+ }
1623
+ initializeDataSource(users) {
1624
+ if (users?.length) {
1625
+ // this.setRandomUserRole(users);
1626
+ this.users = users;
1627
+ // set total rows count for toolbar/pagination from server-side pagination when available
1628
+ this.totalUsersCount = this.usersSearchService?.total || users.length;
1629
+ this.setUserMigrationProgress();
1630
+ this.usersSearchService.setMigratedPropToUsers(this.users);
1631
+ this.dataSource = new MatTableDataSource(users);
1632
+ }
1633
+ }
1634
+ setUserRole() {
1635
+ if (this.users?.length) {
1636
+ this.users.forEach((user) => {
1637
+ if (!user.isMigrated) {
1638
+ user.roleName = 'Dedicated Instance Calling user';
1639
+ }
1640
+ });
1641
+ }
1642
+ }
1643
+ setRandomUserRole(users) {
1644
+ const max = Math.round(this.usersSearchService.pageSize - this.usersSearchService.pageSize / 4);
1645
+ const min = Math.round(this.usersSearchService.pageSize / 2);
1646
+ const randomAmount = Math.round(Math.random() * (max - min) + min);
1647
+ const indexes = this.getArrayOfRandomUserIndexes(randomAmount);
1648
+ indexes.forEach((index) => {
1649
+ if (users[index]) {
1650
+ users[index].roleName = 'Dedicated Instance Calling user';
1651
+ }
1652
+ });
1653
+ }
1654
+ getArrayOfRandomUserIndexes(randomAmount) {
1655
+ const indexes = [];
1656
+ while (randomAmount > 0) {
1657
+ const index = Math.round(Math.random() * (this.usersSearchService.pageSize - 1));
1658
+ indexes.push(index);
1659
+ randomAmount--;
1660
+ }
1661
+ return indexes;
1662
+ }
1663
+ runSearch() {
1664
+ this.dataPending = true;
1665
+ this.usersSearchService.quickRegularUsersSearch().subscribe(() => {
1666
+ this.dataPending = false;
1667
+ }, () => {
1668
+ this.dataPending = false;
1669
+ this.notifications.error('The data can not be received');
1670
+ });
1671
+ }
1672
+ setUserMigrationProgress() {
1673
+ const userIdInMigration = localStorage.getItem(LOCAL_STORAGE.USER_IN_MIGRATION);
1674
+ if (userIdInMigration) {
1675
+ const index = this.users.findIndex((user) => user.userid === userIdInMigration);
1676
+ this.moveInProgressUserId = index > -1 ? this.users[index].userid : '';
1677
+ this.moveUserPending = index > -1;
1678
+ }
1679
+ }
1680
+ getMigratedUsers() {
1681
+ this.dataPending = true;
1682
+ const searchParams = {
1683
+ customerid: this.customerId,
1684
+ siteid: this.siteId,
1685
+ 'cloud-only': 'true',
1686
+ };
1687
+ // this.usersSearchService.quickWebexUsersSearch(searchParams, true, MAX_INTEGER)
1688
+ this.usersSearchService
1689
+ .getMigratedUsers(this.customerId)
1690
+ // this.usersSearchService.getMigratedWebexUsers(this.customerId)
1691
+ .subscribe(() => {
1692
+ const userIdInMigration = localStorage.getItem(LOCAL_STORAGE.USER_IN_MIGRATION);
1693
+ if (userIdInMigration &&
1694
+ this.usersSearchService.migratedUsers.filter((migratedUser) => migratedUser.userid === userIdInMigration)) {
1695
+ localStorage.removeItem(LOCAL_STORAGE.USER_IN_MIGRATION);
1696
+ }
1697
+ this.runSearch();
1698
+ }, () => {
1699
+ this.dataPending = false;
1700
+ this.notifications.error('The data can not be received');
1701
+ });
1702
+ }
1703
+ onMoveUser(user, index, type, title) {
1704
+ const dialogRef = this.dialog.open(UserListConfirmDialogComponent, {
1705
+ data: {
1706
+ title: `Upgrade user ${user.userid} to ${title}?`,
1707
+ message: `<p>By upgrading from Dedicated Instance, you may need to reassign directory numbers and lose calling services.</p>
1708
+ <p>Are you sure you want to continue?</p>`,
1709
+ confirmButtonText: 'Yes, continue',
1710
+ },
1711
+ });
1712
+ dialogRef.beforeClosed().subscribe((result) => {
1713
+ if (result) {
1714
+ switch (type) {
1715
+ case 'QuickMove':
1716
+ this.moveUserToMT(user, index);
1717
+ break;
1718
+ case 'MT':
1719
+ this.moveUser = user;
1720
+ this.moveUserIndex = index;
1721
+ this.showMoveUserWizard = true;
1722
+ this.switchToWizard.emit(true);
1723
+ break;
1724
+ case 'DI':
1725
+ this.moveUserToDI(user, index);
1726
+ break;
1727
+ }
1728
+ }
1729
+ });
1730
+ }
1731
+ runMoveUserToMT() {
1732
+ if (this.moveUser && this.moveUser.siteId && this.moveUser.userid) {
1733
+ this.userService.moveUserPending = true;
1734
+ this.moveInProgressUserId = this.moveUser.userid;
1735
+ this.setStatusToUser(this.moveUserIndex, 'In Progress');
1736
+ localStorage.setItem(LOCAL_STORAGE.USER_IN_MIGRATION, this.moveUser.userid);
1737
+ }
1738
+ const subscription = this.userService
1739
+ .moveUserToMT(this.customerId, this.moveUser)
1740
+ .subscribe(() => {
1741
+ this.userService.userMoved$.next(true);
1742
+ }, () => {
1743
+ this.removeUserInMigrationProgress();
1744
+ this.setStatusToUser(this.moveUserIndex, 'Migration Error');
1745
+ });
1746
+ this.subscriptions.push(subscription);
1747
+ }
1748
+ searchUsers(token) {
1749
+ // if token is empty — restore current page datasource
1750
+ if (!token) {
1751
+ this.dataSource = new MatTableDataSource(this.users);
1752
+ this.totalUsersCount = this.usersSearchService?.total || this.users.length;
1753
+ return;
1754
+ }
1755
+ // fetch all users (server-side) and filter locally across the whole dataset
1756
+ this.dataPending = true;
1757
+ const subscription = this.usersSearchService.getAllRegularUsers()
1758
+ .subscribe((allUsers) => {
1759
+ const tok = (token || '').toLowerCase();
1760
+ const filtered = (allUsers || []).filter((user) => {
1761
+ const firstName = (user?.firstName || '').toLowerCase();
1762
+ const lastName = (user?.lastName || '').toLowerCase();
1763
+ const fullName = `${firstName} ${lastName}`.trim();
1764
+ const email = (user?.email || '').toLowerCase();
1765
+ return (firstName.includes(tok) ||
1766
+ lastName.includes(tok) ||
1767
+ fullName.includes(tok) ||
1768
+ email.includes(tok));
1769
+ });
1770
+ this.dataSource = new MatTableDataSource(filtered);
1771
+ this.totalUsersCount = filtered.length;
1772
+ this.dataPending = false;
1773
+ }, () => {
1774
+ this.dataPending = false;
1775
+ this.notifications.error('The data can not be received');
1776
+ });
1777
+ this.subscriptions.push(subscription);
1778
+ }
1779
+ }
1780
+ UsersListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListComponent, deps: [{ token: UserService }, { token: APIService }, { token: ApiWebexService }, { token: NotificationService }, { token: UsersSearchService }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
1781
+ UsersListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UsersListComponent, selector: "app-users-list", inputs: { token: "token", customerId: "customerId", siteId: "siteId", host: "host" }, outputs: { openUser: "openUser", userMoved: "userMoved", switchToWizard: "switchToWizard" }, ngImport: i0, template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div *ngIf=\"!showMoveUserWizard\" id=\"users-list\">\r\n <tk-users-table-toolbar\r\n [totalUsersCount]=\"totalUsersCount\"\r\n (searchChange)=\"searchUsers($event)\"\r\n ></tk-users-table-toolbar>\r\n <table\r\n class=\"webex-table\"\r\n mat-table\r\n *ngIf=\"users?.length\"\r\n #table\r\n [dataSource]=\"dataSource\"\r\n >\r\n <!-- <ng-container matColumnDef=\"user-icon\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\"></th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\r\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\r\n (click)=\"onUserClick(user)\">\r\n <span class=\"icon-webex-box\"><span class=\"icon-webex icon-webex-user\"></span></span>\r\n </td>\r\n </ng-container> -->\r\n\r\n <ng-container matColumnDef=\"name\">\r\n <th\r\n mat-header-cell\r\n *matHeaderCellDef\r\n class=\"webex-table-th\"\r\n style=\"padding-left: 60px\"\r\n >\r\n Display name\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === user?.userid,\r\n }\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n <div class=\"display-name-wrapper\">\r\n <span\r\n class=\"user-name-text\"\r\n [ngClass]=\"{ 'inactive-user-row': user.status !== 'Active' }\"\r\n >\r\n {{ user.firstName }} {{ user.lastName }}\r\n </span>\r\n <span class=\"icon-webex-box\"\r\n ><span class=\"icon-webex icon-webex-user\"></span\r\n ></span>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"email\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Email</th>\r\n <td\r\n class=\"user-site\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === user?.userid,\r\n 'inactive-user-row': user.status !== 'Active',\r\n }\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n {{ user.email }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"status\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">\r\n <span class=\"header-with-info\">\r\n Status\r\n <img src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\" />\r\n </span>\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === user?.userid,\r\n 'inactive-user-row': user.status !== 'Active',\r\n }\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n <span\r\n class=\"icon-user-status\"\r\n [ngClass]=\"{ 'icon-user-status-active': user.status === 'Active' }\"\r\n ></span\r\n >{{ user.status }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"actions\">\r\n <th\r\n mat-header-cell\r\n *matHeaderCellDef\r\n class=\"webex-table-th\"\r\n style=\"padding-left: 24px; padding-top: 4px\"\r\n >\r\n <img src=\"assets/icons/settings-regular.svg\" width=\"16\" alt=\"\" />\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user; let i = index\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === user?.userid,\r\n 'inactive-user-row': user.status !== 'Active',\r\n }\"\r\n >\r\n <mat-progress-spinner\r\n class=\"field-spinner\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"\r\n mode=\"indeterminate\"\r\n *ngIf=\"user.status === 'In Progress'\"\r\n ></mat-progress-spinner>\r\n <button\r\n *ngIf=\"\r\n !(\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === user?.userid\r\n )\r\n \"\r\n class=\"button-action-dot\"\r\n mat-icon-button\r\n [matMenuTriggerFor]=\"menu\"\r\n >\r\n <div class=\"icon-actions-dots\">\r\n <span class=\"icon-dot\">.</span>\r\n <span class=\"icon-dot\">.</span>\r\n <span class=\"icon-dot\">.</span>\r\n </div>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button mat-menu-item [disabled]=\"true\">Resend Invitation</button>\r\n <button mat-menu-item [disabled]=\"true\">Reset Password</button>\r\n <button\r\n [disabled]=\"user.webexUUID\"\r\n *ngIf=\"!user.isMigrated\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'QuickMove', 'MT')\"\r\n >\r\n Quick Upgrade User to MT\r\n </button>\r\n <button\r\n [disabled]=\"user.webexUUID\"\r\n *ngIf=\"!user.isMigrated\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'MT', 'MT')\"\r\n >\r\n Upgrade User to MT\r\n </button>\r\n <button\r\n *ngIf=\"user.isMigrated\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'DI', 'DI')\"\r\n >\r\n Revert User to UCM/DI\r\n </button>\r\n <button mat-menu-item [disabled]=\"true\">Deactivate User</button>\r\n <button mat-menu-item [disabled]=\"true\">Delete User</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"role\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">\r\n Admin roles\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n [ngClass]=\"{ 'inactive-user-row': user.status !== 'Active' }\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n {{ user.roleName || \"-\" }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"source\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">\r\n Provisioning Type\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n <ng-container *ngIf=\"user.webexUUID\">\r\n <span [matTooltip]=\"'Multi-Tenant'\" matTooltipPosition=\"right\"\r\n ><img src=\"assets/icons/webex.svg\" width=\"20\" alt=\"\"\r\n /></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user.webexUUID\">\r\n <span [matTooltip]=\"'Dedicated Instance'\" matTooltipPosition=\"right\"\r\n ><img src=\"assets/icons/mt.svg\" width=\"20\" alt=\"\"\r\n /></span>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"last-active-time\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">\r\n <span class=\"header-with-info\">\r\n Last active time\r\n <!-- <mat-icon class=\"info-icon\">info</mat-icon> -->\r\n <img src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\" />\r\n </span>\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n [ngClass]=\"{ 'inactive-user-row': user.status !== 'Active' }\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n 2/16/26\r\n </td>\r\n /\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n </table>\r\n\r\n <app-pagination\r\n [pagination]=\"usersSearchService.getPagination()\"\r\n [showPageSizeOptions]=\"true\"\r\n (pageNumberChangeEmitter)=\"pageNumberChangeEvent($event)\"\r\n (pageEmitter)=\"pageEvent($event)\"\r\n >\r\n </app-pagination>\r\n</div>\r\n\r\n<app-move-user-wizard\r\n *ngIf=\"showMoveUserWizard\"\r\n [user]=\"moveUser\"\r\n (done)=\"closeMoveUserWizard(true)\"\r\n [customerId]=\"customerId\"\r\n (runMoveUser)=\"runMoveUserToMT()\"\r\n (closeMoveUserWizard)=\"closeMoveUserWizard(false)\"\r\n></app-move-user-wizard>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";#users-list{letter-spacing:.5px}.header-with-info{display:flex;align-items:center;gap:.5rem}.header-with-info .info-icon{font-size:16px;color:#c3c3c3;cursor:pointer}table.mat-table{border-spacing:0;width:100%}::ng-deep .mat-paginator{background:none}.icon-user-status{width:.5rem;height:.5rem;border-radius:50%;background-color:#707070;margin:0 5px 0 0}.icon-user-status.icon-user-status-active{background-color:#1d805f;display:inline-block}.mat-select{height:100%;line-height:35px}.mat-form-field-wrapper{padding-bottom:0!important}.mat-form-field{padding:0;max-width:300px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-size:.7rem;line-height:1rem;background:#545454;border-radius:2rem;line-height:40px;text-align:center;flex-shrink:0}.icon-webex{filter:brightness(0) invert(1);background-repeat:no-repeat;background-position:center;display:inline-block;height:20px;width:20px;background-size:contain}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M23.23 16.757a5.746 5.746 0 1 0-7.041-9.048 5 5 0 0 0 .071-.705 4.75 4.75 0 1 0-7.705 3.689 8.43 8.43 0 0 0-6.305 7.84c0 1.052.543 2.521 3.13 3.55 1.643.595 3.371.92 5.118.965a7.8 7.8 0 0 0-.248 1.926c0 1.1.57 2.636 3.285 3.716a18.1 18.1 0 0 0 6.463 1.06c4.853 0 9.75-1.476 9.75-4.776a8.86 8.86 0 0 0-6.517-8.217M20 7.755a4.25 4.25 0 0 1 .006 8.499h-.013a4.25 4.25 0 0 1 .007-8.5M8.26 7.004a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m2.76 14.574c-4.177-.093-7.27-1.368-7.27-3.045 0-3.737 3.478-6.778 7.752-6.778a8.7 8.7 0 0 1 2.757.45 5.75 5.75 0 0 0 2.508 4.552 9.43 9.43 0 0 0-5.747 4.82m8.978 6.672c-4.703 0-8.249-1.408-8.249-3.276 0-3.982 3.7-7.22 8.25-7.22s8.248 3.238 8.248 7.22c0 1.868-3.546 3.276-8.25 3.276%22%2F%3E%3C%2Fsvg%3E\")}.icon-webex-info{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D %3Ccircle cx%3D%2212%22 cy%3D%2212%22 r%3D%2211%22 stroke%3D%22currentColor%22 stroke-width%3D%221.5%22%2F%3E%0D %3Ccircle cx%3D%2212%22 cy%3D%227.5%22 r%3D%221%22 fill%3D%22currentColor%22%2F%3E%0D %3Crect x%3D%2211%22 y%3D%2210%22 width%3D%222%22 height%3D%227%22 rx%3D%221%22 fill%3D%22currentColor%22%2F%3E%0D%3C%2Fsvg%3E\")}.icon-webex-cogs{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D %3Ccircle cx%3D%2212%22 cy%3D%2212%22 r%3D%223.5%22 stroke%3D%22currentColor%22 stroke-width%3D%221.2%22%2F%3E%0D %0D %3Cpath d%3D%22M12 2C12.8 2 13.5 2.5 13.8 3.2L14.2 4.2C14.4 4.8 15 5.2 15.7 5.1L16.8 4.9C17.8 4.7 18.8 5.2 19.3 6.1L20.5 8.2C21 9.1 20.9 10.2 20.1 11L19.4 11.6C18.9 12 18.9 12.7 19.4 13.1L20.1 13.7C20.9 14.5 21 15.6 20.5 16.5L19.3 18.6C18.8 19.5 17.8 20 16.8 19.8L15.7 19.6C15 19.5 14.4 19.9 14.2 20.5L13.8 21.5C13.5 22.2 12.8 22.7 12 22.7C11.2 22.7 10.5 22.2 10.2 21.5L9.8 20.5C9.6 19.9 9 19.5 8.3 19.6L7.2 19.8C6.2 20 5.2 19.5 4.7 18.6L3.5 16.5C3 15.6 3.1 14.5 3.9 13.7L4.6 13.1C5.1 12.7 5.1 12 4.6 11.6L3.9 11C3.1 10.2 3 9.1 3.5 8.2L4.7 6.1C5.2 5.2 6.2 4.7 7.2 4.9L8.3 5.1C9 5.2 9.6 4.8 9.8 4.2L10.2 3.2C10.5 2.5 11.2 2 12 2Z%22 %0D stroke%3D%22currentColor%22 %0D stroke-width%3D%221.2%22 %0D stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;font-style:normal}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-size:14px}.user-info-box h3{display:block;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#ededed;color:#636363;font-size:12px}.webex-table th:hover{background-color:#dedede}.webex-table th ::ng-deep .mat-icon{font-size:16px;display:flex;align-items:center}.webex-table td{background:#fff;color:#000000f2;font-size:14px}.webex-table tr:hover td:not(.disabled-user-row){background:#ededed;cursor:pointer}.webex-table .inactive-user-row{opacity:.35}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{padding:0 24px 0 12px;border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.webex-table .display-name-wrapper{display:flex;align-items:center;justify-content:left;flex-flow:row-reverse;gap:1rem}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#f3f6f6;border:1px solid #e2e9ef;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important;line-height:35px!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}.mat-form-field-wrapper,.mat-form-field-flex{height:30px!important}.mat-form-field-appearance-outline .mat-form-field-outline,.mat-form-field-outline .mat-form-field-outline-thick{height:35px!important}.mat-select{line-height:20px!important}.mat-form-field-appearance-outline .mat-form-field-infix{padding:14px 12px 10px;border-top:0;max-width:300px}.mat-tab-group{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.mat-tab-label{font-weight:500!important;font-size:14px!important;height:auto!important;min-width:auto!important;padding:0!important}.mat-ink-bar{background-color:#000000e6!important;height:3px!important}.mat-form-field-wrapper{padding-bottom:0}.mat-form-field{max-width:300px}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}:host ::ng-deep .mat-form-field-wrapper{height:30px}:host ::ng-deep .mat-form-field-flex{height:30px}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:host ::ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}:host ::ng-deep .mat-select{line-height:20px}:host ::ng-deep .mat-form-field-infix{border-top:0px!important}:host ::ng-deep .mat-paginator{background:transparent!important}:host ::ng-deep .mat-paginator-container{min-height:30px!important}:host ::ng-deep .mat-paginator-range-label{margin:0 10px 0 24px!important;font-size:15px!important}:host ::ng-deep .pagination{font-size:13px;color:#0000008a}:host ::ng-deep .per-page-block{display:flex;line-height:42px!important}:host ::ng-deep .item_per_page{line-height:42px!important}:host ::ng-deep .select-page-size{line-height:42px!important}:host ::ng-deep mat-progress-spinner.page-spinner{position:fixed;margin:auto;inset:0}:host ::ng-deep mat-progress-spinner.field-spinner{position:relative;margin:-20px auto auto}:host ::ng-deep mat-progress-spinner.tab-spinner{position:relative;margin:0 auto auto}.icon-dot{display:block;color:#4f4f4f;font-size:16px;line-height:5px}.button-action-dot:hover{background:#dfdfdf}.button-action-dot{padding:0 5px 5px;border-radius:.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.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"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i10$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i11$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i11$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i11$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i11$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i11$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i11$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i11$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i11$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i11$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i12$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i12$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i12$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: PaginationComponent, selector: "app-pagination", inputs: ["pagination", "showPageSizeOptions", "showRefreshButton", "lengthPending"], outputs: ["pageEmitter", "pageNumberChangeEmitter"] }, { kind: "component", type: AppLoaderComponent, selector: "app-loader" }, { kind: "component", type: MoveUserWizardComponent, selector: "app-move-user-wizard", inputs: ["user", "customerId"], outputs: ["closeMoveUserWizard", "done", "runMoveUser"] }, { kind: "component", type: TableToolbarComponent, selector: "tk-users-table-toolbar", inputs: ["totalUsersCount"], outputs: ["searchChange"] }] });
1782
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListComponent, decorators: [{
1783
+ type: Component,
1784
+ args: [{ selector: 'app-users-list', template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div *ngIf=\"!showMoveUserWizard\" id=\"users-list\">\r\n <tk-users-table-toolbar\r\n [totalUsersCount]=\"totalUsersCount\"\r\n (searchChange)=\"searchUsers($event)\"\r\n ></tk-users-table-toolbar>\r\n <table\r\n class=\"webex-table\"\r\n mat-table\r\n *ngIf=\"users?.length\"\r\n #table\r\n [dataSource]=\"dataSource\"\r\n >\r\n <!-- <ng-container matColumnDef=\"user-icon\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\"></th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\r\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\r\n (click)=\"onUserClick(user)\">\r\n <span class=\"icon-webex-box\"><span class=\"icon-webex icon-webex-user\"></span></span>\r\n </td>\r\n </ng-container> -->\r\n\r\n <ng-container matColumnDef=\"name\">\r\n <th\r\n mat-header-cell\r\n *matHeaderCellDef\r\n class=\"webex-table-th\"\r\n style=\"padding-left: 60px\"\r\n >\r\n Display name\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === user?.userid,\r\n }\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n <div class=\"display-name-wrapper\">\r\n <span\r\n class=\"user-name-text\"\r\n [ngClass]=\"{ 'inactive-user-row': user.status !== 'Active' }\"\r\n >\r\n {{ user.firstName }} {{ user.lastName }}\r\n </span>\r\n <span class=\"icon-webex-box\"\r\n ><span class=\"icon-webex icon-webex-user\"></span\r\n ></span>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"email\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Email</th>\r\n <td\r\n class=\"user-site\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === user?.userid,\r\n 'inactive-user-row': user.status !== 'Active',\r\n }\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n {{ user.email }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"status\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">\r\n <span class=\"header-with-info\">\r\n Status\r\n <img src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\" />\r\n </span>\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === user?.userid,\r\n 'inactive-user-row': user.status !== 'Active',\r\n }\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n <span\r\n class=\"icon-user-status\"\r\n [ngClass]=\"{ 'icon-user-status-active': user.status === 'Active' }\"\r\n ></span\r\n >{{ user.status }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"actions\">\r\n <th\r\n mat-header-cell\r\n *matHeaderCellDef\r\n class=\"webex-table-th\"\r\n style=\"padding-left: 24px; padding-top: 4px\"\r\n >\r\n <img src=\"assets/icons/settings-regular.svg\" width=\"16\" alt=\"\" />\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user; let i = index\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === user?.userid,\r\n 'inactive-user-row': user.status !== 'Active',\r\n }\"\r\n >\r\n <mat-progress-spinner\r\n class=\"field-spinner\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"\r\n mode=\"indeterminate\"\r\n *ngIf=\"user.status === 'In Progress'\"\r\n ></mat-progress-spinner>\r\n <button\r\n *ngIf=\"\r\n !(\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === user?.userid\r\n )\r\n \"\r\n class=\"button-action-dot\"\r\n mat-icon-button\r\n [matMenuTriggerFor]=\"menu\"\r\n >\r\n <div class=\"icon-actions-dots\">\r\n <span class=\"icon-dot\">.</span>\r\n <span class=\"icon-dot\">.</span>\r\n <span class=\"icon-dot\">.</span>\r\n </div>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button mat-menu-item [disabled]=\"true\">Resend Invitation</button>\r\n <button mat-menu-item [disabled]=\"true\">Reset Password</button>\r\n <button\r\n [disabled]=\"user.webexUUID\"\r\n *ngIf=\"!user.isMigrated\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'QuickMove', 'MT')\"\r\n >\r\n Quick Upgrade User to MT\r\n </button>\r\n <button\r\n [disabled]=\"user.webexUUID\"\r\n *ngIf=\"!user.isMigrated\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'MT', 'MT')\"\r\n >\r\n Upgrade User to MT\r\n </button>\r\n <button\r\n *ngIf=\"user.isMigrated\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'DI', 'DI')\"\r\n >\r\n Revert User to UCM/DI\r\n </button>\r\n <button mat-menu-item [disabled]=\"true\">Deactivate User</button>\r\n <button mat-menu-item [disabled]=\"true\">Delete User</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"role\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">\r\n Admin roles\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n [ngClass]=\"{ 'inactive-user-row': user.status !== 'Active' }\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n {{ user.roleName || \"-\" }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"source\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">\r\n Provisioning Type\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n <ng-container *ngIf=\"user.webexUUID\">\r\n <span [matTooltip]=\"'Multi-Tenant'\" matTooltipPosition=\"right\"\r\n ><img src=\"assets/icons/webex.svg\" width=\"20\" alt=\"\"\r\n /></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user.webexUUID\">\r\n <span [matTooltip]=\"'Dedicated Instance'\" matTooltipPosition=\"right\"\r\n ><img src=\"assets/icons/mt.svg\" width=\"20\" alt=\"\"\r\n /></span>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"last-active-time\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">\r\n <span class=\"header-with-info\">\r\n Last active time\r\n <!-- <mat-icon class=\"info-icon\">info</mat-icon> -->\r\n <img src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\" />\r\n </span>\r\n </th>\r\n <td\r\n class=\"user-site\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n [ngClass]=\"{ 'inactive-user-row': user.status !== 'Active' }\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n 2/16/26\r\n </td>\r\n /\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n </table>\r\n\r\n <app-pagination\r\n [pagination]=\"usersSearchService.getPagination()\"\r\n [showPageSizeOptions]=\"true\"\r\n (pageNumberChangeEmitter)=\"pageNumberChangeEvent($event)\"\r\n (pageEmitter)=\"pageEvent($event)\"\r\n >\r\n </app-pagination>\r\n</div>\r\n\r\n<app-move-user-wizard\r\n *ngIf=\"showMoveUserWizard\"\r\n [user]=\"moveUser\"\r\n (done)=\"closeMoveUserWizard(true)\"\r\n [customerId]=\"customerId\"\r\n (runMoveUser)=\"runMoveUserToMT()\"\r\n (closeMoveUserWizard)=\"closeMoveUserWizard(false)\"\r\n></app-move-user-wizard>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";#users-list{letter-spacing:.5px}.header-with-info{display:flex;align-items:center;gap:.5rem}.header-with-info .info-icon{font-size:16px;color:#c3c3c3;cursor:pointer}table.mat-table{border-spacing:0;width:100%}::ng-deep .mat-paginator{background:none}.icon-user-status{width:.5rem;height:.5rem;border-radius:50%;background-color:#707070;margin:0 5px 0 0}.icon-user-status.icon-user-status-active{background-color:#1d805f;display:inline-block}.mat-select{height:100%;line-height:35px}.mat-form-field-wrapper{padding-bottom:0!important}.mat-form-field{padding:0;max-width:300px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-size:.7rem;line-height:1rem;background:#545454;border-radius:2rem;line-height:40px;text-align:center;flex-shrink:0}.icon-webex{filter:brightness(0) invert(1);background-repeat:no-repeat;background-position:center;display:inline-block;height:20px;width:20px;background-size:contain}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M23.23 16.757a5.746 5.746 0 1 0-7.041-9.048 5 5 0 0 0 .071-.705 4.75 4.75 0 1 0-7.705 3.689 8.43 8.43 0 0 0-6.305 7.84c0 1.052.543 2.521 3.13 3.55 1.643.595 3.371.92 5.118.965a7.8 7.8 0 0 0-.248 1.926c0 1.1.57 2.636 3.285 3.716a18.1 18.1 0 0 0 6.463 1.06c4.853 0 9.75-1.476 9.75-4.776a8.86 8.86 0 0 0-6.517-8.217M20 7.755a4.25 4.25 0 0 1 .006 8.499h-.013a4.25 4.25 0 0 1 .007-8.5M8.26 7.004a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m2.76 14.574c-4.177-.093-7.27-1.368-7.27-3.045 0-3.737 3.478-6.778 7.752-6.778a8.7 8.7 0 0 1 2.757.45 5.75 5.75 0 0 0 2.508 4.552 9.43 9.43 0 0 0-5.747 4.82m8.978 6.672c-4.703 0-8.249-1.408-8.249-3.276 0-3.982 3.7-7.22 8.25-7.22s8.248 3.238 8.248 7.22c0 1.868-3.546 3.276-8.25 3.276%22%2F%3E%3C%2Fsvg%3E\")}.icon-webex-info{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D %3Ccircle cx%3D%2212%22 cy%3D%2212%22 r%3D%2211%22 stroke%3D%22currentColor%22 stroke-width%3D%221.5%22%2F%3E%0D %3Ccircle cx%3D%2212%22 cy%3D%227.5%22 r%3D%221%22 fill%3D%22currentColor%22%2F%3E%0D %3Crect x%3D%2211%22 y%3D%2210%22 width%3D%222%22 height%3D%227%22 rx%3D%221%22 fill%3D%22currentColor%22%2F%3E%0D%3C%2Fsvg%3E\")}.icon-webex-cogs{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D %3Ccircle cx%3D%2212%22 cy%3D%2212%22 r%3D%223.5%22 stroke%3D%22currentColor%22 stroke-width%3D%221.2%22%2F%3E%0D %0D %3Cpath d%3D%22M12 2C12.8 2 13.5 2.5 13.8 3.2L14.2 4.2C14.4 4.8 15 5.2 15.7 5.1L16.8 4.9C17.8 4.7 18.8 5.2 19.3 6.1L20.5 8.2C21 9.1 20.9 10.2 20.1 11L19.4 11.6C18.9 12 18.9 12.7 19.4 13.1L20.1 13.7C20.9 14.5 21 15.6 20.5 16.5L19.3 18.6C18.8 19.5 17.8 20 16.8 19.8L15.7 19.6C15 19.5 14.4 19.9 14.2 20.5L13.8 21.5C13.5 22.2 12.8 22.7 12 22.7C11.2 22.7 10.5 22.2 10.2 21.5L9.8 20.5C9.6 19.9 9 19.5 8.3 19.6L7.2 19.8C6.2 20 5.2 19.5 4.7 18.6L3.5 16.5C3 15.6 3.1 14.5 3.9 13.7L4.6 13.1C5.1 12.7 5.1 12 4.6 11.6L3.9 11C3.1 10.2 3 9.1 3.5 8.2L4.7 6.1C5.2 5.2 6.2 4.7 7.2 4.9L8.3 5.1C9 5.2 9.6 4.8 9.8 4.2L10.2 3.2C10.5 2.5 11.2 2 12 2Z%22 %0D stroke%3D%22currentColor%22 %0D stroke-width%3D%221.2%22 %0D stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;font-style:normal}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-size:14px}.user-info-box h3{display:block;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#ededed;color:#636363;font-size:12px}.webex-table th:hover{background-color:#dedede}.webex-table th ::ng-deep .mat-icon{font-size:16px;display:flex;align-items:center}.webex-table td{background:#fff;color:#000000f2;font-size:14px}.webex-table tr:hover td:not(.disabled-user-row){background:#ededed;cursor:pointer}.webex-table .inactive-user-row{opacity:.35}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{padding:0 24px 0 12px;border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.webex-table .display-name-wrapper{display:flex;align-items:center;justify-content:left;flex-flow:row-reverse;gap:1rem}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#f3f6f6;border:1px solid #e2e9ef;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important;line-height:35px!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}.mat-form-field-wrapper,.mat-form-field-flex{height:30px!important}.mat-form-field-appearance-outline .mat-form-field-outline,.mat-form-field-outline .mat-form-field-outline-thick{height:35px!important}.mat-select{line-height:20px!important}.mat-form-field-appearance-outline .mat-form-field-infix{padding:14px 12px 10px;border-top:0;max-width:300px}.mat-tab-group{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.mat-tab-label{font-weight:500!important;font-size:14px!important;height:auto!important;min-width:auto!important;padding:0!important}.mat-ink-bar{background-color:#000000e6!important;height:3px!important}.mat-form-field-wrapper{padding-bottom:0}.mat-form-field{max-width:300px}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}:host ::ng-deep .mat-form-field-wrapper{height:30px}:host ::ng-deep .mat-form-field-flex{height:30px}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:host ::ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}:host ::ng-deep .mat-select{line-height:20px}:host ::ng-deep .mat-form-field-infix{border-top:0px!important}:host ::ng-deep .mat-paginator{background:transparent!important}:host ::ng-deep .mat-paginator-container{min-height:30px!important}:host ::ng-deep .mat-paginator-range-label{margin:0 10px 0 24px!important;font-size:15px!important}:host ::ng-deep .pagination{font-size:13px;color:#0000008a}:host ::ng-deep .per-page-block{display:flex;line-height:42px!important}:host ::ng-deep .item_per_page{line-height:42px!important}:host ::ng-deep .select-page-size{line-height:42px!important}:host ::ng-deep mat-progress-spinner.page-spinner{position:fixed;margin:auto;inset:0}:host ::ng-deep mat-progress-spinner.field-spinner{position:relative;margin:-20px auto auto}:host ::ng-deep mat-progress-spinner.tab-spinner{position:relative;margin:0 auto auto}.icon-dot{display:block;color:#4f4f4f;font-size:16px;line-height:5px}.button-action-dot:hover{background:#dfdfdf}.button-action-dot{padding:0 5px 5px;border-radius:.25rem}\n"] }]
1785
+ }], ctorParameters: function () { return [{ type: UserService }, { type: APIService }, { type: ApiWebexService }, { type: NotificationService }, { type: UsersSearchService }, { type: i1.MatDialog }]; }, propDecorators: { token: [{
1786
+ type: Input
1787
+ }], customerId: [{
1788
+ type: Input
1789
+ }], siteId: [{
1790
+ type: Input
1791
+ }], openUser: [{
1792
+ type: Output
1793
+ }], userMoved: [{
1794
+ type: Output
1795
+ }], switchToWizard: [{
1796
+ type: Output
1797
+ }], host: [{
1798
+ type: Input
1799
+ }] } });
1800
+
1801
+ class EventsCommunicationService {
1802
+ constructor() {
1803
+ this.onSuccessfulLoginEvent = new Subject();
1804
+ }
1805
+ }
1806
+ EventsCommunicationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EventsCommunicationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1807
+ EventsCommunicationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EventsCommunicationService });
1808
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EventsCommunicationService, decorators: [{
1809
+ type: Injectable
1810
+ }], ctorParameters: function () { return []; } });
1811
+
1812
+ class MaterialModule {
1813
+ }
1814
+ MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1815
+ MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, imports: [DragDropModule,
1816
+ MatButtonModule,
1817
+ MatListModule,
1818
+ MatProgressSpinnerModule,
1819
+ MatExpansionModule,
1820
+ MatInputModule,
1821
+ MatInputModule,
1822
+ MatListModule,
1823
+ MatTreeModule,
1824
+ MatTreeModule,
1825
+ MatNativeDateModule,
1826
+ MatDatepickerModule,
1827
+ MatTooltipModule,
1828
+ MatAutocompleteModule,
1829
+ MatChipsModule,
1830
+ MatSidenavModule,
1831
+ MatFormFieldModule,
1832
+ MatStepperModule,
1833
+ MatTabsModule,
1834
+ MatCardModule,
1835
+ MatSelectModule,
1836
+ MatCheckboxModule,
1837
+ MatSlideToggleModule,
1838
+ MatTableModule,
1839
+ MatPaginatorModule,
1840
+ MatMenuModule,
1841
+ MatDialogModule,
1842
+ MatRadioModule,
1843
+ MatIconModule], exports: [DragDropModule,
1844
+ MatButtonModule,
1845
+ MatListModule,
1846
+ MatProgressSpinnerModule,
1847
+ MatExpansionModule,
1848
+ MatInputModule,
1849
+ MatInputModule,
1850
+ MatListModule,
1851
+ MatTreeModule,
1852
+ MatTreeModule,
1853
+ MatNativeDateModule,
1854
+ MatDatepickerModule,
1855
+ MatTooltipModule,
1856
+ MatAutocompleteModule,
1857
+ MatChipsModule,
1858
+ MatSidenavModule,
1859
+ MatFormFieldModule,
1860
+ MatStepperModule,
1861
+ MatTabsModule,
1862
+ MatCardModule,
1863
+ MatCheckboxModule,
1864
+ MatSelectModule,
1865
+ MatSlideToggleModule,
1866
+ MatProgressSpinnerModule,
1867
+ MatTableModule,
1868
+ MatPaginatorModule,
1869
+ MatMenuModule,
1870
+ MatDialogModule,
1871
+ MatRadioModule,
1872
+ MatIconModule] });
1873
+ MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, imports: [DragDropModule,
1874
+ MatButtonModule,
1875
+ MatListModule,
1876
+ MatProgressSpinnerModule,
1877
+ MatExpansionModule,
1878
+ MatInputModule,
1879
+ MatInputModule,
1880
+ MatListModule,
1881
+ MatTreeModule,
1882
+ MatTreeModule,
1883
+ MatNativeDateModule,
1884
+ MatDatepickerModule,
1885
+ MatTooltipModule,
1886
+ MatAutocompleteModule,
1887
+ MatChipsModule,
1888
+ MatSidenavModule,
1889
+ MatFormFieldModule,
1890
+ MatStepperModule,
1891
+ MatTabsModule,
1892
+ MatCardModule,
1893
+ MatSelectModule,
1894
+ MatCheckboxModule,
1895
+ MatSlideToggleModule,
1896
+ MatTableModule,
1897
+ MatPaginatorModule,
1898
+ MatMenuModule,
1899
+ MatDialogModule,
1900
+ MatRadioModule,
1901
+ MatIconModule, DragDropModule,
1902
+ MatButtonModule,
1903
+ MatListModule,
1904
+ MatProgressSpinnerModule,
1905
+ MatExpansionModule,
1906
+ MatInputModule,
1907
+ MatInputModule,
1908
+ MatListModule,
1909
+ MatTreeModule,
1910
+ MatTreeModule,
1911
+ MatNativeDateModule,
1912
+ MatDatepickerModule,
1913
+ MatTooltipModule,
1914
+ MatAutocompleteModule,
1915
+ MatChipsModule,
1916
+ MatSidenavModule,
1917
+ MatFormFieldModule,
1918
+ MatStepperModule,
1919
+ MatTabsModule,
1920
+ MatCardModule,
1921
+ MatCheckboxModule,
1922
+ MatSelectModule,
1923
+ MatSlideToggleModule,
1924
+ MatProgressSpinnerModule,
1925
+ MatTableModule,
1926
+ MatPaginatorModule,
1927
+ MatMenuModule,
1928
+ MatDialogModule,
1929
+ MatRadioModule,
1930
+ MatIconModule] });
1931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, decorators: [{
1932
+ type: NgModule,
1933
+ args: [{
1934
+ imports: [
1935
+ DragDropModule,
1936
+ MatButtonModule,
1937
+ MatListModule,
1938
+ MatProgressSpinnerModule,
1939
+ MatExpansionModule,
1940
+ MatInputModule,
1941
+ MatInputModule,
1942
+ MatListModule,
1943
+ MatTreeModule,
1944
+ MatTreeModule,
1945
+ MatNativeDateModule,
1946
+ MatDatepickerModule,
1947
+ MatTooltipModule,
1948
+ MatAutocompleteModule,
1949
+ MatChipsModule,
1950
+ MatSidenavModule,
1951
+ MatFormFieldModule,
1952
+ MatStepperModule,
1953
+ MatTabsModule,
1954
+ MatCardModule,
1955
+ MatSelectModule,
1956
+ MatCheckboxModule,
1957
+ MatSlideToggleModule,
1958
+ MatTableModule,
1959
+ MatPaginatorModule,
1960
+ MatMenuModule,
1961
+ MatDialogModule,
1962
+ MatRadioModule,
1963
+ MatIconModule
1964
+ ],
1965
+ exports: [
1966
+ DragDropModule,
1967
+ MatButtonModule,
1968
+ MatListModule,
1969
+ MatProgressSpinnerModule,
1970
+ MatExpansionModule,
1971
+ MatInputModule,
1972
+ MatInputModule,
1973
+ MatListModule,
1974
+ MatTreeModule,
1975
+ MatTreeModule,
1976
+ MatNativeDateModule,
1977
+ MatDatepickerModule,
1978
+ MatTooltipModule,
1979
+ MatAutocompleteModule,
1980
+ MatChipsModule,
1981
+ MatSidenavModule,
1982
+ MatFormFieldModule,
1983
+ MatStepperModule,
1984
+ MatTabsModule,
1985
+ MatCardModule,
1986
+ MatCheckboxModule,
1987
+ MatSelectModule,
1988
+ MatSlideToggleModule,
1989
+ MatProgressSpinnerModule,
1990
+ MatTableModule,
1991
+ MatPaginatorModule,
1992
+ MatMenuModule,
1993
+ MatDialogModule,
1994
+ MatRadioModule,
1995
+ MatIconModule
1996
+ ],
1997
+ }]
1998
+ }] });
1999
+
2000
+ class UsersListModule {
2001
+ }
2002
+ UsersListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2003
+ UsersListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, declarations: [UsersListComponent,
2004
+ PaginationComponent,
2005
+ AppLoaderComponent,
2006
+ MoveUserWizardComponent,
2007
+ MoveUserStepperComponent,
2008
+ UserListConfirmDialogComponent,
2009
+ DevicesMoveUserWizardTabComponent,
2010
+ DeviceMoveUserWizardComponent,
2011
+ TableToolbarComponent], imports: [BrowserModule,
2012
+ FormsModule,
2013
+ ReactiveFormsModule,
2014
+ HttpClientModule,
2015
+ MaterialModule], exports: [UsersListComponent] });
2016
+ UsersListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, providers: [
2017
+ UserService,
2018
+ APIService,
2019
+ EventsCommunicationService,
2020
+ UsersSearchService,
2021
+ NotificationService,
2022
+ RemoveKynFromIBMService,
2023
+ ApiWebexService,
2024
+ DnsService,
2025
+ SiteSettingsService,
2026
+ MoveUserService
2027
+ ], imports: [BrowserModule,
2028
+ FormsModule,
2029
+ ReactiveFormsModule,
2030
+ HttpClientModule,
2031
+ MaterialModule] });
2032
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, decorators: [{
2033
+ type: NgModule,
2034
+ args: [{
2035
+ declarations: [
2036
+ UsersListComponent,
2037
+ PaginationComponent,
2038
+ AppLoaderComponent,
2039
+ MoveUserWizardComponent,
2040
+ MoveUserStepperComponent,
2041
+ UserListConfirmDialogComponent,
2042
+ DevicesMoveUserWizardTabComponent,
2043
+ DeviceMoveUserWizardComponent,
2044
+ TableToolbarComponent
2045
+ ],
2046
+ imports: [
2047
+ BrowserModule,
2048
+ FormsModule,
2049
+ ReactiveFormsModule,
2050
+ HttpClientModule,
2051
+ MaterialModule
2052
+ ],
2053
+ providers: [
2054
+ UserService,
2055
+ APIService,
2056
+ EventsCommunicationService,
2057
+ UsersSearchService,
2058
+ NotificationService,
2059
+ RemoveKynFromIBMService,
2060
+ ApiWebexService,
2061
+ DnsService,
2062
+ SiteSettingsService,
2063
+ MoveUserService
2064
+ ],
2065
+ exports: [UsersListComponent]
2066
+ }]
2067
+ }] });
2068
+
2069
+ /**
2070
+ * Generated bundle index. Do not edit.
2071
+ */
2072
+
2073
+ export { APIService, EventsCommunicationService, NotificationService, RemoveKynFromIBMService, UserService, UsersListComponent, UsersListModule, UsersSearchService };
2074
+ //# sourceMappingURL=tuki-io-tuki-widgets-users-list.mjs.map