@tuki-io/tuki-widgets 0.0.64 → 0.0.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (655) hide show
  1. package/.editorconfig +16 -0
  2. package/.hintrc +14 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/README.md +10 -9
  7. package/angular.json +140 -0
  8. package/package.json +47 -65
  9. package/projects/tuki/widgets/README.md +24 -0
  10. package/projects/tuki/widgets/di2mt/api/api.endpoints.ts +20 -0
  11. package/projects/tuki/widgets/di2mt/assets/icons/already_upgraded.png +0 -0
  12. package/projects/tuki/widgets/di2mt/assets/icons/check2_icon.png +0 -0
  13. package/projects/tuki/widgets/di2mt/assets/icons/check_icon.png +0 -0
  14. package/projects/tuki/widgets/di2mt/assets/icons/expand_icon.png +0 -0
  15. package/projects/tuki/widgets/di2mt/assets/icons/issue_icon.png +0 -0
  16. package/projects/tuki/widgets/di2mt/assets/icons/menu_icon.png +0 -0
  17. package/projects/tuki/widgets/di2mt/assets/icons/ready_to_upgrade.png +0 -0
  18. package/projects/tuki/widgets/di2mt/assets/icons/search_icon.png +0 -0
  19. package/projects/tuki/widgets/di2mt/assets/icons/site.png +0 -0
  20. package/projects/tuki/widgets/di2mt/assets/icons/user.png +0 -0
  21. package/projects/tuki/widgets/di2mt/assets/icons/warning_icon.png +0 -0
  22. package/projects/tuki/widgets/di2mt/ng-package.json +7 -0
  23. package/{di2mt/public-api.d.ts → projects/tuki/widgets/di2mt/public-api.ts} +12 -1
  24. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.html +11 -0
  25. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.scss +48 -0
  26. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.ts +10 -0
  27. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.html +15 -0
  28. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.scss +38 -0
  29. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.ts +71 -0
  30. package/{di2mt/shared/components/index.d.ts → projects/tuki/widgets/di2mt/shared/components/index.ts} +1 -1
  31. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.html +57 -0
  32. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.scss +74 -0
  33. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.ts +44 -0
  34. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.html +28 -0
  35. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.scss +55 -0
  36. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.ts +11 -0
  37. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.html +12 -0
  38. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.scss +76 -0
  39. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.ts +27 -0
  40. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.html +28 -0
  41. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.scss +52 -0
  42. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.ts +28 -0
  43. package/projects/tuki/widgets/di2mt/shared/material.module.ts +36 -0
  44. package/projects/tuki/widgets/di2mt/shared/services/api.service.ts +92 -0
  45. package/projects/tuki/widgets/di2mt/shared/shared.module.ts +38 -0
  46. package/projects/tuki/widgets/di2mt/shared/types/constants.ts +14 -0
  47. package/projects/tuki/widgets/di2mt/shared/types/data-table.ts +5 -0
  48. package/projects/tuki/widgets/di2mt/shared/types/table/filter.ts +14 -0
  49. package/projects/tuki/widgets/di2mt/styles/tuki-widgets-theme.scss +13 -0
  50. package/projects/tuki/widgets/di2mt/styles/variables.scss +92 -0
  51. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.html +92 -0
  52. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.scss +187 -0
  53. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.ts +205 -0
  54. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.module.ts +24 -0
  55. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.service.ts +45 -0
  56. package/{di2mt/widgets/site-upgrade/types/user-upgrade.d.ts → projects/tuki/widgets/di2mt/widgets/site-upgrade/types/user-upgrade.ts} +2 -1
  57. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.ts +52 -0
  58. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.ts +53 -0
  59. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.ts +67 -0
  60. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.html +7 -0
  61. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.scss +0 -0
  62. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.ts +45 -0
  63. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.html +7 -0
  64. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.scss +0 -0
  65. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.ts +45 -0
  66. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.ts +59 -0
  67. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.ts +70 -0
  68. package/{di2mt/widgets/upgrade-overview/types/upgrade-overview.d.ts → projects/tuki/widgets/di2mt/widgets/upgrade-overview/types/upgrade-overview.ts} +20 -18
  69. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.module.ts +42 -0
  70. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.service.ts +95 -0
  71. package/{di2mt/widgets/user-upgrade/types/user-upgrade.d.ts → projects/tuki/widgets/di2mt/widgets/user-upgrade/types/user-upgrade.ts} +3 -1
  72. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.html +131 -0
  73. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.scss +275 -0
  74. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.ts +218 -0
  75. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.module.ts +24 -0
  76. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.service.ts +73 -0
  77. package/projects/tuki/widgets/karma.conf.js +44 -0
  78. package/projects/tuki/widgets/ng-package.json +7 -0
  79. package/projects/tuki/widgets/package.json +13 -0
  80. package/projects/tuki/widgets/src/lib/widgets.component.spec.ts +23 -0
  81. package/projects/tuki/widgets/src/lib/widgets.component.ts +20 -0
  82. package/projects/tuki/widgets/src/lib/widgets.module.ts +16 -0
  83. package/projects/tuki/widgets/src/lib/widgets.service.spec.ts +16 -0
  84. package/projects/tuki/widgets/src/lib/widgets.service.ts +9 -0
  85. package/{public-api.d.ts → projects/tuki/widgets/src/public-api.ts} +4 -0
  86. package/projects/tuki/widgets/src/test.ts +27 -0
  87. package/projects/tuki/widgets/styles.scss +572 -0
  88. package/projects/tuki/widgets/tsconfig.lib.json +36 -0
  89. package/projects/tuki/widgets/tsconfig.lib.prod.json +10 -0
  90. package/projects/tuki/widgets/tsconfig.spec.json +17 -0
  91. package/projects/tuki/widgets/user-device-manage/ng-package.json +7 -0
  92. package/projects/tuki/widgets/user-device-manage/src/app.constants.ts +96 -0
  93. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-left.svg +5 -0
  94. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right.svg +5 -0
  95. package/projects/tuki/widgets/user-device-manage/src/assets/icons/close_icon_x.svg +3 -0
  96. package/projects/tuki/widgets/user-device-manage/src/assets/icons/delete_icon.svg +5 -0
  97. package/projects/tuki/widgets/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  98. package/projects/tuki/widgets/user-device-manage/src/assets/icons/icon_user.svg +1 -0
  99. package/projects/tuki/widgets/user-device-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  100. package/projects/tuki/widgets/user-device-manage/src/classes/device.ts +292 -0
  101. package/projects/tuki/widgets/user-device-manage/src/classes/line-association-interface.ts +50 -0
  102. package/projects/tuki/widgets/user-device-manage/src/classes/line-association.ts +177 -0
  103. package/projects/tuki/widgets/user-device-manage/src/classes/line-call-info-display.ts +21 -0
  104. package/projects/tuki/widgets/user-device-manage/src/classes/line-directory.ts +41 -0
  105. package/projects/tuki/widgets/user-device-manage/src/classes/line.ts +144 -0
  106. package/projects/tuki/widgets/user-device-manage/src/classes/notification.ts +40 -0
  107. package/projects/tuki/widgets/user-device-manage/src/classes/recording-options.ts +6 -0
  108. package/projects/tuki/widgets/user-device-manage/src/classes/simplified-user.ts +169 -0
  109. package/projects/tuki/widgets/user-device-manage/src/classes/site-defaults.ts +167 -0
  110. package/projects/tuki/widgets/user-device-manage/src/classes/translation-pattern.ts +50 -0
  111. package/projects/tuki/widgets/user-device-manage/src/classes/types.ts +19 -0
  112. package/projects/tuki/widgets/user-device-manage/src/classes/user-interface.ts +225 -0
  113. package/projects/tuki/widgets/user-device-manage/src/classes/user.ts +8 -0
  114. package/projects/tuki/widgets/user-device-manage/src/common-functions.ts +16 -0
  115. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.html +14 -0
  116. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.scss +80 -0
  117. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.ts +35 -0
  118. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +21 -0
  119. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.scss +97 -0
  120. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +28 -0
  121. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.html +6 -0
  122. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.scss +20 -0
  123. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.ts +13 -0
  124. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +6 -0
  125. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +4 -0
  126. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +63 -0
  127. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.html +241 -0
  128. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.scss +500 -0
  129. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.ts +194 -0
  130. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.html +27 -0
  131. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.scss +131 -0
  132. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.ts +25 -0
  133. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.html +209 -0
  134. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.scss +502 -0
  135. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.ts +354 -0
  136. package/projects/tuki/widgets/user-device-manage/src/environments/environment.prod.ts +9 -0
  137. package/projects/tuki/widgets/user-device-manage/src/environments/environment.ts +10 -0
  138. package/projects/tuki/widgets/user-device-manage/src/interseptors/auth.interceptor.ts +35 -0
  139. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  140. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
  141. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  142. package/projects/tuki/widgets/user-device-manage/src/material.module.ts +87 -0
  143. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.html +33 -0
  144. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.scss +84 -0
  145. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.ts +46 -0
  146. package/projects/tuki/widgets/user-device-manage/src/removeKynFromIBM.service.ts +25 -0
  147. package/projects/tuki/widgets/user-device-manage/src/services/api.service.ts +87 -0
  148. package/projects/tuki/widgets/user-device-manage/src/services/common-functions.ts +17 -0
  149. package/projects/tuki/widgets/user-device-manage/src/services/device.service.ts +95 -0
  150. package/projects/tuki/widgets/user-device-manage/src/services/dns.service.ts +111 -0
  151. package/projects/tuki/widgets/user-device-manage/src/services/line.service.ts +89 -0
  152. package/projects/tuki/widgets/user-device-manage/src/services/notification.service.ts +68 -0
  153. package/projects/tuki/widgets/user-device-manage/src/services/removeKynFromIBM.service.ts +25 -0
  154. package/projects/tuki/widgets/user-device-manage/src/services/site-settings.service.ts +82 -0
  155. package/projects/tuki/widgets/user-device-manage/src/services/sorting-utils.service.ts +203 -0
  156. package/projects/tuki/widgets/user-device-manage/src/services/user.service.ts +283 -0
  157. package/projects/tuki/widgets/user-device-manage/src/services/utils.service.ts +87 -0
  158. package/projects/tuki/widgets/user-device-manage/src/services/validation.service.ts +829 -0
  159. package/projects/tuki/widgets/user-device-manage/src/styles/_variables.scss +90 -0
  160. package/projects/tuki/widgets/user-device-manage/src/styles/form.scss +231 -0
  161. package/projects/tuki/widgets/user-device-manage/src/styles/icons.scss +32 -0
  162. package/projects/tuki/widgets/user-device-manage/src/styles/styles.scss +110 -0
  163. package/projects/tuki/widgets/user-device-manage/src/styles/tables.scss +30 -0
  164. package/projects/tuki/widgets/user-device-manage/src/user-device-manage.module.ts +73 -0
  165. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.html +6 -0
  166. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  167. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.ts +13 -0
  168. package/projects/tuki/widgets/user-manage/ng-package.json +7 -0
  169. package/projects/tuki/widgets/user-manage/src/app.constants.ts +50 -0
  170. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-left.svg +5 -0
  171. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right.svg +5 -0
  172. package/projects/tuki/widgets/user-manage/src/assets/icons/delete_icon.svg +5 -0
  173. package/projects/tuki/widgets/user-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  174. package/projects/tuki/widgets/user-manage/src/assets/icons/icon_user.svg +1 -0
  175. package/projects/tuki/widgets/user-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  176. package/projects/tuki/widgets/user-manage/src/classes/device.ts +232 -0
  177. package/projects/tuki/widgets/user-manage/src/classes/line-association-interface.ts +43 -0
  178. package/projects/tuki/widgets/user-manage/src/classes/line-association.ts +161 -0
  179. package/projects/tuki/widgets/user-manage/src/classes/line-call-info-display.ts +21 -0
  180. package/projects/tuki/widgets/user-manage/src/classes/line-directory.ts +42 -0
  181. package/projects/tuki/widgets/user-manage/src/classes/line.ts +144 -0
  182. package/projects/tuki/widgets/user-manage/src/classes/notification.ts +39 -0
  183. package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +18 -0
  184. package/projects/tuki/widgets/user-manage/src/classes/recording-options.ts +6 -0
  185. package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +165 -0
  186. package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +6 -0
  187. package/projects/tuki/widgets/user-manage/src/classes/translation-pattern.ts +49 -0
  188. package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +225 -0
  189. package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +42 -0
  190. package/projects/tuki/widgets/user-manage/src/classes/user.ts +8 -0
  191. package/projects/tuki/widgets/user-manage/src/common-functions.ts +16 -0
  192. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.html +27 -0
  193. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.scss +131 -0
  194. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.ts +25 -0
  195. package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +9 -0
  196. package/projects/tuki/widgets/user-manage/src/environments/environment.ts +10 -0
  197. package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +35 -0
  198. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  199. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
  200. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  201. package/projects/tuki/widgets/user-manage/src/material.module.ts +85 -0
  202. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +33 -0
  203. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +84 -0
  204. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +46 -0
  205. package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +25 -0
  206. package/projects/tuki/widgets/user-manage/src/services/api.service.ts +90 -0
  207. package/projects/tuki/widgets/user-manage/src/services/dns.service.ts +116 -0
  208. package/projects/tuki/widgets/user-manage/src/services/line.service.ts +31 -0
  209. package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +68 -0
  210. package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +25 -0
  211. package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +35 -0
  212. package/projects/tuki/widgets/user-manage/src/services/sorting-utils.service.ts +203 -0
  213. package/projects/tuki/widgets/user-manage/src/services/user.service.ts +242 -0
  214. package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +59 -0
  215. package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +71 -0
  216. package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +90 -0
  217. package/projects/tuki/widgets/user-manage/src/styles/form.scss +231 -0
  218. package/projects/tuki/widgets/user-manage/src/styles/icons.scss +32 -0
  219. package/projects/tuki/widgets/user-manage/src/styles/styles.scss +110 -0
  220. package/projects/tuki/widgets/user-manage/src/styles/tables.scss +30 -0
  221. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +10 -0
  222. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +429 -0
  223. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +63 -0
  224. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.html +32 -0
  225. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.scss +444 -0
  226. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.ts +89 -0
  227. package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +68 -0
  228. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +29 -0
  229. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +64 -0
  230. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +19 -0
  231. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +290 -0
  232. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +463 -0
  233. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +212 -0
  234. package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +63 -0
  235. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +6 -0
  236. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  237. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +13 -0
  238. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +26 -0
  239. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +41 -0
  240. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +41 -0
  241. package/projects/tuki/widgets/users-list/ng-package.json +6 -0
  242. package/projects/tuki/widgets/users-list/src/app.constants.ts +54 -0
  243. package/projects/tuki/widgets/users-list/src/assets/icons/close_icon_modal.svg +3 -0
  244. package/projects/tuki/widgets/users-list/src/assets/icons/icon_user.svg +1 -0
  245. package/projects/tuki/widgets/users-list/src/assets/icons/move_user_to_another_location.svg +14 -0
  246. package/projects/tuki/widgets/users-list/src/assets/icons/white-close-icon.svg +3 -0
  247. package/projects/tuki/widgets/users-list/src/classes/app-location.ts +36 -0
  248. package/projects/tuki/widgets/users-list/src/classes/device.ts +225 -0
  249. package/projects/tuki/widgets/users-list/src/classes/line.ts +144 -0
  250. package/projects/tuki/widgets/users-list/src/classes/move-user.ts +225 -0
  251. package/projects/tuki/widgets/users-list/src/classes/notification.ts +38 -0
  252. package/projects/tuki/widgets/users-list/src/classes/pagination.ts +18 -0
  253. package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +74 -0
  254. package/projects/tuki/widgets/users-list/src/classes/table-data.ts +6 -0
  255. package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +225 -0
  256. package/projects/tuki/widgets/users-list/src/classes/user-list.ts +47 -0
  257. package/projects/tuki/widgets/users-list/src/classes/user.ts +8 -0
  258. package/projects/tuki/widgets/users-list/src/material.module.ts +94 -0
  259. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.html +37 -0
  260. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.scss +129 -0
  261. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.ts +46 -0
  262. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.html +31 -0
  263. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.scss +20 -0
  264. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.ts +26 -0
  265. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +222 -0
  266. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.scss +239 -0
  267. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +206 -0
  268. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.html +12 -0
  269. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.scss +41 -0
  270. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.ts +36 -0
  271. package/projects/tuki/widgets/users-list/src/services/api-webex.service.ts +14 -0
  272. package/projects/tuki/widgets/users-list/src/services/api.service.ts +90 -0
  273. package/projects/tuki/widgets/users-list/src/services/dns.service.ts +128 -0
  274. package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +11 -0
  275. package/projects/tuki/widgets/users-list/src/services/move-user.service.ts +59 -0
  276. package/projects/tuki/widgets/users-list/src/services/notification.service.ts +68 -0
  277. package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +25 -0
  278. package/projects/tuki/widgets/users-list/src/services/site-settings.service.ts +26 -0
  279. package/projects/tuki/widgets/users-list/src/services/user.service.ts +159 -0
  280. package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +137 -0
  281. package/projects/tuki/widgets/users-list/src/styles/styles.scss +572 -0
  282. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +15 -0
  283. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +103 -0
  284. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +35 -0
  285. package/projects/tuki/widgets/users-list/src/users-list.component.css +4 -0
  286. package/projects/tuki/widgets/users-list/src/users-list.component.css.map +1 -0
  287. package/projects/tuki/widgets/users-list/src/users-list.component.html +86 -0
  288. package/projects/tuki/widgets/users-list/src/users-list.component.scss +572 -0
  289. package/projects/tuki/widgets/users-list/src/users-list.component.ts +312 -0
  290. package/projects/tuki/widgets/users-list/src/users-list.module.ts +63 -0
  291. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css +11 -0
  292. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css.map +1 -0
  293. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +6 -0
  294. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +11 -0
  295. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +13 -0
  296. package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +32 -0
  297. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +33 -0
  298. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +84 -0
  299. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +46 -0
  300. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css +45 -0
  301. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css.map +1 -0
  302. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +26 -0
  303. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +41 -0
  304. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +41 -0
  305. package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +71 -0
  306. package/projects/widgets-playground/src/app/app.component.html +63 -0
  307. package/projects/widgets-playground/src/app/app.component.scss +15 -0
  308. package/projects/widgets-playground/src/app/app.component.spec.ts +31 -0
  309. package/projects/widgets-playground/src/app/app.component.ts +31 -0
  310. package/projects/widgets-playground/src/app/app.module.ts +37 -0
  311. package/projects/widgets-playground/src/assets/.gitkeep +0 -0
  312. package/projects/widgets-playground/src/assets/icons/already_upgraded.png +0 -0
  313. package/projects/widgets-playground/src/assets/icons/check2_icon.png +0 -0
  314. package/projects/widgets-playground/src/assets/icons/check_icon.png +0 -0
  315. package/projects/widgets-playground/src/assets/icons/expand_icon.png +0 -0
  316. package/projects/widgets-playground/src/assets/icons/issue_icon.png +0 -0
  317. package/projects/widgets-playground/src/assets/icons/menu_icon.png +0 -0
  318. package/projects/widgets-playground/src/assets/icons/ready_to_upgrade.png +0 -0
  319. package/projects/widgets-playground/src/assets/icons/search_icon.png +0 -0
  320. package/projects/widgets-playground/src/assets/icons/site.png +0 -0
  321. package/projects/widgets-playground/src/assets/icons/user.png +0 -0
  322. package/projects/widgets-playground/src/assets/icons/warning_icon.png +0 -0
  323. package/projects/widgets-playground/src/favicon.ico +0 -0
  324. package/projects/widgets-playground/src/index.html +13 -0
  325. package/projects/widgets-playground/src/main.ts +7 -0
  326. package/projects/widgets-playground/src/styles.scss +23 -0
  327. package/projects/widgets-playground/tsconfig.app.json +14 -0
  328. package/projects/widgets-playground/tsconfig.spec.json +14 -0
  329. package/proxy.conf.js +23 -0
  330. package/tsconfig.json +46 -0
  331. package/di2mt/api/api.endpoints.d.ts +0 -20
  332. package/di2mt/index.d.ts +0 -5
  333. package/di2mt/shared/components/card/card.component.d.ts +0 -6
  334. package/di2mt/shared/components/chart-card/chart-card.component.d.ts +0 -22
  335. package/di2mt/shared/components/stat-card/stat-card.component.d.ts +0 -14
  336. package/di2mt/shared/components/status-list-card/status-list-card.component.d.ts +0 -7
  337. package/di2mt/shared/components/summary-card/summary-card.component.d.ts +0 -9
  338. package/di2mt/shared/components/table-filters/table-filters.component.d.ts +0 -14
  339. package/di2mt/shared/material.module.d.ts +0 -15
  340. package/di2mt/shared/services/api.service.d.ts +0 -20
  341. package/di2mt/shared/shared.module.d.ts +0 -16
  342. package/di2mt/shared/types/constants.d.ts +0 -7
  343. package/di2mt/shared/types/data-table.d.ts +0 -5
  344. package/di2mt/shared/types/table/filter.d.ts +0 -16
  345. package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +0 -47
  346. package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +0 -12
  347. package/di2mt/widgets/site-upgrade/site-upgrade.service.d.ts +0 -12
  348. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.d.ts +0 -18
  349. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.d.ts +0 -18
  350. package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.d.ts +0 -17
  351. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.d.ts +0 -18
  352. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.d.ts +0 -18
  353. package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.d.ts +0 -14
  354. package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.d.ts +0 -17
  355. package/di2mt/widgets/upgrade-overview/upgrade-overview.module.d.ts +0 -15
  356. package/di2mt/widgets/upgrade-overview/upgrade-overview.service.d.ts +0 -17
  357. package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +0 -48
  358. package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +0 -12
  359. package/di2mt/widgets/user-upgrade/user-upgrade.service.d.ts +0 -14
  360. package/esm2020/di2mt/api/api.endpoints.mjs +0 -21
  361. package/esm2020/di2mt/public-api.mjs +0 -23
  362. package/esm2020/di2mt/shared/components/card/card.component.mjs +0 -13
  363. package/esm2020/di2mt/shared/components/chart-card/chart-card.component.mjs +0 -62
  364. package/esm2020/di2mt/shared/components/index.mjs +0 -7
  365. package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +0 -47
  366. package/esm2020/di2mt/shared/components/status-list-card/status-list-card.component.mjs +0 -17
  367. package/esm2020/di2mt/shared/components/summary-card/summary-card.component.mjs +0 -36
  368. package/esm2020/di2mt/shared/components/table-filters/table-filters.component.mjs +0 -37
  369. package/esm2020/di2mt/shared/material.module.mjs +0 -76
  370. package/esm2020/di2mt/shared/services/api.service.mjs +0 -86
  371. package/esm2020/di2mt/shared/shared.module.mjs +0 -61
  372. package/esm2020/di2mt/shared/types/constants.mjs +0 -12
  373. package/esm2020/di2mt/shared/types/data-table.mjs +0 -2
  374. package/esm2020/di2mt/shared/types/table/filter.mjs +0 -2
  375. package/esm2020/di2mt/tuki-io-tuki-widgets-di2mt.mjs +0 -5
  376. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +0 -179
  377. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +0 -40
  378. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.service.mjs +0 -43
  379. package/esm2020/di2mt/widgets/site-upgrade/types/user-upgrade.mjs +0 -3
  380. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.mjs +0 -61
  381. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.mjs +0 -61
  382. package/esm2020/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.mjs +0 -65
  383. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.mjs +0 -42
  384. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.mjs +0 -42
  385. package/esm2020/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.mjs +0 -61
  386. package/esm2020/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.mjs +0 -71
  387. package/esm2020/di2mt/widgets/upgrade-overview/types/upgrade-overview.mjs +0 -2
  388. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.module.mjs +0 -59
  389. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.service.mjs +0 -82
  390. package/esm2020/di2mt/widgets/user-upgrade/types/user-upgrade.mjs +0 -3
  391. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +0 -194
  392. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +0 -40
  393. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.service.mjs +0 -58
  394. package/esm2020/lib/widgets.component.mjs +0 -22
  395. package/esm2020/lib/widgets.module.mjs +0 -21
  396. package/esm2020/lib/widgets.service.mjs +0 -14
  397. package/esm2020/public-api.mjs +0 -7
  398. package/esm2020/tuki-io-tuki-widgets.mjs +0 -5
  399. package/esm2020/user-device-manage/public-api.mjs +0 -9
  400. package/esm2020/user-device-manage/src/app.constants.mjs +0 -95
  401. package/esm2020/user-device-manage/src/classes/device.mjs +0 -85
  402. package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +0 -2
  403. package/esm2020/user-device-manage/src/classes/line-association.mjs +0 -121
  404. package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +0 -10
  405. package/esm2020/user-device-manage/src/classes/line-directory.mjs +0 -27
  406. package/esm2020/user-device-manage/src/classes/line.mjs +0 -18
  407. package/esm2020/user-device-manage/src/classes/notification.mjs +0 -32
  408. package/esm2020/user-device-manage/src/classes/recording-options.mjs +0 -7
  409. package/esm2020/user-device-manage/src/classes/simplified-user.mjs +0 -111
  410. package/esm2020/user-device-manage/src/classes/site-defaults.mjs +0 -21
  411. package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +0 -32
  412. package/esm2020/user-device-manage/src/classes/types.mjs +0 -24
  413. package/esm2020/user-device-manage/src/common-functions.mjs +0 -19
  414. package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +0 -34
  415. package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +0 -31
  416. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +0 -16
  417. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +0 -64
  418. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +0 -179
  419. package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +0 -24
  420. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +0 -335
  421. package/esm2020/user-device-manage/src/environments/environment.mjs +0 -11
  422. package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +0 -36
  423. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
  424. package/esm2020/user-device-manage/src/material.module.mjs +0 -192
  425. package/esm2020/user-device-manage/src/notifications/notification.component.mjs +0 -35
  426. package/esm2020/user-device-manage/src/services/api.service.mjs +0 -79
  427. package/esm2020/user-device-manage/src/services/device.service.mjs +0 -83
  428. package/esm2020/user-device-manage/src/services/dns.service.mjs +0 -104
  429. package/esm2020/user-device-manage/src/services/line.service.mjs +0 -76
  430. package/esm2020/user-device-manage/src/services/notification.service.mjs +0 -62
  431. package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  432. package/esm2020/user-device-manage/src/services/site-settings.service.mjs +0 -70
  433. package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +0 -197
  434. package/esm2020/user-device-manage/src/services/user.service.mjs +0 -243
  435. package/esm2020/user-device-manage/src/services/utils.service.mjs +0 -87
  436. package/esm2020/user-device-manage/src/services/validation.service.mjs +0 -760
  437. package/esm2020/user-device-manage/src/user-device-manage.module.mjs +0 -107
  438. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +0 -14
  439. package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +0 -5
  440. package/esm2020/user-manage/public-api.mjs +0 -7
  441. package/esm2020/user-manage/src/app.constants.mjs +0 -50
  442. package/esm2020/user-manage/src/classes/device.mjs +0 -37
  443. package/esm2020/user-manage/src/classes/line-association-interface.mjs +0 -2
  444. package/esm2020/user-manage/src/classes/line-association.mjs +0 -110
  445. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +0 -10
  446. package/esm2020/user-manage/src/classes/line-directory.mjs +0 -27
  447. package/esm2020/user-manage/src/classes/line.mjs +0 -18
  448. package/esm2020/user-manage/src/classes/notification.mjs +0 -32
  449. package/esm2020/user-manage/src/classes/pagination.mjs +0 -8
  450. package/esm2020/user-manage/src/classes/recording-options.mjs +0 -7
  451. package/esm2020/user-manage/src/classes/simplified-user.mjs +0 -109
  452. package/esm2020/user-manage/src/classes/table-data.mjs +0 -2
  453. package/esm2020/user-manage/src/classes/translation-pattern.mjs +0 -32
  454. package/esm2020/user-manage/src/classes/user-list.mjs +0 -10
  455. package/esm2020/user-manage/src/common-functions.mjs +0 -19
  456. package/esm2020/user-manage/src/device-list/device-list.component.mjs +0 -24
  457. package/esm2020/user-manage/src/environments/environment.mjs +0 -11
  458. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +0 -36
  459. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
  460. package/esm2020/user-manage/src/material.module.mjs +0 -188
  461. package/esm2020/user-manage/src/notifications/notification.component.mjs +0 -35
  462. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +0 -25
  463. package/esm2020/user-manage/src/services/api.service.mjs +0 -79
  464. package/esm2020/user-manage/src/services/dns.service.mjs +0 -110
  465. package/esm2020/user-manage/src/services/line.service.mjs +0 -34
  466. package/esm2020/user-manage/src/services/notification.service.mjs +0 -62
  467. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  468. package/esm2020/user-manage/src/services/site-settings.service.mjs +0 -36
  469. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +0 -197
  470. package/esm2020/user-manage/src/services/user.service.mjs +0 -207
  471. package/esm2020/user-manage/src/services/users-search.service.mjs +0 -50
  472. package/esm2020/user-manage/src/services/utils.service.mjs +0 -73
  473. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +0 -65
  474. package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +0 -78
  475. package/esm2020/user-manage/src/user-info/user-info.component.mjs +0 -20
  476. package/esm2020/user-manage/src/user-manage-widget.component.mjs +0 -208
  477. package/esm2020/user-manage/src/user-manage.module.mjs +0 -99
  478. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
  479. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +0 -43
  480. package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +0 -5
  481. package/esm2020/users-list/public-api.mjs +0 -9
  482. package/esm2020/users-list/src/app.constants.mjs +0 -54
  483. package/esm2020/users-list/src/classes/app-location.mjs +0 -32
  484. package/esm2020/users-list/src/classes/device.mjs +0 -7
  485. package/esm2020/users-list/src/classes/line.mjs +0 -18
  486. package/esm2020/users-list/src/classes/move-user.mjs +0 -178
  487. package/esm2020/users-list/src/classes/notification.mjs +0 -31
  488. package/esm2020/users-list/src/classes/pagination.mjs +0 -8
  489. package/esm2020/users-list/src/classes/simlified-user.mjs +0 -50
  490. package/esm2020/users-list/src/classes/table-data.mjs +0 -2
  491. package/esm2020/users-list/src/classes/user-list.mjs +0 -14
  492. package/esm2020/users-list/src/material.module.mjs +0 -209
  493. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +0 -38
  494. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +0 -23
  495. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +0 -189
  496. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +0 -38
  497. package/esm2020/users-list/src/services/api-webex.service.mjs +0 -18
  498. package/esm2020/users-list/src/services/api.service.mjs +0 -78
  499. package/esm2020/users-list/src/services/dns.service.mjs +0 -120
  500. package/esm2020/users-list/src/services/events-communication.service.mjs +0 -14
  501. package/esm2020/users-list/src/services/move-user.service.mjs +0 -53
  502. package/esm2020/users-list/src/services/notification.service.mjs +0 -62
  503. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +0 -25
  504. package/esm2020/users-list/src/services/site-settings.service.mjs +0 -27
  505. package/esm2020/users-list/src/services/user.service.mjs +0 -142
  506. package/esm2020/users-list/src/services/users-search.service.mjs +0 -122
  507. package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +0 -34
  508. package/esm2020/users-list/src/users-list.component.mjs +0 -287
  509. package/esm2020/users-list/src/users-list.module.mjs +0 -92
  510. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +0 -14
  511. package/esm2020/users-list/src/utils/common-functions.mjs +0 -32
  512. package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +0 -43
  513. package/esm2020/users-list/src/utils/utils.service.mjs +0 -73
  514. package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +0 -5
  515. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +0 -1438
  516. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
  517. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3402
  518. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
  519. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +0 -2124
  520. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  521. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +0 -1994
  522. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  523. package/fesm2015/tuki-io-tuki-widgets.mjs +0 -63
  524. package/fesm2015/tuki-io-tuki-widgets.mjs.map +0 -1
  525. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +0 -1429
  526. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
  527. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3364
  528. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
  529. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +0 -2107
  530. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  531. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +0 -1973
  532. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  533. package/fesm2020/tuki-io-tuki-widgets.mjs +0 -63
  534. package/fesm2020/tuki-io-tuki-widgets.mjs.map +0 -1
  535. package/index.d.ts +0 -5
  536. package/lib/widgets.component.d.ts +0 -8
  537. package/lib/widgets.module.d.ts +0 -7
  538. package/lib/widgets.service.d.ts +0 -6
  539. package/user-device-manage/index.d.ts +0 -5
  540. package/user-device-manage/src/app.constants.d.ts +0 -74
  541. package/user-device-manage/src/classes/device.d.ts +0 -233
  542. package/user-device-manage/src/classes/line-association-interface.d.ts +0 -45
  543. package/user-device-manage/src/classes/line-association.d.ts +0 -62
  544. package/user-device-manage/src/classes/line-call-info-display.d.ts +0 -11
  545. package/user-device-manage/src/classes/line-directory.d.ts +0 -15
  546. package/user-device-manage/src/classes/line.d.ts +0 -140
  547. package/user-device-manage/src/classes/notification.d.ts +0 -18
  548. package/user-device-manage/src/classes/recording-options.d.ts +0 -5
  549. package/user-device-manage/src/classes/simplified-user.d.ts +0 -52
  550. package/user-device-manage/src/classes/site-defaults.d.ts +0 -146
  551. package/user-device-manage/src/classes/translation-pattern.d.ts +0 -19
  552. package/user-device-manage/src/classes/types.d.ts +0 -19
  553. package/user-device-manage/src/common-functions.d.ts +0 -1
  554. package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +0 -20
  555. package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +0 -15
  556. package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +0 -7
  557. package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +0 -24
  558. package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +0 -89
  559. package/user-device-manage/src/device-list/device-list.component.d.ts +0 -11
  560. package/user-device-manage/src/device-manage-widget.component.d.ts +0 -71
  561. package/user-device-manage/src/environments/environment.d.ts +0 -9
  562. package/user-device-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  563. package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
  564. package/user-device-manage/src/material.module.d.ts +0 -29
  565. package/user-device-manage/src/notifications/notification.component.d.ts +0 -19
  566. package/user-device-manage/src/services/api.service.d.ts +0 -20
  567. package/user-device-manage/src/services/device.service.d.ts +0 -21
  568. package/user-device-manage/src/services/dns.service.d.ts +0 -14
  569. package/user-device-manage/src/services/line.service.d.ts +0 -33
  570. package/user-device-manage/src/services/notification.service.d.ts +0 -18
  571. package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  572. package/user-device-manage/src/services/site-settings.service.d.ts +0 -25
  573. package/user-device-manage/src/services/sorting-utils.service.d.ts +0 -26
  574. package/user-device-manage/src/services/user.service.d.ts +0 -51
  575. package/user-device-manage/src/services/utils.service.d.ts +0 -10
  576. package/user-device-manage/src/services/validation.service.d.ts +0 -165
  577. package/user-device-manage/src/user-device-manage.module.d.ts +0 -22
  578. package/user-device-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  579. package/user-manage/index.d.ts +0 -5
  580. package/user-manage/src/app.constants.d.ts +0 -29
  581. package/user-manage/src/classes/device.d.ts +0 -203
  582. package/user-manage/src/classes/line-association-interface.d.ts +0 -40
  583. package/user-manage/src/classes/line-association.d.ts +0 -55
  584. package/user-manage/src/classes/line-call-info-display.d.ts +0 -11
  585. package/user-manage/src/classes/line-directory.d.ts +0 -16
  586. package/user-manage/src/classes/line.d.ts +0 -140
  587. package/user-manage/src/classes/notification.d.ts +0 -18
  588. package/user-manage/src/classes/pagination.d.ts +0 -13
  589. package/user-manage/src/classes/recording-options.d.ts +0 -5
  590. package/user-manage/src/classes/simplified-user.d.ts +0 -50
  591. package/user-manage/src/classes/table-data.d.ts +0 -5
  592. package/user-manage/src/classes/translation-pattern.d.ts +0 -18
  593. package/user-manage/src/classes/user-list.d.ts +0 -34
  594. package/user-manage/src/common-functions.d.ts +0 -1
  595. package/user-manage/src/device-list/device-list.component.d.ts +0 -11
  596. package/user-manage/src/environments/environment.d.ts +0 -9
  597. package/user-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  598. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
  599. package/user-manage/src/material.module.d.ts +0 -28
  600. package/user-manage/src/notifications/notification.component.d.ts +0 -19
  601. package/user-manage/src/removeKynFromIBM.service.d.ts +0 -8
  602. package/user-manage/src/services/api.service.d.ts +0 -21
  603. package/user-manage/src/services/dns.service.d.ts +0 -14
  604. package/user-manage/src/services/line.service.d.ts +0 -17
  605. package/user-manage/src/services/notification.service.d.ts +0 -18
  606. package/user-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  607. package/user-manage/src/services/site-settings.service.d.ts +0 -9
  608. package/user-manage/src/services/sorting-utils.service.d.ts +0 -26
  609. package/user-manage/src/services/user.service.d.ts +0 -43
  610. package/user-manage/src/services/users-search.service.d.ts +0 -25
  611. package/user-manage/src/services/utils.service.d.ts +0 -9
  612. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +0 -24
  613. package/user-manage/src/user-calling/user-calling.component.d.ts +0 -30
  614. package/user-manage/src/user-info/user-info.component.d.ts +0 -9
  615. package/user-manage/src/user-manage-widget.component.d.ts +0 -45
  616. package/user-manage/src/user-manage.module.d.ts +0 -21
  617. package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  618. package/user-manage/src/utils/pagination/pagination.component.d.ts +0 -18
  619. package/users-list/index.d.ts +0 -5
  620. package/users-list/src/app.constants.d.ts +0 -36
  621. package/users-list/src/classes/app-location.d.ts +0 -17
  622. package/users-list/src/classes/device.d.ts +0 -224
  623. package/users-list/src/classes/line.d.ts +0 -140
  624. package/users-list/src/classes/move-user.d.ts +0 -85
  625. package/users-list/src/classes/notification.d.ts +0 -18
  626. package/users-list/src/classes/pagination.d.ts +0 -13
  627. package/users-list/src/classes/simlified-user.d.ts +0 -25
  628. package/users-list/src/classes/table-data.d.ts +0 -5
  629. package/users-list/src/classes/user-list.d.ts +0 -36
  630. package/users-list/src/material.module.d.ts +0 -31
  631. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.d.ts +0 -21
  632. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.d.ts +0 -12
  633. package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +0 -55
  634. package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +0 -17
  635. package/users-list/src/services/api-webex.service.d.ts +0 -8
  636. package/users-list/src/services/api.service.d.ts +0 -21
  637. package/users-list/src/services/dns.service.d.ts +0 -18
  638. package/users-list/src/services/events-communication.service.d.ts +0 -8
  639. package/users-list/src/services/move-user.service.d.ts +0 -17
  640. package/users-list/src/services/notification.service.d.ts +0 -18
  641. package/users-list/src/services/removeKynFromIBM.service.d.ts +0 -8
  642. package/users-list/src/services/site-settings.service.d.ts +0 -11
  643. package/users-list/src/services/user.service.d.ts +0 -35
  644. package/users-list/src/services/users-search.service.d.ts +0 -34
  645. package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +0 -20
  646. package/users-list/src/users-list.component.d.ts +0 -60
  647. package/users-list/src/users-list.module.d.ts +0 -18
  648. package/users-list/src/utils/app-loader/app-loader.d.ts +0 -6
  649. package/users-list/src/utils/common-functions.d.ts +0 -2
  650. package/users-list/src/utils/pagination/pagination.component.d.ts +0 -18
  651. package/users-list/src/utils/utils.service.d.ts +0 -9
  652. /package/{di2mt → projects/tuki/widgets/di2mt}/README.md +0 -0
  653. /package/{user-device-manage/public-api.d.ts → projects/tuki/widgets/user-device-manage/public-api.ts} +0 -0
  654. /package/{user-manage/public-api.d.ts → projects/tuki/widgets/user-manage/public-api.ts} +0 -0
  655. /package/{users-list/public-api.d.ts → projects/tuki/widgets/users-list/public-api.ts} +0 -0
@@ -1,208 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./services/user.service";
5
- import * as i2 from "./services/api.service";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/forms";
8
- import * as i5 from "@angular/material/divider";
9
- import * as i6 from "@angular/material/form-field";
10
- import * as i7 from "@angular/material/input";
11
- import * as i8 from "@angular/material/tabs";
12
- import * as i9 from "@angular/material/slide-toggle";
13
- import * as i10 from "./utils/app-loader/app-loader";
14
- import * as i11 from "./user-info/user-info.component";
15
- import * as i12 from "./lazy-loading-select/lazy-loading-select.component";
16
- import * as i13 from "./user-calling/user-calling.component";
17
- import * as i14 from "./device-list/device-list.component";
18
- export class UserManageWidgetComponent {
19
- get form() {
20
- return this.userService?.user?.form;
21
- }
22
- get user() {
23
- return this.userService.user;
24
- }
25
- get userName() {
26
- return `${this.user?.firstName || ''} ${this.user?.lastName || ''}`;
27
- }
28
- get lineAssociation() {
29
- return this.userService?.user?.devices[0].lineAssociations[0];
30
- }
31
- constructor(userService, apiService) {
32
- this.userService = userService;
33
- this.apiService = apiService;
34
- this.onSave = new EventEmitter();
35
- this.onChange = new EventEmitter();
36
- this.selectDevice = new EventEmitter();
37
- this.goBack = new EventEmitter();
38
- this.userService.onUserLineSaved$
39
- .subscribe(() => {
40
- this.userService.persistCacheChanges()
41
- .subscribe(() => {
42
- this.userService.dataPending = false;
43
- this.onSave.next("saved");
44
- });
45
- }, () => this.userService.dataPending = false);
46
- }
47
- ngOnInit() {
48
- this.apiService.token = this.token;
49
- this.apiService.apiUrl = this.host;
50
- this.getData();
51
- }
52
- onDeviceSelect(device) {
53
- this.selectDevice.emit(device.name);
54
- }
55
- onGoBack() {
56
- this.goBack.emit();
57
- }
58
- onExtensionChange() {
59
- this.onChange.next("start extension change..");
60
- }
61
- onChangeField(token) {
62
- this.onChange.next("start change..");
63
- if (!token) {
64
- return;
65
- }
66
- this.userService.user[token] = this.form?.get(token)?.value;
67
- if (token === 'middleName') {
68
- this.form?.get(token)?.setValidators([Validators.pattern('[ a-zA-Z-]+')]);
69
- }
70
- if (token === 'telephoneNumber' || token === 'mobileNumber' || token === 'pagerNumber' || token === 'homeNumber') {
71
- this.form?.get(token)?.setValidators([Validators.pattern('[ 0-9-+]+')]);
72
- }
73
- this.form?.get(token)?.updateValueAndValidity();
74
- this.validateUserId();
75
- }
76
- saveChanges() {
77
- if (!this.userService.hasUnsavedChanges() || this.form?.invalid) {
78
- return;
79
- }
80
- if (this.user.devices[0].lineAssociations[0] && !this.user.devices[0].lineAssociations[0].equals(this.userService.originUser.devices[0].lineAssociations[0])) {
81
- return this.userService.saveNewLine();
82
- }
83
- else {
84
- this.dataPending = true;
85
- const subscription = this.userService.persistCacheChanges()
86
- .subscribe(() => {
87
- this.dataPending = false;
88
- this.onSave.next("user has been saved successfully..");
89
- subscription.unsubscribe();
90
- }, () => this.dataPending = false);
91
- }
92
- }
93
- toggleEditMode() {
94
- this.userService.user.toggleEditMode();
95
- }
96
- isSavingDisabled() {
97
- return !this.userService.hasUnsavedChanges() || this.userService.hasExistedUserId;
98
- }
99
- changeField(token) {
100
- this.onChange.next("start change..");
101
- const formField = this.user?.form?.get(token);
102
- if (token !== 'confirmDigestCredentials') {
103
- // @ts-ignore
104
- this.user[token] = formField?.value;
105
- }
106
- if (token === 'digestCredentials' || token === 'confirmDigestCredentials') {
107
- this.digestCredentialsHandler(token, formField);
108
- }
109
- }
110
- digestCredentialsHandler(token, field) {
111
- const fieldNameToCompare = token === 'digestCredentials' ? 'confirmDigestCredentials' : 'digestCredentials';
112
- const fieldToCompare = this.userService.user.form.get(fieldNameToCompare);
113
- if (this.userService.user?.form?.get(token)) {
114
- this.userService.user?.form?.get(token)?.setErrors(null);
115
- this.userService.user?.form?.get(fieldNameToCompare)?.setErrors(null);
116
- /* if (!field.value && !fieldToCompare.value) {
117
- this.userService.user?.digestCredentials = null;
118
- return;
119
- }
120
-
121
- if (!field.value && fieldToCompare.value || !fieldToCompare.value && field.value) {
122
- const requiredFieldName = field.value ? fieldNameToCompare : token;
123
- this.userService.user.form.get(requiredFieldName).setErrors({required: true});
124
- return;
125
- }
126
- if (field.value && fieldToCompare.value && field.value !== fieldToCompare.value) {
127
- this.userService.user.form.get(token).setErrors({mismatch: true});
128
- this.userService.user.form.get(fieldNameToCompare).setErrors({mismatch: true});
129
- }*/
130
- }
131
- }
132
- getData() {
133
- this.dataPending = true;
134
- this.userService.fetchUserToken(this.siteId, this.userId, this.isLdap)
135
- .subscribe({
136
- complete: (v) => {
137
- this.dataPending = false;
138
- },
139
- error: (e) => this.dataPending = false,
140
- });
141
- }
142
- setCookie(name, value, days) {
143
- var expires = "";
144
- if (days) {
145
- var date = new Date();
146
- date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
147
- expires = "; expires=" + date.toUTCString();
148
- }
149
- document.cookie = name + "=" + (value || "") + expires + "; path=/";
150
- }
151
- validateUserId() {
152
- const idControl = this.form.get('userid');
153
- if (idControl?.value !== '' && idControl?.value !== this.userService.originUser.userid) {
154
- this.userService.fetchUserById(idControl?.value)
155
- .subscribe((res) => {
156
- this.userService.userIdExistPending = false;
157
- idControl?.setErrors({ exist: true });
158
- if (this.form?.get('userid')?.hasError('exist')) {
159
- this.userService.hasExistedUserId = true;
160
- }
161
- else {
162
- this.userService.hasExistedUserId = false;
163
- }
164
- }, ((error) => {
165
- this.userService.userIdExistPending = false;
166
- if (error.status !== 404) {
167
- // this.notificationService.warning(this.translate.instant('APP_USER_MSG.CHECK_USER_ID_FAILED'));
168
- }
169
- else {
170
- this.userService.user.newUserId = this.form?.get('userid')?.value;
171
- }
172
- }));
173
- }
174
- else {
175
- // delete this.userService?.user?.newUserId;
176
- }
177
- }
178
- save() {
179
- this.saveChanges();
180
- }
181
- }
182
- UserManageWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserManageWidgetComponent, deps: [{ token: i1.UserService }, { token: i2.APIService }], target: i0.ɵɵFactoryTarget.Component });
183
- UserManageWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserManageWidgetComponent, selector: "app-user-manage-widget", inputs: { token: "token", host: "host", siteId: "siteId", userId: "userId", deviceName: "deviceName", isLdap: "isLdap" }, outputs: { onSave: "onSave", onChange: "onChange", selectDevice: "selectDevice", goBack: "goBack" }, ngImport: i0, template: "<app-loader *ngIf=\"dataPending || userService.dataPending\"></app-loader>\r\n\r\n<div *ngIf=\"!dataPending\">\r\n <div class=\"go-back-box\" (click)=\"onGoBack()\">\r\n <div class=\"go-back-box-container\">\r\n <span class=\"app-icon icon-webex-left-arrow\"></span>\r\n <span class=\"go-back-title\">Users</span>\r\n </div>\r\n </div>\r\n\r\n <app-user-info *ngIf=\"user\" [name]=\"userName\" [email]=\"user.email\" [active]=\"true\"\r\n [position]=\"'Member of ' + user.siteName\"></app-user-info>\r\n\r\n <mat-tab-group disableRipple class=\"content-box\">\r\n <mat-tab label=\"Profile\">\r\n <ng-container *ngTemplateOutlet=\"userProfile\">\r\n </ng-container>\r\n </mat-tab>\r\n <mat-tab label=\"Calling\" [disabled]=\"!lineAssociation\">\r\n <app-user-calling *ngIf=\"lineAssociation\" [siteId]=\"siteId\"\r\n (onExtensionChange)=\"onExtensionChange()\"></app-user-calling>\r\n </mat-tab>\r\n <mat-tab label=\"Devices\">\r\n <app-device-list [devices]=\"user?.devices\" (onDeviceSelect)=\"onDeviceSelect($event)\"></app-device-list>\r\n </mat-tab>\r\n <mat-tab label=\"Lines\" [disabled]=\"true\"></mat-tab>\r\n <mat-tab label=\"Features\" [disabled]=\"true\"></mat-tab>\r\n </mat-tab-group>\r\n\r\n <ng-template #userProfile>\r\n <form *ngIf=\"user && form\" [formGroup]=\"form\">\r\n <div class=\"info-boxes-container\">\r\n <!-- USER INFO BOX-->\r\n <div class=\"user-info-box user-details-box\">\r\n <h3 class=\"user-box-title\">User Details</h3>\r\n <div class=\"form-holder__inputs\">\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">User Id</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"userid\" matInput (input)=\"onChangeField('userid')\">\r\n <mat-error\r\n *ngIf=\"form.get('userid').hasError('required')\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n This field is required\r\n </mat-error>\r\n <mat-error *ngIf=\"form.get('userid').hasError('exist')\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n User ID already exists\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Email</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"email\" matInput (input)=\"onChangeField('email')\">\r\n <mat-error\r\n *ngIf=\"form.get('email').touched && form.get('email').hasError('required')\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n This field is required\r\n </mat-error>\r\n <mat-error *ngIf=\"form.get('email').touched && form.get('email').hasError('pattern')\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n Please enter valid email\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Fisrt Name</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"firstName\" matInput (input)=\"onChangeField('firstName')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Last Name</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"lastName\" matInput (input)=\"onChangeField('lastName')\">\r\n <mat-error\r\n *ngIf=\"form.get('lastName').touched && form.get('lastName').hasError('required')\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n This field is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <!-- USER INFO BOX-->\r\n <div class=\"user-info-box user-details-box\">\r\n <h3 class=\"user-box-title\">General User Info</h3>\r\n <div class=\"form-holder__inputs\">\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Department</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"department\" matInput type=\"text\" (input)=\"onChangeField('department')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Manager user ID</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"manager\" matInput type=\"text\" (input)=\"onChangeField('manager')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Associated PC</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"associatedPc\" matInput type=\"text\" (input)=\"onChangeField('associatedPc')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Digest credentials</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"digestCredentials\" matInput type=\"text\"\r\n (input)=\"onChangeField('digestCredentials')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">User profile</div>\r\n <div class=\"input-holder__input\">\r\n <app-lazy-loading-select\r\n [siteId]=\"siteId\"\r\n [controlName]=\"'userProfile'\"\r\n [form]=\"user.form\"\r\n (changeField)=\"changeField('userProfile')\"\r\n [optionsToken]=\"'userProfiles'\"\r\n ></app-lazy-loading-select>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Mobile voice access</div>\r\n <div class=\"input-holder__input\">\r\n <mat-slide-toggle\r\n formControlName=\"enableMobileVoiceAccess\"\r\n (change)=\"onChangeField('enableMobileVoiceAccess')\"\r\n [checked]=\"user.enableMobileVoiceAccess\">\r\n </mat-slide-toggle>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Userlocale</div>\r\n <div class=\"input-holder__input\">\r\n <app-lazy-loading-select\r\n [siteId]=\"siteId\"\r\n [controlName]=\"'userLocale'\"\r\n [form]=\"user.form\"\r\n (changeField)=\"changeField($event)\"\r\n [optionsToken]=\"'userLocales'\"\r\n [default]=\"{key: '', value: 'None', disabled: false}\">\r\n </app-lazy-loading-select>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Confirm digest credentials</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"confirmDigestCredentials\" matInput type=\"text\"\r\n (input)=\"onChangeField('confirmDigestCredentials')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- USER INFO BOX-->\r\n <div class=\"user-info-box user-details-box\">\r\n <h3 class=\"user-box-title\">Contact Information</h3>\r\n <div class=\"form-holder__inputs\">\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Middle Name</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" formControlName=\"middleName\" (input)=\"onChangeField('middleName')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Telephone Number</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"number\" formControlName=\"telephoneNumber\"\r\n (input)=\"onChangeField('telephoneNumber')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Mobile Number</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"number\" formControlName=\"mobileNumber\" (input)=\"onChangeField('mobileNumber')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Digest credentials</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" formControlName=\"digestCredentials\"\r\n (input)=\"onChangeField('digestCredentials')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Diractory URI</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" formControlName=\"directoryUri\" (input)=\"onChangeField('directoryUri')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Title</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" formControlName=\"title\" (input)=\"onChangeField('title')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Home Number</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"number\" formControlName=\"homeNumber\" (input)=\"onChangeField('homeNumber')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Pager Number</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"number\" formControlName=\"pagerNumber\" (input)=\"onChangeField('pagerNumber')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Display Name</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" formControlName=\"displayName\" (input)=\"onChangeField('displayName')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n </form>\r\n </ng-template>\r\n</div>\r\n\r\n<!--<mat-progress-spinner *ngIf=\"dataPending\"-->\r\n<!-- class=\"page-spinner\"-->\r\n<!-- mode=\"indeterminate\"-->\r\n<!-- [diameter]=\"120\"></mat-progress-spinner>-->\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.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:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.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:#636363;font-size:14px}.webex-table tr:hover td{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}.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}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-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}::ng-deep .mat-progress-spinner{position:absolute!important;top:40%;left:45%}.app-icon{height:20px;width:20px;display:inline-block;cursor:pointer;background-repeat:no-repeat;background-position:center}.app-icon{transition:all .15s ease-out}.icon-webex-right-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2220%22 height%3D%2220%22 viewBox%3D%220 0 20 20%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22arrow-right%22%3E%0D%3Cpath id%3D%22Vector%22 d%3D%22M14.0812 9.66902L6.58119 2.16902C6.53813 2.12351 6.48638 2.0871 6.429 2.06193C6.37162 2.03677 6.30978 2.02336 6.24713 2.0225C6.18448 2.02165 6.1223 2.03336 6.06425 2.05695C6.00621 2.08053 5.95348 2.11552 5.90919 2.15983C5.8649 2.20415 5.82994 2.25689 5.80638 2.31495C5.78282 2.373 5.77113 2.43519 5.77202 2.49784C5.77291 2.56049 5.78634 2.62232 5.81153 2.67969C5.83673 2.73705 5.87316 2.78879 5.91869 2.83183L13.0874 10.0003L5.91869 17.169C5.87316 17.2121 5.83673 17.2638 5.81153 17.3212C5.78634 17.3785 5.77291 17.4404 5.77202 17.503C5.77113 17.5657 5.78282 17.6279 5.80638 17.6859C5.82994 17.744 5.8649 17.7967 5.90919 17.841C5.95348 17.8853 6.00621 17.9203 6.06425 17.9439C6.1223 17.9675 6.18448 17.9792 6.24713 17.9783C6.30978 17.9775 6.37162 17.9641 6.429 17.9389C6.48638 17.9138 6.53813 17.8773 6.58119 17.8318L14.0812 10.3318C14.1691 10.2439 14.2184 10.1247 14.2184 10.0004C14.2184 9.87613 14.1691 9.75692 14.0812 9.66902Z%22 fill%3D%22%230F0F0F%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.icon-webex-left-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22arrow-left%22%3E%0D%3Cpath id%3D%22Vector%22 d%3D%22M5.70746 7.99987L11.3539 2.35352C11.4453 2.25928 11.496 2.13287 11.495 2.00159C11.494 1.8703 11.4414 1.74467 11.3486 1.65183C11.2558 1.55899 11.1301 1.50639 10.9988 1.50539C10.8676 1.50438 10.7411 1.55506 10.6469 1.64647L4.64691 7.64647C4.55316 7.74023 4.50049 7.8674 4.50049 7.99999C4.50049 8.13259 4.55316 8.25975 4.64691 8.35352L10.6469 14.3535C10.6931 14.4011 10.7482 14.439 10.8092 14.4651C10.8702 14.4912 10.9357 14.5049 11.002 14.5054C11.0683 14.5059 11.134 14.4932 11.1954 14.468C11.2567 14.4429 11.3125 14.4058 11.3593 14.3589C11.4062 14.312 11.4433 14.2563 11.4685 14.1949C11.4936 14.1336 11.5063 14.0679 11.5058 14.0016C11.5053 13.9353 11.4916 13.8697 11.4655 13.8088C11.4394 13.7478 11.4015 13.6926 11.3539 13.6465L5.70746 7.99987Z%22 fill%3D%22black%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.go-back-box{background:white;border-bottom:rgba(0,0,0,.2) 1px solid;height:60px;width:100%;line-height:60px;cursor:pointer}.go-back-box-container{width:95%;margin:auto;display:flex;justify-content:flex-start}.go-back-box-container .icon-webex-left-arrow,.go-back-box-container .go-back-title{display:block;height:60px}.go-back-box-container .go-back-title{line-height:61px}.go-back-title{display:inline-block;margin:0 10px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i6.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i8.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i10.AppLoaderComponent, selector: "app-loader" }, { kind: "component", type: i11.UserInfoComponent, selector: "app-user-info", inputs: ["name", "active", "email", "position"] }, { kind: "component", type: i12.LazyLoadingSelectComponent, selector: "app-lazy-loading-select", inputs: ["siteId", "form", "standalone", "placeholder", "controlName", "optionsToken", "appearance", "errorCode", "errorText", "default", "id"], outputs: ["changeField"] }, { kind: "component", type: i13.UserCallingComponent, selector: "app-user-calling", inputs: ["siteId", "userId"], outputs: ["onExtensionChange"] }, { kind: "component", type: i14.DeviceListComponent, selector: "app-device-list", inputs: ["devices"], outputs: ["onDeviceSelect"] }] });
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserManageWidgetComponent, decorators: [{
185
- type: Component,
186
- args: [{ selector: 'app-user-manage-widget', template: "<app-loader *ngIf=\"dataPending || userService.dataPending\"></app-loader>\r\n\r\n<div *ngIf=\"!dataPending\">\r\n <div class=\"go-back-box\" (click)=\"onGoBack()\">\r\n <div class=\"go-back-box-container\">\r\n <span class=\"app-icon icon-webex-left-arrow\"></span>\r\n <span class=\"go-back-title\">Users</span>\r\n </div>\r\n </div>\r\n\r\n <app-user-info *ngIf=\"user\" [name]=\"userName\" [email]=\"user.email\" [active]=\"true\"\r\n [position]=\"'Member of ' + user.siteName\"></app-user-info>\r\n\r\n <mat-tab-group disableRipple class=\"content-box\">\r\n <mat-tab label=\"Profile\">\r\n <ng-container *ngTemplateOutlet=\"userProfile\">\r\n </ng-container>\r\n </mat-tab>\r\n <mat-tab label=\"Calling\" [disabled]=\"!lineAssociation\">\r\n <app-user-calling *ngIf=\"lineAssociation\" [siteId]=\"siteId\"\r\n (onExtensionChange)=\"onExtensionChange()\"></app-user-calling>\r\n </mat-tab>\r\n <mat-tab label=\"Devices\">\r\n <app-device-list [devices]=\"user?.devices\" (onDeviceSelect)=\"onDeviceSelect($event)\"></app-device-list>\r\n </mat-tab>\r\n <mat-tab label=\"Lines\" [disabled]=\"true\"></mat-tab>\r\n <mat-tab label=\"Features\" [disabled]=\"true\"></mat-tab>\r\n </mat-tab-group>\r\n\r\n <ng-template #userProfile>\r\n <form *ngIf=\"user && form\" [formGroup]=\"form\">\r\n <div class=\"info-boxes-container\">\r\n <!-- USER INFO BOX-->\r\n <div class=\"user-info-box user-details-box\">\r\n <h3 class=\"user-box-title\">User Details</h3>\r\n <div class=\"form-holder__inputs\">\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">User Id</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"userid\" matInput (input)=\"onChangeField('userid')\">\r\n <mat-error\r\n *ngIf=\"form.get('userid').hasError('required')\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n This field is required\r\n </mat-error>\r\n <mat-error *ngIf=\"form.get('userid').hasError('exist')\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n User ID already exists\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Email</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"email\" matInput (input)=\"onChangeField('email')\">\r\n <mat-error\r\n *ngIf=\"form.get('email').touched && form.get('email').hasError('required')\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n This field is required\r\n </mat-error>\r\n <mat-error *ngIf=\"form.get('email').touched && form.get('email').hasError('pattern')\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n Please enter valid email\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Fisrt Name</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"firstName\" matInput (input)=\"onChangeField('firstName')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Last Name</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"lastName\" matInput (input)=\"onChangeField('lastName')\">\r\n <mat-error\r\n *ngIf=\"form.get('lastName').touched && form.get('lastName').hasError('required')\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n This field is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <!-- USER INFO BOX-->\r\n <div class=\"user-info-box user-details-box\">\r\n <h3 class=\"user-box-title\">General User Info</h3>\r\n <div class=\"form-holder__inputs\">\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Department</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"department\" matInput type=\"text\" (input)=\"onChangeField('department')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Manager user ID</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"manager\" matInput type=\"text\" (input)=\"onChangeField('manager')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Associated PC</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"associatedPc\" matInput type=\"text\" (input)=\"onChangeField('associatedPc')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Digest credentials</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"digestCredentials\" matInput type=\"text\"\r\n (input)=\"onChangeField('digestCredentials')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">User profile</div>\r\n <div class=\"input-holder__input\">\r\n <app-lazy-loading-select\r\n [siteId]=\"siteId\"\r\n [controlName]=\"'userProfile'\"\r\n [form]=\"user.form\"\r\n (changeField)=\"changeField('userProfile')\"\r\n [optionsToken]=\"'userProfiles'\"\r\n ></app-lazy-loading-select>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Mobile voice access</div>\r\n <div class=\"input-holder__input\">\r\n <mat-slide-toggle\r\n formControlName=\"enableMobileVoiceAccess\"\r\n (change)=\"onChangeField('enableMobileVoiceAccess')\"\r\n [checked]=\"user.enableMobileVoiceAccess\">\r\n </mat-slide-toggle>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Userlocale</div>\r\n <div class=\"input-holder__input\">\r\n <app-lazy-loading-select\r\n [siteId]=\"siteId\"\r\n [controlName]=\"'userLocale'\"\r\n [form]=\"user.form\"\r\n (changeField)=\"changeField($event)\"\r\n [optionsToken]=\"'userLocales'\"\r\n [default]=\"{key: '', value: 'None', disabled: false}\">\r\n </app-lazy-loading-select>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Confirm digest credentials</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input formControlName=\"confirmDigestCredentials\" matInput type=\"text\"\r\n (input)=\"onChangeField('confirmDigestCredentials')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- USER INFO BOX-->\r\n <div class=\"user-info-box user-details-box\">\r\n <h3 class=\"user-box-title\">Contact Information</h3>\r\n <div class=\"form-holder__inputs\">\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Middle Name</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" formControlName=\"middleName\" (input)=\"onChangeField('middleName')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Telephone Number</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"number\" formControlName=\"telephoneNumber\"\r\n (input)=\"onChangeField('telephoneNumber')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Mobile Number</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"number\" formControlName=\"mobileNumber\" (input)=\"onChangeField('mobileNumber')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Digest credentials</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" formControlName=\"digestCredentials\"\r\n (input)=\"onChangeField('digestCredentials')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Diractory URI</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" formControlName=\"directoryUri\" (input)=\"onChangeField('directoryUri')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Title</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" formControlName=\"title\" (input)=\"onChangeField('title')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Home Number</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"number\" formControlName=\"homeNumber\" (input)=\"onChangeField('homeNumber')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Pager Number</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"number\" formControlName=\"pagerNumber\" (input)=\"onChangeField('pagerNumber')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"input-holder\">\r\n <div class=\"input-holder__name\">Display Name</div>\r\n <div class=\"input-holder__input\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" formControlName=\"displayName\" (input)=\"onChangeField('displayName')\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n </form>\r\n </ng-template>\r\n</div>\r\n\r\n<!--<mat-progress-spinner *ngIf=\"dataPending\"-->\r\n<!-- class=\"page-spinner\"-->\r\n<!-- mode=\"indeterminate\"-->\r\n<!-- [diameter]=\"120\"></mat-progress-spinner>-->\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.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:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.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:#636363;font-size:14px}.webex-table tr:hover td{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}.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}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-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}::ng-deep .mat-progress-spinner{position:absolute!important;top:40%;left:45%}.app-icon{height:20px;width:20px;display:inline-block;cursor:pointer;background-repeat:no-repeat;background-position:center}.app-icon{transition:all .15s ease-out}.icon-webex-right-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2220%22 height%3D%2220%22 viewBox%3D%220 0 20 20%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22arrow-right%22%3E%0D%3Cpath id%3D%22Vector%22 d%3D%22M14.0812 9.66902L6.58119 2.16902C6.53813 2.12351 6.48638 2.0871 6.429 2.06193C6.37162 2.03677 6.30978 2.02336 6.24713 2.0225C6.18448 2.02165 6.1223 2.03336 6.06425 2.05695C6.00621 2.08053 5.95348 2.11552 5.90919 2.15983C5.8649 2.20415 5.82994 2.25689 5.80638 2.31495C5.78282 2.373 5.77113 2.43519 5.77202 2.49784C5.77291 2.56049 5.78634 2.62232 5.81153 2.67969C5.83673 2.73705 5.87316 2.78879 5.91869 2.83183L13.0874 10.0003L5.91869 17.169C5.87316 17.2121 5.83673 17.2638 5.81153 17.3212C5.78634 17.3785 5.77291 17.4404 5.77202 17.503C5.77113 17.5657 5.78282 17.6279 5.80638 17.6859C5.82994 17.744 5.8649 17.7967 5.90919 17.841C5.95348 17.8853 6.00621 17.9203 6.06425 17.9439C6.1223 17.9675 6.18448 17.9792 6.24713 17.9783C6.30978 17.9775 6.37162 17.9641 6.429 17.9389C6.48638 17.9138 6.53813 17.8773 6.58119 17.8318L14.0812 10.3318C14.1691 10.2439 14.2184 10.1247 14.2184 10.0004C14.2184 9.87613 14.1691 9.75692 14.0812 9.66902Z%22 fill%3D%22%230F0F0F%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.icon-webex-left-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22arrow-left%22%3E%0D%3Cpath id%3D%22Vector%22 d%3D%22M5.70746 7.99987L11.3539 2.35352C11.4453 2.25928 11.496 2.13287 11.495 2.00159C11.494 1.8703 11.4414 1.74467 11.3486 1.65183C11.2558 1.55899 11.1301 1.50639 10.9988 1.50539C10.8676 1.50438 10.7411 1.55506 10.6469 1.64647L4.64691 7.64647C4.55316 7.74023 4.50049 7.8674 4.50049 7.99999C4.50049 8.13259 4.55316 8.25975 4.64691 8.35352L10.6469 14.3535C10.6931 14.4011 10.7482 14.439 10.8092 14.4651C10.8702 14.4912 10.9357 14.5049 11.002 14.5054C11.0683 14.5059 11.134 14.4932 11.1954 14.468C11.2567 14.4429 11.3125 14.4058 11.3593 14.3589C11.4062 14.312 11.4433 14.2563 11.4685 14.1949C11.4936 14.1336 11.5063 14.0679 11.5058 14.0016C11.5053 13.9353 11.4916 13.8697 11.4655 13.8088C11.4394 13.7478 11.4015 13.6926 11.3539 13.6465L5.70746 7.99987Z%22 fill%3D%22black%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.go-back-box{background:white;border-bottom:rgba(0,0,0,.2) 1px solid;height:60px;width:100%;line-height:60px;cursor:pointer}.go-back-box-container{width:95%;margin:auto;display:flex;justify-content:flex-start}.go-back-box-container .icon-webex-left-arrow,.go-back-box-container .go-back-title{display:block;height:60px}.go-back-box-container .go-back-title{line-height:61px}.go-back-title{display:inline-block;margin:0 10px}\n"] }]
187
- }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.APIService }]; }, propDecorators: { onSave: [{
188
- type: Output
189
- }], onChange: [{
190
- type: Output
191
- }], selectDevice: [{
192
- type: Output
193
- }], goBack: [{
194
- type: Output
195
- }], token: [{
196
- type: Input
197
- }], host: [{
198
- type: Input
199
- }], siteId: [{
200
- type: Input
201
- }], userId: [{
202
- type: Input
203
- }], deviceName: [{
204
- type: Input
205
- }], isLdap: [{
206
- type: Input
207
- }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2Utd2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvdXNlci1tYW5hZ2Utd2lkZ2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvdXNlci1tYW5hZ2Utd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBYXZELE1BQU0sT0FBTyx5QkFBeUI7SUFlcEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksRUFBRSxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBR0QsWUFDUyxXQUF3QixFQUN2QixVQUFzQjtRQUR2QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN2QixlQUFVLEdBQVYsVUFB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OlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2ltcGxpZmllZFVzZXIgfSBmcm9tICcuL2NsYXNzZXMvc2ltcGxpZmllZC11c2VyJztcclxuaW1wb3J0IHsgTGluZUFzc29jaWF0aW9uIH0gZnJvbSAnLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24nO1xyXG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbi1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBEZXZpY2UgfSBmcm9tICcuL2NsYXNzZXMvZGV2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItbWFuYWdlLXdpZGdldCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbWFuYWdlLXdpZGdldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXNlci1tYW5hZ2Utd2lkZ2V0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyTWFuYWdlV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIGRhdGFQZW5kaW5nITogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpIG9uU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3REZXZpY2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgZ29CYWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgdG9rZW4hOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaG9zdCE6IHN0cmluZztcclxuICBASW5wdXQoKSBzaXRlSWQhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgdXNlcklkITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRldmljZU5hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNMZGFwITogYm9vbGVhbjtcclxuXHJcbiAgZ2V0IGZvcm0oKTogRm9ybUdyb3VwIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlPy51c2VyPy5mb3JtO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHVzZXIoKTogU2ltcGxpZmllZFVzZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UudXNlcjtcclxuICB9XHJcblxyXG4gIGdldCB1c2VyTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMudXNlcj8uZmlyc3ROYW1lIHx8ICcnfSAke3RoaXMudXNlcj8ubGFzdE5hbWUgfHwgJyd9YDtcclxuICB9XHJcblxyXG4gIGdldCBsaW5lQXNzb2NpYXRpb24oKTogTGluZUFzc29jaWF0aW9uIHwgTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlPy51c2VyPy5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnNbMF07XHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy51c2VyU2VydmljZS5vblVzZXJMaW5lU2F2ZWQkXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UucGVyc2lzdENhY2hlQ2hhbmdlcygpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5kYXRhUGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm9uU2F2ZS5uZXh0KFwic2F2ZWRcIik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSwgKCkgPT4gdGhpcy51c2VyU2VydmljZS5kYXRhUGVuZGluZyA9IGZhbHNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLnRva2VuID0gdGhpcy50b2tlbjtcclxuICAgIHRoaXMuYXBpU2VydmljZS5hcGlVcmwgPSB0aGlzLmhvc3Q7XHJcbiAgICB0aGlzLmdldERhdGEoKTtcclxuICB9XHJcblxyXG4gIG9uRGV2aWNlU2VsZWN0KGRldmljZTogRGV2aWNlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdERldmljZS5lbWl0KGRldmljZS5uYW1lKTtcclxuICB9XHJcblxyXG4gIG9uR29CYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nb0JhY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25FeHRlbnNpb25DaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlLm5leHQoXCJzdGFydCBleHRlbnNpb24gY2hhbmdlLi5cIik7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZUZpZWxkKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UubmV4dChcInN0YXJ0IGNoYW5nZS4uXCIpO1xyXG5cclxuICAgIGlmICghdG9rZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgKHRoaXMudXNlclNlcnZpY2UudXNlciBhcyBhbnkpW3Rva2VuXSA9IHRoaXMuZm9ybT8uZ2V0KHRva2VuKT8udmFsdWU7XHJcblxyXG4gICAgaWYgKHRva2VuID09PSAnbWlkZGxlTmFtZScpIHtcclxuICAgICAgdGhpcy5mb3JtPy5nZXQodG9rZW4pPy5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnBhdHRlcm4oJ1sgYS16QS1aLV0rJyldKTtcclxuICAgIH1cclxuICAgIGlmICh0b2tlbiA9PT0gJ3RlbGVwaG9uZU51bWJlcicgfHwgdG9rZW4gPT09ICdtb2JpbGVOdW1iZXInIHx8IHRva2VuID09PSAncGFnZXJOdW1iZXInIHx8IHRva2VuID09PSAnaG9tZU51bWJlcicpIHtcclxuICAgICAgdGhpcy5mb3JtPy5nZXQodG9rZW4pPy5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnBhdHRlcm4oJ1sgMC05LStdKycpXSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm0/LmdldCh0b2tlbik/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMudmFsaWRhdGVVc2VySWQoKTtcclxuICB9XHJcblxyXG4gIHNhdmVDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnVzZXJTZXJ2aWNlLmhhc1Vuc2F2ZWRDaGFuZ2VzKCkgfHwgdGhpcy5mb3JtPy5pbnZhbGlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy51c2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXSAmJiAhdGhpcy51c2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXS5lcXVhbHModGhpcy51c2VyU2VydmljZS5vcmlnaW5Vc2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2Uuc2F2ZU5ld0xpbmUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0YVBlbmRpbmcgPSB0cnVlO1xyXG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnVzZXJTZXJ2aWNlLnBlcnNpc3RDYWNoZUNoYW5nZXMoKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kYXRhUGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5vblNhdmUubmV4dChcInVzZXIgaGFzIGJlZW4gc2F2ZWQgc3VjY2Vzc2Z1bGx5Li5cIik7XHJcbiAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9LCAoKSA9PiB0aGlzLmRhdGFQZW5kaW5nID0gZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRWRpdE1vZGUoKSB7XHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIudG9nZ2xlRWRpdE1vZGUoKTtcclxuICB9XHJcblxyXG4gIGlzU2F2aW5nRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMudXNlclNlcnZpY2UuaGFzVW5zYXZlZENoYW5nZXMoKSB8fCB0aGlzLnVzZXJTZXJ2aWNlLmhhc0V4aXN0ZWRVc2VySWQ7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VGaWVsZCh0b2tlbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlLm5leHQoXCJzdGFydCBjaGFuZ2UuLlwiKTtcclxuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMudXNlcj8uZm9ybT8uZ2V0KHRva2VuKTtcclxuICAgIGlmICh0b2tlbiAhPT0gJ2NvbmZpcm1EaWdlc3RDcmVkZW50aWFscycpIHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICB0aGlzLnVzZXJbdG9rZW5dID0gZm9ybUZpZWxkPy52YWx1ZTtcclxuICAgIH1cclxuICAgIGlmICh0b2tlbiA9PT0gJ2RpZ2VzdENyZWRlbnRpYWxzJyB8fCB0b2tlbiA9PT0gJ2NvbmZpcm1EaWdlc3RDcmVkZW50aWFscycpIHtcclxuICAgICAgdGhpcy5kaWdlc3RDcmVkZW50aWFsc0hhbmRsZXIodG9rZW4sIGZvcm1GaWVsZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRpZ2VzdENyZWRlbnRpYWxzSGFuZGxlcih0b2tlbjogc3RyaW5nLCBmaWVsZDogYW55KSB7XHJcbiAgICBjb25zdCBmaWVsZE5hbWVUb0NvbXBhcmUgPSB0b2tlbiA9PT0gJ2RpZ2VzdENyZWRlbnRpYWxzJyA/ICdjb25maXJtRGlnZXN0Q3JlZGVudGlhbHMnIDogJ2RpZ2VzdENyZWRlbnRpYWxzJztcclxuICAgIGNvbnN0IGZpZWxkVG9Db21wYXJlID0gdGhpcy51c2VyU2VydmljZS51c2VyLmZvcm0uZ2V0KGZpZWxkTmFtZVRvQ29tcGFyZSk7XHJcbiAgICBpZiAodGhpcy51c2VyU2VydmljZS51c2VyPy5mb3JtPy5nZXQodG9rZW4pKSB7XHJcbiAgICAgIHRoaXMudXNlclNlcnZpY2UudXNlcj8uZm9ybT8uZ2V0KHRva2VuKT8uc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXI/LmZvcm0/LmdldChmaWVsZE5hbWVUb0NvbXBhcmUpPy5zZXRFcnJvcnMobnVsbCk7XHJcblxyXG4gICAgICAvKiBpZiAoIWZpZWxkLnZhbHVlICYmICFmaWVsZFRvQ29tcGFyZS52YWx1ZSkge1xyXG4gICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXI/LmRpZ2VzdENyZWRlbnRpYWxzID0gbnVsbDtcclxuICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgfVxyXG5cclxuICAgICAgIGlmICghZmllbGQudmFsdWUgJiYgZmllbGRUb0NvbXBhcmUudmFsdWUgfHwgIWZpZWxkVG9Db21wYXJlLnZhbHVlICYmIGZpZWxkLnZhbHVlKSB7XHJcbiAgICAgICAgIGNvbnN0IHJlcXVpcmVkRmllbGROYW1lID0gZmllbGQudmFsdWUgPyBmaWVsZE5hbWVUb0NvbXBhcmUgOiB0b2tlbjtcclxuICAgICAgICAgdGhpcy51c2VyU2VydmljZS51c2VyLmZvcm0uZ2V0KHJlcXVpcmVkRmllbGROYW1lKS5zZXRFcnJvcnMoe3JlcXVpcmVkOiB0cnVlfSk7XHJcbiAgICAgICAgIHJldHVybjtcclxuICAgICAgIH1cclxuICAgICAgIGlmIChmaWVsZC52YWx1ZSAmJiBmaWVsZFRvQ29tcGFyZS52YWx1ZSAmJiBmaWVsZC52YWx1ZSAhPT0gZmllbGRUb0NvbXBhcmUudmFsdWUpIHtcclxuICAgICAgICAgdGhpcy51c2VyU2VydmljZS51c2VyLmZvcm0uZ2V0KHRva2VuKS5zZXRFcnJvcnMoe21pc21hdGNoOiB0cnVlfSk7XHJcbiAgICAgICAgIHRoaXMudXNlclNlcnZpY2UudXNlci5mb3JtLmdldChmaWVsZE5hbWVUb0NvbXBhcmUpLnNldEVycm9ycyh7bWlzbWF0Y2g6IHRydWV9KTtcclxuICAgICAgIH0qL1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RGF0YSgpIHtcclxuICAgIHRoaXMuZGF0YVBlbmRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy51c2VyU2VydmljZS5mZXRjaFVzZXJUb2tlbih0aGlzLnNpdGVJZCwgdGhpcy51c2VySWQsIHRoaXMuaXNMZGFwKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBjb21wbGV0ZTogKHY6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kYXRhUGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlOiBhbnkpID0+IHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGRheXM6IG51bWJlcikge1xyXG4gICAgdmFyIGV4cGlyZXMgPSBcIlwiO1xyXG4gICAgaWYgKGRheXMpIHtcclxuICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyAoZGF5cyAqIDI0ICogNjAgKiA2MCAqIDEwMDApKTtcclxuICAgICAgZXhwaXJlcyA9IFwiOyBleHBpcmVzPVwiICsgZGF0ZS50b1VUQ1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgZG9jdW1lbnQuY29va2llID0gbmFtZSArIFwiPVwiICsgKHZhbHVlIHx8IFwiXCIpICsgZXhwaXJlcyArIFwiOyBwYXRoPS9cIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVVc2VySWQoKSB7XHJcbiAgICBjb25zdCBpZENvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KCd1c2VyaWQnKTtcclxuICAgIGlmIChpZENvbnRyb2w/LnZhbHVlICE9PSAnJyAmJiBpZENvbnRyb2w/LnZhbHVlICE9PSB0aGlzLnVzZXJTZXJ2aWNlLm9yaWdpblVzZXIudXNlcmlkKSB7XHJcbiAgICAgIHRoaXMudXNlclNlcnZpY2UuZmV0Y2hVc2VyQnlJZChpZENvbnRyb2w/LnZhbHVlKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS51c2VySWRFeGlzdFBlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWRDb250cm9sPy5zZXRFcnJvcnMoe2V4aXN0OiB0cnVlfSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm0/LmdldCgndXNlcmlkJyk/Lmhhc0Vycm9yKCdleGlzdCcpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5oYXNFeGlzdGVkVXNlcklkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmhhc0V4aXN0ZWRVc2VySWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgICgoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS51c2VySWRFeGlzdFBlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyAhPT0gNDA0KSB7XHJcbiAgICAgICAgICAgICAgLy8gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLndhcm5pbmcodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQVBQX1VTRVJfTVNHLkNIRUNLX1VTRVJfSURfRkFJTEVEJykpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UudXNlci5uZXdVc2VySWQgPSB0aGlzLmZvcm0/LmdldCgndXNlcmlkJyk/LnZhbHVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIGRlbGV0ZSB0aGlzLnVzZXJTZXJ2aWNlPy51c2VyPy5uZXdVc2VySWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8YXBwLWxvYWRlciAqbmdJZj1cImRhdGFQZW5kaW5nIHx8IHVzZXJTZXJ2aWNlLmRhdGFQZW5kaW5nXCI+PC9hcHAtbG9hZGVyPlxyXG5cclxuPGRpdiAqbmdJZj1cIiFkYXRhUGVuZGluZ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJnby1iYWNrLWJveFwiIChjbGljayk9XCJvbkdvQmFjaygpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ28tYmFjay1ib3gtY29udGFpbmVyXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWljb24gaWNvbi13ZWJleC1sZWZ0LWFycm93XCI+PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImdvLWJhY2stdGl0bGVcIj5Vc2Vyczwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8YXBwLXVzZXItaW5mbyAqbmdJZj1cInVzZXJcIiBbbmFtZV09XCJ1c2VyTmFtZVwiIFtlbWFpbF09XCJ1c2VyLmVtYWlsXCIgW2FjdGl2ZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICBbcG9zaXRpb25dPVwiJ01lbWJlciBvZiAnICsgdXNlci5zaXRlTmFtZVwiPjwvYXBwLXVzZXItaW5mbz5cclxuXHJcbiAgPG1hdC10YWItZ3JvdXAgZGlzYWJsZVJpcHBsZSBjbGFzcz1cImNvbnRlbnQtYm94XCI+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIlByb2ZpbGVcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInVzZXJQcm9maWxlXCI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtdGFiPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJDYWxsaW5nXCIgW2Rpc2FibGVkXT1cIiFsaW5lQXNzb2NpYXRpb25cIj5cclxuICAgICAgPGFwcC11c2VyLWNhbGxpbmcgKm5nSWY9XCJsaW5lQXNzb2NpYXRpb25cIiBbc2l0ZUlkXT1cInNpdGVJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvbkV4dGVuc2lvbkNoYW5nZSk9XCJvbkV4dGVuc2lvbkNoYW5nZSgpXCI+PC9hcHAtdXNlci1jYWxsaW5nPlxyXG4gICAgPC9tYXQtdGFiPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJEZXZpY2VzXCI+XHJcbiAgICAgIDxhcHAtZGV2aWNlLWxpc3QgW2RldmljZXNdPVwidXNlcj8uZGV2aWNlc1wiIChvbkRldmljZVNlbGVjdCk9XCJvbkRldmljZVNlbGVjdCgkZXZlbnQpXCI+PC9hcHAtZGV2aWNlLWxpc3Q+XHJcbiAgICA8L21hdC10YWI+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIkxpbmVzXCIgW2Rpc2FibGVkXT1cInRydWVcIj48L21hdC10YWI+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIkZlYXR1cmVzXCIgW2Rpc2FibGVkXT1cInRydWVcIj48L21hdC10YWI+XHJcbiAgPC9tYXQtdGFiLWdyb3VwPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3VzZXJQcm9maWxlPlxyXG4gICAgPGZvcm0gKm5nSWY9XCJ1c2VyICYmIGZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImluZm8tYm94ZXMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPCEtLSAgICBVU0VSIElORk8gQk9YLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mby1ib3ggdXNlci1kZXRhaWxzLWJveFwiPlxyXG4gICAgICAgICAgPGgzIGNsYXNzPVwidXNlci1ib3gtdGl0bGVcIj5Vc2VyIERldGFpbHM8L2gzPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taG9sZGVyX19pbnB1dHNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5Vc2VyIElkPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9faW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXNlcmlkXCIgbWF0SW5wdXQgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ3VzZXJpZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZvcm0uZ2V0KCd1c2VyaWQnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgVGhpcyBmaWVsZCBpcyByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd1c2VyaWQnKS5oYXNFcnJvcignZXhpc3QnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgVXNlciBJRCBhbHJlYWR5IGV4aXN0c1xyXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5FbWFpbDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX2lucHV0XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgbWF0SW5wdXQgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ2VtYWlsJylcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9ybS5nZXQoJ2VtYWlsJykudG91Y2hlZCAmJiBmb3JtLmdldCgnZW1haWwnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgVGhpcyBmaWVsZCBpcyByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdlbWFpbCcpLnRvdWNoZWQgJiYgZm9ybS5nZXQoJ2VtYWlsJykuaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgUGxlYXNlIGVudGVyIHZhbGlkIGVtYWlsXHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9fbmFtZVwiPkZpc3J0IE5hbWU8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyX19pbnB1dFwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIiBtYXRJbnB1dCAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgnZmlyc3ROYW1lJylcIj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5MYXN0IE5hbWU8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyX19pbnB1dFwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJsYXN0TmFtZVwiIG1hdElucHV0IChpbnB1dCk9XCJvbkNoYW5nZUZpZWxkKCdsYXN0TmFtZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZvcm0uZ2V0KCdsYXN0TmFtZScpLnRvdWNoZWQgJiYgZm9ybS5nZXQoJ2xhc3ROYW1lJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIFRoaXMgZmllbGQgaXMgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICA8IS0tICAgIFVTRVIgSU5GTyBCT1gtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1pbmZvLWJveCB1c2VyLWRldGFpbHMtYm94XCI+XHJcbiAgICAgICAgICA8aDMgY2xhc3M9XCJ1c2VyLWJveC10aXRsZVwiPkdlbmVyYWwgVXNlciBJbmZvPC9oMz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWhvbGRlcl9faW5wdXRzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyX19uYW1lXCI+RGVwYXJ0bWVudDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX2lucHV0XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImRlcGFydG1lbnRcIiBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIChpbnB1dCk9XCJvbkNoYW5nZUZpZWxkKCdkZXBhcnRtZW50JylcIj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5NYW5hZ2VyIHVzZXIgSUQ8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyX19pbnB1dFwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJtYW5hZ2VyXCIgbWF0SW5wdXQgdHlwZT1cInRleHRcIiAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgnbWFuYWdlcicpXCI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyX19uYW1lXCI+QXNzb2NpYXRlZCBQQzwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX2lucHV0XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImFzc29jaWF0ZWRQY1wiIG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ2Fzc29jaWF0ZWRQYycpXCI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyX19uYW1lXCI+RGlnZXN0IGNyZWRlbnRpYWxzPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9faW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZGlnZXN0Q3JlZGVudGlhbHNcIiBtYXRJbnB1dCB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgnZGlnZXN0Q3JlZGVudGlhbHMnKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9fbmFtZVwiPlVzZXIgcHJvZmlsZTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX2lucHV0XCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWxhenktbG9hZGluZy1zZWxlY3RcclxuICAgICAgICAgICAgICAgICAgW3NpdGVJZF09XCJzaXRlSWRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29udHJvbE5hbWVdPVwiJ3VzZXJQcm9maWxlJ1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtXT1cInVzZXIuZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgIChjaGFuZ2VGaWVsZCk9XCJjaGFuZ2VGaWVsZCgndXNlclByb2ZpbGUnKVwiXHJcbiAgICAgICAgICAgICAgICAgIFtvcHRpb25zVG9rZW5dPVwiJ3VzZXJQcm9maWxlcydcIlxyXG4gICAgICAgICAgICAgICAgPjwvYXBwLWxhenktbG9hZGluZy1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5Nb2JpbGUgdm9pY2UgYWNjZXNzPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9faW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXHJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuYWJsZU1vYmlsZVZvaWNlQWNjZXNzXCJcclxuICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKCdlbmFibGVNb2JpbGVWb2ljZUFjY2VzcycpXCJcclxuICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwidXNlci5lbmFibGVNb2JpbGVWb2ljZUFjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyX19uYW1lXCI+VXNlcmxvY2FsZTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX2lucHV0XCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWxhenktbG9hZGluZy1zZWxlY3RcclxuICAgICAgICAgICAgICAgICAgW3NpdGVJZF09XCJzaXRlSWRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29udHJvbE5hbWVdPVwiJ3VzZXJMb2NhbGUnXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwidXNlci5mb3JtXCJcclxuICAgICAgICAgICAgICAgICAgKGNoYW5nZUZpZWxkKT1cImNoYW5nZUZpZWxkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbb3B0aW9uc1Rva2VuXT1cIid1c2VyTG9jYWxlcydcIlxyXG4gICAgICAgICAgICAgICAgICBbZGVmYXVsdF09XCJ7a2V5OiAnJywgdmFsdWU6ICdOb25lJywgZGlzYWJsZWQ6IGZhbHNlfVwiPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtbGF6eS1sb2FkaW5nLXNlbGVjdD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9fbmFtZVwiPkNvbmZpcm0gZGlnZXN0IGNyZWRlbnRpYWxzPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9faW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiY29uZmlybURpZ2VzdENyZWRlbnRpYWxzXCIgbWF0SW5wdXQgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ2NvbmZpcm1EaWdlc3RDcmVkZW50aWFscycpXCI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tICAgIFVTRVIgSU5GTyBCT1gtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1pbmZvLWJveCB1c2VyLWRldGFpbHMtYm94XCI+XHJcbiAgICAgICAgICA8aDMgY2xhc3M9XCJ1c2VyLWJveC10aXRsZVwiPkNvbnRhY3QgSW5mb3JtYXRpb248L2gzPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taG9sZGVyX19pbnB1dHNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5NaWRkbGUgTmFtZTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX2lucHV0XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwibWlkZGxlTmFtZVwiIChpbnB1dCk9XCJvbkNoYW5nZUZpZWxkKCdtaWRkbGVOYW1lJylcIj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5UZWxlcGhvbmUgTnVtYmVyPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9faW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cInRlbGVwaG9uZU51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgndGVsZXBob25lTnVtYmVyJylcIj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5Nb2JpbGUgTnVtYmVyPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9faW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cIm1vYmlsZU51bWJlclwiIChpbnB1dCk9XCJvbkNoYW5nZUZpZWxkKCdtb2JpbGVOdW1iZXInKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9fbmFtZVwiPkRpZ2VzdCBjcmVkZW50aWFsczwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX2lucHV0XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwiZGlnZXN0Q3JlZGVudGlhbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ2RpZ2VzdENyZWRlbnRpYWxzJylcIj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5EaXJhY3RvcnkgVVJJPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9faW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJkaXJlY3RvcnlVcmlcIiAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgnZGlyZWN0b3J5VXJpJylcIj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5UaXRsZTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX2lucHV0XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgndGl0bGUnKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9fbmFtZVwiPkhvbWUgTnVtYmVyPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9faW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cImhvbWVOdW1iZXJcIiAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgnaG9tZU51bWJlcicpXCI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyX19uYW1lXCI+UGFnZXIgTnVtYmVyPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlcl9faW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cInBhZ2VyTnVtYmVyXCIgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ3BhZ2VyTnVtYmVyJylcIj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ob2xkZXJfX25hbWVcIj5EaXNwbGF5IE5hbWU8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaG9sZGVyX19pbnB1dFwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cImRpc3BsYXlOYW1lXCIgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ2Rpc3BsYXlOYW1lJylcIj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcblxyXG48IS0tPG1hdC1wcm9ncmVzcy1zcGlubmVyICpuZ0lmPVwiZGF0YVBlbmRpbmdcIi0tPlxyXG48IS0tICBjbGFzcz1cInBhZ2Utc3Bpbm5lclwiLS0+XHJcbjwhLS0gIG1vZGU9XCJpbmRldGVybWluYXRlXCItLT5cclxuPCEtLSAgW2RpYW1ldGVyXT1cIjEyMFwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+LS0+XHJcbiJdfQ==
@@ -1,99 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { BrowserModule } from '@angular/platform-browser';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { APIService } from './services/api.service';
5
- import { AppLoaderComponent } from './utils/app-loader/app-loader';
6
- import { UserService } from './services/user.service';
7
- import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
8
- import { AuthInterceptor } from './interseptors/auth.interceptor';
9
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
10
- import { CommonModule } from '@angular/common';
11
- import { UserInfoComponent } from './user-info/user-info.component';
12
- import { MaterialModule } from './material.module';
13
- import { NotificationService } from './services/notification.service';
14
- import { NotificationsComponent } from './notifications/notification.component';
15
- import { UsersSearchService } from './services/users-search.service';
16
- import { PaginationComponent } from './utils/pagination/pagination.component';
17
- import { RemoveKynFromIBMService } from './services/removeKynFromIBM.service';
18
- import { SiteSettingsService } from './services/site-settings.service';
19
- import { LazyLoadingSelectComponent } from './lazy-loading-select/lazy-loading-select.component';
20
- import { UserManageWidgetComponent } from './user-manage-widget.component';
21
- import { DnsService } from './services/dns.service';
22
- import { LineService } from './services/line.service';
23
- import { UserCallingComponent } from './user-calling/user-calling.component';
24
- import { UserCallingExtensionComponent } from './user-calling/user-calling-extension/user-calling-extension.component';
25
- import { DeviceListComponent } from './device-list/device-list.component';
26
- import * as i0 from "@angular/core";
27
- export class UserManageModule {
28
- }
29
- UserManageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserManageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
- UserManageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UserManageModule, declarations: [AppLoaderComponent,
31
- UserInfoComponent,
32
- NotificationsComponent,
33
- PaginationComponent,
34
- LazyLoadingSelectComponent,
35
- UserManageWidgetComponent,
36
- UserCallingComponent,
37
- UserCallingExtensionComponent,
38
- DeviceListComponent], imports: [CommonModule,
39
- BrowserModule,
40
- BrowserAnimationsModule,
41
- FormsModule,
42
- ReactiveFormsModule,
43
- HttpClientModule,
44
- MaterialModule], exports: [UserManageWidgetComponent] });
45
- UserManageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserManageModule, providers: [
46
- APIService,
47
- UserService,
48
- NotificationService,
49
- UsersSearchService,
50
- RemoveKynFromIBMService,
51
- SiteSettingsService,
52
- DnsService,
53
- LineService,
54
- { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }
55
- ], imports: [CommonModule,
56
- BrowserModule,
57
- BrowserAnimationsModule,
58
- FormsModule,
59
- ReactiveFormsModule,
60
- HttpClientModule,
61
- MaterialModule] });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserManageModule, decorators: [{
63
- type: NgModule,
64
- args: [{
65
- declarations: [
66
- AppLoaderComponent,
67
- UserInfoComponent,
68
- NotificationsComponent,
69
- PaginationComponent,
70
- LazyLoadingSelectComponent,
71
- UserManageWidgetComponent,
72
- UserCallingComponent,
73
- UserCallingExtensionComponent,
74
- DeviceListComponent
75
- ],
76
- imports: [
77
- CommonModule,
78
- BrowserModule,
79
- BrowserAnimationsModule,
80
- FormsModule,
81
- ReactiveFormsModule,
82
- HttpClientModule,
83
- MaterialModule,
84
- ],
85
- providers: [
86
- APIService,
87
- UserService,
88
- NotificationService,
89
- UsersSearchService,
90
- RemoveKynFromIBMService,
91
- SiteSettingsService,
92
- DnsService,
93
- LineService,
94
- { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }
95
- ],
96
- exports: [UserManageWidgetComponent]
97
- }]
98
- }] });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy91c2VyLW1hbmFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUN2SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFxQzFFLE1BQU0sT0FBTyxnQkFBZ0I7OzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFqQ3pCLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsc0JBQXNCO1FBQ3RCLG1CQUFtQjtRQUNuQiwwQkFBMEI7UUFDMUIseUJBQXlCO1FBQ3pCLG9CQUFvQjtRQUNwQiw2QkFBNkI7UUFDN0IsbUJBQW1CLGFBR25CLFlBQVk7UUFDWixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLGNBQWMsYUFhSix5QkFBeUI7K0dBRzFCLGdCQUFnQixhQWRoQjtRQUNULFVBQVU7UUFDVixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixXQUFXO1FBQ1gsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO0tBQ3JFLFlBbEJDLFlBQVk7UUFDWixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLGNBQWM7NEZBZ0JMLGdCQUFnQjtrQkFuQzVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsNkJBQTZCO3dCQUM3QixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixjQUFjO3FCQUNmO29CQUNELFNBQVMsRUFBRTt3QkFDVCxVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO3FCQUNyRTtvQkFDQyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFFdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdXRpbHMvYXBwLWxvYWRlci9hcHAtbG9hZGVyJztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTLCBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyc2VwdG9ycy9hdXRoLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBVc2VySW5mb0NvbXBvbmVudCB9IGZyb20gJy4vdXNlci1pbmZvL3VzZXItaW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4vbWF0ZXJpYWwubW9kdWxlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVc2Vyc1NlYXJjaFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXJzLXNlYXJjaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdXRpbHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlbW92ZUt5bkZyb21JQk1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9yZW1vdmVLeW5Gcm9tSUJNLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTaXRlU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zaXRlLXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXp5TG9hZGluZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vbGF6eS1sb2FkaW5nLXNlbGVjdC9sYXp5LWxvYWRpbmctc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVzZXJNYW5hZ2VXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL3VzZXItbWFuYWdlLXdpZGdldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEbnNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IExpbmVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9saW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyQ2FsbGluZ0NvbXBvbmVudCB9IGZyb20gJy4vdXNlci1jYWxsaW5nL3VzZXItY2FsbGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVc2VyQ2FsbGluZ0V4dGVuc2lvbkNvbXBvbmVudCB9IGZyb20gJy4vdXNlci1jYWxsaW5nL3VzZXItY2FsbGluZy1leHRlbnNpb24vdXNlci1jYWxsaW5nLWV4dGVuc2lvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXZpY2VMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9kZXZpY2UtbGlzdC9kZXZpY2UtbGlzdC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFwcExvYWRlckNvbXBvbmVudCxcclxuICAgIFVzZXJJbmZvQ29tcG9uZW50LFxyXG4gICAgTm90aWZpY2F0aW9uc0NvbXBvbmVudCxcclxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXHJcbiAgICBMYXp5TG9hZGluZ1NlbGVjdENvbXBvbmVudCxcclxuICAgIFVzZXJNYW5hZ2VXaWRnZXRDb21wb25lbnQsXHJcbiAgICBVc2VyQ2FsbGluZ0NvbXBvbmVudCxcclxuICAgIFVzZXJDYWxsaW5nRXh0ZW5zaW9uQ29tcG9uZW50LFxyXG4gICAgRGV2aWNlTGlzdENvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQnJvd3Nlck1vZHVsZSxcclxuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBBUElTZXJ2aWNlLFxyXG4gICAgVXNlclNlcnZpY2UsXHJcbiAgICBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgVXNlcnNTZWFyY2hTZXJ2aWNlLFxyXG4gICAgUmVtb3ZlS3luRnJvbUlCTVNlcnZpY2UsXHJcbiAgICBTaXRlU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgRG5zU2VydmljZSxcclxuICAgIExpbmVTZXJ2aWNlLFxyXG4gICAge3Byb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogQXV0aEludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZX1cclxuICBdLFxyXG4gICAgZXhwb3J0czogW1VzZXJNYW5hZ2VXaWRnZXRDb21wb25lbnRdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlck1hbmFnZU1vZHVsZSB7XHJcbn1cclxuIl19
@@ -1,14 +0,0 @@
1
- import { Component, ViewEncapsulation } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/progress-spinner";
4
- export class AppLoaderComponent {
5
- constructor() {
6
- }
7
- }
8
- AppLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- AppLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppLoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"120\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}\n"], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, decorators: [{
11
- type: Component,
12
- args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"120\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}\n"] }]
13
- }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvdXRpbHMvYXBwLWxvYWRlci9hcHAtbG9hZGVyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy91dGlscy9hcHAtbG9hZGVyL2FwcC1sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTdELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7SUFDQSxDQUFDOztnSEFGVSxrQkFBa0I7b0dBQWxCLGtCQUFrQixrRENSL0IsZ0xBTUE7NEZERWEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWxvYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcC1sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FwcC1sb2FkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwTG9hZGVyQ29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJvdmVybGF5XCI+XHJcbiAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXHJcbiAgICBjbGFzcz1cInBhZ2Utc3Bpbm5lclwiXHJcbiAgICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiXHJcbiAgICBbZGlhbWV0ZXJdPVwiMTIwXCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,43 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { PAGINATION_SIZE_OPTIONS } from '../../app.constants';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/material/progress-spinner";
7
- import * as i4 from "@angular/material/core";
8
- import * as i5 from "@angular/material/select";
9
- import * as i6 from "@angular/material/paginator";
10
- export class PaginationComponent {
11
- constructor() {
12
- this.pageEmitter = new EventEmitter();
13
- this.pageNumberChangeEmitter = new EventEmitter();
14
- this.pageSizeOptions = PAGINATION_SIZE_OPTIONS;
15
- }
16
- ngOnInit() {
17
- }
18
- pageEvent(event) {
19
- this.pageEmitter.emit(event);
20
- }
21
- changePerPageNumber(event) {
22
- this.pageNumberChangeEmitter.emit(event.value);
23
- }
24
- }
25
- PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
- PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PaginationComponent, selector: "app-pagination", inputs: { pagination: "pagination", showPageSizeOptions: "showPageSizeOptions", showRefreshButton: "showRefreshButton", lengthPending: "lengthPending" }, outputs: { pageEmitter: "pageEmitter", pageNumberChangeEmitter: "pageNumberChangeEmitter" }, ngImport: i0, template: "<div class=\"flex-box pagination\">\r\n <div class=\"page-indexes-box\">\r\n <mat-paginator\r\n [id]=\"'commonPagination'\"\r\n [hidePageSize]=\"true\"\r\n [length]=\"pagination.total\"\r\n [pageIndex]=\"pagination.pageIndex\"\r\n [pageSize]=\"pagination.pageSize\"\r\n [pageSizeOptions]=\"pagination.pageSizeOptions\"\r\n (page)=\"pageEvent($event)\">\r\n </mat-paginator>\r\n <mat-spinner class=\"length-spinner\" [diameter]=\"20\" mode=\"indeterminate\" *ngIf=\"lengthPending\">\r\n </mat-spinner>\r\n </div>\r\n\r\n <div class=\"flex-box per-page-block\" *ngIf=\"showPageSizeOptions\">\r\n <div class=\"item_per_page\">Items per page:</div>\r\n <div class=\"select-box select-page-size\">\r\n <mat-select [(ngModel)]=\"pagination.pageSize\" (selectionChange)=\"changePerPageNumber($event)\" #page\r\n [id]=\"'commonPaginationSelect'\">\r\n <mat-option *ngFor=\"let option of pageSizeOptions; let i = index;\" [id]=\"'paginationSelectOpt_' + i\" [value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", styles: [".search-header-refresh-icon{align-items:center;line-height:54px;margin-left:10px}button[mat-icon-button] i{font-size:18px}mat-spinner.length-spinner{position:absolute;right:120px}h3,.search-header-refresh-icon{float:left}.page-options,.mat-paginator{float:right}.per-page-block mat-form-field{width:70px!important}.per-page-block span{margin-right:20px}.pagination{display:flex;justify-content:flex-end}.select-page-size{width:60px;margin:0 0 0 15px;padding:0 10px}.item_per_page{line-height:35px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.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"] }] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginationComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'app-pagination', template: "<div class=\"flex-box pagination\">\r\n <div class=\"page-indexes-box\">\r\n <mat-paginator\r\n [id]=\"'commonPagination'\"\r\n [hidePageSize]=\"true\"\r\n [length]=\"pagination.total\"\r\n [pageIndex]=\"pagination.pageIndex\"\r\n [pageSize]=\"pagination.pageSize\"\r\n [pageSizeOptions]=\"pagination.pageSizeOptions\"\r\n (page)=\"pageEvent($event)\">\r\n </mat-paginator>\r\n <mat-spinner class=\"length-spinner\" [diameter]=\"20\" mode=\"indeterminate\" *ngIf=\"lengthPending\">\r\n </mat-spinner>\r\n </div>\r\n\r\n <div class=\"flex-box per-page-block\" *ngIf=\"showPageSizeOptions\">\r\n <div class=\"item_per_page\">Items per page:</div>\r\n <div class=\"select-box select-page-size\">\r\n <mat-select [(ngModel)]=\"pagination.pageSize\" (selectionChange)=\"changePerPageNumber($event)\" #page\r\n [id]=\"'commonPaginationSelect'\">\r\n <mat-option *ngFor=\"let option of pageSizeOptions; let i = index;\" [id]=\"'paginationSelectOpt_' + i\" [value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", styles: [".search-header-refresh-icon{align-items:center;line-height:54px;margin-left:10px}button[mat-icon-button] i{font-size:18px}mat-spinner.length-spinner{position:absolute;right:120px}h3,.search-header-refresh-icon{float:left}.page-options,.mat-paginator{float:right}.per-page-block mat-form-field{width:70px!important}.per-page-block span{margin-right:20px}.pagination{display:flex;justify-content:flex-end}.select-page-size{width:60px;margin:0 0 0 15px;padding:0 10px}.item_per_page{line-height:35px}\n"] }]
30
- }], ctorParameters: function () { return []; }, propDecorators: { pagination: [{
31
- type: Input
32
- }], showPageSizeOptions: [{
33
- type: Input
34
- }], showRefreshButton: [{
35
- type: Input
36
- }], lengthPending: [{
37
- type: Input
38
- }], pageEmitter: [{
39
- type: Output
40
- }], pageNumberChangeEmitter: [{
41
- type: Output
42
- }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3V0aWxzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3V0aWxzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQVE5RCxNQUFNLE9BQU8sbUJBQW1CO0lBZTlCO1FBTE8sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWpDLDRCQUF1QixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEQsb0JBQWUsR0FBYSx1QkFBdUIsQ0FBQztJQUkzRCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBVTtRQUNuQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOztpSEE1QlUsbUJBQW1CO3FHQUFuQixtQkFBbUIsNlNDVmhDLHluQ0EwQkE7NEZEaEJhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0I7MEVBTW5CLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUdDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFHQyxhQUFhO3NCQURuQixLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLE1BQU07Z0JBR0EsdUJBQXVCO3NCQUQ3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uRGF0YUR0byB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcGFnaW5hdGlvbic7XHJcbmltcG9ydCB7IFBBR0lOQVRJT05fU0laRV9PUFRJT05TIH0gZnJvbSAnLi4vLi4vYXBwLmNvbnN0YW50cyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGFnaW5hdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnaW5hdGlvbiE6IFBhZ2luYXRpb25EYXRhRHRvO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQYWdlU2l6ZU9wdGlvbnMhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dSZWZyZXNoQnV0dG9uITogYm9vbGVhbjtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsZW5ndGhQZW5kaW5nITogYm9vbGVhbjtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcGFnZUVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHBhZ2VOdW1iZXJDaGFuZ2VFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgcHVibGljIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBQQUdJTkFUSU9OX1NJWkVfT1BUSU9OUztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdlRXZlbnQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5wYWdlRW1pdHRlci5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VQZXJQYWdlTnVtYmVyKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucGFnZU51bWJlckNoYW5nZUVtaXR0ZXIuZW1pdChldmVudC52YWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleC1ib3ggcGFnaW5hdGlvblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJwYWdlLWluZGV4ZXMtYm94XCI+XHJcbiAgICA8bWF0LXBhZ2luYXRvclxyXG4gICAgICBbaWRdPVwiJ2NvbW1vblBhZ2luYXRpb24nXCJcclxuICAgICAgW2hpZGVQYWdlU2l6ZV09XCJ0cnVlXCJcclxuICAgICAgW2xlbmd0aF09XCJwYWdpbmF0aW9uLnRvdGFsXCJcclxuICAgICAgW3BhZ2VJbmRleF09XCJwYWdpbmF0aW9uLnBhZ2VJbmRleFwiXHJcbiAgICAgIFtwYWdlU2l6ZV09XCJwYWdpbmF0aW9uLnBhZ2VTaXplXCJcclxuICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdpbmF0aW9uLnBhZ2VTaXplT3B0aW9uc1wiXHJcbiAgICAgIChwYWdlKT1cInBhZ2VFdmVudCgkZXZlbnQpXCI+XHJcbiAgICA8L21hdC1wYWdpbmF0b3I+XHJcbiAgICA8bWF0LXNwaW5uZXIgY2xhc3M9XCJsZW5ndGgtc3Bpbm5lclwiIFtkaWFtZXRlcl09XCIyMFwiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJsZW5ndGhQZW5kaW5nXCI+XHJcbiAgICA8L21hdC1zcGlubmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZmxleC1ib3ggcGVyLXBhZ2UtYmxvY2tcIiAqbmdJZj1cInNob3dQYWdlU2l6ZU9wdGlvbnNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpdGVtX3Blcl9wYWdlXCI+SXRlbXMgcGVyIHBhZ2U6PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWJveCBzZWxlY3QtcGFnZS1zaXplXCI+XHJcbiAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwicGFnaW5hdGlvbi5wYWdlU2l6ZVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiY2hhbmdlUGVyUGFnZU51bWJlcigkZXZlbnQpXCIgI3BhZ2VcclxuICAgICAgICAgICAgICAgICAgW2lkXT1cIidjb21tb25QYWdpbmF0aW9uU2VsZWN0J1wiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcGFnZVNpemVPcHRpb25zOyBsZXQgaSA9IGluZGV4O1wiIFtpZF09XCIncGFnaW5hdGlvblNlbGVjdE9wdF8nICsgaVwiIFt2YWx1ZV09XCJvcHRpb25cIj57e29wdGlvbn19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVraS1pby10dWtpLXdpZGdldHMtdXNlci1tYW5hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2UvdHVraS1pby10dWtpLXdpZGdldHMtdXNlci1tYW5hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==