@tuki-io/tuki-widgets 0.0.26 → 0.0.28

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 (374) hide show
  1. package/.editorconfig +16 -0
  2. package/.vscode/extensions.json +4 -0
  3. package/.vscode/launch.json +20 -0
  4. package/.vscode/tasks.json +42 -0
  5. package/README.md +10 -9
  6. package/angular.json +41 -0
  7. package/package.json +40 -43
  8. package/projects/tuki/widgets/README.md +24 -0
  9. package/projects/tuki/widgets/karma.conf.js +44 -0
  10. package/projects/tuki/widgets/ng-package.json +7 -0
  11. package/projects/tuki/widgets/package.json +13 -0
  12. package/projects/tuki/widgets/src/lib/widgets.component.spec.ts +23 -0
  13. package/projects/tuki/widgets/src/lib/widgets.component.ts +20 -0
  14. package/projects/tuki/widgets/src/lib/widgets.module.ts +16 -0
  15. package/projects/tuki/widgets/src/lib/widgets.service.spec.ts +16 -0
  16. package/projects/tuki/widgets/src/lib/widgets.service.ts +9 -0
  17. package/{public-api.d.ts → projects/tuki/widgets/src/public-api.ts} +4 -0
  18. package/projects/tuki/widgets/src/test.ts +27 -0
  19. package/projects/tuki/widgets/tsconfig.lib.json +36 -0
  20. package/projects/tuki/widgets/tsconfig.lib.prod.json +10 -0
  21. package/projects/tuki/widgets/tsconfig.spec.json +17 -0
  22. package/projects/tuki/widgets/user-device-manage/ng-package.json +7 -0
  23. package/projects/tuki/widgets/user-device-manage/public-api.ts +8 -0
  24. package/projects/tuki/widgets/user-device-manage/src/app.constants.ts +96 -0
  25. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-left.svg +5 -0
  26. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right.svg +5 -0
  27. package/projects/tuki/widgets/user-device-manage/src/assets/icons/close_icon_x.svg +3 -0
  28. package/projects/tuki/widgets/user-device-manage/src/assets/icons/delete_icon.svg +5 -0
  29. package/projects/tuki/widgets/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  30. package/projects/tuki/widgets/user-device-manage/src/assets/icons/icon_user.svg +1 -0
  31. package/projects/tuki/widgets/user-device-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  32. package/projects/tuki/widgets/user-device-manage/src/classes/device.ts +292 -0
  33. package/projects/tuki/widgets/user-device-manage/src/classes/line-association-interface.ts +50 -0
  34. package/projects/tuki/widgets/user-device-manage/src/classes/line-association.ts +177 -0
  35. package/projects/tuki/widgets/user-device-manage/src/classes/line-call-info-display.ts +21 -0
  36. package/projects/tuki/widgets/user-device-manage/src/classes/line-directory.ts +41 -0
  37. package/projects/tuki/widgets/user-device-manage/src/classes/line.ts +144 -0
  38. package/projects/tuki/widgets/user-device-manage/src/classes/notification.ts +40 -0
  39. package/projects/tuki/widgets/user-device-manage/src/classes/recording-options.ts +6 -0
  40. package/projects/tuki/widgets/user-device-manage/src/classes/simplified-user.ts +169 -0
  41. package/projects/tuki/widgets/user-device-manage/src/classes/site-defaults.ts +167 -0
  42. package/projects/tuki/widgets/user-device-manage/src/classes/translation-pattern.ts +50 -0
  43. package/projects/tuki/widgets/user-device-manage/src/classes/types.ts +19 -0
  44. package/projects/tuki/widgets/user-device-manage/src/classes/user-interface.ts +225 -0
  45. package/projects/tuki/widgets/user-device-manage/src/classes/user.ts +8 -0
  46. package/projects/tuki/widgets/user-device-manage/src/common-functions.ts +16 -0
  47. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.html +14 -0
  48. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.scss +79 -0
  49. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.ts +35 -0
  50. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.css +97 -0
  51. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +21 -0
  52. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +28 -0
  53. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.css +20 -0
  54. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.html +6 -0
  55. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.ts +13 -0
  56. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +6 -0
  57. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +4 -0
  58. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +63 -0
  59. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.html +241 -0
  60. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.scss +500 -0
  61. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.ts +194 -0
  62. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.html +27 -0
  63. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.scss +131 -0
  64. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.ts +25 -0
  65. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.html +209 -0
  66. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.scss +502 -0
  67. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.ts +354 -0
  68. package/projects/tuki/widgets/user-device-manage/src/environments/environment.prod.ts +9 -0
  69. package/projects/tuki/widgets/user-device-manage/src/environments/environment.ts +10 -0
  70. package/projects/tuki/widgets/user-device-manage/src/interseptors/auth.interceptor.ts +35 -0
  71. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  72. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
  73. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  74. package/projects/tuki/widgets/user-device-manage/src/material.module.ts +87 -0
  75. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.html +33 -0
  76. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.scss +84 -0
  77. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.ts +46 -0
  78. package/projects/tuki/widgets/user-device-manage/src/removeKynFromIBM.service.ts +25 -0
  79. package/projects/tuki/widgets/user-device-manage/src/services/api.service.ts +87 -0
  80. package/projects/tuki/widgets/user-device-manage/src/services/common-functions.ts +17 -0
  81. package/projects/tuki/widgets/user-device-manage/src/services/device.service.ts +95 -0
  82. package/projects/tuki/widgets/user-device-manage/src/services/dns.service.ts +111 -0
  83. package/projects/tuki/widgets/user-device-manage/src/services/line.service.ts +89 -0
  84. package/projects/tuki/widgets/user-device-manage/src/services/notification.service.ts +68 -0
  85. package/projects/tuki/widgets/user-device-manage/src/services/removeKynFromIBM.service.ts +25 -0
  86. package/projects/tuki/widgets/user-device-manage/src/services/site-settings.service.ts +82 -0
  87. package/projects/tuki/widgets/user-device-manage/src/services/sorting-utils.service.ts +203 -0
  88. package/projects/tuki/widgets/user-device-manage/src/services/user.service.ts +283 -0
  89. package/projects/tuki/widgets/user-device-manage/src/services/utils.service.ts +87 -0
  90. package/projects/tuki/widgets/user-device-manage/src/services/validation.service.ts +829 -0
  91. package/projects/tuki/widgets/user-device-manage/src/styles/_variables.scss +90 -0
  92. package/projects/tuki/widgets/user-device-manage/src/styles/form.scss +231 -0
  93. package/projects/tuki/widgets/user-device-manage/src/styles/icons.scss +32 -0
  94. package/projects/tuki/widgets/user-device-manage/src/styles/styles.scss +110 -0
  95. package/projects/tuki/widgets/user-device-manage/src/styles/tables.scss +30 -0
  96. package/projects/tuki/widgets/user-device-manage/src/user-device-manage.module.ts +73 -0
  97. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.html +6 -0
  98. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  99. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.ts +13 -0
  100. package/projects/tuki/widgets/user-manage/ng-package.json +7 -0
  101. package/projects/tuki/widgets/user-manage/src/app.constants.ts +50 -0
  102. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-left.svg +5 -0
  103. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right.svg +5 -0
  104. package/projects/tuki/widgets/user-manage/src/assets/icons/delete_icon.svg +5 -0
  105. package/projects/tuki/widgets/user-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  106. package/projects/tuki/widgets/user-manage/src/assets/icons/icon_user.svg +1 -0
  107. package/projects/tuki/widgets/user-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  108. package/projects/tuki/widgets/user-manage/src/classes/device.ts +232 -0
  109. package/projects/tuki/widgets/user-manage/src/classes/line-association-interface.ts +43 -0
  110. package/projects/tuki/widgets/user-manage/src/classes/line-association.ts +161 -0
  111. package/projects/tuki/widgets/user-manage/src/classes/line-call-info-display.ts +21 -0
  112. package/projects/tuki/widgets/user-manage/src/classes/line-directory.ts +42 -0
  113. package/projects/tuki/widgets/user-manage/src/classes/line.ts +144 -0
  114. package/projects/tuki/widgets/user-manage/src/classes/notification.ts +39 -0
  115. package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +18 -0
  116. package/projects/tuki/widgets/user-manage/src/classes/recording-options.ts +6 -0
  117. package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +165 -0
  118. package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +6 -0
  119. package/projects/tuki/widgets/user-manage/src/classes/translation-pattern.ts +49 -0
  120. package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +225 -0
  121. package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +42 -0
  122. package/projects/tuki/widgets/user-manage/src/classes/user.ts +8 -0
  123. package/projects/tuki/widgets/user-manage/src/common-functions.ts +16 -0
  124. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.html +27 -0
  125. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.scss +131 -0
  126. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.ts +25 -0
  127. package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +9 -0
  128. package/projects/tuki/widgets/user-manage/src/environments/environment.ts +10 -0
  129. package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +35 -0
  130. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  131. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
  132. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  133. package/projects/tuki/widgets/user-manage/src/material.module.ts +85 -0
  134. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +33 -0
  135. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +84 -0
  136. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +46 -0
  137. package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +25 -0
  138. package/projects/tuki/widgets/user-manage/src/services/api.service.ts +90 -0
  139. package/projects/tuki/widgets/user-manage/src/services/dns.service.ts +116 -0
  140. package/projects/tuki/widgets/user-manage/src/services/line.service.ts +31 -0
  141. package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +68 -0
  142. package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +25 -0
  143. package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +35 -0
  144. package/projects/tuki/widgets/user-manage/src/services/sorting-utils.service.ts +203 -0
  145. package/projects/tuki/widgets/user-manage/src/services/user.service.ts +242 -0
  146. package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +58 -0
  147. package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +71 -0
  148. package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +90 -0
  149. package/projects/tuki/widgets/user-manage/src/styles/form.scss +231 -0
  150. package/projects/tuki/widgets/user-manage/src/styles/icons.scss +32 -0
  151. package/projects/tuki/widgets/user-manage/src/styles/styles.scss +110 -0
  152. package/projects/tuki/widgets/user-manage/src/styles/tables.scss +30 -0
  153. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +10 -0
  154. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +429 -0
  155. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +63 -0
  156. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.html +32 -0
  157. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.scss +444 -0
  158. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.ts +89 -0
  159. package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +68 -0
  160. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +29 -0
  161. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +64 -0
  162. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +19 -0
  163. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +292 -0
  164. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +463 -0
  165. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +212 -0
  166. package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +63 -0
  167. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +6 -0
  168. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  169. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +13 -0
  170. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +26 -0
  171. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +41 -0
  172. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +41 -0
  173. package/projects/tuki/widgets/users-list/ng-package.json +6 -0
  174. package/projects/tuki/widgets/users-list/src/app.constants.ts +50 -0
  175. package/projects/tuki/widgets/users-list/src/assets/icons/close_icon_modal.svg +3 -0
  176. package/projects/tuki/widgets/users-list/src/assets/icons/icon_user.svg +1 -0
  177. package/projects/tuki/widgets/users-list/src/classes/device.ts +225 -0
  178. package/projects/tuki/widgets/users-list/src/classes/line.ts +144 -0
  179. package/projects/tuki/widgets/users-list/src/classes/notification.ts +38 -0
  180. package/projects/tuki/widgets/users-list/src/classes/pagination.ts +18 -0
  181. package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +74 -0
  182. package/projects/tuki/widgets/users-list/src/classes/table-data.ts +6 -0
  183. package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +225 -0
  184. package/projects/tuki/widgets/users-list/src/classes/user-list.ts +47 -0
  185. package/projects/tuki/widgets/users-list/src/classes/user.ts +8 -0
  186. package/projects/tuki/widgets/users-list/src/material.module.ts +94 -0
  187. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.css +183 -0
  188. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +93 -0
  189. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +95 -0
  190. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.css +38 -0
  191. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.html +11 -0
  192. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.ts +34 -0
  193. package/projects/tuki/widgets/users-list/src/services/api-webex.service.ts +13 -0
  194. package/projects/tuki/widgets/users-list/src/services/api.service.ts +90 -0
  195. package/projects/tuki/widgets/users-list/src/services/dns.service.ts +128 -0
  196. package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +11 -0
  197. package/projects/tuki/widgets/users-list/src/services/notification.service.ts +68 -0
  198. package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +25 -0
  199. package/projects/tuki/widgets/users-list/src/services/user.service.ts +168 -0
  200. package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +135 -0
  201. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +14 -0
  202. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +79 -0
  203. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +35 -0
  204. package/projects/tuki/widgets/users-list/src/users-list.component.css +4 -0
  205. package/projects/tuki/widgets/users-list/src/users-list.component.css.map +1 -0
  206. package/projects/tuki/widgets/users-list/src/users-list.component.html +86 -0
  207. package/projects/tuki/widgets/users-list/src/users-list.component.scss +572 -0
  208. package/projects/tuki/widgets/users-list/src/users-list.component.ts +283 -0
  209. package/projects/tuki/widgets/users-list/src/users-list.module.ts +51 -0
  210. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css +11 -0
  211. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css.map +1 -0
  212. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +6 -0
  213. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +11 -0
  214. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +13 -0
  215. package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +16 -0
  216. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +33 -0
  217. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +84 -0
  218. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +46 -0
  219. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css +45 -0
  220. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css.map +1 -0
  221. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +26 -0
  222. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +41 -0
  223. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +41 -0
  224. package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +71 -0
  225. package/tsconfig.json +46 -0
  226. package/esm2020/lib/widgets.component.mjs +0 -22
  227. package/esm2020/lib/widgets.module.mjs +0 -21
  228. package/esm2020/lib/widgets.service.mjs +0 -14
  229. package/esm2020/public-api.mjs +0 -7
  230. package/esm2020/tuki-io-tuki-widgets.mjs +0 -5
  231. package/esm2020/user-manage/public-api.mjs +0 -7
  232. package/esm2020/user-manage/src/app.constants.mjs +0 -50
  233. package/esm2020/user-manage/src/classes/device.mjs +0 -24
  234. package/esm2020/user-manage/src/classes/line-association-interface.mjs +0 -2
  235. package/esm2020/user-manage/src/classes/line-association.mjs +0 -110
  236. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +0 -10
  237. package/esm2020/user-manage/src/classes/line-directory.mjs +0 -27
  238. package/esm2020/user-manage/src/classes/line.mjs +0 -18
  239. package/esm2020/user-manage/src/classes/notification.mjs +0 -32
  240. package/esm2020/user-manage/src/classes/pagination.mjs +0 -8
  241. package/esm2020/user-manage/src/classes/recording-options.mjs +0 -7
  242. package/esm2020/user-manage/src/classes/simplified-user.mjs +0 -109
  243. package/esm2020/user-manage/src/classes/table-data.mjs +0 -2
  244. package/esm2020/user-manage/src/classes/translation-pattern.mjs +0 -32
  245. package/esm2020/user-manage/src/classes/user-list.mjs +0 -10
  246. package/esm2020/user-manage/src/common-functions.mjs +0 -19
  247. package/esm2020/user-manage/src/environments/environment.mjs +0 -11
  248. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +0 -36
  249. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
  250. package/esm2020/user-manage/src/material.module.mjs +0 -188
  251. package/esm2020/user-manage/src/notifications/notification.component.mjs +0 -35
  252. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +0 -25
  253. package/esm2020/user-manage/src/services/api.service.mjs +0 -79
  254. package/esm2020/user-manage/src/services/dns.service.mjs +0 -110
  255. package/esm2020/user-manage/src/services/line.service.mjs +0 -34
  256. package/esm2020/user-manage/src/services/notification.service.mjs +0 -62
  257. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  258. package/esm2020/user-manage/src/services/site-settings.service.mjs +0 -36
  259. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +0 -197
  260. package/esm2020/user-manage/src/services/user.service.mjs +0 -207
  261. package/esm2020/user-manage/src/services/users-search.service.mjs +0 -49
  262. package/esm2020/user-manage/src/services/utils.service.mjs +0 -73
  263. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +0 -65
  264. package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +0 -78
  265. package/esm2020/user-manage/src/user-info/user-info.component.mjs +0 -20
  266. package/esm2020/user-manage/src/user-manage-widget.component.mjs +0 -193
  267. package/esm2020/user-manage/src/user-manage.module.mjs +0 -96
  268. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
  269. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +0 -43
  270. package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +0 -5
  271. package/esm2020/users-list/public-api.mjs +0 -9
  272. package/esm2020/users-list/src/app.constants.mjs +0 -46
  273. package/esm2020/users-list/src/classes/device.mjs +0 -7
  274. package/esm2020/users-list/src/classes/line.mjs +0 -18
  275. package/esm2020/users-list/src/classes/notification.mjs +0 -31
  276. package/esm2020/users-list/src/classes/pagination.mjs +0 -8
  277. package/esm2020/users-list/src/classes/simlified-user.mjs +0 -50
  278. package/esm2020/users-list/src/classes/table-data.mjs +0 -2
  279. package/esm2020/users-list/src/classes/user-list.mjs +0 -13
  280. package/esm2020/users-list/src/material.module.mjs +0 -195
  281. package/esm2020/users-list/src/services/api-webex.service.mjs +0 -17
  282. package/esm2020/users-list/src/services/api.service.mjs +0 -78
  283. package/esm2020/users-list/src/services/events-communication.service.mjs +0 -14
  284. package/esm2020/users-list/src/services/notification.service.mjs +0 -62
  285. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +0 -25
  286. package/esm2020/users-list/src/services/user.service.mjs +0 -129
  287. package/esm2020/users-list/src/services/users-search.service.mjs +0 -99
  288. package/esm2020/users-list/src/users-list.component.mjs +0 -187
  289. package/esm2020/users-list/src/users-list.module.mjs +0 -62
  290. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +0 -14
  291. package/esm2020/users-list/src/utils/common-functions.mjs +0 -19
  292. package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +0 -43
  293. package/esm2020/users-list/src/utils/utils.service.mjs +0 -73
  294. package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +0 -5
  295. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +0 -2074
  296. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  297. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +0 -1100
  298. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  299. package/fesm2015/tuki-io-tuki-widgets.mjs +0 -63
  300. package/fesm2015/tuki-io-tuki-widgets.mjs.map +0 -1
  301. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +0 -2057
  302. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  303. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +0 -1093
  304. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  305. package/fesm2020/tuki-io-tuki-widgets.mjs +0 -63
  306. package/fesm2020/tuki-io-tuki-widgets.mjs.map +0 -1
  307. package/index.d.ts +0 -5
  308. package/lib/widgets.component.d.ts +0 -8
  309. package/lib/widgets.module.d.ts +0 -7
  310. package/lib/widgets.service.d.ts +0 -6
  311. package/user-manage/index.d.ts +0 -5
  312. package/user-manage/src/app.constants.d.ts +0 -29
  313. package/user-manage/src/classes/device.d.ts +0 -186
  314. package/user-manage/src/classes/line-association-interface.d.ts +0 -40
  315. package/user-manage/src/classes/line-association.d.ts +0 -55
  316. package/user-manage/src/classes/line-call-info-display.d.ts +0 -11
  317. package/user-manage/src/classes/line-directory.d.ts +0 -16
  318. package/user-manage/src/classes/line.d.ts +0 -140
  319. package/user-manage/src/classes/notification.d.ts +0 -18
  320. package/user-manage/src/classes/pagination.d.ts +0 -13
  321. package/user-manage/src/classes/recording-options.d.ts +0 -5
  322. package/user-manage/src/classes/simplified-user.d.ts +0 -50
  323. package/user-manage/src/classes/table-data.d.ts +0 -5
  324. package/user-manage/src/classes/translation-pattern.d.ts +0 -18
  325. package/user-manage/src/classes/user-list.d.ts +0 -34
  326. package/user-manage/src/common-functions.d.ts +0 -1
  327. package/user-manage/src/environments/environment.d.ts +0 -9
  328. package/user-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  329. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
  330. package/user-manage/src/material.module.d.ts +0 -28
  331. package/user-manage/src/notifications/notification.component.d.ts +0 -19
  332. package/user-manage/src/removeKynFromIBM.service.d.ts +0 -8
  333. package/user-manage/src/services/api.service.d.ts +0 -21
  334. package/user-manage/src/services/dns.service.d.ts +0 -14
  335. package/user-manage/src/services/line.service.d.ts +0 -17
  336. package/user-manage/src/services/notification.service.d.ts +0 -18
  337. package/user-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  338. package/user-manage/src/services/site-settings.service.d.ts +0 -9
  339. package/user-manage/src/services/sorting-utils.service.d.ts +0 -26
  340. package/user-manage/src/services/user.service.d.ts +0 -43
  341. package/user-manage/src/services/users-search.service.d.ts +0 -25
  342. package/user-manage/src/services/utils.service.d.ts +0 -9
  343. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +0 -24
  344. package/user-manage/src/user-calling/user-calling.component.d.ts +0 -30
  345. package/user-manage/src/user-info/user-info.component.d.ts +0 -9
  346. package/user-manage/src/user-manage-widget.component.d.ts +0 -39
  347. package/user-manage/src/user-manage.module.d.ts +0 -20
  348. package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  349. package/user-manage/src/utils/pagination/pagination.component.d.ts +0 -18
  350. package/users-list/index.d.ts +0 -5
  351. package/users-list/src/app.constants.d.ts +0 -28
  352. package/users-list/src/classes/device.d.ts +0 -224
  353. package/users-list/src/classes/line.d.ts +0 -140
  354. package/users-list/src/classes/notification.d.ts +0 -18
  355. package/users-list/src/classes/pagination.d.ts +0 -13
  356. package/users-list/src/classes/simlified-user.d.ts +0 -25
  357. package/users-list/src/classes/table-data.d.ts +0 -5
  358. package/users-list/src/classes/user-list.d.ts +0 -36
  359. package/users-list/src/material.module.d.ts +0 -29
  360. package/users-list/src/services/api-webex.service.d.ts +0 -8
  361. package/users-list/src/services/api.service.d.ts +0 -21
  362. package/users-list/src/services/events-communication.service.d.ts +0 -8
  363. package/users-list/src/services/notification.service.d.ts +0 -18
  364. package/users-list/src/services/removeKynFromIBM.service.d.ts +0 -8
  365. package/users-list/src/services/user.service.d.ts +0 -32
  366. package/users-list/src/services/users-search.service.d.ts +0 -31
  367. package/users-list/src/users-list.component.d.ts +0 -49
  368. package/users-list/src/users-list.module.d.ts +0 -13
  369. package/users-list/src/utils/app-loader/app-loader.d.ts +0 -6
  370. package/users-list/src/utils/common-functions.d.ts +0 -1
  371. package/users-list/src/utils/pagination/pagination.component.d.ts +0 -18
  372. package/users-list/src/utils/utils.service.d.ts +0 -9
  373. /package/{user-manage/public-api.d.ts → projects/tuki/widgets/user-manage/public-api.ts} +0 -0
  374. /package/{users-list/public-api.d.ts → projects/tuki/widgets/users-list/public-api.ts} +0 -0
@@ -1,1100 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, Component, Input, Output, ViewEncapsulation, NgModule } from '@angular/core';
3
- import * as i9 from '@angular/material/table';
4
- import { MatTableDataSource, MatTableModule } from '@angular/material/table';
5
- import { of, forkJoin, Subject, BehaviorSubject } from 'rxjs';
6
- import * as i2 from '@angular/forms';
7
- import { FormBuilder, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
8
- import { map } from 'rxjs/operators';
9
- import * as i1 from '@angular/common/http';
10
- import { HttpHeaders, HttpClientModule } from '@angular/common/http';
11
- import * as i1$1 from '@angular/common';
12
- import * as i7 from '@angular/material/button';
13
- import { MatButtonModule } from '@angular/material/button';
14
- import * as i3 from '@angular/material/progress-spinner';
15
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
16
- import * as i10 from '@angular/material/menu';
17
- import { MatMenuModule } from '@angular/material/menu';
18
- import * as i4 from '@angular/material/core';
19
- import { MatNativeDateModule } from '@angular/material/core';
20
- import * as i5 from '@angular/material/select';
21
- import { MatSelectModule } from '@angular/material/select';
22
- import * as i6 from '@angular/material/paginator';
23
- import { MatPaginatorModule } from '@angular/material/paginator';
24
- import { BrowserModule } from '@angular/platform-browser';
25
- import { MatExpansionModule } from '@angular/material/expansion';
26
- import { MatDatepickerModule } from '@angular/material/datepicker';
27
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
28
- import { MatChipsModule } from '@angular/material/chips';
29
- import { MatListModule } from '@angular/material/list';
30
- import { MatSidenavModule } from '@angular/material/sidenav';
31
- import { MatTreeModule } from '@angular/material/tree';
32
- import { DragDropModule } from '@angular/cdk/drag-drop';
33
- import { MatInputModule } from '@angular/material/input';
34
- import { MatTooltipModule } from '@angular/material/tooltip';
35
- import { MatFormFieldModule } from '@angular/material/form-field';
36
- import { MatStepperModule } from '@angular/material/stepper';
37
- import { MatTabsModule } from '@angular/material/tabs';
38
- import { MatCardModule } from '@angular/material/card';
39
- import { MatCheckboxModule } from '@angular/material/checkbox';
40
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
41
-
42
- const API = {
43
- USER_TOKEN: '/api/provision/:siteId/users/:userId/token',
44
- UPDATE_USER_FIELDS: '/api/provision/:siteId/userFields/:token',
45
- PERSIST_USER_CACHE: '/api/provision/:siteId/saveUser/:token',
46
- USER_BY_ID: '/api/provision/:siteId/users/:userId',
47
- QUICK_USERS_SEARCH: "/api/search/quickusers",
48
- DELETE_USER: "/api/search/quickusers",
49
- MOVE_USER: "/api/migration/webex/singlemigration/features/PERSON",
50
- AVAILABLE_DN_IN_RANGES: "/api/sites/:siteId/available-dn-in-ranges",
51
- DELETE_LINE: "/api/provision/:siteId/deleteLine/:pkid/:token",
52
- DISASSOCIATE_LINE: "/api/provision/:siteId/:deviceName/deleteLineAssociation/:linePkid/:token",
53
- CHECK_DELETE_LINE: "/api/provision/:siteId/checklinedeletion",
54
- ASSOCIATE_LINE: "/api/provision/:siteId/:deviceName/createLineAssociation/:token",
55
- CHECK_DESTINATION_NUMBER: "/api/provision/:siteId/check-dn",
56
- UPDATE_LINE_FIELDS: "/api/provision/:siteId/lineFields/:pkid/:token",
57
- UPDATE_DEVICE_FIELDS: "/api/provision/:siteId/deviceFields/:deviceName/:token"
58
- };
59
- const REGEX_PATTERN = {
60
- EMAIL: '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))' +
61
- '@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])' +
62
- '?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])?)*$'
63
- };
64
- const PAGINATION_DEFAULTS = {
65
- SIZE: 10,
66
- INDEX: 0
67
- };
68
- const PAGINATION_SIZE_OPTIONS = [
69
- 10,
70
- 50,
71
- 100,
72
- 500
73
- ];
74
- const CUCS_TO_IGNORE = [
75
- 189,
76
- 194,
77
- 191,
78
- 190
79
- ];
80
- const CUCMS_TO_IGNORE = [
81
- 249,
82
- 255,
83
- 251,
84
- 250
85
- ];
86
- const MAX_INTEGER = 2147483647;
87
-
88
- const getSavableData = (model, exclude) => {
89
- let result = Object.keys(model);
90
- if (exclude && exclude.length) {
91
- result = result.filter(key => !exclude.some(item => item === key));
92
- }
93
- return result.reduce((result, key) => {
94
- if (model[key] instanceof Array && model[key].length && model[key][0].getSavableData) {
95
- result[key] = model[key].map((item) => item.getSavableData());
96
- }
97
- else if (model[key] instanceof Object && model[key].getSavableData) {
98
- result[key] = model[key].getSavableData();
99
- }
100
- else {
101
- result[key] = model[key];
102
- }
103
- return result;
104
- }, {});
105
- };
106
-
107
- class SimplifiedUser {
108
- constructor(user) {
109
- if (user) {
110
- this.userid = user.userid;
111
- this.email = user.email;
112
- this.firstName = user.firstName;
113
- this.lastName = user.lastName;
114
- this.token = user.token;
115
- }
116
- this.initForm();
117
- }
118
- initForm() {
119
- const formBuilder = new FormBuilder();
120
- const formSettings = {
121
- userid: [{ value: this.userid || '', disabled: true }, [Validators.required, Validators.maxLength(128)]],
122
- email: [{ value: this.email || '', disabled: true }, [
123
- Validators.pattern(REGEX_PATTERN.EMAIL),
124
- Validators.required
125
- ]],
126
- firstName: [{ value: this.firstName || '', disabled: true }],
127
- lastName: [{ value: this.lastName || '', disabled: true }, Validators.required],
128
- };
129
- this.form = formBuilder.group(formSettings);
130
- }
131
- toggleEditMode() {
132
- this.editMode = !this.editMode;
133
- ['userid', 'email', 'firstName', 'lastName'].forEach(token => {
134
- var _a, _b;
135
- if (this.editMode) {
136
- (_a = this.form.get(token)) === null || _a === void 0 ? void 0 : _a.enable();
137
- }
138
- else {
139
- (_b = this.form.get(token)) === null || _b === void 0 ? void 0 : _b.disable();
140
- }
141
- });
142
- }
143
- getSavableData() {
144
- const excludedFields = ['form', 'editMode', 'viewMode', 'token', 'hasModifiedCache'];
145
- return getSavableData(this, excludedFields);
146
- }
147
- equal(userToCompare) {
148
- if (!userToCompare) {
149
- return false;
150
- }
151
- return JSON.stringify(this.getSavableData()) === JSON.stringify(userToCompare.getSavableData());
152
- }
153
- }
154
-
155
- class UtilsService {
156
- static sortSortArrayByProperty(array, sortBy) {
157
- if (!array) {
158
- return null;
159
- }
160
- return array.sort((a, b) => {
161
- if (!a[sortBy] && !b[sortBy]) {
162
- return 0;
163
- }
164
- if (a[sortBy] && !b[sortBy]) {
165
- return 1;
166
- }
167
- if (!a[sortBy] && b[sortBy]) {
168
- return -1;
169
- }
170
- const positionA = a[sortBy];
171
- const positionB = b[sortBy];
172
- return (positionA < positionB) ? -1 : (positionA > positionB) ? 1 : 0;
173
- });
174
- }
175
- static diff(origObject, updatedObj, path, keysToIgnore) {
176
- let result = [];
177
- if (Object.is(origObject, updatedObj)) {
178
- return undefined;
179
- }
180
- if (!updatedObj || typeof updatedObj !== 'object') {
181
- return updatedObj;
182
- }
183
- const concat = Array.from(new Set([...Object.keys(origObject || {}), ...Object.keys(updatedObj || {})]));
184
- const filter = keysToIgnore ? concat.filter(key => !keysToIgnore.includes(key)) : concat;
185
- filter
186
- .forEach(key => {
187
- if (typeof updatedObj[key] === 'object' && typeof origObject[key] === 'object') {
188
- if (UtilsService.differs(updatedObj[key], origObject[key])) {
189
- const newPath = `${path}${path ? '.' : ''}${key}`;
190
- const values = UtilsService.diff(origObject[key], updatedObj[key], newPath, keysToIgnore);
191
- if (values !== undefined) {
192
- result = [...result, ...values];
193
- }
194
- }
195
- }
196
- else if (updatedObj && !origObject || updatedObj[key] !== origObject[key] && !Object.is(origObject[key], updatedObj[key])) {
197
- const value = updatedObj ? UtilsService.formatIfEmpty(updatedObj[key]) : null;
198
- result.push(`${path}${path ? '.' : ''}${key}=${value}`);
199
- }
200
- });
201
- return result;
202
- }
203
- static formatIfEmpty(value) {
204
- if (value) {
205
- return value;
206
- }
207
- switch (typeof value) {
208
- case 'boolean':
209
- return value;
210
- case 'string':
211
- return '';
212
- default:
213
- return null;
214
- }
215
- }
216
- static differs(obj1, obj2) {
217
- return JSON.stringify(obj1) !== JSON.stringify(obj2);
218
- }
219
- }
220
- UtilsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
221
- UtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService });
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService, decorators: [{
223
- type: Injectable
224
- }] });
225
-
226
- class APIService {
227
- constructor(httpClient) {
228
- this.httpClient = httpClient;
229
- this.apiUrl = window.location.protocol + '//' + window.location.hostname + '/dcp';
230
- }
231
- fetch(url, params = {}, cache) {
232
- const headers = this.getHeaders(cache);
233
- return this.httpClient.get(this.apiUrl + url, { params: this.prepareEncodedParams(params), headers });
234
- }
235
- post(url, body, params = {}) {
236
- body = body || null;
237
- const headers = this.getHeaders();
238
- return this.httpClient.post(this.apiUrl + url, body, { params: this.prepareEncodedParams(params), headers });
239
- }
240
- // use when response extended data is necessary:
241
- postExtended(url, body = null, params = {}, headers = {}) {
242
- headers = headers || this.getHeaders();
243
- return this.httpClient.post(this.apiUrl + url, body, {
244
- headers,
245
- observe: 'response',
246
- params: this.prepareEncodedParams(params)
247
- });
248
- }
249
- put(url, body = null, params = {}) {
250
- const headers = this.getHeaders();
251
- return this.httpClient.put(this.apiUrl + url, body, { headers, params: this.prepareEncodedParams(params) });
252
- }
253
- delete(url, params = {}) {
254
- const headers = this.getHeaders();
255
- return this.httpClient.delete(this.apiUrl + url, { headers, params: this.prepareEncodedParams(params) });
256
- }
257
- fetchPagination(url, pageSize, pageNumber, additionalParams = {}, cache) {
258
- const copyAdditionalParams = JSON.parse(JSON.stringify(additionalParams));
259
- const params = Object.assign(copyAdditionalParams, { size: pageSize.toString(), page: pageNumber.toString() });
260
- return this.fetch(url, params, cache);
261
- }
262
- prepareEncodedParams(params) {
263
- const result = {};
264
- if (!params) {
265
- return {};
266
- }
267
- for (const key of Object.keys(params)) {
268
- if (params[key]) {
269
- const stringParam = params[key].toString();
270
- result[key] = stringParam.includes('+') ? encodeURIComponent(stringParam) : stringParam;
271
- }
272
- }
273
- return result;
274
- }
275
- getHeaders(cache) {
276
- let headers = new HttpHeaders();
277
- if (cache) {
278
- headers = headers.append('_Cache', 'true ');
279
- }
280
- const token = this.token || this.getParameterByName('token');
281
- headers = headers.append('Authorization', 'Bearer ' + token);
282
- return headers;
283
- }
284
- getParameterByName(name, url = window.location.href) {
285
- name = name.replace(/[\[\]]/g, '\\$&');
286
- var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
287
- if (!results)
288
- return null;
289
- if (!results[2])
290
- return '';
291
- return decodeURIComponent(results[2].replace(/\+/g, ' '));
292
- }
293
- }
294
- APIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
295
- APIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService });
296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, decorators: [{
297
- type: Injectable
298
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
299
-
300
- class ApiWebexService extends APIService {
301
- constructor(httpClient) {
302
- super(httpClient);
303
- //this.apiUrl = window.location.protocol + "//"+ window.location.hostname + environment.apiAuthUrl;
304
- this.apiUrl = 'https://webex.car-west.net/webex';
305
- }
306
- }
307
- ApiWebexService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiWebexService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
308
- ApiWebexService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiWebexService });
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiWebexService, decorators: [{
310
- type: Injectable
311
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
312
-
313
- class UserService {
314
- constructor(apiService, apiWebexService) {
315
- this.apiService = apiService;
316
- this.apiWebexService = apiWebexService;
317
- this.siteId = -1;
318
- this.userId = '';
319
- this.userIdExistPending = false;
320
- this.hasExistedUserId = false;
321
- }
322
- ngOnInit() {
323
- console.log(this.siteId);
324
- }
325
- fetchUserToken(siteId, userId) {
326
- this.siteId = siteId;
327
- this.userId = userId;
328
- return this.apiService.fetch(API.USER_TOKEN.replace(':siteId', String(this.siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(userId))))
329
- .pipe(map((result) => {
330
- const token = Object.keys(result)[0];
331
- this.setSimplifiedUser(Object.values(result)[0], token);
332
- }));
333
- // .pipe(this.handleError(false, true));
334
- }
335
- updateUserFields(body) {
336
- var _a;
337
- if (!this.userId || !this.siteId || !((_a = this.user) === null || _a === void 0 ? void 0 : _a.token)) {
338
- return;
339
- }
340
- return this.apiService.post(API.UPDATE_USER_FIELDS.replace(':siteId', String(this.siteId)).replace(':token', this.user.token), body);
341
- // .pipe(this.handleError(false, true));
342
- }
343
- moveUser(customerId, user) {
344
- // return new Observable<boolean>(observer => {
345
- // setTimeout(() => {
346
- // observer.next(true);
347
- //
348
- // }, 80000);
349
- // });
350
- return this.apiWebexService.post(API.MOVE_USER, this.getMoveUserBody(customerId, user));
351
- // .pipe(this.handleError(true, true));
352
- }
353
- getMoveUserBody(customerId, user) {
354
- return {
355
- customerId: customerId,
356
- entities: {
357
- PERSON: [{ cucmId: user.cucmId, entityId: user.userid }]
358
- }
359
- };
360
- }
361
- deleteUser(siteId, userId) {
362
- return this.apiService.delete(API.DELETE_USER.replace(':siteId', String(siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(userId))));
363
- // .pipe(this.handleError(true, true));
364
- }
365
- fetchUserById(id) {
366
- this.userIdExistPending = true;
367
- return this.apiService.fetch(API.USER_BY_ID.replace(':siteId', String(this.siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(id))))
368
- .pipe(map(result => {
369
- this.userIdExistPending = false;
370
- return result;
371
- }));
372
- }
373
- persistCacheChanges() {
374
- const params = {
375
- excludeDeviceExtraOptions: true
376
- };
377
- return this.processUserChangesToCache()
378
- .pipe(map((result) => {
379
- return this.apiService.post(API.PERSIST_USER_CACHE.replace(':siteId', String(this.siteId)).replace(':token', this.user.token), {}, params)
380
- .subscribe(() => {
381
- });
382
- // .pipe(map((user) => {
383
- // // this.setUser(user, false, this.user.token);
384
- // this.user.hasModifiedCache = false;
385
- // }))
386
- // .pipe(this.handleError(true, true));
387
- }));
388
- }
389
- processUserChangesToCache() {
390
- const calls = [];
391
- const body = UtilsService.diff(this.originUser.getSavableData(), this.user.getSavableData(), 'user');
392
- if (body) {
393
- calls.push(this.updateUserFields(body));
394
- }
395
- if (!(calls === null || calls === void 0 ? void 0 : calls.length)) {
396
- return of(this.user);
397
- }
398
- return forkJoin(calls)
399
- .pipe(map((responses) => {
400
- // ApiUserResponse
401
- this.handleSaveUserResponse(responses);
402
- }));
403
- // .pipe(this.handleError(false, true));
404
- }
405
- hasUnsavedChanges() {
406
- return !this.user.equal(this.originUser);
407
- }
408
- setSimplifiedUser(user, token) {
409
- this.user = new SimplifiedUser(user);
410
- const copiedUser = JSON.parse(JSON.stringify(user));
411
- this.originUser = new SimplifiedUser(copiedUser);
412
- this.user.token = this.user.token || token;
413
- this.originUser.token = this.originUser.token || token;
414
- }
415
- handleSaveUserResponse(responses) {
416
- if (!(responses === null || responses === void 0 ? void 0 : responses.length)) {
417
- return;
418
- }
419
- for (let len = responses.length, i = len - 1; i >= 0; i--) {
420
- if (responses[i] && responses[i].currentUpdatedUser) {
421
- // this.setUser(responses[i].currentUpdatedUser, false, this.user.token);
422
- this.user.hasModifiedCache = true;
423
- return;
424
- }
425
- }
426
- }
427
- }
428
- UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService, deps: [{ token: APIService }, { token: ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
429
- UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService });
430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService, decorators: [{
431
- type: Injectable
432
- }], ctorParameters: function () { return [{ type: APIService }, { type: ApiWebexService }]; } });
433
-
434
- const TTL_DEFAULT = 30000;
435
- const TTL_LONG_DEFAULT = 45000;
436
- var NotificationType;
437
- (function (NotificationType) {
438
- NotificationType["info"] = "info";
439
- NotificationType["error"] = "error";
440
- NotificationType["success"] = "success";
441
- NotificationType["warning"] = "warning";
442
- })(NotificationType || (NotificationType = {}));
443
- class Notification {
444
- constructor(data) {
445
- this.ttl = TTL_DEFAULT;
446
- Object.assign(this, data || {});
447
- if (this.ttl === undefined) {
448
- this.ttl = this.message && this.message.length && this.message.length < 80 ? TTL_DEFAULT : TTL_LONG_DEFAULT;
449
- }
450
- }
451
- isInfo() {
452
- return this.type === NotificationType.info;
453
- }
454
- isError() {
455
- return this.type === NotificationType.error;
456
- }
457
- isSuccess() {
458
- return this.type === NotificationType.success;
459
- }
460
- isWarning() {
461
- return this.type === NotificationType.warning;
462
- }
463
- }
464
-
465
- const SUCCESS_TIME = 5000;
466
- const INACTIVE_SESSION_MESSAGE = 'Your session was lost due to inactivity. Please login again';
467
- const INACTIVE_SESSION = 'SESSION_INACTIVE';
468
- class NotificationService {
469
- constructor() {
470
- this.listChange = new Subject();
471
- this.max = 0;
472
- this.list = [];
473
- }
474
- error(message, ttl) {
475
- this.notify('error', message, ttl);
476
- }
477
- success(message, ttl) {
478
- this.notify('success', message, (!ttl) ? SUCCESS_TIME : ttl);
479
- }
480
- warning(message, ttl) {
481
- this.notify('warning', message, ttl);
482
- }
483
- info(message, ttl) {
484
- this.notify('info', message, ttl);
485
- }
486
- notify(type, message, ttl) {
487
- const found = this.list.find((n) => n.message === message);
488
- if (found) {
489
- this.remove(found);
490
- }
491
- const notification = new Notification({
492
- id: ++this.max,
493
- type, message, ttl
494
- });
495
- if (notification.ttl > 0) {
496
- notification.timerId = setTimeout(() => this.remove(notification, true), notification.ttl);
497
- }
498
- this.list.push(notification);
499
- this.listChange.next(this.list);
500
- }
501
- remove(notification, auto) {
502
- if (!auto && notification.timerId) {
503
- // clear timeout in case of manual remove
504
- clearInterval(notification.timerId);
505
- }
506
- this.list = this.list.filter(n => n.id !== notification.id);
507
- this.listChange.next(this.list);
508
- }
509
- removeInactiveSessionError() {
510
- if (!this.list || !this.list.length) {
511
- return;
512
- }
513
- this.list = this.list.filter(n => n.message !== INACTIVE_SESSION_MESSAGE && n.message !== INACTIVE_SESSION);
514
- this.listChange.next(this.list);
515
- }
516
- }
517
- NotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
518
- NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService });
519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService, decorators: [{
520
- type: Injectable
521
- }], ctorParameters: function () { return []; } });
522
-
523
- class ListUser {
524
- constructor(user, roleName) {
525
- this.devices = [];
526
- this.deviceProfiles = [];
527
- if (user) {
528
- Object.assign(this, user);
529
- }
530
- if (roleName) {
531
- this.roleName = roleName;
532
- }
533
- }
534
- }
535
-
536
- class RemoveKynFromIBMService {
537
- constructor() {
538
- }
539
- removeCUCMS(date, customerId) {
540
- if (customerId === 8) {
541
- return date.filter((val) => !CUCMS_TO_IGNORE.includes(Math.round(val.cucmId)));
542
- }
543
- return date;
544
- }
545
- removeCUCS(date, customerId) {
546
- if (customerId === 8) {
547
- return date.filter((val) => !CUCS_TO_IGNORE.includes(Math.round(val.cucId)));
548
- }
549
- return date;
550
- }
551
- }
552
- RemoveKynFromIBMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveKynFromIBMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
553
- RemoveKynFromIBMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveKynFromIBMService });
554
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveKynFromIBMService, decorators: [{
555
- type: Injectable
556
- }], ctorParameters: function () { return []; } });
557
-
558
- class UsersSearchService {
559
- constructor(apiService, webexApiService, removeKynFromIBMService) {
560
- this.apiService = apiService;
561
- this.webexApiService = webexApiService;
562
- this.removeKynFromIBMService = removeKynFromIBMService;
563
- this.siteId = -1;
564
- this.userId = '';
565
- this.userIdExistPending = false;
566
- this.hasExistedUserId = false;
567
- this.pageSize = PAGINATION_DEFAULTS.SIZE;
568
- this.pageIndex = PAGINATION_DEFAULTS.SIZE;
569
- this.pageSizeOptions = PAGINATION_SIZE_OPTIONS;
570
- this.foundUsers$ = new BehaviorSubject(null);
571
- }
572
- getPagination() {
573
- return {
574
- total: this.total,
575
- pageSizeOptions: this.pageSizeOptions,
576
- pageSize: this.pageSize,
577
- pageIndex: this.pageIndex
578
- };
579
- }
580
- setDefaultValues() {
581
- this.total = 0;
582
- this.pageSize = PAGINATION_DEFAULTS.SIZE;
583
- this.pageIndex = PAGINATION_DEFAULTS.INDEX;
584
- this.pageSizeOptions = PAGINATION_SIZE_OPTIONS;
585
- }
586
- quickRegularUsersSearch(searchParams, isMigratedUsersOnly, pageSize) {
587
- console.log('searchParams = ', searchParams);
588
- this.searchParams = searchParams || { customerid: this.customerId, siteid: this.siteId };
589
- return this.apiService.fetchPagination(API.QUICK_USERS_SEARCH, this.pageSize, pageSize || this.pageIndex, this.searchParams)
590
- .pipe(map((res) => {
591
- var _a;
592
- // this.totals = this.totals || {};
593
- // this.totals['users'] = res.total;
594
- // this.foundUsers$.next(this.removeKynFromIBMService.removeCUCMS(users, this.customerId));
595
- if (!isMigratedUsersOnly) {
596
- const users = res.pageData && res.pageData.length ? res.pageData
597
- .map(user => new ListUser(user, 'Dedicated Instance Calling user')) : [];
598
- if ((_a = this.migratedUsersIds) === null || _a === void 0 ? void 0 : _a.length) {
599
- this.setMigratedPropToUsers(users);
600
- }
601
- this.total = res.total;
602
- this.foundUsers$.next(users);
603
- }
604
- else {
605
- this.migratedUsersIds = res.pageData && res.pageData.length ? res.pageData
606
- .map(user => user.userid) : [];
607
- }
608
- }));
609
- // .pipe(this.handleError(true));
610
- }
611
- quickWebexUsersSearch(searchParams, isMigratedUsersOnly, pageSize) {
612
- this.searchParams = searchParams || { customerid: this.customerId, siteid: this.siteId };
613
- return this.webexApiService.fetchPagination(API.QUICK_USERS_SEARCH, this.pageSize, pageSize || this.pageIndex, this.searchParams)
614
- .pipe(map((res) => {
615
- var _a;
616
- if (!isMigratedUsersOnly) {
617
- const users = res.pageData && res.pageData.length ? res.pageData
618
- .map(user => new ListUser(user, 'Dedicated Instance Calling user')) : [];
619
- if ((_a = this.migratedUsersIds) === null || _a === void 0 ? void 0 : _a.length) {
620
- this.setMigratedPropToUsers(users);
621
- }
622
- this.total = res.total;
623
- this.foundUsers$.next(users);
624
- }
625
- else {
626
- this.migratedUsersIds = res.pageData && res.pageData.length ? res.pageData
627
- .map(user => user.userid) : [];
628
- }
629
- }));
630
- // .pipe(this.handleError(true));
631
- }
632
- setMigratedPropToUsers(users) {
633
- users.forEach((user) => {
634
- if (!this.migratedUsersIds.includes(user.userid)) {
635
- user.isMigrated = false;
636
- }
637
- else {
638
- user.roleName = '';
639
- user.isMigrated = true;
640
- }
641
- });
642
- }
643
- }
644
- UsersSearchService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersSearchService, deps: [{ token: APIService }, { token: ApiWebexService }, { token: RemoveKynFromIBMService }], target: i0.ɵɵFactoryTarget.Injectable });
645
- UsersSearchService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersSearchService });
646
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersSearchService, decorators: [{
647
- type: Injectable
648
- }], ctorParameters: function () { return [{ type: APIService }, { type: ApiWebexService }, { type: RemoveKynFromIBMService }]; } });
649
-
650
- class PaginationComponent {
651
- constructor() {
652
- this.pageEmitter = new EventEmitter();
653
- this.pageNumberChangeEmitter = new EventEmitter();
654
- this.pageSizeOptions = PAGINATION_SIZE_OPTIONS;
655
- }
656
- ngOnInit() {
657
- }
658
- pageEvent(event) {
659
- this.pageEmitter.emit(event);
660
- }
661
- changePerPageNumber(event) {
662
- this.pageNumberChangeEmitter.emit(event.value);
663
- }
664
- }
665
- PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
666
- PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PaginationComponent, selector: "app-pagination", inputs: { pagination: "pagination", showPageSizeOptions: "showPageSizeOptions", showRefreshButton: "showRefreshButton", lengthPending: "lengthPending" }, outputs: { pageEmitter: "pageEmitter", pageNumberChangeEmitter: "pageNumberChangeEmitter" }, ngImport: i0, template: "<div class=\"flex-box pagination\">\n <div class=\"page-indexes-box\">\n <mat-paginator\n [id]=\"'commonPagination'\"\n [hidePageSize]=\"true\"\n [length]=\"pagination.total\"\n [pageIndex]=\"pagination.pageIndex\"\n [pageSize]=\"pagination.pageSize\"\n [pageSizeOptions]=\"pagination.pageSizeOptions\"\n (page)=\"pageEvent($event)\">\n </mat-paginator>\n <mat-spinner class=\"length-spinner\" [diameter]=\"20\" mode=\"indeterminate\" *ngIf=\"lengthPending\">\n </mat-spinner>\n </div>\n\n <div class=\"flex-box per-page-block\" *ngIf=\"showPageSizeOptions\">\n <div class=\"item_per_page\">Items per page:</div>\n <div class=\"select-box select-page-size\">\n <mat-select [(ngModel)]=\"pagination.pageSize\" (selectionChange)=\"changePerPageNumber($event)\" #page\n [id]=\"'commonPaginationSelect'\">\n <mat-option *ngFor=\"let option of pageSizeOptions; let i = index;\" [id]=\"'paginationSelectOpt_' + i\" [value]=\"option\">{{option}}</mat-option>\n </mat-select>\n </div>\n\n </div>\n</div>\n", styles: [".search-header-refresh-icon{align-items:center;line-height:54px;margin-left:10px}button[mat-icon-button] i{font-size:18px}mat-spinner.length-spinner{position:absolute;right:120px}h3,.search-header-refresh-icon{float:left}.page-options,.mat-paginator{float:right}.per-page-block mat-form-field{width:70px!important}.per-page-block span{margin-right:20px}.pagination{display:flex;justify-content:flex-end}.select-page-size{width:60px;margin:0 0 0 15px;padding:0 10px}.item_per_page{line-height:35px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }] });
667
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginationComponent, decorators: [{
668
- type: Component,
669
- args: [{ selector: 'app-pagination', template: "<div class=\"flex-box pagination\">\n <div class=\"page-indexes-box\">\n <mat-paginator\n [id]=\"'commonPagination'\"\n [hidePageSize]=\"true\"\n [length]=\"pagination.total\"\n [pageIndex]=\"pagination.pageIndex\"\n [pageSize]=\"pagination.pageSize\"\n [pageSizeOptions]=\"pagination.pageSizeOptions\"\n (page)=\"pageEvent($event)\">\n </mat-paginator>\n <mat-spinner class=\"length-spinner\" [diameter]=\"20\" mode=\"indeterminate\" *ngIf=\"lengthPending\">\n </mat-spinner>\n </div>\n\n <div class=\"flex-box per-page-block\" *ngIf=\"showPageSizeOptions\">\n <div class=\"item_per_page\">Items per page:</div>\n <div class=\"select-box select-page-size\">\n <mat-select [(ngModel)]=\"pagination.pageSize\" (selectionChange)=\"changePerPageNumber($event)\" #page\n [id]=\"'commonPaginationSelect'\">\n <mat-option *ngFor=\"let option of pageSizeOptions; let i = index;\" [id]=\"'paginationSelectOpt_' + i\" [value]=\"option\">{{option}}</mat-option>\n </mat-select>\n </div>\n\n </div>\n</div>\n", styles: [".search-header-refresh-icon{align-items:center;line-height:54px;margin-left:10px}button[mat-icon-button] i{font-size:18px}mat-spinner.length-spinner{position:absolute;right:120px}h3,.search-header-refresh-icon{float:left}.page-options,.mat-paginator{float:right}.per-page-block mat-form-field{width:70px!important}.per-page-block span{margin-right:20px}.pagination{display:flex;justify-content:flex-end}.select-page-size{width:60px;margin:0 0 0 15px;padding:0 10px}.item_per_page{line-height:35px}\n"] }]
670
- }], ctorParameters: function () { return []; }, propDecorators: { pagination: [{
671
- type: Input
672
- }], showPageSizeOptions: [{
673
- type: Input
674
- }], showRefreshButton: [{
675
- type: Input
676
- }], lengthPending: [{
677
- type: Input
678
- }], pageEmitter: [{
679
- type: Output
680
- }], pageNumberChangeEmitter: [{
681
- type: Output
682
- }] } });
683
-
684
- class AppLoaderComponent {
685
- constructor() {
686
- }
687
- }
688
- AppLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
689
- 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]=\"120\"></mat-progress-spinner>\n</div>\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}\n"], dependencies: [{ kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
690
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, decorators: [{
691
- type: Component,
692
- args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\n <mat-progress-spinner\n class=\"page-spinner\"\n mode=\"indeterminate\"\n [diameter]=\"120\"></mat-progress-spinner>\n</div>\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}\n"] }]
693
- }], ctorParameters: function () { return []; } });
694
-
695
- const DISPLAYED_COLS = ['user-icon', 'name', 'email', 'status', 'role', 'actions'];
696
- const LOCAL_STORAGE = {
697
- USER_IN_MIGRATION: 'userIdInMigration'
698
- };
699
- class UsersListComponent {
700
- get form() {
701
- var _a, _b;
702
- return (_b = (_a = this.userService) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.form;
703
- }
704
- constructor(userService, apiService, apiWebexService, notifications, usersSearchService) {
705
- this.userService = userService;
706
- this.apiService = apiService;
707
- this.apiWebexService = apiWebexService;
708
- this.notifications = notifications;
709
- this.usersSearchService = usersSearchService;
710
- this.openUser = new EventEmitter();
711
- this.userMoved = new EventEmitter();
712
- this.displayedColumns = DISPLAYED_COLS;
713
- }
714
- ngOnInit() {
715
- this.usersSearchService.setDefaultValues();
716
- this.usersSearchService.customerId = this.customerId;
717
- this.usersSearchService.siteId = this.siteId;
718
- this.apiService.token = this.token;
719
- this.apiWebexService.token = this.token;
720
- this.apiService.apiUrl = this.host + '/dcp';
721
- this.apiWebexService.apiUrl = this.host + '/webex';
722
- this.getMigratedUsers();
723
- this.searchSubscription = this.usersSearchService.foundUsers$
724
- .subscribe((users) => {
725
- this.initializeDataSource(users);
726
- });
727
- }
728
- pageNumberChangeEvent(perPageNumber) {
729
- this.usersSearchService.pageSize = perPageNumber;
730
- this.usersSearchService.pageIndex = 0;
731
- this.runSearch();
732
- }
733
- pageEvent(event) {
734
- this.usersSearchService.pageSize = event.pageSize;
735
- this.usersSearchService.pageIndex = event.pageIndex;
736
- this.runSearch();
737
- }
738
- onUserClick(user) {
739
- this.openUser.emit(user);
740
- }
741
- moveUser(user, index) {
742
- if (user && user.siteId && user.userid) {
743
- this.moveUserPending = true;
744
- this.moveInProgressUserId = user.userid;
745
- this.setStatusToUser(index, 'In Progress');
746
- localStorage.setItem(LOCAL_STORAGE.USER_IN_MIGRATION, user.userid);
747
- const subscription = this.userService.moveUser(this.customerId, user)
748
- .subscribe(() => {
749
- var _a;
750
- this.removeUserInMigrationProgress();
751
- this.setStatusToUser(index, 'Migrated');
752
- (_a = this.usersSearchService.migratedUsersIds) === null || _a === void 0 ? void 0 : _a.push(user.userid);
753
- }, () => {
754
- this.removeUserInMigrationProgress();
755
- this.setStatusToUser(index, 'Migration Error');
756
- });
757
- }
758
- }
759
- removeUserInMigrationProgress() {
760
- localStorage.removeItem(LOCAL_STORAGE.USER_IN_MIGRATION);
761
- this.moveInProgressUserId = '';
762
- this.moveUserPending = false;
763
- }
764
- setStatusToUser(index, status) {
765
- if (this.users && this.users[index]) {
766
- this.users[index].status = status;
767
- if (status === 'Migrated') {
768
- this.users[index].roleName = '';
769
- this.users[index].isMigrated = true;
770
- }
771
- }
772
- this.dataSource = new MatTableDataSource(this.users);
773
- }
774
- initializeDataSource(users) {
775
- if (users === null || users === void 0 ? void 0 : users.length) {
776
- // this.setRandomUserRole(users);
777
- this.users = users;
778
- this.dataSource = new MatTableDataSource(users);
779
- }
780
- }
781
- setUserRole() {
782
- var _a;
783
- if ((_a = this.users) === null || _a === void 0 ? void 0 : _a.length) {
784
- this.users.forEach(user => {
785
- if (!user.isMigrated) {
786
- user.roleName = 'Dedicated Instance Calling user';
787
- }
788
- });
789
- }
790
- }
791
- setRandomUserRole(users) {
792
- const max = Math.round(this.usersSearchService.pageSize - this.usersSearchService.pageSize / 4);
793
- const min = Math.round(this.usersSearchService.pageSize / 2);
794
- const randomAmount = Math.round(Math.random() * (max - min) + min);
795
- const indexes = this.getArrayOfRandomUserIndexes(randomAmount);
796
- indexes.forEach(index => {
797
- if (users[index]) {
798
- users[index].roleName = 'Dedicated Instance Calling user';
799
- }
800
- });
801
- }
802
- getArrayOfRandomUserIndexes(randomAmount) {
803
- const indexes = [];
804
- while (randomAmount > 0) {
805
- const index = Math.round(Math.random() * (this.usersSearchService.pageSize - 1));
806
- indexes.push(index);
807
- randomAmount--;
808
- }
809
- return indexes;
810
- }
811
- runSearch() {
812
- this.dataPending = true;
813
- this.usersSearchService.quickRegularUsersSearch()
814
- .subscribe(() => {
815
- this.setUserMigrationProgress();
816
- this.dataPending = false;
817
- }, () => {
818
- this.dataPending = false;
819
- this.notifications.error('The data can not be received');
820
- });
821
- }
822
- setUserMigrationProgress() {
823
- const userIdInMigration = localStorage.getItem(LOCAL_STORAGE.USER_IN_MIGRATION);
824
- if (userIdInMigration) {
825
- const index = this.users.findIndex(user => user.userid === userIdInMigration);
826
- this.moveInProgressUserId = index > -1 ? this.users[index].userid : '';
827
- this.moveUserPending = index > -1;
828
- }
829
- }
830
- getMigratedUsers() {
831
- this.dataPending = true;
832
- const searchParams = {
833
- customerid: this.customerId,
834
- siteid: this.siteId,
835
- 'cloud-only': 'true'
836
- };
837
- this.usersSearchService.quickWebexUsersSearch(searchParams, true, MAX_INTEGER)
838
- .subscribe(() => {
839
- const userIdInMigration = localStorage.getItem(LOCAL_STORAGE.USER_IN_MIGRATION);
840
- if (userIdInMigration && this.usersSearchService.migratedUsersIds.includes(userIdInMigration)) {
841
- localStorage.removeItem(LOCAL_STORAGE.USER_IN_MIGRATION);
842
- }
843
- this.runSearch();
844
- }, () => {
845
- this.dataPending = false;
846
- this.notifications.error('The data can not be received');
847
- });
848
- }
849
- }
850
- 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 }], target: i0.ɵɵFactoryTarget.Component });
851
- 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" }, ngImport: i0, template: "<app-loader *ngIf=\"dataPending\"></app-loader>\n<app-pagination\n [pagination]=\"usersSearchService.getPagination()\"\n [showPageSizeOptions]=\"true\"\n (pageNumberChangeEmitter)=\"pageNumberChangeEvent($event)\"\n (pageEmitter)=\"pageEvent($event)\">\n</app-pagination>\n\n<table class=\"webex-table\" mat-table *ngIf=\"users?.length\" #table [dataSource]=\"dataSource\">\n\n <ng-container matColumnDef=\"user-icon\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\"></th>\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\n (click)=\"onUserClick(user)\">\n <span class=\"icon-webex-box\"><span class=\"icon-webex icon-webex-user\"></span></span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">First / Last Name</th>\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\n (click)=\"onUserClick(user)\"> {{ user.firstName }} {{ user.lastName }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"email\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Email</th>\n <td class=\"user-site\" [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\n mat-cell *matCellDef=\"let user\" (click)=\"onUserClick(user)\">\n {{ user.email }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"status\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Status</th>\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\n (click)=\"onUserClick(user)\">\n <span class=\"icon-user-status icon-user-status-active\"></span>{{user.status || user.webexUUID ? 'Migrated' : 'Active'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\"></th>\n <td class=\"user-site\" mat-cell *matCellDef=\"let user, let i = index\"\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\">\n <mat-progress-spinner class=\"field-spinner\"\n [diameter]=\"20\"\n mode=\"indeterminate\"\n *ngIf=\"moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid\"></mat-progress-spinner>\n <button *ngIf=\"!(moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid)\"\n class=\"button-action-dot\" mat-icon-button [matMenuTriggerFor]=\"menu\">\n <div class=\"icon-actions-dots\">\n <span class=\"icon-dot\">.</span>\n <span class=\"icon-dot\">.</span>\n <span class=\"icon-dot\">.</span>\n </div>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item [disabled]=\"true\">Resend Invitation</button>\n <button mat-menu-item [disabled]=\"true\">Reset Password</button>\n <button mat-menu-item (click)=\"moveUser(user, i)\">Move User</button>\n <button mat-menu-item [disabled]=\"true\">Deactivate User</button>\n <button mat-menu-item [disabled]=\"true\">Delete User</button>\n </mat-menu>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"role\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Administrator Role</th>\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\" (click)=\"onUserClick(user)\">{{ user.roleName || '' }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";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{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{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}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:#009fdb!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-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;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:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#000;font-size:14px}.webex-table tr:hover td:not(.disabled-user-row){background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.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,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}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-paginator{background:transparent!important}::ng-deep .mat-paginator-container{min-height:30px!important}::ng-deep .mat-paginator-range-label{margin:0 10px 0 24px!important;font-size:15px!important}::ng-deep .pagination{font-size:13px;color:#0000008a}::ng-deep .per-page-block{display:flex;line-height:42px!important}::ng-deep .item_per_page{line-height:42px!important}::ng-deep .select-page-size{line-height:42px!important}::ng-deep mat-progress-spinner.page-spinner{position:fixed;margin:auto;inset:0}::ng-deep mat-progress-spinner.field-spinner{position:relative;margin:-20px auto auto}::ng-deep mat-progress-spinner.tab-spinner{position:relative;margin:0 auto auto}.icon-dot{display:block;color:#4f4f4f;font-size:16px;line-height:5px}.button-action-dot:hover{background:#dfdfdf}.button-action-dot{padding:0 5px 5px;border-radius:.25rem}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.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: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.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" }] });
852
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListComponent, decorators: [{
853
- type: Component,
854
- args: [{ selector: 'app-users-list', template: "<app-loader *ngIf=\"dataPending\"></app-loader>\n<app-pagination\n [pagination]=\"usersSearchService.getPagination()\"\n [showPageSizeOptions]=\"true\"\n (pageNumberChangeEmitter)=\"pageNumberChangeEvent($event)\"\n (pageEmitter)=\"pageEvent($event)\">\n</app-pagination>\n\n<table class=\"webex-table\" mat-table *ngIf=\"users?.length\" #table [dataSource]=\"dataSource\">\n\n <ng-container matColumnDef=\"user-icon\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\"></th>\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\n (click)=\"onUserClick(user)\">\n <span class=\"icon-webex-box\"><span class=\"icon-webex icon-webex-user\"></span></span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">First / Last Name</th>\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\n (click)=\"onUserClick(user)\"> {{ user.firstName }} {{ user.lastName }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"email\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Email</th>\n <td class=\"user-site\" [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\n mat-cell *matCellDef=\"let user\" (click)=\"onUserClick(user)\">\n {{ user.email }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"status\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Status</th>\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\n (click)=\"onUserClick(user)\">\n <span class=\"icon-user-status icon-user-status-active\"></span>{{user.status || user.webexUUID ? 'Migrated' : 'Active'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\"></th>\n <td class=\"user-site\" mat-cell *matCellDef=\"let user, let i = index\"\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\">\n <mat-progress-spinner class=\"field-spinner\"\n [diameter]=\"20\"\n mode=\"indeterminate\"\n *ngIf=\"moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid\"></mat-progress-spinner>\n <button *ngIf=\"!(moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid)\"\n class=\"button-action-dot\" mat-icon-button [matMenuTriggerFor]=\"menu\">\n <div class=\"icon-actions-dots\">\n <span class=\"icon-dot\">.</span>\n <span class=\"icon-dot\">.</span>\n <span class=\"icon-dot\">.</span>\n </div>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item [disabled]=\"true\">Resend Invitation</button>\n <button mat-menu-item [disabled]=\"true\">Reset Password</button>\n <button mat-menu-item (click)=\"moveUser(user, i)\">Move User</button>\n <button mat-menu-item [disabled]=\"true\">Deactivate User</button>\n <button mat-menu-item [disabled]=\"true\">Delete User</button>\n </mat-menu>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"role\">\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Administrator Role</th>\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\" (click)=\"onUserClick(user)\">{{ user.roleName || '' }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";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{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{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}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:#009fdb!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-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;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:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#000;font-size:14px}.webex-table tr:hover td:not(.disabled-user-row){background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.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,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}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-paginator{background:transparent!important}::ng-deep .mat-paginator-container{min-height:30px!important}::ng-deep .mat-paginator-range-label{margin:0 10px 0 24px!important;font-size:15px!important}::ng-deep .pagination{font-size:13px;color:#0000008a}::ng-deep .per-page-block{display:flex;line-height:42px!important}::ng-deep .item_per_page{line-height:42px!important}::ng-deep .select-page-size{line-height:42px!important}::ng-deep mat-progress-spinner.page-spinner{position:fixed;margin:auto;inset:0}::ng-deep mat-progress-spinner.field-spinner{position:relative;margin:-20px auto auto}::ng-deep mat-progress-spinner.tab-spinner{position:relative;margin:0 auto auto}.icon-dot{display:block;color:#4f4f4f;font-size:16px;line-height:5px}.button-action-dot:hover{background:#dfdfdf}.button-action-dot{padding:0 5px 5px;border-radius:.25rem}\n"] }]
855
- }], ctorParameters: function () { return [{ type: UserService }, { type: APIService }, { type: ApiWebexService }, { type: NotificationService }, { type: UsersSearchService }]; }, propDecorators: { token: [{
856
- type: Input
857
- }], customerId: [{
858
- type: Input
859
- }], siteId: [{
860
- type: Input
861
- }], openUser: [{
862
- type: Output
863
- }], userMoved: [{
864
- type: Output
865
- }], host: [{
866
- type: Input
867
- }] } });
868
-
869
- class EventsCommunicationService {
870
- constructor() {
871
- this.onSuccessfulLoginEvent = new Subject();
872
- }
873
- }
874
- EventsCommunicationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EventsCommunicationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
875
- EventsCommunicationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EventsCommunicationService });
876
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EventsCommunicationService, decorators: [{
877
- type: Injectable
878
- }], ctorParameters: function () { return []; } });
879
-
880
- class MaterialModule {
881
- }
882
- MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
883
- MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, imports: [DragDropModule,
884
- MatButtonModule,
885
- MatListModule,
886
- MatProgressSpinnerModule,
887
- MatExpansionModule,
888
- MatInputModule,
889
- MatInputModule,
890
- MatListModule,
891
- MatTreeModule,
892
- MatTreeModule,
893
- MatNativeDateModule,
894
- MatDatepickerModule,
895
- MatTooltipModule,
896
- MatAutocompleteModule,
897
- MatChipsModule,
898
- MatSidenavModule,
899
- MatFormFieldModule,
900
- MatStepperModule,
901
- MatTabsModule,
902
- MatCardModule,
903
- MatSelectModule,
904
- MatCheckboxModule,
905
- MatSlideToggleModule,
906
- MatTableModule,
907
- MatPaginatorModule,
908
- MatMenuModule], exports: [DragDropModule,
909
- MatButtonModule,
910
- MatListModule,
911
- MatProgressSpinnerModule,
912
- MatExpansionModule,
913
- MatInputModule,
914
- MatInputModule,
915
- MatListModule,
916
- MatTreeModule,
917
- MatTreeModule,
918
- MatNativeDateModule,
919
- MatDatepickerModule,
920
- MatTooltipModule,
921
- MatAutocompleteModule,
922
- MatChipsModule,
923
- MatSidenavModule,
924
- MatFormFieldModule,
925
- MatStepperModule,
926
- MatTabsModule,
927
- MatCardModule,
928
- MatCheckboxModule,
929
- MatSelectModule,
930
- MatSlideToggleModule,
931
- MatProgressSpinnerModule,
932
- MatTableModule,
933
- MatPaginatorModule,
934
- MatMenuModule] });
935
- MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, imports: [DragDropModule,
936
- MatButtonModule,
937
- MatListModule,
938
- MatProgressSpinnerModule,
939
- MatExpansionModule,
940
- MatInputModule,
941
- MatInputModule,
942
- MatListModule,
943
- MatTreeModule,
944
- MatTreeModule,
945
- MatNativeDateModule,
946
- MatDatepickerModule,
947
- MatTooltipModule,
948
- MatAutocompleteModule,
949
- MatChipsModule,
950
- MatSidenavModule,
951
- MatFormFieldModule,
952
- MatStepperModule,
953
- MatTabsModule,
954
- MatCardModule,
955
- MatSelectModule,
956
- MatCheckboxModule,
957
- MatSlideToggleModule,
958
- MatTableModule,
959
- MatPaginatorModule,
960
- MatMenuModule, DragDropModule,
961
- MatButtonModule,
962
- MatListModule,
963
- MatProgressSpinnerModule,
964
- MatExpansionModule,
965
- MatInputModule,
966
- MatInputModule,
967
- MatListModule,
968
- MatTreeModule,
969
- MatTreeModule,
970
- MatNativeDateModule,
971
- MatDatepickerModule,
972
- MatTooltipModule,
973
- MatAutocompleteModule,
974
- MatChipsModule,
975
- MatSidenavModule,
976
- MatFormFieldModule,
977
- MatStepperModule,
978
- MatTabsModule,
979
- MatCardModule,
980
- MatCheckboxModule,
981
- MatSelectModule,
982
- MatSlideToggleModule,
983
- MatProgressSpinnerModule,
984
- MatTableModule,
985
- MatPaginatorModule,
986
- MatMenuModule] });
987
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, decorators: [{
988
- type: NgModule,
989
- args: [{
990
- imports: [
991
- DragDropModule,
992
- MatButtonModule,
993
- MatListModule,
994
- MatProgressSpinnerModule,
995
- MatExpansionModule,
996
- MatInputModule,
997
- MatInputModule,
998
- MatListModule,
999
- MatTreeModule,
1000
- MatTreeModule,
1001
- MatNativeDateModule,
1002
- MatDatepickerModule,
1003
- MatTooltipModule,
1004
- MatAutocompleteModule,
1005
- MatChipsModule,
1006
- MatSidenavModule,
1007
- MatFormFieldModule,
1008
- MatStepperModule,
1009
- MatTabsModule,
1010
- MatCardModule,
1011
- MatSelectModule,
1012
- MatCheckboxModule,
1013
- MatSlideToggleModule,
1014
- MatTableModule,
1015
- MatPaginatorModule,
1016
- MatMenuModule
1017
- ],
1018
- exports: [
1019
- DragDropModule,
1020
- MatButtonModule,
1021
- MatListModule,
1022
- MatProgressSpinnerModule,
1023
- MatExpansionModule,
1024
- MatInputModule,
1025
- MatInputModule,
1026
- MatListModule,
1027
- MatTreeModule,
1028
- MatTreeModule,
1029
- MatNativeDateModule,
1030
- MatDatepickerModule,
1031
- MatTooltipModule,
1032
- MatAutocompleteModule,
1033
- MatChipsModule,
1034
- MatSidenavModule,
1035
- MatFormFieldModule,
1036
- MatStepperModule,
1037
- MatTabsModule,
1038
- MatCardModule,
1039
- MatCheckboxModule,
1040
- MatSelectModule,
1041
- MatSlideToggleModule,
1042
- MatProgressSpinnerModule,
1043
- MatTableModule,
1044
- MatPaginatorModule,
1045
- MatMenuModule
1046
- ],
1047
- }]
1048
- }] });
1049
-
1050
- class UsersListModule {
1051
- }
1052
- UsersListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1053
- UsersListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, declarations: [UsersListComponent, PaginationComponent, AppLoaderComponent], imports: [BrowserModule,
1054
- FormsModule,
1055
- ReactiveFormsModule,
1056
- HttpClientModule,
1057
- MaterialModule], exports: [UsersListComponent] });
1058
- UsersListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, providers: [
1059
- UserService,
1060
- APIService,
1061
- EventsCommunicationService,
1062
- UsersSearchService,
1063
- NotificationService,
1064
- RemoveKynFromIBMService,
1065
- ApiWebexService
1066
- ], imports: [BrowserModule,
1067
- FormsModule,
1068
- ReactiveFormsModule,
1069
- HttpClientModule,
1070
- MaterialModule] });
1071
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, decorators: [{
1072
- type: NgModule,
1073
- args: [{
1074
- declarations: [UsersListComponent, PaginationComponent, AppLoaderComponent],
1075
- imports: [
1076
- BrowserModule,
1077
- FormsModule,
1078
- ReactiveFormsModule,
1079
- HttpClientModule,
1080
- MaterialModule
1081
- ],
1082
- providers: [
1083
- UserService,
1084
- APIService,
1085
- EventsCommunicationService,
1086
- UsersSearchService,
1087
- NotificationService,
1088
- RemoveKynFromIBMService,
1089
- ApiWebexService
1090
- ],
1091
- exports: [UsersListComponent]
1092
- }]
1093
- }] });
1094
-
1095
- /**
1096
- * Generated bundle index. Do not edit.
1097
- */
1098
-
1099
- export { APIService, EventsCommunicationService, NotificationService, RemoveKynFromIBMService, UserService, UsersListComponent, UsersListModule, UsersSearchService };
1100
- //# sourceMappingURL=tuki-io-tuki-widgets-users-list.mjs.map