@tuki-io/tuki-widgets 0.0.219-dev.2 → 0.0.219-dev.22

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 (207) hide show
  1. package/README.md +24 -24
  2. package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +1 -1
  3. package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
  4. package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +3 -3
  5. package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
  6. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
  7. package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
  8. package/esm2020/lib/widgets.component.mjs +9 -9
  9. package/esm2020/lib/widgets.module.mjs +1 -1
  10. package/esm2020/lib/widgets.service.mjs +1 -1
  11. package/esm2020/public-api.mjs +1 -1
  12. package/esm2020/shared/public-api.mjs +4 -0
  13. package/esm2020/shared/src/ui/material.module.mjs +188 -0
  14. package/esm2020/shared/src/ui/shared.module.mjs +36 -0
  15. package/esm2020/shared/src/ui/tk-page-section/tk-page-section.component.mjs +13 -0
  16. package/esm2020/shared/src/ui/tk-page-section-row/tk-page-section-row.component.mjs +13 -0
  17. package/esm2020/shared/src/ui/ui.module.mjs +37 -0
  18. package/esm2020/shared/tuki-io-tuki-widgets-shared.mjs +5 -0
  19. package/esm2020/user-creation/src/app.constants.mjs +1 -1
  20. package/esm2020/user-creation/src/classes/notification.mjs +1 -1
  21. package/esm2020/user-creation/src/classes/site.mjs +1 -1
  22. package/esm2020/user-creation/src/environments/environment.mjs +1 -1
  23. package/esm2020/user-creation/src/interfaces/user-creation-wizard.interfaces.mjs +1 -1
  24. package/esm2020/user-creation/src/shared/components/notification/notification.component.mjs +3 -3
  25. package/esm2020/user-creation/src/shared/pipes/truncate.pipe.mjs +1 -1
  26. package/esm2020/user-creation/src/shared/services/notification.service.mjs +1 -1
  27. package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +1 -1
  28. package/esm2020/user-creation/src/shared/services/utils.mjs +1 -1
  29. package/esm2020/user-creation/src/utils/app-loader/app-loader.mjs +3 -3
  30. package/esm2020/user-creation/src/utils/build-savable-end-user.mjs +1 -1
  31. package/esm2020/user-creation/src/utils/device-default-prefix.mjs +19 -2
  32. package/esm2020/user-creation/src/utils/device-name-dynamic-tokens.mjs +4 -0
  33. package/esm2020/user-creation/src/utils/device-name-validation.mjs +1 -1
  34. package/esm2020/user-creation/src/utils/model.mjs +1 -1
  35. package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +6 -3
  36. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +60 -13
  37. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +3 -3
  38. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +13 -9
  39. package/esm2020/user-device-manage/public-api.mjs +1 -1
  40. package/esm2020/user-device-manage/src/app.constants.mjs +1 -1
  41. package/esm2020/user-device-manage/src/classes/device.mjs +1 -1
  42. package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
  43. package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +1 -1
  44. package/esm2020/user-device-manage/src/classes/line-association.mjs +1 -1
  45. package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +1 -1
  46. package/esm2020/user-device-manage/src/classes/line-directory.mjs +1 -1
  47. package/esm2020/user-device-manage/src/classes/line.mjs +1 -1
  48. package/esm2020/user-device-manage/src/classes/notification.mjs +1 -1
  49. package/esm2020/user-device-manage/src/classes/recording-options.mjs +1 -1
  50. package/esm2020/user-device-manage/src/classes/simplified-user.mjs +1 -1
  51. package/esm2020/user-device-manage/src/classes/site-defaults.mjs +1 -1
  52. package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +1 -1
  53. package/esm2020/user-device-manage/src/classes/types.mjs +1 -1
  54. package/esm2020/user-device-manage/src/common-functions.mjs +1 -1
  55. package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +3 -3
  56. package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +3 -3
  57. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +3 -3
  58. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
  59. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +1 -1
  60. package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
  61. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +2 -2
  62. package/esm2020/user-device-manage/src/environments/environment.mjs +1 -1
  63. package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +1 -1
  64. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  65. package/esm2020/user-device-manage/src/material.module.mjs +1 -1
  66. package/esm2020/user-device-manage/src/notifications/notification.component.mjs +3 -3
  67. package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
  68. package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
  69. package/esm2020/user-device-manage/src/services/device.service.mjs +1 -1
  70. package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
  71. package/esm2020/user-device-manage/src/services/line.service.mjs +1 -1
  72. package/esm2020/user-device-manage/src/services/notification.service.mjs +1 -1
  73. package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +1 -1
  74. package/esm2020/user-device-manage/src/services/site-settings.service.mjs +1 -1
  75. package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +1 -1
  76. package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
  77. package/esm2020/user-device-manage/src/services/utils.service.mjs +1 -1
  78. package/esm2020/user-device-manage/src/services/validation.service.mjs +1 -1
  79. package/esm2020/user-device-manage/src/user-device-manage.module.mjs +1 -4
  80. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
  81. package/esm2020/user-manage/public-api.mjs +1 -1
  82. package/esm2020/user-manage/src/app.constants.mjs +1 -1
  83. package/esm2020/user-manage/src/classes/device.mjs +1 -1
  84. package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
  85. package/esm2020/user-manage/src/classes/line-association.mjs +1 -1
  86. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +1 -1
  87. package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
  88. package/esm2020/user-manage/src/classes/line.mjs +1 -1
  89. package/esm2020/user-manage/src/classes/notification.mjs +1 -1
  90. package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
  91. package/esm2020/user-manage/src/classes/recording-options.mjs +1 -1
  92. package/esm2020/user-manage/src/classes/simplified-user.mjs +2 -1
  93. package/esm2020/user-manage/src/classes/table-data.mjs +1 -1
  94. package/esm2020/user-manage/src/classes/translation-pattern.mjs +1 -1
  95. package/esm2020/user-manage/src/classes/user-list.mjs +1 -1
  96. package/esm2020/user-manage/src/common-functions.mjs +1 -1
  97. package/esm2020/user-manage/src/device-list/device-list.component.mjs +7 -4
  98. package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +4 -3
  99. package/esm2020/user-manage/src/environments/environment.mjs +1 -1
  100. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +1 -1
  101. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  102. package/esm2020/user-manage/src/material.module.mjs +1 -1
  103. package/esm2020/user-manage/src/notifications/notification.component.mjs +3 -3
  104. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +1 -1
  105. package/esm2020/user-manage/src/services/api.service.mjs +1 -1
  106. package/esm2020/user-manage/src/services/dns.service.mjs +1 -1
  107. package/esm2020/user-manage/src/services/line.service.mjs +1 -1
  108. package/esm2020/user-manage/src/services/notification.service.mjs +1 -1
  109. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +1 -1
  110. package/esm2020/user-manage/src/services/site-settings.service.mjs +1 -1
  111. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +1 -1
  112. package/esm2020/user-manage/src/services/user.service.mjs +17 -12
  113. package/esm2020/user-manage/src/services/utils.service.mjs +1 -1
  114. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +3 -3
  115. package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +12 -7
  116. package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
  117. package/esm2020/user-manage/src/user-manage-widget.component.mjs +21 -11
  118. package/esm2020/user-manage/src/user-manage.module.mjs +7 -3
  119. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
  120. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +3 -3
  121. package/esm2020/users-list/public-api.mjs +1 -1
  122. package/esm2020/users-list/src/app.constants.mjs +3 -1
  123. package/esm2020/users-list/src/classes/app-location.mjs +1 -1
  124. package/esm2020/users-list/src/classes/device.mjs +1 -1
  125. package/esm2020/users-list/src/classes/line.mjs +1 -1
  126. package/esm2020/users-list/src/classes/move-user.mjs +1 -1
  127. package/esm2020/users-list/src/classes/notification.mjs +1 -1
  128. package/esm2020/users-list/src/classes/simlified-user.mjs +1 -1
  129. package/esm2020/users-list/src/classes/table-data.mjs +1 -1
  130. package/esm2020/users-list/src/classes/user-list.mjs +2 -1
  131. package/esm2020/users-list/src/components/table-toolbar/table-toolbar.component.mjs +3 -3
  132. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +3 -3
  133. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +3 -3
  134. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +14 -3
  135. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +5 -3
  136. package/esm2020/users-list/src/services/api-webex.service.mjs +1 -1
  137. package/esm2020/users-list/src/services/api.service.mjs +1 -1
  138. package/esm2020/users-list/src/services/dns.service.mjs +1 -1
  139. package/esm2020/users-list/src/services/events-communication.service.mjs +1 -1
  140. package/esm2020/users-list/src/services/notification.service.mjs +1 -1
  141. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +1 -1
  142. package/esm2020/users-list/src/services/site-settings.service.mjs +1 -1
  143. package/esm2020/users-list/src/services/user.service.mjs +8 -1
  144. package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +3 -3
  145. package/esm2020/users-list/src/users-list.component.mjs +118 -22
  146. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
  147. package/esm2020/users-list/src/utils/common-functions.mjs +1 -1
  148. package/esm2020/users-list/src/utils/notifications/notification.component.mjs +3 -3
  149. package/esm2020/users-list/src/utils/utils.service.mjs +1 -1
  150. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +2 -2
  151. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  152. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +20 -20
  153. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  154. package/fesm2015/tuki-io-tuki-widgets-shared.mjs +280 -0
  155. package/fesm2015/tuki-io-tuki-widgets-shared.mjs.map +1 -0
  156. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +109 -33
  157. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  158. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +18 -31
  159. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  160. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +75 -45
  161. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  162. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +157 -37
  163. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  164. package/fesm2015/tuki-io-tuki-widgets.mjs +8 -8
  165. package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
  166. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +2 -2
  167. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  168. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +20 -20
  169. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  170. package/fesm2020/tuki-io-tuki-widgets-shared.mjs +280 -0
  171. package/fesm2020/tuki-io-tuki-widgets-shared.mjs.map +1 -0
  172. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +102 -29
  173. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  174. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +18 -31
  175. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  176. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +71 -43
  177. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  178. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +156 -37
  179. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  180. package/fesm2020/tuki-io-tuki-widgets.mjs +8 -8
  181. package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
  182. package/package.json +9 -1
  183. package/shared/index.d.ts +5 -0
  184. package/shared/public-api.d.ts +3 -0
  185. package/shared/src/ui/material.module.d.ts +28 -0
  186. package/shared/src/ui/shared.module.d.ts +10 -0
  187. package/{user-device-manage/src/shared/tk-page-section/page-section.component.d.ts → shared/src/ui/tk-page-section/tk-page-section.component.d.ts} +1 -1
  188. package/shared/src/ui/tk-page-section-row/tk-page-section-row.component.d.ts +6 -0
  189. package/shared/src/ui/ui.module.d.ts +11 -0
  190. package/user-creation/src/utils/device-default-prefix.d.ts +7 -2
  191. package/user-creation/src/utils/device-name-dynamic-tokens.d.ts +1 -0
  192. package/user-creation/src/utils/parse-device-name-rule.d.ts +1 -0
  193. package/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.d.ts +2 -0
  194. package/user-device-manage/src/user-device-manage.module.d.ts +9 -10
  195. package/user-manage/src/classes/simplified-user.d.ts +7 -0
  196. package/user-manage/src/device-list/device-list.component.d.ts +2 -0
  197. package/user-manage/src/services/user.service.d.ts +1 -0
  198. package/user-manage/src/user-calling/user-calling.component.d.ts +3 -2
  199. package/user-manage/src/user-manage-widget.component.d.ts +1 -0
  200. package/user-manage/src/user-manage.module.d.ts +2 -1
  201. package/users-list/src/app.constants.d.ts +2 -0
  202. package/users-list/src/classes/user-list.d.ts +4 -0
  203. package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +3 -1
  204. package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +2 -1
  205. package/users-list/src/services/user.service.d.ts +1 -0
  206. package/users-list/src/users-list.component.d.ts +6 -1
  207. package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +0 -13
@@ -79,6 +79,7 @@ const API = {
79
79
  MIGRATION_FORM_ENTITIES_MIGRATED: "/api/search/webex/customers/:customerId/migrationformentities/migrated",
80
80
  START_MIGRATION: "/api/migration/webex/startpersonmigration",
81
81
  TRIGGER_FIRMWARE_MIGRATION: "/api/migration/:migrationType/firmwaremigration/customer/:customerId/migration/:migrationFormId",
82
+ REMOVE_UCM_LICENSE: "/api/migration/:controlHubType/removeucmlicense/customer/:customerId/migrationform/:migrationFormId",
82
83
  WEBEX_REVERT: "/api/webex/provisioning/customers/:customerId/persons/:personId/revertmigration",
83
84
  REVERT: "/api/webex/provisioning/customers/:customerId/persons/:personId/revertmigration",
84
85
  SWAP_STATUSES: "/api/cache/user/customer/:customerId/swap-status",
@@ -124,6 +125,7 @@ const USER_TYPES_MAP = {
124
125
  CUCM: 'CUCM',
125
126
  WEBEX: 'WEBEX',
126
127
  ONPREM: 'ONPREM',
128
+ HYBRID: 'HYBRID',
127
129
  };
128
130
  const CUSTOMER_DESTINATION_MIGTATION_TYPE = {
129
131
  MULTI_TENANT_ONLY: 'webex',
@@ -154,10 +156,10 @@ class UserListConfirmDialogComponent {
154
156
  }
155
157
  }
156
158
  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 });
157
- 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\">\n <h3 *ngIf=\"title\" class=\"app-dialog-title\">{{title}}</h3>\n <div mat-dialog-content *ngIf=\"message\" class=\"app-dialog-content\">\n <div class=\"move_user_popup_icon\"></div>\n <div class=\"dialog-content-message\" [innerHTML]=\"message\"></div>\n </div>\n <div mat-dialog-actions class=\"flex-gap-container\">\n <button class=\"app-dialog-button app-dialog-cancel-button\" (click)=\"onClose(false)\">\n Cancel\n </button>\n <button class=\"app-dialog-button app-dialog-confirm-button\" (click)=\"onClose(true)\">\n {{confirmButtonText}}\n </button>\n </div>\n</div>\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%3Cg clip-path%3D%22url(%23clip0_1542_78221)%22%3E%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%3C%2Fg%3E%3Cdefs%3E%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%3Cstop stop-color%3D%22%2393C437%22%2F%3E%3Cstop offset%3D%221%22 stop-color%3D%22%23279BE8%22%2F%3E%3C%2FlinearGradient%3E%3CclipPath id%3D%22clip0_1542_78221%22%3E%3Crect width%3D%22170%22 height%3D%2292%22 fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\");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 });
159
+ 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 });
158
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserListConfirmDialogComponent, decorators: [{
159
161
  type: Component,
160
- args: [{ selector: 'app-info-dialog', encapsulation: ViewEncapsulation.None, template: "<div id=\"info-dialog\" class=\"app-dialog\" aria-labelledby=\"info-dialog-label\" role=\"dialog\">\n <h3 *ngIf=\"title\" class=\"app-dialog-title\">{{title}}</h3>\n <div mat-dialog-content *ngIf=\"message\" class=\"app-dialog-content\">\n <div class=\"move_user_popup_icon\"></div>\n <div class=\"dialog-content-message\" [innerHTML]=\"message\"></div>\n </div>\n <div mat-dialog-actions class=\"flex-gap-container\">\n <button class=\"app-dialog-button app-dialog-cancel-button\" (click)=\"onClose(false)\">\n Cancel\n </button>\n <button class=\"app-dialog-button app-dialog-confirm-button\" (click)=\"onClose(true)\">\n {{confirmButtonText}}\n </button>\n </div>\n</div>\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%3Cg clip-path%3D%22url(%23clip0_1542_78221)%22%3E%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%3C%2Fg%3E%3Cdefs%3E%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%3Cstop stop-color%3D%22%2393C437%22%2F%3E%3Cstop offset%3D%221%22 stop-color%3D%22%23279BE8%22%2F%3E%3C%2FlinearGradient%3E%3CclipPath id%3D%22clip0_1542_78221%22%3E%3Crect width%3D%22170%22 height%3D%2292%22 fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\");display:block;height:100px;margin:auto;background-repeat:no-repeat;background-position:center}\n"] }]
162
+ 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"] }]
161
163
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: InfoDialogConfig, decorators: [{
162
164
  type: Inject,
163
165
  args: [MAT_DIALOG_DATA]
@@ -558,6 +560,13 @@ class UserService {
558
560
  return this.apiWebexService.post(url, {});
559
561
  // .pipe(this.handleError(true, true));
560
562
  }
563
+ removeUcmLicense(customerId, migrationFormId, controlHubType = 'WEBEX') {
564
+ const url = API.REMOVE_UCM_LICENSE
565
+ .replace(':controlHubType', String(controlHubType))
566
+ .replace(':customerId', String(customerId))
567
+ .replace(':migrationFormId', String(migrationFormId));
568
+ return this.apiWebexService.post(url, {});
569
+ }
561
570
  swapStatuses(customerId, email) {
562
571
  return this.apiService.put(API.SWAP_STATUSES.replace(':customerId', String(customerId)), null, { email });
563
572
  }
@@ -663,6 +672,7 @@ class ListUser {
663
672
  this.deviceProfiles = [];
664
673
  this.isMigrated = false;
665
674
  this.isReadyToUpgrade = false;
675
+ this.isHybrid = false;
666
676
  if (user) {
667
677
  Object.assign(this, user);
668
678
  }
@@ -892,10 +902,10 @@ class AppLoaderComponent {
892
902
  }
893
903
  }
894
904
  AppLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
895
- 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 });
905
+ AppLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppLoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\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 });
896
906
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, decorators: [{
897
907
  type: Component,
898
- 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"] }]
908
+ args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\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"] }]
899
909
  }], ctorParameters: function () { return []; } });
900
910
 
901
911
  var EntityChangeType;
@@ -1327,10 +1337,10 @@ class DeviceMoveUserWizardComponent {
1327
1337
  }
1328
1338
  }
1329
1339
  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 });
1330
- 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>\n <div class=\"device-item-panel-container\">\n <div class=\"device-left\">\n <div\n class=\"device-migration-status\"\n [ngClass]=\"{'--checked': device.toMigrate}\"\n >\n <mat-checkbox\n class=\"rounded\"\n [checked]=\"device.toMigrate\"\n ></mat-checkbox>\n </div>\n </div>\n <div class=\"device-right\">\n <div class=\"device-header\">\n <div class=\"device-name\">{{ device.name }}</div>\n <div class=\"device-migrate\" *ngIf=\"device.isEligible\">\n <mat-checkbox name=\"toMigrate\"\n [(ngModel)]=\"device.toMigrate\"\n >Migrate this device</mat-checkbox>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"device-info\">\n <div *ngIf=\"device.product\" class=\"device-info__item\">\n <div class=\"key\">Device type</div>\n <div class=\"value\">{{ device.product }}</div>\n </div>\n <div *ngIf=\"device.mac\" class=\"device-info__item\">\n <div class=\"key\">MAC address</div>\n <div class=\"value\">{{ device.mac }}</div>\n </div>\n\n </div>\n </div>\n </div>\n</form>\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;box-sizing:border-box;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;gap:1rem}.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"] }] });
1340
+ 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;box-sizing:border-box;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;gap:1rem}.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"] }] });
1331
1341
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceMoveUserWizardComponent, decorators: [{
1332
1342
  type: Component,
1333
- args: [{ selector: 'app-device-move-user-wizard', template: "<form>\n <div class=\"device-item-panel-container\">\n <div class=\"device-left\">\n <div\n class=\"device-migration-status\"\n [ngClass]=\"{'--checked': device.toMigrate}\"\n >\n <mat-checkbox\n class=\"rounded\"\n [checked]=\"device.toMigrate\"\n ></mat-checkbox>\n </div>\n </div>\n <div class=\"device-right\">\n <div class=\"device-header\">\n <div class=\"device-name\">{{ device.name }}</div>\n <div class=\"device-migrate\" *ngIf=\"device.isEligible\">\n <mat-checkbox name=\"toMigrate\"\n [(ngModel)]=\"device.toMigrate\"\n >Migrate this device</mat-checkbox>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"device-info\">\n <div *ngIf=\"device.product\" class=\"device-info__item\">\n <div class=\"key\">Device type</div>\n <div class=\"value\">{{ device.product }}</div>\n </div>\n <div *ngIf=\"device.mac\" class=\"device-info__item\">\n <div class=\"key\">MAC address</div>\n <div class=\"value\">{{ device.mac }}</div>\n </div>\n\n </div>\n </div>\n </div>\n</form>\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;box-sizing:border-box;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;gap:1rem}.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"] }]
1343
+ 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;box-sizing:border-box;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;gap:1rem}.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"] }]
1334
1344
  }], ctorParameters: function () { return [{ type: DnsService }, { type: UserService }, { type: SiteSettingsService }]; }, propDecorators: { device: [{
1335
1345
  type: Input
1336
1346
  }] } });
@@ -1346,10 +1356,10 @@ class DevicesMoveUserWizardTabComponent {
1346
1356
  }
1347
1357
  }
1348
1358
  DevicesMoveUserWizardTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DevicesMoveUserWizardTabComponent, deps: [{ token: MoveUserService }], target: i0.ɵɵFactoryTarget.Component });
1349
- 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\"\n class=\"devices-move-user-box eligible-devices-section\" >\n <div class=\"section-title\">Eligible devices ({{ prepareMigrationData.eligibleDevicesSize() }})</div>\n <div class=\"section-content\">\n <div *ngIf=\"prepareMigrationData.devices?.length\" class=\"device-group\">\n <div class=\"group-title\">IP Phones</div>\n <ng-container *ngFor=\"let device of prepareMigrationData.devices\">\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\n </ng-container>\n </div>\n\n <div *ngIf=\"prepareMigrationData.softDevices?.length\" class=\"device-group\">\n <div class=\"group-title\">Soft Devices</div>\n <ng-container *ngFor=\"let device of prepareMigrationData.softDevices\">\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\n </ng-container>\n </div>\n </div>\n</div>\n<mat-divider *ngIf=\"prepareMigrationData.notSupportedDevices.length\"></mat-divider>\n<div *ngIf=\"prepareMigrationData.notSupportedDevices.length\" class=\"ineligible-devices-section\">\n <div class=\"section-title\">Ineligible devices ({{ prepareMigrationData.notSupportedDevices.length }})</div>\n <div class=\"section-content\">\n <div class=\"device-group\">\n <ng-container *ngFor=\"let device of prepareMigrationData.notSupportedDevices\">\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\n </ng-container>\n </div>\n </div>\n</div>\n\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"] }] });
1359
+ 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"] }] });
1350
1360
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DevicesMoveUserWizardTabComponent, decorators: [{
1351
1361
  type: Component,
1352
- args: [{ selector: 'app-devices-move-user-tab', template: "<div *ngIf=\"prepareMigrationData.eligibleDevicesSize\"\n class=\"devices-move-user-box eligible-devices-section\" >\n <div class=\"section-title\">Eligible devices ({{ prepareMigrationData.eligibleDevicesSize() }})</div>\n <div class=\"section-content\">\n <div *ngIf=\"prepareMigrationData.devices?.length\" class=\"device-group\">\n <div class=\"group-title\">IP Phones</div>\n <ng-container *ngFor=\"let device of prepareMigrationData.devices\">\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\n </ng-container>\n </div>\n\n <div *ngIf=\"prepareMigrationData.softDevices?.length\" class=\"device-group\">\n <div class=\"group-title\">Soft Devices</div>\n <ng-container *ngFor=\"let device of prepareMigrationData.softDevices\">\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\n </ng-container>\n </div>\n </div>\n</div>\n<mat-divider *ngIf=\"prepareMigrationData.notSupportedDevices.length\"></mat-divider>\n<div *ngIf=\"prepareMigrationData.notSupportedDevices.length\" class=\"ineligible-devices-section\">\n <div class=\"section-title\">Ineligible devices ({{ prepareMigrationData.notSupportedDevices.length }})</div>\n <div class=\"section-content\">\n <div class=\"device-group\">\n <ng-container *ngFor=\"let device of prepareMigrationData.notSupportedDevices\">\n <app-device-move-user-wizard [device]=\"device\"></app-device-move-user-wizard>\n </ng-container>\n </div>\n </div>\n</div>\n\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"] }]
1362
+ 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"] }]
1353
1363
  }], ctorParameters: function () { return [{ type: MoveUserService }]; } });
1354
1364
 
1355
1365
  // for test only
@@ -1370,6 +1380,15 @@ class MoveUserStepperComponent {
1370
1380
  get prepareMigrationData() {
1371
1381
  return this.moveUserService.prepareMigrationData;
1372
1382
  }
1383
+ get userDetailsUrl() {
1384
+ const { entityId, siteId } = this.prepareMigrationData;
1385
+ if (!this.host || !entityId || !siteId) {
1386
+ return '';
1387
+ }
1388
+ const base = this.host.replace(/\/$/, '');
1389
+ const isLdap = this.user?.ldapIntegrated ?? false;
1390
+ return `${base}/ch/widgets/migrate/user-manage/${entityId}/${siteId}/${isLdap}`;
1391
+ }
1373
1392
  constructor(dnsService, userService, siteSettingsService, notificationService, moveUserService) {
1374
1393
  this.dnsService = dnsService;
1375
1394
  this.userService = userService;
@@ -1500,10 +1519,10 @@ class MoveUserStepperComponent {
1500
1519
  }
1501
1520
  }
1502
1521
  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 });
1503
- 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 }, { propertyName: "stepper", first: true, predicate: ["stepper"], 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 && prepareMigrationData.errors && 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 });
1522
+ MoveUserStepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MoveUserStepperComponent, selector: "app-move-user-stepper", inputs: { user: "user", customerId: "customerId", host: "host" }, outputs: { done: "done", runMoveUser: "runMoveUser", cancel: "cancel" }, viewQueries: [{ propertyName: "nextAfterMoveBtn", first: true, predicate: ["nextAfterMoveBtn"], descendants: true }, { propertyName: "stepper", first: true, predicate: ["stepper"], 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 && prepareMigrationData.errors && 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]=\"userDetailsUrl\" target=\"_blank\" rel=\"noopener noreferrer\">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 });
1504
1523
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserStepperComponent, decorators: [{
1505
1524
  type: Component,
1506
- 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 && prepareMigrationData.errors && 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"] }]
1525
+ 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 && prepareMigrationData.errors && 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]=\"userDetailsUrl\" target=\"_blank\" rel=\"noopener noreferrer\">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"] }]
1507
1526
  }], ctorParameters: function () { return [{ type: DnsService }, { type: UserService }, { type: SiteSettingsService }, { type: NotificationService }, { type: MoveUserService }]; }, propDecorators: { nextAfterMoveBtn: [{
1508
1527
  type: ViewChild,
1509
1528
  args: ['nextAfterMoveBtn']
@@ -1516,6 +1535,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1516
1535
  type: Input
1517
1536
  }], customerId: [{
1518
1537
  type: Input
1538
+ }], host: [{
1539
+ type: Input
1519
1540
  }], runMoveUser: [{
1520
1541
  type: Output
1521
1542
  }], cancel: [{
@@ -1538,14 +1559,16 @@ class MoveUserWizardComponent {
1538
1559
  }
1539
1560
  }
1540
1561
  MoveUserWizardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserWizardComponent, deps: [{ token: DnsService }], target: i0.ɵɵFactoryTarget.Component });
1541
- 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%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%3C%2Fsvg%3E\")}.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%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%3C%2Fsvg%3E\")}\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"] }] });
1562
+ MoveUserWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MoveUserWizardComponent, selector: "app-move-user-wizard", inputs: { user: "user", customerId: "customerId", host: "host" }, 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\" [host]=\"host\"\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", "host"], outputs: ["done", "runMoveUser", "cancel"] }] });
1542
1563
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserWizardComponent, decorators: [{
1543
1564
  type: Component,
1544
- 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%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%3C%2Fsvg%3E\")}.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%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%3C%2Fsvg%3E\")}\n"] }]
1565
+ 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\" [host]=\"host\"\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"] }]
1545
1566
  }], ctorParameters: function () { return [{ type: DnsService }]; }, propDecorators: { user: [{
1546
1567
  type: Input
1547
1568
  }], customerId: [{
1548
1569
  type: Input
1570
+ }], host: [{
1571
+ type: Input
1549
1572
  }], closeMoveUserWizard: [{
1550
1573
  type: Output
1551
1574
  }], done: [{
@@ -1577,10 +1600,10 @@ class TableToolbarComponent {
1577
1600
  }
1578
1601
  }
1579
1602
  TableToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1580
- TableToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableToolbarComponent, selector: "tk-users-table-toolbar", inputs: { totalUsersCount: "totalUsersCount", searchValue: "searchValue", selectedUserType: "selectedUserType" }, outputs: { searchChange: "searchChange", searchByType: "searchByType", addUser: "addUser" }, ngImport: i0, template: "<header style=\"margin-bottom: 1rem\">\r\n <div\r\n style=\"display: flex; align-items: center; justify-content: space-between\"\r\n >\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\r\n [value]=\"searchValue\"\r\n (input)=\"onSearchInputChange($event)\"\r\n type=\"text\"\r\n placeholder=\"Search by display name, email\"\r\n style=\"\r\n width: 100%;\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 12px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n color: #222;\r\n outline: none;\r\n box-sizing: border-box;\r\n min-width: 280px;\r\n \"\r\n />\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >search</i\r\n >\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\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n width: fit-content;\r\n min-width: 200px;\r\n \"\r\n >\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >filter_list</i\r\n >\r\n </span>\r\n <select\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n >\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\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 12px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n >\r\n <option>Select a Location</option>\r\n </select>\r\n\r\n <select\r\n [value]=\"selectedUserType || ''\"\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 12px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n (change)=\"onTypeChange($event)\"\r\n >\r\n <option value=\"null\" disabled hidden>Select type</option>\r\n <option value=\"\">All</option>\r\n <option value=\"CUCM\">Webex Calling DI</option>\r\n <option value=\"WEBEX\">Webex Calling</option>\r\n <option value=\"ONPREM\">UCM</option>\r\n </select>\r\n <span\r\n style=\"\r\n margin-left: 8px;\r\n color: #757575;\r\n font-size: 1rem;\r\n white-space: nowrap;\r\n \"\r\n >{{ totalUsersCount }} users</span\r\n >\r\n </div>\r\n </div>\r\n <div style=\"display: flex; gap: 1rem\">\r\n <button class=\"btn mu\" (click)=\"onAddUser()\">Add user</button>\r\n </div>\r\n </div>\r\n</header>\r\n", 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"] }] });
1603
+ TableToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableToolbarComponent, selector: "tk-users-table-toolbar", inputs: { totalUsersCount: "totalUsersCount", searchValue: "searchValue", selectedUserType: "selectedUserType" }, outputs: { searchChange: "searchChange", searchByType: "searchByType", addUser: "addUser" }, ngImport: i0, template: "<header style=\"margin-bottom: 1rem\">\r\n <div\r\n style=\"display: flex; align-items: center; justify-content: space-between\"\r\n >\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\r\n [value]=\"searchValue\"\r\n (input)=\"onSearchInputChange($event)\"\r\n type=\"text\"\r\n placeholder=\"Search by display name, email\"\r\n style=\"\r\n width: 100%;\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 12px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n color: #222;\r\n outline: none;\r\n box-sizing: border-box;\r\n min-width: 280px;\r\n \"\r\n />\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >search</i\r\n >\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\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n width: fit-content;\r\n min-width: 200px;\r\n \"\r\n >\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >filter_list</i\r\n >\r\n </span>\r\n <select\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n >\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\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 12px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n >\r\n <option>Select a Location</option>\r\n </select>\r\n\r\n <span style=\"margin: 0 4px; color: #757575; font-size: 1rem\">or</span>\r\n\r\n <select\r\n [value]=\"selectedUserType || ''\"\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 12px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n (change)=\"onTypeChange($event)\"\r\n >\r\n <option value=\"null\" disabled hidden>Select type</option>\r\n <option value=\"\">All</option>\r\n <option value=\"CUCM\">Webex Calling DI</option>\r\n <option value=\"WEBEX\">Webex Calling</option>\r\n <option value=\"ONPREM\">UCM</option>\r\n <option value=\"HYBRID\">Hybrid</option>\r\n </select>\r\n <span\r\n style=\"\r\n margin-left: 8px;\r\n color: #757575;\r\n font-size: 1rem;\r\n white-space: nowrap;\r\n \"\r\n >{{ totalUsersCount }} users</span\r\n >\r\n </div>\r\n </div>\r\n <div style=\"display: flex; gap: 1rem\">\r\n <button class=\"btn mu\" (click)=\"onAddUser()\">Add user</button>\r\n </div>\r\n </div>\r\n</header>\r\n", 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"] }] });
1581
1604
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableToolbarComponent, decorators: [{
1582
1605
  type: Component,
1583
- args: [{ selector: 'tk-users-table-toolbar', template: "<header style=\"margin-bottom: 1rem\">\r\n <div\r\n style=\"display: flex; align-items: center; justify-content: space-between\"\r\n >\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\r\n [value]=\"searchValue\"\r\n (input)=\"onSearchInputChange($event)\"\r\n type=\"text\"\r\n placeholder=\"Search by display name, email\"\r\n style=\"\r\n width: 100%;\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 12px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n color: #222;\r\n outline: none;\r\n box-sizing: border-box;\r\n min-width: 280px;\r\n \"\r\n />\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >search</i\r\n >\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\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n width: fit-content;\r\n min-width: 200px;\r\n \"\r\n >\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >filter_list</i\r\n >\r\n </span>\r\n <select\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n >\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\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 12px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n >\r\n <option>Select a Location</option>\r\n </select>\r\n\r\n <select\r\n [value]=\"selectedUserType || ''\"\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 12px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n (change)=\"onTypeChange($event)\"\r\n >\r\n <option value=\"null\" disabled hidden>Select type</option>\r\n <option value=\"\">All</option>\r\n <option value=\"CUCM\">Webex Calling DI</option>\r\n <option value=\"WEBEX\">Webex Calling</option>\r\n <option value=\"ONPREM\">UCM</option>\r\n </select>\r\n <span\r\n style=\"\r\n margin-left: 8px;\r\n color: #757575;\r\n font-size: 1rem;\r\n white-space: nowrap;\r\n \"\r\n >{{ totalUsersCount }} users</span\r\n >\r\n </div>\r\n </div>\r\n <div style=\"display: flex; gap: 1rem\">\r\n <button class=\"btn mu\" (click)=\"onAddUser()\">Add user</button>\r\n </div>\r\n </div>\r\n</header>\r\n", 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"] }]
1606
+ args: [{ selector: 'tk-users-table-toolbar', template: "<header style=\"margin-bottom: 1rem\">\r\n <div\r\n style=\"display: flex; align-items: center; justify-content: space-between\"\r\n >\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\r\n [value]=\"searchValue\"\r\n (input)=\"onSearchInputChange($event)\"\r\n type=\"text\"\r\n placeholder=\"Search by display name, email\"\r\n style=\"\r\n width: 100%;\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 12px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n color: #222;\r\n outline: none;\r\n box-sizing: border-box;\r\n min-width: 280px;\r\n \"\r\n />\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >search</i\r\n >\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\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n width: fit-content;\r\n min-width: 200px;\r\n \"\r\n >\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >filter_list</i\r\n >\r\n </span>\r\n <select\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n >\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\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 12px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n >\r\n <option>Select a Location</option>\r\n </select>\r\n\r\n <span style=\"margin: 0 4px; color: #757575; font-size: 1rem\">or</span>\r\n\r\n <select\r\n [value]=\"selectedUserType || ''\"\r\n style=\"\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 32px 6px 12px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n min-width: 200px;\r\n width: fit-content;\r\n color: #222;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background-image: url(&quot;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>&quot;);\r\n background-repeat: no-repeat;\r\n background-position: right 12px center;\r\n background-size: 20px 20px;\r\n \"\r\n (change)=\"onTypeChange($event)\"\r\n >\r\n <option value=\"null\" disabled hidden>Select type</option>\r\n <option value=\"\">All</option>\r\n <option value=\"CUCM\">Webex Calling DI</option>\r\n <option value=\"WEBEX\">Webex Calling</option>\r\n <option value=\"ONPREM\">UCM</option>\r\n <option value=\"HYBRID\">Hybrid</option>\r\n </select>\r\n <span\r\n style=\"\r\n margin-left: 8px;\r\n color: #757575;\r\n font-size: 1rem;\r\n white-space: nowrap;\r\n \"\r\n >{{ totalUsersCount }} users</span\r\n >\r\n </div>\r\n </div>\r\n <div style=\"display: flex; gap: 1rem\">\r\n <button class=\"btn mu\" (click)=\"onAddUser()\">Add user</button>\r\n </div>\r\n </div>\r\n</header>\r\n", 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"] }]
1584
1607
  }], propDecorators: { totalUsersCount: [{
1585
1608
  type: Input
1586
1609
  }], searchValue: [{
@@ -1621,10 +1644,10 @@ class NotificationsComponent {
1621
1644
  }
1622
1645
  }
1623
1646
  NotificationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationsComponent, deps: [{ token: NotificationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1624
- NotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationsComponent, selector: "app-notification", ngImport: i0, template: "<div class=\"notification-block\" role=\"alert\" aria-live=\"assertive\">\n <div\n class=\"notification\"\n *ngFor=\"let notification of list\"\n [ngClass]=\"{\n error: notification.isError(),\n success: notification.isSuccess(),\n }\"\n >\n <div class=\"flex-box\">\n <div class=\"notification-icons-block\">\n <i\n *ngIf=\"notification.isError()\"\n class=\"fa fa-exclamation-triangle\"\n ></i>\n <i *ngIf=\"notification.isWarning()\" class=\"fa fa-hand-paper-o\"></i>\n <i *ngIf=\"notification.isSuccess()\" class=\"fa fa-check\"></i>\n <i *ngIf=\"notification.isInfo()\" class=\"fa fa-info-circle\"></i>\n </div>\n <div *ngIf=\"!isReadMore\" class=\"message-block\">\n {{ notification.message }}\n </div>\n <div *ngIf=\"isReadMore\" class=\"message-block\">\n {{ notification.message }}\n </div>\n </div>\n <div\n class=\"read-more-error link clickable\"\n *ngIf=\"notification.message && notification.message.length > 93\"\n (click)=\"readMore()\"\n >\n {{ isReadMore ? \"Collapse\" : \"Read more\" }}\n </div>\n <button\n class=\"close\"\n mat-icon-button\n matTooltip=\"Close notification\"\n (click)=\"removeNotification(notification)\"\n >\n <img\n class=\"notification-icon-close\"\n src=\"assets/icons/close_icon_modal.svg\"\n alt=\"\"\n />\n </button>\n </div>\n</div>\n", styles: [".notification-block{position:absolute;top:96px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:12px;width:360px;pointer-events:none}.notification-block .read-more-error{margin:10px 13px 3px 0;text-align:right}.notification-block .notification{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 14px 12px;color:#333;border-radius:8px;border:1px solid #e5e1cd;background:#fcf8e3;box-shadow:0 10px 24px #091e4229;width:100%;position:relative;pointer-events:auto}.notification-block .notification .notification-icons-block{width:28px;min-width:28px;display:flex;justify-content:center;align-items:flex-start;padding-top:2px}.notification-block .notification .message-block{font-size:14px;font-family:Poppins,sans-serif!important;word-break:break-word;line-height:1.4;flex:1}.notification-block .notification .notification-icon-close{height:24px}.notification-block .notification.error{background:#ffe9e9;border-color:#e16d6d}.notification-block .notification.success{background:#e3f4dc;border-color:#b3d692}.notification-block .notification .fa-exclamation-triangle{color:#e16d6d!important}.notification-block .notification .fa-check{color:#a0c37f!important}.notification-block .notification .fa-info-circle,.notification-block .notification .fa-hand-paper-o{color:#bdb89e!important}.notification-block .notification .fa{font-size:20px}.notification-block .notification .close{position:absolute;top:6px;right:6px;width:28px;height:28px}.notification-block .notification .close .fa{font-size:14px}.notification-block .notification .fa{margin:0;color:inherit}@media screen and (max-width: 600px){.notification-block{right:12px;left:12px;width:auto}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: 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: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1647
+ NotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationsComponent, selector: "app-notification", ngImport: i0, template: "<div class=\"notification-block\" role=\"alert\" aria-live=\"assertive\">\r\n <div\r\n class=\"notification\"\r\n *ngFor=\"let notification of list\"\r\n [ngClass]=\"{\r\n error: notification.isError(),\r\n success: notification.isSuccess(),\r\n }\"\r\n >\r\n <div class=\"flex-box\">\r\n <div class=\"notification-icons-block\">\r\n <i\r\n *ngIf=\"notification.isError()\"\r\n class=\"fa fa-exclamation-triangle\"\r\n ></i>\r\n <i *ngIf=\"notification.isWarning()\" class=\"fa fa-hand-paper-o\"></i>\r\n <i *ngIf=\"notification.isSuccess()\" class=\"fa fa-check\"></i>\r\n <i *ngIf=\"notification.isInfo()\" class=\"fa fa-info-circle\"></i>\r\n </div>\r\n <div *ngIf=\"!isReadMore\" class=\"message-block\">\r\n {{ notification.message }}\r\n </div>\r\n <div *ngIf=\"isReadMore\" class=\"message-block\">\r\n {{ notification.message }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"read-more-error link clickable\"\r\n *ngIf=\"notification.message && notification.message.length > 93\"\r\n (click)=\"readMore()\"\r\n >\r\n {{ isReadMore ? \"Collapse\" : \"Read more\" }}\r\n </div>\r\n <button\r\n class=\"close\"\r\n mat-icon-button\r\n matTooltip=\"Close notification\"\r\n (click)=\"removeNotification(notification)\"\r\n >\r\n <img\r\n class=\"notification-icon-close\"\r\n src=\"assets/icons/close_icon_modal.svg\"\r\n alt=\"\"\r\n />\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".notification-block{position:absolute;top:96px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:12px;width:360px;pointer-events:none}.notification-block .read-more-error{margin:10px 13px 3px 0;text-align:right}.notification-block .notification{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 14px 12px;color:#333;border-radius:8px;border:1px solid #e5e1cd;background:#fcf8e3;box-shadow:0 10px 24px #091e4229;width:100%;position:relative;pointer-events:auto}.notification-block .notification .notification-icons-block{width:28px;min-width:28px;display:flex;justify-content:center;align-items:flex-start;padding-top:2px}.notification-block .notification .message-block{font-size:14px;font-family:Poppins,sans-serif!important;word-break:break-word;line-height:1.4;flex:1}.notification-block .notification .notification-icon-close{height:24px}.notification-block .notification.error{background:#ffe9e9;border-color:#e16d6d}.notification-block .notification.success{background:#e3f4dc;border-color:#b3d692}.notification-block .notification .fa-exclamation-triangle{color:#e16d6d!important}.notification-block .notification .fa-check{color:#a0c37f!important}.notification-block .notification .fa-info-circle,.notification-block .notification .fa-hand-paper-o{color:#bdb89e!important}.notification-block .notification .fa{font-size:20px}.notification-block .notification .close{position:absolute;top:6px;right:6px;width:28px;height:28px}.notification-block .notification .close .fa{font-size:14px}.notification-block .notification .fa{margin:0;color:inherit}@media screen and (max-width: 600px){.notification-block{right:12px;left:12px;width:auto}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: 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: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1625
1648
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationsComponent, decorators: [{
1626
1649
  type: Component,
1627
- args: [{ selector: 'app-notification', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"notification-block\" role=\"alert\" aria-live=\"assertive\">\n <div\n class=\"notification\"\n *ngFor=\"let notification of list\"\n [ngClass]=\"{\n error: notification.isError(),\n success: notification.isSuccess(),\n }\"\n >\n <div class=\"flex-box\">\n <div class=\"notification-icons-block\">\n <i\n *ngIf=\"notification.isError()\"\n class=\"fa fa-exclamation-triangle\"\n ></i>\n <i *ngIf=\"notification.isWarning()\" class=\"fa fa-hand-paper-o\"></i>\n <i *ngIf=\"notification.isSuccess()\" class=\"fa fa-check\"></i>\n <i *ngIf=\"notification.isInfo()\" class=\"fa fa-info-circle\"></i>\n </div>\n <div *ngIf=\"!isReadMore\" class=\"message-block\">\n {{ notification.message }}\n </div>\n <div *ngIf=\"isReadMore\" class=\"message-block\">\n {{ notification.message }}\n </div>\n </div>\n <div\n class=\"read-more-error link clickable\"\n *ngIf=\"notification.message && notification.message.length > 93\"\n (click)=\"readMore()\"\n >\n {{ isReadMore ? \"Collapse\" : \"Read more\" }}\n </div>\n <button\n class=\"close\"\n mat-icon-button\n matTooltip=\"Close notification\"\n (click)=\"removeNotification(notification)\"\n >\n <img\n class=\"notification-icon-close\"\n src=\"assets/icons/close_icon_modal.svg\"\n alt=\"\"\n />\n </button>\n </div>\n</div>\n", styles: [".notification-block{position:absolute;top:96px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:12px;width:360px;pointer-events:none}.notification-block .read-more-error{margin:10px 13px 3px 0;text-align:right}.notification-block .notification{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 14px 12px;color:#333;border-radius:8px;border:1px solid #e5e1cd;background:#fcf8e3;box-shadow:0 10px 24px #091e4229;width:100%;position:relative;pointer-events:auto}.notification-block .notification .notification-icons-block{width:28px;min-width:28px;display:flex;justify-content:center;align-items:flex-start;padding-top:2px}.notification-block .notification .message-block{font-size:14px;font-family:Poppins,sans-serif!important;word-break:break-word;line-height:1.4;flex:1}.notification-block .notification .notification-icon-close{height:24px}.notification-block .notification.error{background:#ffe9e9;border-color:#e16d6d}.notification-block .notification.success{background:#e3f4dc;border-color:#b3d692}.notification-block .notification .fa-exclamation-triangle{color:#e16d6d!important}.notification-block .notification .fa-check{color:#a0c37f!important}.notification-block .notification .fa-info-circle,.notification-block .notification .fa-hand-paper-o{color:#bdb89e!important}.notification-block .notification .fa{font-size:20px}.notification-block .notification .close{position:absolute;top:6px;right:6px;width:28px;height:28px}.notification-block .notification .close .fa{font-size:14px}.notification-block .notification .fa{margin:0;color:inherit}@media screen and (max-width: 600px){.notification-block{right:12px;left:12px;width:auto}}\n"] }]
1650
+ args: [{ selector: 'app-notification', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"notification-block\" role=\"alert\" aria-live=\"assertive\">\r\n <div\r\n class=\"notification\"\r\n *ngFor=\"let notification of list\"\r\n [ngClass]=\"{\r\n error: notification.isError(),\r\n success: notification.isSuccess(),\r\n }\"\r\n >\r\n <div class=\"flex-box\">\r\n <div class=\"notification-icons-block\">\r\n <i\r\n *ngIf=\"notification.isError()\"\r\n class=\"fa fa-exclamation-triangle\"\r\n ></i>\r\n <i *ngIf=\"notification.isWarning()\" class=\"fa fa-hand-paper-o\"></i>\r\n <i *ngIf=\"notification.isSuccess()\" class=\"fa fa-check\"></i>\r\n <i *ngIf=\"notification.isInfo()\" class=\"fa fa-info-circle\"></i>\r\n </div>\r\n <div *ngIf=\"!isReadMore\" class=\"message-block\">\r\n {{ notification.message }}\r\n </div>\r\n <div *ngIf=\"isReadMore\" class=\"message-block\">\r\n {{ notification.message }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"read-more-error link clickable\"\r\n *ngIf=\"notification.message && notification.message.length > 93\"\r\n (click)=\"readMore()\"\r\n >\r\n {{ isReadMore ? \"Collapse\" : \"Read more\" }}\r\n </div>\r\n <button\r\n class=\"close\"\r\n mat-icon-button\r\n matTooltip=\"Close notification\"\r\n (click)=\"removeNotification(notification)\"\r\n >\r\n <img\r\n class=\"notification-icon-close\"\r\n src=\"assets/icons/close_icon_modal.svg\"\r\n alt=\"\"\r\n />\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".notification-block{position:absolute;top:96px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:12px;width:360px;pointer-events:none}.notification-block .read-more-error{margin:10px 13px 3px 0;text-align:right}.notification-block .notification{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 14px 12px;color:#333;border-radius:8px;border:1px solid #e5e1cd;background:#fcf8e3;box-shadow:0 10px 24px #091e4229;width:100%;position:relative;pointer-events:auto}.notification-block .notification .notification-icons-block{width:28px;min-width:28px;display:flex;justify-content:center;align-items:flex-start;padding-top:2px}.notification-block .notification .message-block{font-size:14px;font-family:Poppins,sans-serif!important;word-break:break-word;line-height:1.4;flex:1}.notification-block .notification .notification-icon-close{height:24px}.notification-block .notification.error{background:#ffe9e9;border-color:#e16d6d}.notification-block .notification.success{background:#e3f4dc;border-color:#b3d692}.notification-block .notification .fa-exclamation-triangle{color:#e16d6d!important}.notification-block .notification .fa-check{color:#a0c37f!important}.notification-block .notification .fa-info-circle,.notification-block .notification .fa-hand-paper-o{color:#bdb89e!important}.notification-block .notification .fa{font-size:20px}.notification-block .notification .close{position:absolute;top:6px;right:6px;width:28px;height:28px}.notification-block .notification .close .fa{font-size:14px}.notification-block .notification .fa{margin:0;color:inherit}@media screen and (max-width: 600px){.notification-block{right:12px;left:12px;width:auto}}\n"] }]
1628
1651
  }], ctorParameters: function () { return [{ type: NotificationService }, { type: i0.ChangeDetectorRef }]; } });
1629
1652
 
1630
1653
  const DISPLAYED_COLS = [
@@ -1690,11 +1713,13 @@ class UsersListComponent {
1690
1713
  this.userMoved = new EventEmitter();
1691
1714
  this.switchToWizard = new EventEmitter();
1692
1715
  this.createUserRequested = new EventEmitter();
1716
+ this.host = '';
1693
1717
  this.baseUsers = [];
1694
1718
  this.displayedColumns = DISPLAYED_COLS;
1695
1719
  this.showMoveUserWizard = false;
1696
1720
  this.moveUserPending = false;
1697
1721
  this.subscriptions = [];
1722
+ this.showPaginator = true;
1698
1723
  this.activeSearchToken = '';
1699
1724
  this.activeUserType = null;
1700
1725
  this.ON_PREM_ID = ON_PREM_ID;
@@ -1755,13 +1780,36 @@ class UsersListComponent {
1755
1780
  this.usersSearchService.pageIndex = event.pageIndex;
1756
1781
  this.runSearch();
1757
1782
  }
1758
- onUserClick(user) {
1783
+ onUserClick(user, type) {
1759
1784
  localStorage.setItem('isWebex', String(!!user.webexUUID));
1760
1785
  localStorage.setItem('webexUUID', 'null');
1761
1786
  if (user.webexUUID) {
1762
1787
  localStorage.setItem('webexUUID', String(user.webexUUID));
1763
1788
  }
1764
- this.openUser.emit(user);
1789
+ if (user.isHybrid) {
1790
+ if (type === 'di' || type === 'ucm') {
1791
+ user.webexUUID = undefined;
1792
+ user.userid = user.partnerId || user.userid;
1793
+ user.siteId = user.partnerSiteId || user.siteId;
1794
+ localStorage.setItem('isWebex', String(false));
1795
+ localStorage.setItem('webexUUID', String(null));
1796
+ this.openUser.emit(user);
1797
+ }
1798
+ else if (type !== 'webex' && user.partnerStatus === 'Active') {
1799
+ user.webexUUID = undefined;
1800
+ user.userid = user.partnerId || user.userid;
1801
+ user.siteId = user.partnerSiteId || user.siteId;
1802
+ localStorage.setItem('isWebex', String(false));
1803
+ localStorage.setItem('webexUUID', String(null));
1804
+ this.openUser.emit(user);
1805
+ }
1806
+ else {
1807
+ this.openUser.emit(user);
1808
+ }
1809
+ }
1810
+ else {
1811
+ this.openUser.emit(user);
1812
+ }
1765
1813
  }
1766
1814
  moveUserToMT(user) {
1767
1815
  if (user && user.siteId && user.userid) {
@@ -1843,13 +1891,62 @@ class UsersListComponent {
1843
1891
  }
1844
1892
  this.dataSource = new MatTableDataSource(this.users);
1845
1893
  }
1894
+ hasWebexUUID(user) {
1895
+ const value = user?.webexUUID;
1896
+ return value !== null && value !== undefined && String(value).trim().length > 0;
1897
+ }
1898
+ normalizeUsersForHybrid(users) {
1899
+ const sourceUsers = Array.isArray(users) ? users : [];
1900
+ const normalizedUsers = [];
1901
+ const indexByEmail = new Map();
1902
+ sourceUsers.forEach((user) => {
1903
+ const emailKey = String(user?.email || '').trim().toLowerCase();
1904
+ if (!emailKey) {
1905
+ normalizedUsers.push(user);
1906
+ return;
1907
+ }
1908
+ const existingIndex = indexByEmail.get(emailKey);
1909
+ if (existingIndex === undefined) {
1910
+ normalizedUsers.push(user);
1911
+ user.partnerStatus = user.partnerStatus || user.status;
1912
+ user.partnerId = user.partnerId || user.userid;
1913
+ user.partnerSiteId = user.partnerSiteId || Number(user.siteId);
1914
+ indexByEmail.set(emailKey, normalizedUsers.length - 1);
1915
+ return;
1916
+ }
1917
+ const existingUser = normalizedUsers[existingIndex];
1918
+ const currentHasWebex = this.hasWebexUUID(user);
1919
+ const existingHasWebex = this.hasWebexUUID(existingUser);
1920
+ // Keep a single user per email and prefer the user that has Webex UUID.
1921
+ if (currentHasWebex && !existingHasWebex) {
1922
+ user.isHybrid = true;
1923
+ const partnerStatus = existingUser.status;
1924
+ const partnerId = existingUser.userid;
1925
+ const partnerSiteId = existingUser.siteId;
1926
+ normalizedUsers[existingIndex] = user;
1927
+ normalizedUsers[existingIndex].partnerStatus = partnerStatus;
1928
+ normalizedUsers[existingIndex].partnerId = partnerId;
1929
+ normalizedUsers[existingIndex].partnerSiteId = partnerSiteId;
1930
+ return;
1931
+ }
1932
+ if (!currentHasWebex && existingHasWebex) {
1933
+ existingUser.isHybrid = true;
1934
+ existingUser.partnerStatus = user.status;
1935
+ }
1936
+ });
1937
+ return normalizedUsers;
1938
+ }
1939
+ setUsers(users) {
1940
+ this.users = users;
1941
+ }
1846
1942
  initializeDataSource(users) {
1847
1943
  const safeUsers = Array.isArray(users) ? users : [];
1944
+ const normalizedUsers = this.normalizeUsersForHybrid(safeUsers);
1848
1945
  // this.setRandomUserRole(users);
1849
- this.baseUsers = safeUsers;
1850
- this.users = safeUsers;
1946
+ this.baseUsers = normalizedUsers;
1947
+ this.setUsers(normalizedUsers);
1851
1948
  // set total rows count for toolbar/pagination from server-side pagination when available
1852
- this.totalUsersCount = this.usersSearchService?.total || safeUsers.length;
1949
+ this.totalUsersCount = this.usersSearchService?.total || this.users.length;
1853
1950
  this.setUserMigrationProgress();
1854
1951
  this.usersSearchService.setMigratedPropToUsers(this.users);
1855
1952
  // this.usersSearchService.setUpgradeStatusToUsers(this.users, this.usersSearchService.usersUpgradeStatus);
@@ -1996,9 +2093,10 @@ class UsersListComponent {
1996
2093
  if (!normalizedToken && !normalizedType) {
1997
2094
  this.activeSearchToken = '';
1998
2095
  this.activeUserType = null;
1999
- this.users = this.baseUsers;
2096
+ this.setUsers(this.baseUsers);
2000
2097
  this.dataSource = new MatTableDataSource(this.users);
2001
2098
  this.totalUsersCount = this.usersSearchService?.total || this.users.length;
2099
+ this.setShowPaginator(true);
2002
2100
  return;
2003
2101
  }
2004
2102
  if (normalizedType) {
@@ -2014,15 +2112,18 @@ class UsersListComponent {
2014
2112
  const subscription = this.usersSearchService.getAllRegularUsers()
2015
2113
  .subscribe((allUsers) => {
2016
2114
  let filtered;
2115
+ const normalizedUsers = this.normalizeUsersForHybrid(allUsers);
2017
2116
  if (normalizedType === null) {
2018
2117
  filtered = this.filterByToken(allUsers, normalizedToken);
2118
+ this.setShowPaginator(true);
2019
2119
  }
2020
2120
  else {
2021
- filtered = this.filterByType(allUsers, normalizedType);
2121
+ filtered = this.filterByType(normalizedUsers, normalizedType);
2122
+ this.setShowPaginator(false);
2022
2123
  }
2023
- this.users = filtered;
2124
+ this.setUsers(filtered);
2024
2125
  this.dataSource = new MatTableDataSource(this.users);
2025
- this.totalUsersCount = filtered.length;
2126
+ this.totalUsersCount = this.users.length;
2026
2127
  this.dataPending = false;
2027
2128
  }, () => {
2028
2129
  this.dataPending = false;
@@ -2070,19 +2171,21 @@ class UsersListComponent {
2070
2171
  filteredUsers = users.filter((user) => !user.webexUUID && user.cucmId != ON_PREM_ID);
2071
2172
  }
2072
2173
  else if (userType === USER_TYPES_MAP.WEBEX) {
2073
- filteredUsers = users.filter((user) => user.webexUUID !== null && user.webexUUID !== undefined);
2174
+ filteredUsers = users.filter((user) => user.webexUUID !== null && user.webexUUID !== undefined && !user.isHybrid);
2074
2175
  }
2075
2176
  else if (userType === USER_TYPES_MAP.ONPREM) {
2076
2177
  filteredUsers = users.filter((user) => !user.webexUUID && user.cucmId == ON_PREM_ID);
2077
2178
  }
2179
+ else if (userType === USER_TYPES_MAP.HYBRID) {
2180
+ filteredUsers = users.filter((user) => user.isHybrid);
2181
+ }
2078
2182
  else {
2079
2183
  filteredUsers = [];
2080
2184
  }
2081
2185
  return filteredUsers;
2082
2186
  }
2083
2187
  isValidWebexUuid(user) {
2084
- const value = user?.webexUUID;
2085
- return value !== null && value !== undefined && String(value).trim().length > 0;
2188
+ return this.hasWebexUUID(user);
2086
2189
  }
2087
2190
  buildFirmwareDeviceMap(entity, user, cucmIdBySiteId) {
2088
2191
  const deviceMap = {};
@@ -2262,12 +2365,25 @@ class UsersListComponent {
2262
2365
  }))
2263
2366
  .subscribe({
2264
2367
  next: (formId) => {
2265
- this.pollMigrationFormStatusByUserId(formId, user.userid, () => {
2266
- this.setUserPendingStatus(user, 'Active');
2267
- this.setOriginalUserStatus(user.email, 'Inactive');
2268
- // this.notifications.success(`${user.userid} successfully activated`);
2269
- this.refreshUsersAfterOperation();
2270
- });
2368
+ window.setTimeout(() => {
2369
+ this.pollMigrationFormStatusByUserId(formId, user.userid, () => {
2370
+ this.setUserPendingStatus(user, 'Active');
2371
+ this.setOriginalUserStatus(user.email, 'Inactive');
2372
+ this.userService
2373
+ .removeUcmLicense(this.customerId, formId)
2374
+ .pipe(takeUntil(this.destroy$))
2375
+ .subscribe({
2376
+ next: () => {
2377
+ console.log('Remove finished...');
2378
+ },
2379
+ error: () => {
2380
+ this.notifications.error('UCM license removal failed.');
2381
+ }
2382
+ });
2383
+ // this.notifications.success(`${user.userid} successfully activated`);
2384
+ this.refreshUsersAfterOperation();
2385
+ });
2386
+ }, 10000);
2271
2387
  },
2272
2388
  error: () => {
2273
2389
  this.setUserPendingStatus(user, 'Inactive');
@@ -2338,7 +2454,7 @@ class UsersListComponent {
2338
2454
  this.subscriptions.push(subscription);
2339
2455
  }
2340
2456
  pollMigrationFormStatusByUserId(formId, userId, onCompleted) {
2341
- const subscription = timer(0, 5000)
2457
+ const subscription = timer(0, 10000)
2342
2458
  .pipe(switchMap(() => this.userService.getMigrationFormStatus(this.customerId, formId)), takeUntil(this.destroy$), takeWhile((response) => {
2343
2459
  const status = response?.status;
2344
2460
  return !this.isMigrationStatusCompleted(status)
@@ -2397,12 +2513,15 @@ class UsersListComponent {
2397
2513
  this.initializeDataSource(users);
2398
2514
  });
2399
2515
  }
2516
+ setShowPaginator(param) {
2517
+ this.showPaginator = param;
2518
+ }
2400
2519
  }
2401
2520
  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 });
2402
- 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", createUserRequested: "createUserRequested" }, ngImport: i0, template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<app-notification></app-notification>\r\n<div *ngIf=\"!showMoveUserWizard\" id=\"users-list\">\r\n <tk-users-table-toolbar\r\n [totalUsersCount]=\"totalUsersCount\"\r\n [searchValue]=\"activeSearchToken\"\r\n [selectedUserType]=\"activeUserType\"\r\n (searchChange)=\"searchUsers($event)\"\r\n (searchByType)=\"searchByType($event)\"\r\n (addUser)=\"onCreateUserRequested()\"\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 (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 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 (click)=\"onUserClick(user)\"\r\n [matTooltip]=\"\r\n user.status !== 'Active' && user.webexUUID\r\n ? 'Pending cutover to MT. Please contact your administrator for details.'\r\n : ''\r\n \"\r\n matTooltipPosition=\"above\"\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 actions-cell\"\r\n mat-cell\r\n *matCellDef=\"let user; let i = index\"\r\n style=\"position: relative\"\r\n >\r\n <mat-progress-spinner\r\n class=\"field-spinner\"\r\n [diameter]=\"30\"\r\n strokeWidth=\"3\"\r\n mode=\"indeterminate\"\r\n *ngIf=\"\r\n user.status === 'In Progress' ||\r\n user.status === 'Pending Activation' ||\r\n user.status === 'Pending Deactivation'\r\n \"\r\n ></mat-progress-spinner>\r\n <button\r\n *ngIf=\"\r\n !(\r\n user.status === 'In Progress' ||\r\n user.status === 'Pending Activation' ||\r\n user.status === 'Pending Deactivation'\r\n ) &&\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 *ngIf=\"!user.webexUUID && user.cucmId == ON_PREM_ID\"\r\n mat-menu-item\r\n [disabled]=\"true\"\r\n matTooltip=\"Coming soon\"\r\n matTooltipPosition=\"right\"\r\n >\r\n Enable AI Transcribe\r\n </button>\r\n <button\r\n [disabled]=\"user.webexUUID || user.status !== 'Active'\"\r\n *ngIf=\"!user.isMigrated\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'QuickMove', 'MT')\"\r\n >\r\n<!-- for TU-4960 !user.isReadyToUpgrade ||-->\r\n Quick Upgrade User to MT\r\n </button>\r\n <button\r\n [disabled]=\"user.webexUUID || user.status !== 'Active'\"\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\r\n mat-menu-item\r\n [disabled]=\"!isValidWebexUuid(user) || user.status !== 'Inactive'\"\r\n (click)=\"onFirmwareUpgradeClicked(user)\"\r\n >\r\n Activate User\r\n </button>\r\n <button\r\n mat-menu-item\r\n [disabled]=\"!user.webexUUID || user.status !== 'Active'\"\r\n (click)=\"onRevertClicked(user)\"\r\n >\r\n Revert\r\n </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-provisioning-type\"\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 class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user.webexUUID\">\r\n <span *ngIf=\"user.cucmId == ON_PREM_ID\" class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/local_24.svg\"\r\n width=\"20\"\r\n alt=\"\"\r\n [matTooltip]=\"'UCM'\"\r\n matTooltipPosition=\"right\"\r\n /></span>\r\n <span *ngIf=\"user.cucmId != ON_PREM_ID\" class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n 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 {{ getTodayShortDate() }}\r\n </td>\r\n /\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: displayedColumns\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === row?.userid,\r\n 'inactive-user-row': row.status !== 'Active',\r\n }\"\r\n ></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;position:relative}::ng-deep app-notification{position:absolute;top:96px;right:24px;z-index:1000;width:360px;display:block}::ng-deep app-notification .notification-block{display:flex;flex-direction:column;gap:12px;width:100%;pointer-events:none}::ng-deep app-notification .notification{display:flex;align-items:center;gap:12px;padding:14px 16px;color:#111;border-radius:10px;border:1px solid rgba(17,17,17,.08);background:#ffffff;box-shadow:0 14px 32px #1118271f,0 2px 6px #11182714;width:100%;position:relative;pointer-events:auto}::ng-deep app-notification .notification.success{border-color:#10b98140}::ng-deep app-notification .notification.error{border-color:#ef444440}::ng-deep app-notification .notification-icons-block{width:32px;min-width:32px;display:flex;justify-content:center;align-items:center}::ng-deep app-notification .flex-box{display:flex;align-items:center;gap:12px;width:100%}::ng-deep app-notification .message-block{font-size:14px;font-family:Poppins,Poppins,sans-serif!important;color:#111;word-break:break-word;line-height:1.5;flex:1}::ng-deep app-notification .notification-icon-close{height:24px}::ng-deep app-notification .close{position:absolute;top:8px;right:8px;width:28px;height:28px}::ng-deep app-notification .fa{font-size:18px}::ng-deep app-notification .notification.success .fa{color:#16a34a}::ng-deep app-notification .notification.error .fa{color:#dc2626}@media screen and (max-width: 600px){::ng-deep app-notification{right:12px;left:12px;width:auto}}.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}:host .mat-progress-spinner circle,:host .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 tr{background:#fff;color:#000000f2;font-size:14px}.webex-table tr:hover:not(.disabled-user-row){background:#ededed;cursor:pointer}.webex-table tr.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:absolute;margin:-15px -29px}: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}.actions-cell .field-spinner{position:absolute;right:32px;top:50%;transform:translateY(-50%);margin:0}.user-provisioning-type{text-align:start}.user-provisioning-type .icon-wrapper{display:flex;align-items:center}\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: i4$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", "searchValue", "selectedUserType"], outputs: ["searchChange", "searchByType", "addUser"] }, { kind: "component", type: NotificationsComponent, selector: "app-notification" }] });
2521
+ 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", createUserRequested: "createUserRequested" }, ngImport: i0, template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<app-notification></app-notification>\r\n<div *ngIf=\"!showMoveUserWizard\" id=\"users-list\">\r\n <tk-users-table-toolbar\r\n [totalUsersCount]=\"totalUsersCount\"\r\n [searchValue]=\"activeSearchToken\"\r\n [selectedUserType]=\"activeUserType\"\r\n (searchChange)=\"searchUsers($event)\"\r\n (searchByType)=\"searchByType($event)\"\r\n (addUser)=\"onCreateUserRequested()\"\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 (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 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 (click)=\"onUserClick(user)\"\r\n [matTooltip]=\"\r\n user.status !== 'Active' && user.webexUUID && !user.isHybrid\r\n ? 'Pending cutover to MT. Please contact your administrator for details.'\r\n : ''\r\n \"\r\n matTooltipPosition=\"above\"\r\n >\r\n <span\r\n class=\"icon-user-status\"\r\n [ngClass]=\"{ 'icon-user-status-active': user.status === 'Active', 'icon-user-status-hybrid': user.isHybrid }\"\r\n ></span\r\n >{{ user.isHybrid ? 'Hybrid' : 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 actions-cell\"\r\n mat-cell\r\n *matCellDef=\"let user; let i = index\"\r\n style=\"position: relative\"\r\n >\r\n <mat-progress-spinner\r\n class=\"field-spinner\"\r\n [diameter]=\"30\"\r\n strokeWidth=\"3\"\r\n mode=\"indeterminate\"\r\n *ngIf=\"\r\n user.status === 'In Progress' ||\r\n user.status === 'Pending Activation' ||\r\n user.status === 'Pending Deactivation'\r\n \"\r\n ></mat-progress-spinner>\r\n <button\r\n *ngIf=\"\r\n !(\r\n user.status === 'In Progress' ||\r\n user.status === 'Pending Activation' ||\r\n user.status === 'Pending Deactivation'\r\n ) &&\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 *ngIf=\"!user.webexUUID && user.cucmId == ON_PREM_ID\"\r\n mat-menu-item\r\n [disabled]=\"true\"\r\n matTooltip=\"Coming soon\"\r\n matTooltipPosition=\"right\"\r\n >\r\n Enable AI Transcribe\r\n </button>\r\n <button\r\n [disabled]=\"user.webexUUID || user.status !== 'Active'\"\r\n *ngIf=\"!user.isMigrated && !user.isHybrid\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'QuickMove', 'MT')\"\r\n >\r\n<!-- for TU-4960 !user.isReadyToUpgrade ||-->\r\n License with Hybrid\r\n </button>\r\n <button\r\n *ngIf=\"user.isHybrid\"\r\n [disabled]=\"user.partnerStatus !== 'Active'\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'QuickMove', 'MT')\"\r\n >\r\n<!-- for TU-4960 !user.isReadyToUpgrade ||-->\r\n License with Hybrid\r\n </button>\r\n <button\r\n [disabled]=\"user.webexUUID || user.status !== 'Active'\"\r\n *ngIf=\"!user.isMigrated && !user.isHybrid\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'MT', 'MT')\"\r\n >\r\n Migrate User to MT\r\n </button>\r\n <button\r\n *ngIf=\"user.isHybrid\"\r\n [disabled]=\"user.partnerStatus !== 'Active'\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'MT', 'MT')\"\r\n >\r\n Migrate 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\r\n mat-menu-item\r\n *ngIf=\"!user.isHybrid\"\r\n [disabled]=\"!isValidWebexUuid(user) || user.status !== 'Inactive'\"\r\n (click)=\"onFirmwareUpgradeClicked(user)\"\r\n >\r\n Enable Webex Calling\r\n </button>\r\n <button\r\n mat-menu-item\r\n *ngIf=\"user.isHybrid\"\r\n [disabled]=\"user.status !== 'Inactive'\"\r\n (click)=\"onFirmwareUpgradeClicked(user)\"\r\n >\r\n Enable Webex Calling\r\n </button>\r\n <button\r\n mat-menu-item\r\n [disabled]=\"!user.webexUUID || user.status !== 'Active'\"\r\n (click)=\"onRevertClicked(user)\"\r\n >\r\n Migrate User to UCM\r\n </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-provisioning-type\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n <div class=\"icons-wrapper\">\r\n <ng-container *ngIf=\"user.webexUUID && !user.isHybrid\">\r\n <span class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user.webexUUID && !user.isHybrid\">\r\n <span *ngIf=\"user.cucmId == ON_PREM_ID\" class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/local_24.svg\"\r\n width=\"20\"\r\n alt=\"\"\r\n [matTooltip]=\"'UCM'\"\r\n matTooltipPosition=\"right\"\r\n /></span>\r\n <span *ngIf=\"user.cucmId != ON_PREM_ID\" class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"user.isHybrid\">\r\n <span class=\"icon-wrapper\" [class.disabled]=\"user.status !== 'Active'\">\r\n <img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling' + (user.status === 'Active' ? '' : ' (inactive)')\"\r\n matTooltipPosition=\"right\"\r\n (click)=\"onUserClick(user, 'webex'); $event.stopPropagation();\"\r\n width=\"20\"\r\n alt=\"\"/>\r\n </span>\r\n <span class=\"icon-wrapper\" [class.disabled]=\"user.partnerStatus !== 'Active'\"\r\n *ngIf=\"user.cucmId != ON_PREM_ID\">\r\n <img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI' + (user.partnerStatus === 'Active' ? '' : ' (inactive)')\"\r\n matTooltipPosition=\"right\"\r\n (click)=\"onUserClick(user, 'di'); $event.stopPropagation();\"\r\n width=\"20\"\r\n alt=\"\"/>\r\n </span>\r\n <span *ngIf=\"user.cucmId == ON_PREM_ID\" class=\"icon-wrapper\"\r\n [class.disabled]=\"user.partnerStatus !== 'Active'\"\r\n ><img\r\n src=\"assets/icons/local_24.svg\"\r\n width=\"20\"\r\n alt=\"\"\r\n [matTooltip]=\"'UCM' + (user.partnerStatus === 'Active' ? '' : ' (inactive)')\"\r\n matTooltipPosition=\"right\"\r\n (click)=\"onUserClick(user, 'ucm'); $event.stopPropagation();\"\r\n /></span>\r\n </ng-container>\r\n </div>\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 {{ getTodayShortDate() }}\r\n </td>\r\n /\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: displayedColumns\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === row?.userid && !row?.isHybrid,\r\n 'inactive-user-row': row.status !== 'Active' && !row?.isHybrid,\r\n }\"\r\n ></tr>\r\n </table>\r\n\r\n <ng-container *ngIf=\"showPaginator\">\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 </ng-container>\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 [host]=\"host\"\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;position:relative}::ng-deep app-notification{position:absolute;top:96px;right:24px;z-index:1000;width:360px;display:block}::ng-deep app-notification .notification-block{display:flex;flex-direction:column;gap:12px;width:100%;pointer-events:none}::ng-deep app-notification .notification{display:flex;align-items:center;gap:12px;padding:14px 16px;color:#111;border-radius:10px;border:1px solid rgba(17,17,17,.08);background:#ffffff;box-shadow:0 14px 32px #1118271f,0 2px 6px #11182714;width:100%;position:relative;pointer-events:auto}::ng-deep app-notification .notification.success{border-color:#10b98140}::ng-deep app-notification .notification.error{border-color:#ef444440}::ng-deep app-notification .notification-icons-block{width:32px;min-width:32px;display:flex;justify-content:center;align-items:center}::ng-deep app-notification .flex-box{display:flex;align-items:center;gap:12px;width:100%}::ng-deep app-notification .message-block{font-size:14px;font-family:Poppins,Poppins,sans-serif!important;color:#111;word-break:break-word;line-height:1.5;flex:1}::ng-deep app-notification .notification-icon-close{height:24px}::ng-deep app-notification .close{position:absolute;top:8px;right:8px;width:28px;height:28px}::ng-deep app-notification .fa{font-size:18px}::ng-deep app-notification .notification.success .fa{color:#16a34a}::ng-deep app-notification .notification.error .fa{color:#dc2626}@media screen and (max-width: 600px){::ng-deep app-notification{right:12px;left:12px;width:auto}}.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}.icon-user-status.icon-user-status-hybrid{background-color:#639fff;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}:host .mat-progress-spinner circle,:host .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 tr{background:#fff;color:#000000f2;font-size:14px}.webex-table tr:hover:not(.disabled-user-row){background:#ededed;cursor:pointer}.webex-table tr.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:absolute;margin:-15px -29px}: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}.actions-cell .field-spinner{position:absolute;right:32px;top:50%;transform:translateY(-50%);margin:0}.user-provisioning-type{text-align:start}.user-provisioning-type .icons-wrapper{display:flex;align-items:center;gap:1rem}.user-provisioning-type .icon-wrapper{display:flex;align-items:center}.user-provisioning-type .icon-wrapper.disabled{opacity:.35}\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: i4$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", "host"], outputs: ["closeMoveUserWizard", "done", "runMoveUser"] }, { kind: "component", type: TableToolbarComponent, selector: "tk-users-table-toolbar", inputs: ["totalUsersCount", "searchValue", "selectedUserType"], outputs: ["searchChange", "searchByType", "addUser"] }, { kind: "component", type: NotificationsComponent, selector: "app-notification" }] });
2403
2522
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListComponent, decorators: [{
2404
2523
  type: Component,
2405
- args: [{ selector: 'app-users-list', template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<app-notification></app-notification>\r\n<div *ngIf=\"!showMoveUserWizard\" id=\"users-list\">\r\n <tk-users-table-toolbar\r\n [totalUsersCount]=\"totalUsersCount\"\r\n [searchValue]=\"activeSearchToken\"\r\n [selectedUserType]=\"activeUserType\"\r\n (searchChange)=\"searchUsers($event)\"\r\n (searchByType)=\"searchByType($event)\"\r\n (addUser)=\"onCreateUserRequested()\"\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 (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 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 (click)=\"onUserClick(user)\"\r\n [matTooltip]=\"\r\n user.status !== 'Active' && user.webexUUID\r\n ? 'Pending cutover to MT. Please contact your administrator for details.'\r\n : ''\r\n \"\r\n matTooltipPosition=\"above\"\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 actions-cell\"\r\n mat-cell\r\n *matCellDef=\"let user; let i = index\"\r\n style=\"position: relative\"\r\n >\r\n <mat-progress-spinner\r\n class=\"field-spinner\"\r\n [diameter]=\"30\"\r\n strokeWidth=\"3\"\r\n mode=\"indeterminate\"\r\n *ngIf=\"\r\n user.status === 'In Progress' ||\r\n user.status === 'Pending Activation' ||\r\n user.status === 'Pending Deactivation'\r\n \"\r\n ></mat-progress-spinner>\r\n <button\r\n *ngIf=\"\r\n !(\r\n user.status === 'In Progress' ||\r\n user.status === 'Pending Activation' ||\r\n user.status === 'Pending Deactivation'\r\n ) &&\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 *ngIf=\"!user.webexUUID && user.cucmId == ON_PREM_ID\"\r\n mat-menu-item\r\n [disabled]=\"true\"\r\n matTooltip=\"Coming soon\"\r\n matTooltipPosition=\"right\"\r\n >\r\n Enable AI Transcribe\r\n </button>\r\n <button\r\n [disabled]=\"user.webexUUID || user.status !== 'Active'\"\r\n *ngIf=\"!user.isMigrated\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'QuickMove', 'MT')\"\r\n >\r\n<!-- for TU-4960 !user.isReadyToUpgrade ||-->\r\n Quick Upgrade User to MT\r\n </button>\r\n <button\r\n [disabled]=\"user.webexUUID || user.status !== 'Active'\"\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\r\n mat-menu-item\r\n [disabled]=\"!isValidWebexUuid(user) || user.status !== 'Inactive'\"\r\n (click)=\"onFirmwareUpgradeClicked(user)\"\r\n >\r\n Activate User\r\n </button>\r\n <button\r\n mat-menu-item\r\n [disabled]=\"!user.webexUUID || user.status !== 'Active'\"\r\n (click)=\"onRevertClicked(user)\"\r\n >\r\n Revert\r\n </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-provisioning-type\"\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 class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user.webexUUID\">\r\n <span *ngIf=\"user.cucmId == ON_PREM_ID\" class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/local_24.svg\"\r\n width=\"20\"\r\n alt=\"\"\r\n [matTooltip]=\"'UCM'\"\r\n matTooltipPosition=\"right\"\r\n /></span>\r\n <span *ngIf=\"user.cucmId != ON_PREM_ID\" class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n 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 {{ getTodayShortDate() }}\r\n </td>\r\n /\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: displayedColumns\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === row?.userid,\r\n 'inactive-user-row': row.status !== 'Active',\r\n }\"\r\n ></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;position:relative}::ng-deep app-notification{position:absolute;top:96px;right:24px;z-index:1000;width:360px;display:block}::ng-deep app-notification .notification-block{display:flex;flex-direction:column;gap:12px;width:100%;pointer-events:none}::ng-deep app-notification .notification{display:flex;align-items:center;gap:12px;padding:14px 16px;color:#111;border-radius:10px;border:1px solid rgba(17,17,17,.08);background:#ffffff;box-shadow:0 14px 32px #1118271f,0 2px 6px #11182714;width:100%;position:relative;pointer-events:auto}::ng-deep app-notification .notification.success{border-color:#10b98140}::ng-deep app-notification .notification.error{border-color:#ef444440}::ng-deep app-notification .notification-icons-block{width:32px;min-width:32px;display:flex;justify-content:center;align-items:center}::ng-deep app-notification .flex-box{display:flex;align-items:center;gap:12px;width:100%}::ng-deep app-notification .message-block{font-size:14px;font-family:Poppins,Poppins,sans-serif!important;color:#111;word-break:break-word;line-height:1.5;flex:1}::ng-deep app-notification .notification-icon-close{height:24px}::ng-deep app-notification .close{position:absolute;top:8px;right:8px;width:28px;height:28px}::ng-deep app-notification .fa{font-size:18px}::ng-deep app-notification .notification.success .fa{color:#16a34a}::ng-deep app-notification .notification.error .fa{color:#dc2626}@media screen and (max-width: 600px){::ng-deep app-notification{right:12px;left:12px;width:auto}}.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}:host .mat-progress-spinner circle,:host .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 tr{background:#fff;color:#000000f2;font-size:14px}.webex-table tr:hover:not(.disabled-user-row){background:#ededed;cursor:pointer}.webex-table tr.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:absolute;margin:-15px -29px}: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}.actions-cell .field-spinner{position:absolute;right:32px;top:50%;transform:translateY(-50%);margin:0}.user-provisioning-type{text-align:start}.user-provisioning-type .icon-wrapper{display:flex;align-items:center}\n"] }]
2524
+ args: [{ selector: 'app-users-list', template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<app-notification></app-notification>\r\n<div *ngIf=\"!showMoveUserWizard\" id=\"users-list\">\r\n <tk-users-table-toolbar\r\n [totalUsersCount]=\"totalUsersCount\"\r\n [searchValue]=\"activeSearchToken\"\r\n [selectedUserType]=\"activeUserType\"\r\n (searchChange)=\"searchUsers($event)\"\r\n (searchByType)=\"searchByType($event)\"\r\n (addUser)=\"onCreateUserRequested()\"\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 (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 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 (click)=\"onUserClick(user)\"\r\n [matTooltip]=\"\r\n user.status !== 'Active' && user.webexUUID && !user.isHybrid\r\n ? 'Pending cutover to MT. Please contact your administrator for details.'\r\n : ''\r\n \"\r\n matTooltipPosition=\"above\"\r\n >\r\n <span\r\n class=\"icon-user-status\"\r\n [ngClass]=\"{ 'icon-user-status-active': user.status === 'Active', 'icon-user-status-hybrid': user.isHybrid }\"\r\n ></span\r\n >{{ user.isHybrid ? 'Hybrid' : 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 actions-cell\"\r\n mat-cell\r\n *matCellDef=\"let user; let i = index\"\r\n style=\"position: relative\"\r\n >\r\n <mat-progress-spinner\r\n class=\"field-spinner\"\r\n [diameter]=\"30\"\r\n strokeWidth=\"3\"\r\n mode=\"indeterminate\"\r\n *ngIf=\"\r\n user.status === 'In Progress' ||\r\n user.status === 'Pending Activation' ||\r\n user.status === 'Pending Deactivation'\r\n \"\r\n ></mat-progress-spinner>\r\n <button\r\n *ngIf=\"\r\n !(\r\n user.status === 'In Progress' ||\r\n user.status === 'Pending Activation' ||\r\n user.status === 'Pending Deactivation'\r\n ) &&\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 *ngIf=\"!user.webexUUID && user.cucmId == ON_PREM_ID\"\r\n mat-menu-item\r\n [disabled]=\"true\"\r\n matTooltip=\"Coming soon\"\r\n matTooltipPosition=\"right\"\r\n >\r\n Enable AI Transcribe\r\n </button>\r\n <button\r\n [disabled]=\"user.webexUUID || user.status !== 'Active'\"\r\n *ngIf=\"!user.isMigrated && !user.isHybrid\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'QuickMove', 'MT')\"\r\n >\r\n<!-- for TU-4960 !user.isReadyToUpgrade ||-->\r\n License with Hybrid\r\n </button>\r\n <button\r\n *ngIf=\"user.isHybrid\"\r\n [disabled]=\"user.partnerStatus !== 'Active'\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'QuickMove', 'MT')\"\r\n >\r\n<!-- for TU-4960 !user.isReadyToUpgrade ||-->\r\n License with Hybrid\r\n </button>\r\n <button\r\n [disabled]=\"user.webexUUID || user.status !== 'Active'\"\r\n *ngIf=\"!user.isMigrated && !user.isHybrid\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'MT', 'MT')\"\r\n >\r\n Migrate User to MT\r\n </button>\r\n <button\r\n *ngIf=\"user.isHybrid\"\r\n [disabled]=\"user.partnerStatus !== 'Active'\"\r\n mat-menu-item\r\n (click)=\"onMoveUser(user, i, 'MT', 'MT')\"\r\n >\r\n Migrate 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\r\n mat-menu-item\r\n *ngIf=\"!user.isHybrid\"\r\n [disabled]=\"!isValidWebexUuid(user) || user.status !== 'Inactive'\"\r\n (click)=\"onFirmwareUpgradeClicked(user)\"\r\n >\r\n Enable Webex Calling\r\n </button>\r\n <button\r\n mat-menu-item\r\n *ngIf=\"user.isHybrid\"\r\n [disabled]=\"user.status !== 'Inactive'\"\r\n (click)=\"onFirmwareUpgradeClicked(user)\"\r\n >\r\n Enable Webex Calling\r\n </button>\r\n <button\r\n mat-menu-item\r\n [disabled]=\"!user.webexUUID || user.status !== 'Active'\"\r\n (click)=\"onRevertClicked(user)\"\r\n >\r\n Migrate User to UCM\r\n </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-provisioning-type\"\r\n mat-cell\r\n *matCellDef=\"let user\"\r\n (click)=\"onUserClick(user)\"\r\n >\r\n <div class=\"icons-wrapper\">\r\n <ng-container *ngIf=\"user.webexUUID && !user.isHybrid\">\r\n <span class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user.webexUUID && !user.isHybrid\">\r\n <span *ngIf=\"user.cucmId == ON_PREM_ID\" class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/local_24.svg\"\r\n width=\"20\"\r\n alt=\"\"\r\n [matTooltip]=\"'UCM'\"\r\n matTooltipPosition=\"right\"\r\n /></span>\r\n <span *ngIf=\"user.cucmId != ON_PREM_ID\" class=\"icon-wrapper\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"user.isHybrid\">\r\n <span class=\"icon-wrapper\" [class.disabled]=\"user.status !== 'Active'\">\r\n <img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling' + (user.status === 'Active' ? '' : ' (inactive)')\"\r\n matTooltipPosition=\"right\"\r\n (click)=\"onUserClick(user, 'webex'); $event.stopPropagation();\"\r\n width=\"20\"\r\n alt=\"\"/>\r\n </span>\r\n <span class=\"icon-wrapper\" [class.disabled]=\"user.partnerStatus !== 'Active'\"\r\n *ngIf=\"user.cucmId != ON_PREM_ID\">\r\n <img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI' + (user.partnerStatus === 'Active' ? '' : ' (inactive)')\"\r\n matTooltipPosition=\"right\"\r\n (click)=\"onUserClick(user, 'di'); $event.stopPropagation();\"\r\n width=\"20\"\r\n alt=\"\"/>\r\n </span>\r\n <span *ngIf=\"user.cucmId == ON_PREM_ID\" class=\"icon-wrapper\"\r\n [class.disabled]=\"user.partnerStatus !== 'Active'\"\r\n ><img\r\n src=\"assets/icons/local_24.svg\"\r\n width=\"20\"\r\n alt=\"\"\r\n [matTooltip]=\"'UCM' + (user.partnerStatus === 'Active' ? '' : ' (inactive)')\"\r\n matTooltipPosition=\"right\"\r\n (click)=\"onUserClick(user, 'ucm'); $event.stopPropagation();\"\r\n /></span>\r\n </ng-container>\r\n </div>\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 {{ getTodayShortDate() }}\r\n </td>\r\n /\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: displayedColumns\"\r\n [ngClass]=\"{\r\n 'disabled-user-row':\r\n moveUserPending &&\r\n moveInProgressUserId &&\r\n moveInProgressUserId === row?.userid && !row?.isHybrid,\r\n 'inactive-user-row': row.status !== 'Active' && !row?.isHybrid,\r\n }\"\r\n ></tr>\r\n </table>\r\n\r\n <ng-container *ngIf=\"showPaginator\">\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 </ng-container>\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 [host]=\"host\"\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;position:relative}::ng-deep app-notification{position:absolute;top:96px;right:24px;z-index:1000;width:360px;display:block}::ng-deep app-notification .notification-block{display:flex;flex-direction:column;gap:12px;width:100%;pointer-events:none}::ng-deep app-notification .notification{display:flex;align-items:center;gap:12px;padding:14px 16px;color:#111;border-radius:10px;border:1px solid rgba(17,17,17,.08);background:#ffffff;box-shadow:0 14px 32px #1118271f,0 2px 6px #11182714;width:100%;position:relative;pointer-events:auto}::ng-deep app-notification .notification.success{border-color:#10b98140}::ng-deep app-notification .notification.error{border-color:#ef444440}::ng-deep app-notification .notification-icons-block{width:32px;min-width:32px;display:flex;justify-content:center;align-items:center}::ng-deep app-notification .flex-box{display:flex;align-items:center;gap:12px;width:100%}::ng-deep app-notification .message-block{font-size:14px;font-family:Poppins,Poppins,sans-serif!important;color:#111;word-break:break-word;line-height:1.5;flex:1}::ng-deep app-notification .notification-icon-close{height:24px}::ng-deep app-notification .close{position:absolute;top:8px;right:8px;width:28px;height:28px}::ng-deep app-notification .fa{font-size:18px}::ng-deep app-notification .notification.success .fa{color:#16a34a}::ng-deep app-notification .notification.error .fa{color:#dc2626}@media screen and (max-width: 600px){::ng-deep app-notification{right:12px;left:12px;width:auto}}.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}.icon-user-status.icon-user-status-hybrid{background-color:#639fff;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}:host .mat-progress-spinner circle,:host .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 tr{background:#fff;color:#000000f2;font-size:14px}.webex-table tr:hover:not(.disabled-user-row){background:#ededed;cursor:pointer}.webex-table tr.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:absolute;margin:-15px -29px}: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}.actions-cell .field-spinner{position:absolute;right:32px;top:50%;transform:translateY(-50%);margin:0}.user-provisioning-type{text-align:start}.user-provisioning-type .icons-wrapper{display:flex;align-items:center;gap:1rem}.user-provisioning-type .icon-wrapper{display:flex;align-items:center}.user-provisioning-type .icon-wrapper.disabled{opacity:.35}\n"] }]
2406
2525
  }], ctorParameters: function () { return [{ type: UserService }, { type: APIService }, { type: ApiWebexService }, { type: NotificationService }, { type: UsersSearchService }, { type: i1.MatDialog }]; }, propDecorators: { token: [{
2407
2526
  type: Input
2408
2527
  }], customerId: [{