@tuki-io/tuki-widgets 0.0.95 → 0.0.97

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 (666) 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 +141 -0
  8. package/package.json +49 -65
  9. package/projects/tuki/widgets/README.md +24 -0
  10. package/projects/tuki/widgets/di2mt/api/api.endpoints.ts +31 -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/details_d_icon.svg +3 -0
  15. package/projects/tuki/widgets/di2mt/assets/icons/expand_icon.png +0 -0
  16. package/projects/tuki/widgets/di2mt/assets/icons/icon_play.svg +3 -0
  17. package/projects/tuki/widgets/di2mt/assets/icons/issue_icon.png +0 -0
  18. package/projects/tuki/widgets/di2mt/assets/icons/menu_icon.png +0 -0
  19. package/projects/tuki/widgets/di2mt/assets/icons/ready_to_upgrade.png +0 -0
  20. package/projects/tuki/widgets/di2mt/assets/icons/search_icon.png +0 -0
  21. package/projects/tuki/widgets/di2mt/assets/icons/site.png +0 -0
  22. package/projects/tuki/widgets/di2mt/assets/icons/user.png +0 -0
  23. package/projects/tuki/widgets/di2mt/assets/icons/warning_icon.png +0 -0
  24. package/projects/tuki/widgets/di2mt/ng-package.json +7 -0
  25. package/{di2mt/public-api.d.ts → projects/tuki/widgets/di2mt/public-api.ts} +14 -0
  26. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.html +11 -0
  27. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.scss +48 -0
  28. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.ts +10 -0
  29. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.html +15 -0
  30. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.scss +38 -0
  31. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.ts +76 -0
  32. package/projects/tuki/widgets/di2mt/shared/components/index.ts +6 -0
  33. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.html +57 -0
  34. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.scss +74 -0
  35. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.ts +44 -0
  36. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.html +57 -0
  37. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.scss +187 -0
  38. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.ts +41 -0
  39. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.html +12 -0
  40. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.scss +79 -0
  41. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.ts +27 -0
  42. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.html +28 -0
  43. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.scss +245 -0
  44. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.ts +28 -0
  45. package/projects/tuki/widgets/di2mt/shared/constants/app.constants.ts +96 -0
  46. package/projects/tuki/widgets/di2mt/shared/material.module.ts +36 -0
  47. package/projects/tuki/widgets/di2mt/shared/services/api.service.ts +92 -0
  48. package/projects/tuki/widgets/di2mt/shared/shared.module.ts +39 -0
  49. package/projects/tuki/widgets/di2mt/shared/types/constants.ts +22 -0
  50. package/projects/tuki/widgets/di2mt/shared/types/data-table.ts +5 -0
  51. package/projects/tuki/widgets/di2mt/shared/types/table/filter.ts +14 -0
  52. package/projects/tuki/widgets/di2mt/styles/tuki-widgets-theme.scss +13 -0
  53. package/projects/tuki/widgets/di2mt/styles/variables.scss +94 -0
  54. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.html +6 -0
  55. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.scss +45 -0
  56. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.ts +27 -0
  57. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.html +163 -0
  58. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.scss +459 -0
  59. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.ts +506 -0
  60. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.module.ts +33 -0
  61. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.service.ts +172 -0
  62. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/types/user-upgrade.ts +27 -0
  63. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.ts +52 -0
  64. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.ts +53 -0
  65. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.ts +82 -0
  66. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.html +7 -0
  67. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.scss +0 -0
  68. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.ts +45 -0
  69. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.html +7 -0
  70. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.scss +0 -0
  71. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.ts +45 -0
  72. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.ts +81 -0
  73. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.ts +70 -0
  74. package/{di2mt/widgets/upgrade-overview/types/upgrade-overview.d.ts → projects/tuki/widgets/di2mt/widgets/upgrade-overview/types/upgrade-overview.ts} +20 -18
  75. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.module.ts +42 -0
  76. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.service.ts +95 -0
  77. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/types/user-upgrade.ts +35 -0
  78. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.html +204 -0
  79. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.scss +457 -0
  80. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.ts +438 -0
  81. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.module.ts +34 -0
  82. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.service.ts +137 -0
  83. package/projects/tuki/widgets/karma.conf.js +44 -0
  84. package/projects/tuki/widgets/ng-package.json +10 -0
  85. package/projects/tuki/widgets/package.json +13 -0
  86. package/projects/tuki/widgets/src/lib/widgets.component.spec.ts +23 -0
  87. package/projects/tuki/widgets/src/lib/widgets.component.ts +20 -0
  88. package/projects/tuki/widgets/src/lib/widgets.module.ts +16 -0
  89. package/projects/tuki/widgets/src/lib/widgets.service.spec.ts +16 -0
  90. package/projects/tuki/widgets/src/lib/widgets.service.ts +9 -0
  91. package/{public-api.d.ts → projects/tuki/widgets/src/public-api.ts} +4 -0
  92. package/projects/tuki/widgets/src/test.ts +27 -0
  93. package/projects/tuki/widgets/styles.scss +568 -0
  94. package/projects/tuki/widgets/tsconfig.lib.json +37 -0
  95. package/projects/tuki/widgets/tsconfig.lib.prod.json +10 -0
  96. package/projects/tuki/widgets/tsconfig.spec.json +17 -0
  97. package/projects/tuki/widgets/user-device-manage/ng-package.json +7 -0
  98. package/projects/tuki/widgets/user-device-manage/src/app.constants.ts +96 -0
  99. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-left.svg +5 -0
  100. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right.svg +5 -0
  101. package/projects/tuki/widgets/user-device-manage/src/assets/icons/close_icon_x.svg +3 -0
  102. package/projects/tuki/widgets/user-device-manage/src/assets/icons/delete_icon.svg +5 -0
  103. package/projects/tuki/widgets/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  104. package/projects/tuki/widgets/user-device-manage/src/assets/icons/icon_user.svg +1 -0
  105. package/projects/tuki/widgets/user-device-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  106. package/projects/tuki/widgets/user-device-manage/src/classes/device.ts +292 -0
  107. package/projects/tuki/widgets/user-device-manage/src/classes/line-association-interface.ts +50 -0
  108. package/projects/tuki/widgets/user-device-manage/src/classes/line-association.ts +177 -0
  109. package/projects/tuki/widgets/user-device-manage/src/classes/line-call-info-display.ts +21 -0
  110. package/projects/tuki/widgets/user-device-manage/src/classes/line-directory.ts +41 -0
  111. package/projects/tuki/widgets/user-device-manage/src/classes/line.ts +144 -0
  112. package/projects/tuki/widgets/user-device-manage/src/classes/notification.ts +40 -0
  113. package/projects/tuki/widgets/user-device-manage/src/classes/recording-options.ts +6 -0
  114. package/projects/tuki/widgets/user-device-manage/src/classes/simplified-user.ts +169 -0
  115. package/projects/tuki/widgets/user-device-manage/src/classes/site-defaults.ts +167 -0
  116. package/projects/tuki/widgets/user-device-manage/src/classes/translation-pattern.ts +50 -0
  117. package/projects/tuki/widgets/user-device-manage/src/classes/types.ts +19 -0
  118. package/projects/tuki/widgets/user-device-manage/src/classes/user-interface.ts +225 -0
  119. package/projects/tuki/widgets/user-device-manage/src/classes/user.ts +8 -0
  120. package/projects/tuki/widgets/user-device-manage/src/common-functions.ts +16 -0
  121. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.html +14 -0
  122. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.scss +80 -0
  123. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.ts +35 -0
  124. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +21 -0
  125. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.scss +97 -0
  126. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +28 -0
  127. 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
  128. 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
  129. 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
  130. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +6 -0
  131. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +4 -0
  132. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +63 -0
  133. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.html +241 -0
  134. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.scss +500 -0
  135. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.ts +194 -0
  136. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.html +27 -0
  137. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.scss +131 -0
  138. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.ts +25 -0
  139. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.html +209 -0
  140. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.scss +502 -0
  141. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.ts +354 -0
  142. package/projects/tuki/widgets/user-device-manage/src/environments/environment.prod.ts +9 -0
  143. package/projects/tuki/widgets/user-device-manage/src/environments/environment.ts +10 -0
  144. package/projects/tuki/widgets/user-device-manage/src/interseptors/auth.interceptor.ts +35 -0
  145. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  146. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
  147. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  148. package/projects/tuki/widgets/user-device-manage/src/material.module.ts +87 -0
  149. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.html +33 -0
  150. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.scss +84 -0
  151. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.ts +46 -0
  152. package/projects/tuki/widgets/user-device-manage/src/removeKynFromIBM.service.ts +25 -0
  153. package/projects/tuki/widgets/user-device-manage/src/services/api.service.ts +87 -0
  154. package/projects/tuki/widgets/user-device-manage/src/services/common-functions.ts +17 -0
  155. package/projects/tuki/widgets/user-device-manage/src/services/device.service.ts +95 -0
  156. package/projects/tuki/widgets/user-device-manage/src/services/dns.service.ts +111 -0
  157. package/projects/tuki/widgets/user-device-manage/src/services/line.service.ts +89 -0
  158. package/projects/tuki/widgets/user-device-manage/src/services/notification.service.ts +68 -0
  159. package/projects/tuki/widgets/user-device-manage/src/services/removeKynFromIBM.service.ts +25 -0
  160. package/projects/tuki/widgets/user-device-manage/src/services/site-settings.service.ts +82 -0
  161. package/projects/tuki/widgets/user-device-manage/src/services/sorting-utils.service.ts +203 -0
  162. package/projects/tuki/widgets/user-device-manage/src/services/user.service.ts +283 -0
  163. package/projects/tuki/widgets/user-device-manage/src/services/utils.service.ts +87 -0
  164. package/projects/tuki/widgets/user-device-manage/src/services/validation.service.ts +829 -0
  165. package/projects/tuki/widgets/user-device-manage/src/styles/_variables.scss +90 -0
  166. package/projects/tuki/widgets/user-device-manage/src/styles/form.scss +231 -0
  167. package/projects/tuki/widgets/user-device-manage/src/styles/icons.scss +32 -0
  168. package/projects/tuki/widgets/user-device-manage/src/styles/styles.scss +110 -0
  169. package/projects/tuki/widgets/user-device-manage/src/styles/tables.scss +30 -0
  170. package/projects/tuki/widgets/user-device-manage/src/user-device-manage.module.ts +73 -0
  171. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.html +7 -0
  172. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  173. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.ts +13 -0
  174. package/projects/tuki/widgets/user-manage/ng-package.json +7 -0
  175. package/projects/tuki/widgets/user-manage/src/app.constants.ts +50 -0
  176. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-left.svg +5 -0
  177. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right.svg +5 -0
  178. package/projects/tuki/widgets/user-manage/src/assets/icons/delete_icon.svg +5 -0
  179. package/projects/tuki/widgets/user-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  180. package/projects/tuki/widgets/user-manage/src/assets/icons/icon_user.svg +1 -0
  181. package/projects/tuki/widgets/user-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  182. package/projects/tuki/widgets/user-manage/src/classes/device.ts +232 -0
  183. package/projects/tuki/widgets/user-manage/src/classes/line-association-interface.ts +43 -0
  184. package/projects/tuki/widgets/user-manage/src/classes/line-association.ts +161 -0
  185. package/projects/tuki/widgets/user-manage/src/classes/line-call-info-display.ts +21 -0
  186. package/projects/tuki/widgets/user-manage/src/classes/line-directory.ts +42 -0
  187. package/projects/tuki/widgets/user-manage/src/classes/line.ts +144 -0
  188. package/projects/tuki/widgets/user-manage/src/classes/notification.ts +39 -0
  189. package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +18 -0
  190. package/projects/tuki/widgets/user-manage/src/classes/recording-options.ts +6 -0
  191. package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +165 -0
  192. package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +6 -0
  193. package/projects/tuki/widgets/user-manage/src/classes/translation-pattern.ts +49 -0
  194. package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +225 -0
  195. package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +42 -0
  196. package/projects/tuki/widgets/user-manage/src/classes/user.ts +8 -0
  197. package/projects/tuki/widgets/user-manage/src/common-functions.ts +16 -0
  198. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.html +27 -0
  199. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.scss +131 -0
  200. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.ts +25 -0
  201. package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +9 -0
  202. package/projects/tuki/widgets/user-manage/src/environments/environment.ts +10 -0
  203. package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +35 -0
  204. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  205. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
  206. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  207. package/projects/tuki/widgets/user-manage/src/material.module.ts +85 -0
  208. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +33 -0
  209. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +84 -0
  210. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +46 -0
  211. package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +25 -0
  212. package/projects/tuki/widgets/user-manage/src/services/api.service.ts +90 -0
  213. package/projects/tuki/widgets/user-manage/src/services/dns.service.ts +116 -0
  214. package/projects/tuki/widgets/user-manage/src/services/line.service.ts +31 -0
  215. package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +68 -0
  216. package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +25 -0
  217. package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +35 -0
  218. package/projects/tuki/widgets/user-manage/src/services/sorting-utils.service.ts +203 -0
  219. package/projects/tuki/widgets/user-manage/src/services/user.service.ts +242 -0
  220. package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +59 -0
  221. package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +71 -0
  222. package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +90 -0
  223. package/projects/tuki/widgets/user-manage/src/styles/form.scss +231 -0
  224. package/projects/tuki/widgets/user-manage/src/styles/icons.scss +32 -0
  225. package/projects/tuki/widgets/user-manage/src/styles/styles.scss +110 -0
  226. package/projects/tuki/widgets/user-manage/src/styles/tables.scss +30 -0
  227. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +10 -0
  228. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +429 -0
  229. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +63 -0
  230. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.html +32 -0
  231. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.scss +444 -0
  232. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.ts +89 -0
  233. package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +68 -0
  234. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +29 -0
  235. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +64 -0
  236. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +19 -0
  237. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +290 -0
  238. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +489 -0
  239. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +212 -0
  240. package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +63 -0
  241. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +6 -0
  242. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  243. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +13 -0
  244. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +26 -0
  245. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +41 -0
  246. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +41 -0
  247. package/projects/tuki/widgets/users-list/ng-package.json +7 -0
  248. package/projects/tuki/widgets/users-list/src/app.constants.ts +54 -0
  249. package/projects/tuki/widgets/users-list/src/assets/icons/close_icon_modal.svg +3 -0
  250. package/projects/tuki/widgets/users-list/src/assets/icons/icon_user.svg +1 -0
  251. package/projects/tuki/widgets/users-list/src/assets/icons/move_user_to_another_location.svg +14 -0
  252. package/projects/tuki/widgets/users-list/src/assets/icons/white-close-icon.svg +3 -0
  253. package/projects/tuki/widgets/users-list/src/classes/app-location.ts +36 -0
  254. package/projects/tuki/widgets/users-list/src/classes/device.ts +225 -0
  255. package/projects/tuki/widgets/users-list/src/classes/line.ts +144 -0
  256. package/projects/tuki/widgets/users-list/src/classes/move-user.ts +225 -0
  257. package/projects/tuki/widgets/users-list/src/classes/notification.ts +38 -0
  258. package/projects/tuki/widgets/users-list/src/classes/pagination.ts +18 -0
  259. package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +74 -0
  260. package/projects/tuki/widgets/users-list/src/classes/table-data.ts +6 -0
  261. package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +225 -0
  262. package/projects/tuki/widgets/users-list/src/classes/user-list.ts +47 -0
  263. package/projects/tuki/widgets/users-list/src/classes/user.ts +8 -0
  264. package/projects/tuki/widgets/users-list/src/material.module.ts +94 -0
  265. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.html +37 -0
  266. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.scss +129 -0
  267. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.ts +46 -0
  268. 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
  269. 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
  270. 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
  271. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +222 -0
  272. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.scss +249 -0
  273. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +206 -0
  274. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.html +12 -0
  275. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.scss +41 -0
  276. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.ts +36 -0
  277. package/projects/tuki/widgets/users-list/src/services/api-webex.service.ts +14 -0
  278. package/projects/tuki/widgets/users-list/src/services/api.service.ts +90 -0
  279. package/projects/tuki/widgets/users-list/src/services/dns.service.ts +128 -0
  280. package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +11 -0
  281. package/projects/tuki/widgets/users-list/src/services/move-user.service.ts +59 -0
  282. package/projects/tuki/widgets/users-list/src/services/notification.service.ts +68 -0
  283. package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +25 -0
  284. package/projects/tuki/widgets/users-list/src/services/site-settings.service.ts +26 -0
  285. package/projects/tuki/widgets/users-list/src/services/user.service.ts +159 -0
  286. package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +139 -0
  287. package/projects/tuki/widgets/users-list/src/styles/styles.scss +567 -0
  288. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +15 -0
  289. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +103 -0
  290. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +35 -0
  291. package/projects/tuki/widgets/users-list/src/users-list.component.css +4 -0
  292. package/projects/tuki/widgets/users-list/src/users-list.component.css.map +1 -0
  293. package/projects/tuki/widgets/users-list/src/users-list.component.html +89 -0
  294. package/projects/tuki/widgets/users-list/src/users-list.component.scss +567 -0
  295. package/projects/tuki/widgets/users-list/src/users-list.component.ts +312 -0
  296. package/projects/tuki/widgets/users-list/src/users-list.module.ts +63 -0
  297. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css +11 -0
  298. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css.map +1 -0
  299. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +7 -0
  300. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +11 -0
  301. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +13 -0
  302. package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +32 -0
  303. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +33 -0
  304. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +84 -0
  305. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +46 -0
  306. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css +45 -0
  307. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css.map +1 -0
  308. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +26 -0
  309. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +41 -0
  310. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +41 -0
  311. package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +71 -0
  312. package/projects/widgets-playground/src/app/app.component.html +118 -0
  313. package/projects/widgets-playground/src/app/app.component.scss +16 -0
  314. package/projects/widgets-playground/src/app/app.component.spec.ts +31 -0
  315. package/projects/widgets-playground/src/app/app.component.ts +31 -0
  316. package/projects/widgets-playground/src/app/app.module.ts +43 -0
  317. package/projects/widgets-playground/src/assets/.gitkeep +0 -0
  318. package/projects/widgets-playground/src/assets/icons/already_upgraded.png +0 -0
  319. package/projects/widgets-playground/src/assets/icons/check2_icon.png +0 -0
  320. package/projects/widgets-playground/src/assets/icons/check_icon.png +0 -0
  321. package/projects/widgets-playground/src/assets/icons/expand_icon.png +0 -0
  322. package/projects/widgets-playground/src/assets/icons/issue_icon.png +0 -0
  323. package/projects/widgets-playground/src/assets/icons/menu_icon.png +0 -0
  324. package/projects/widgets-playground/src/assets/icons/ready_to_upgrade.png +0 -0
  325. package/projects/widgets-playground/src/assets/icons/search_icon.png +0 -0
  326. package/projects/widgets-playground/src/assets/icons/site.png +0 -0
  327. package/projects/widgets-playground/src/assets/icons/user.png +0 -0
  328. package/projects/widgets-playground/src/assets/icons/warning_icon.png +0 -0
  329. package/projects/widgets-playground/src/favicon.ico +0 -0
  330. package/projects/widgets-playground/src/index.html +13 -0
  331. package/projects/widgets-playground/src/main.ts +7 -0
  332. package/projects/widgets-playground/src/styles.scss +24 -0
  333. package/projects/widgets-playground/tsconfig.app.json +14 -0
  334. package/projects/widgets-playground/tsconfig.spec.json +14 -0
  335. package/proxy.conf.js +23 -0
  336. package/tsconfig.json +46 -0
  337. package/di2mt/api/api.endpoints.d.ts +0 -31
  338. package/di2mt/index.d.ts +0 -5
  339. package/di2mt/shared/components/card/card.component.d.ts +0 -6
  340. package/di2mt/shared/components/chart-card/chart-card.component.d.ts +0 -23
  341. package/di2mt/shared/components/stat-card/stat-card.component.d.ts +0 -14
  342. package/di2mt/shared/components/status-list-card/status-list-card.component.d.ts +0 -15
  343. package/di2mt/shared/components/summary-card/summary-card.component.d.ts +0 -9
  344. package/di2mt/shared/components/table-filters/table-filters.component.d.ts +0 -14
  345. package/di2mt/shared/constants/app.constants.d.ts +0 -74
  346. package/di2mt/shared/material.module.d.ts +0 -15
  347. package/di2mt/shared/services/api.service.d.ts +0 -20
  348. package/di2mt/shared/shared.module.d.ts +0 -16
  349. package/di2mt/shared/types/constants.d.ts +0 -15
  350. package/di2mt/shared/types/data-table.d.ts +0 -5
  351. package/di2mt/shared/types/table/filter.d.ts +0 -16
  352. package/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.d.ts +0 -11
  353. package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +0 -69
  354. package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +0 -15
  355. package/di2mt/widgets/site-upgrade/site-upgrade.service.d.ts +0 -84
  356. package/di2mt/widgets/site-upgrade/types/user-upgrade.d.ts +0 -26
  357. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.d.ts +0 -19
  358. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.d.ts +0 -19
  359. package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.d.ts +0 -18
  360. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.d.ts +0 -19
  361. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.d.ts +0 -19
  362. package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.d.ts +0 -15
  363. package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.d.ts +0 -18
  364. package/di2mt/widgets/upgrade-overview/upgrade-overview.module.d.ts +0 -15
  365. package/di2mt/widgets/upgrade-overview/upgrade-overview.service.d.ts +0 -17
  366. package/di2mt/widgets/user-upgrade/types/user-upgrade.d.ts +0 -32
  367. package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +0 -79
  368. package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +0 -16
  369. package/di2mt/widgets/user-upgrade/user-upgrade.service.d.ts +0 -41
  370. package/esm2020/di2mt/api/api.endpoints.mjs +0 -32
  371. package/esm2020/di2mt/public-api.mjs +0 -24
  372. package/esm2020/di2mt/shared/components/card/card.component.mjs +0 -13
  373. package/esm2020/di2mt/shared/components/chart-card/chart-card.component.mjs +0 -66
  374. package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +0 -47
  375. package/esm2020/di2mt/shared/components/status-list-card/status-list-card.component.mjs +0 -43
  376. package/esm2020/di2mt/shared/components/summary-card/summary-card.component.mjs +0 -36
  377. package/esm2020/di2mt/shared/components/table-filters/table-filters.component.mjs +0 -37
  378. package/esm2020/di2mt/shared/constants/app.constants.mjs +0 -95
  379. package/esm2020/di2mt/shared/material.module.mjs +0 -76
  380. package/esm2020/di2mt/shared/services/api.service.mjs +0 -86
  381. package/esm2020/di2mt/shared/shared.module.mjs +0 -61
  382. package/esm2020/di2mt/shared/types/constants.mjs +0 -20
  383. package/esm2020/di2mt/shared/types/data-table.mjs +0 -2
  384. package/esm2020/di2mt/shared/types/table/filter.mjs +0 -2
  385. package/esm2020/di2mt/tuki-io-tuki-widgets-di2mt.mjs +0 -5
  386. package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +0 -38
  387. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +0 -433
  388. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +0 -53
  389. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.service.mjs +0 -92
  390. package/esm2020/di2mt/widgets/site-upgrade/types/user-upgrade.mjs +0 -3
  391. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.mjs +0 -64
  392. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.mjs +0 -64
  393. package/esm2020/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.mjs +0 -83
  394. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.mjs +0 -45
  395. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.mjs +0 -45
  396. package/esm2020/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.mjs +0 -86
  397. package/esm2020/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.mjs +0 -74
  398. package/esm2020/di2mt/widgets/upgrade-overview/types/upgrade-overview.mjs +0 -2
  399. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.module.mjs +0 -59
  400. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.service.mjs +0 -82
  401. package/esm2020/di2mt/widgets/user-upgrade/types/user-upgrade.mjs +0 -3
  402. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +0 -376
  403. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +0 -59
  404. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.service.mjs +0 -80
  405. package/esm2020/lib/widgets.component.mjs +0 -22
  406. package/esm2020/lib/widgets.module.mjs +0 -21
  407. package/esm2020/lib/widgets.service.mjs +0 -14
  408. package/esm2020/public-api.mjs +0 -7
  409. package/esm2020/tuki-io-tuki-widgets.mjs +0 -5
  410. package/esm2020/user-device-manage/public-api.mjs +0 -9
  411. package/esm2020/user-device-manage/src/app.constants.mjs +0 -95
  412. package/esm2020/user-device-manage/src/classes/device.mjs +0 -85
  413. package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +0 -2
  414. package/esm2020/user-device-manage/src/classes/line-association.mjs +0 -121
  415. package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +0 -10
  416. package/esm2020/user-device-manage/src/classes/line-directory.mjs +0 -27
  417. package/esm2020/user-device-manage/src/classes/line.mjs +0 -18
  418. package/esm2020/user-device-manage/src/classes/notification.mjs +0 -32
  419. package/esm2020/user-device-manage/src/classes/recording-options.mjs +0 -7
  420. package/esm2020/user-device-manage/src/classes/simplified-user.mjs +0 -111
  421. package/esm2020/user-device-manage/src/classes/site-defaults.mjs +0 -21
  422. package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +0 -32
  423. package/esm2020/user-device-manage/src/classes/types.mjs +0 -24
  424. package/esm2020/user-device-manage/src/common-functions.mjs +0 -19
  425. package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +0 -34
  426. package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +0 -31
  427. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +0 -16
  428. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +0 -64
  429. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +0 -179
  430. package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +0 -24
  431. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +0 -335
  432. package/esm2020/user-device-manage/src/environments/environment.mjs +0 -11
  433. package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +0 -36
  434. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
  435. package/esm2020/user-device-manage/src/material.module.mjs +0 -192
  436. package/esm2020/user-device-manage/src/notifications/notification.component.mjs +0 -35
  437. package/esm2020/user-device-manage/src/services/api.service.mjs +0 -79
  438. package/esm2020/user-device-manage/src/services/device.service.mjs +0 -83
  439. package/esm2020/user-device-manage/src/services/dns.service.mjs +0 -104
  440. package/esm2020/user-device-manage/src/services/line.service.mjs +0 -76
  441. package/esm2020/user-device-manage/src/services/notification.service.mjs +0 -62
  442. package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  443. package/esm2020/user-device-manage/src/services/site-settings.service.mjs +0 -70
  444. package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +0 -197
  445. package/esm2020/user-device-manage/src/services/user.service.mjs +0 -243
  446. package/esm2020/user-device-manage/src/services/utils.service.mjs +0 -87
  447. package/esm2020/user-device-manage/src/services/validation.service.mjs +0 -760
  448. package/esm2020/user-device-manage/src/user-device-manage.module.mjs +0 -107
  449. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +0 -14
  450. package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +0 -5
  451. package/esm2020/user-manage/public-api.mjs +0 -7
  452. package/esm2020/user-manage/src/app.constants.mjs +0 -50
  453. package/esm2020/user-manage/src/classes/device.mjs +0 -37
  454. package/esm2020/user-manage/src/classes/line-association-interface.mjs +0 -2
  455. package/esm2020/user-manage/src/classes/line-association.mjs +0 -110
  456. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +0 -10
  457. package/esm2020/user-manage/src/classes/line-directory.mjs +0 -27
  458. package/esm2020/user-manage/src/classes/line.mjs +0 -18
  459. package/esm2020/user-manage/src/classes/notification.mjs +0 -32
  460. package/esm2020/user-manage/src/classes/pagination.mjs +0 -8
  461. package/esm2020/user-manage/src/classes/recording-options.mjs +0 -7
  462. package/esm2020/user-manage/src/classes/simplified-user.mjs +0 -109
  463. package/esm2020/user-manage/src/classes/table-data.mjs +0 -2
  464. package/esm2020/user-manage/src/classes/translation-pattern.mjs +0 -32
  465. package/esm2020/user-manage/src/classes/user-list.mjs +0 -10
  466. package/esm2020/user-manage/src/common-functions.mjs +0 -19
  467. package/esm2020/user-manage/src/device-list/device-list.component.mjs +0 -24
  468. package/esm2020/user-manage/src/environments/environment.mjs +0 -11
  469. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +0 -36
  470. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
  471. package/esm2020/user-manage/src/material.module.mjs +0 -188
  472. package/esm2020/user-manage/src/notifications/notification.component.mjs +0 -35
  473. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +0 -25
  474. package/esm2020/user-manage/src/services/api.service.mjs +0 -79
  475. package/esm2020/user-manage/src/services/dns.service.mjs +0 -110
  476. package/esm2020/user-manage/src/services/line.service.mjs +0 -34
  477. package/esm2020/user-manage/src/services/notification.service.mjs +0 -62
  478. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  479. package/esm2020/user-manage/src/services/site-settings.service.mjs +0 -36
  480. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +0 -197
  481. package/esm2020/user-manage/src/services/user.service.mjs +0 -207
  482. package/esm2020/user-manage/src/services/users-search.service.mjs +0 -50
  483. package/esm2020/user-manage/src/services/utils.service.mjs +0 -73
  484. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +0 -65
  485. package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +0 -78
  486. package/esm2020/user-manage/src/user-info/user-info.component.mjs +0 -20
  487. package/esm2020/user-manage/src/user-manage-widget.component.mjs +0 -208
  488. package/esm2020/user-manage/src/user-manage.module.mjs +0 -99
  489. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
  490. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +0 -43
  491. package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +0 -5
  492. package/esm2020/users-list/public-api.mjs +0 -9
  493. package/esm2020/users-list/src/app.constants.mjs +0 -54
  494. package/esm2020/users-list/src/classes/app-location.mjs +0 -32
  495. package/esm2020/users-list/src/classes/device.mjs +0 -7
  496. package/esm2020/users-list/src/classes/line.mjs +0 -18
  497. package/esm2020/users-list/src/classes/move-user.mjs +0 -178
  498. package/esm2020/users-list/src/classes/notification.mjs +0 -31
  499. package/esm2020/users-list/src/classes/pagination.mjs +0 -8
  500. package/esm2020/users-list/src/classes/simlified-user.mjs +0 -50
  501. package/esm2020/users-list/src/classes/table-data.mjs +0 -2
  502. package/esm2020/users-list/src/classes/user-list.mjs +0 -14
  503. package/esm2020/users-list/src/material.module.mjs +0 -209
  504. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +0 -38
  505. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +0 -23
  506. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +0 -189
  507. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +0 -38
  508. package/esm2020/users-list/src/services/api-webex.service.mjs +0 -18
  509. package/esm2020/users-list/src/services/api.service.mjs +0 -78
  510. package/esm2020/users-list/src/services/dns.service.mjs +0 -120
  511. package/esm2020/users-list/src/services/events-communication.service.mjs +0 -14
  512. package/esm2020/users-list/src/services/move-user.service.mjs +0 -53
  513. package/esm2020/users-list/src/services/notification.service.mjs +0 -62
  514. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +0 -25
  515. package/esm2020/users-list/src/services/site-settings.service.mjs +0 -27
  516. package/esm2020/users-list/src/services/user.service.mjs +0 -142
  517. package/esm2020/users-list/src/services/users-search.service.mjs +0 -124
  518. package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +0 -34
  519. package/esm2020/users-list/src/users-list.component.mjs +0 -287
  520. package/esm2020/users-list/src/users-list.module.mjs +0 -92
  521. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +0 -14
  522. package/esm2020/users-list/src/utils/common-functions.mjs +0 -32
  523. package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +0 -43
  524. package/esm2020/users-list/src/utils/utils.service.mjs +0 -73
  525. package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +0 -5
  526. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +0 -2218
  527. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
  528. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3402
  529. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
  530. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +0 -2124
  531. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  532. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +0 -1996
  533. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  534. package/fesm2015/tuki-io-tuki-widgets.mjs +0 -63
  535. package/fesm2015/tuki-io-tuki-widgets.mjs.map +0 -1
  536. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +0 -2202
  537. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
  538. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3364
  539. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
  540. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +0 -2107
  541. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  542. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +0 -1975
  543. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  544. package/fesm2020/tuki-io-tuki-widgets.mjs +0 -63
  545. package/fesm2020/tuki-io-tuki-widgets.mjs.map +0 -1
  546. package/index.d.ts +0 -5
  547. package/lib/widgets.component.d.ts +0 -8
  548. package/lib/widgets.module.d.ts +0 -7
  549. package/lib/widgets.service.d.ts +0 -6
  550. package/user-device-manage/index.d.ts +0 -5
  551. package/user-device-manage/src/app.constants.d.ts +0 -74
  552. package/user-device-manage/src/classes/device.d.ts +0 -233
  553. package/user-device-manage/src/classes/line-association-interface.d.ts +0 -45
  554. package/user-device-manage/src/classes/line-association.d.ts +0 -62
  555. package/user-device-manage/src/classes/line-call-info-display.d.ts +0 -11
  556. package/user-device-manage/src/classes/line-directory.d.ts +0 -15
  557. package/user-device-manage/src/classes/line.d.ts +0 -140
  558. package/user-device-manage/src/classes/notification.d.ts +0 -18
  559. package/user-device-manage/src/classes/recording-options.d.ts +0 -5
  560. package/user-device-manage/src/classes/simplified-user.d.ts +0 -52
  561. package/user-device-manage/src/classes/site-defaults.d.ts +0 -146
  562. package/user-device-manage/src/classes/translation-pattern.d.ts +0 -19
  563. package/user-device-manage/src/classes/types.d.ts +0 -19
  564. package/user-device-manage/src/common-functions.d.ts +0 -1
  565. package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +0 -20
  566. package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +0 -15
  567. package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +0 -7
  568. package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +0 -24
  569. package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +0 -89
  570. package/user-device-manage/src/device-list/device-list.component.d.ts +0 -11
  571. package/user-device-manage/src/device-manage-widget.component.d.ts +0 -71
  572. package/user-device-manage/src/environments/environment.d.ts +0 -9
  573. package/user-device-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  574. package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
  575. package/user-device-manage/src/material.module.d.ts +0 -29
  576. package/user-device-manage/src/notifications/notification.component.d.ts +0 -19
  577. package/user-device-manage/src/services/api.service.d.ts +0 -20
  578. package/user-device-manage/src/services/device.service.d.ts +0 -21
  579. package/user-device-manage/src/services/dns.service.d.ts +0 -14
  580. package/user-device-manage/src/services/line.service.d.ts +0 -33
  581. package/user-device-manage/src/services/notification.service.d.ts +0 -18
  582. package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  583. package/user-device-manage/src/services/site-settings.service.d.ts +0 -25
  584. package/user-device-manage/src/services/sorting-utils.service.d.ts +0 -26
  585. package/user-device-manage/src/services/user.service.d.ts +0 -51
  586. package/user-device-manage/src/services/utils.service.d.ts +0 -10
  587. package/user-device-manage/src/services/validation.service.d.ts +0 -165
  588. package/user-device-manage/src/user-device-manage.module.d.ts +0 -22
  589. package/user-device-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  590. package/user-manage/index.d.ts +0 -5
  591. package/user-manage/src/app.constants.d.ts +0 -29
  592. package/user-manage/src/classes/device.d.ts +0 -203
  593. package/user-manage/src/classes/line-association-interface.d.ts +0 -40
  594. package/user-manage/src/classes/line-association.d.ts +0 -55
  595. package/user-manage/src/classes/line-call-info-display.d.ts +0 -11
  596. package/user-manage/src/classes/line-directory.d.ts +0 -16
  597. package/user-manage/src/classes/line.d.ts +0 -140
  598. package/user-manage/src/classes/notification.d.ts +0 -18
  599. package/user-manage/src/classes/pagination.d.ts +0 -13
  600. package/user-manage/src/classes/recording-options.d.ts +0 -5
  601. package/user-manage/src/classes/simplified-user.d.ts +0 -50
  602. package/user-manage/src/classes/table-data.d.ts +0 -5
  603. package/user-manage/src/classes/translation-pattern.d.ts +0 -18
  604. package/user-manage/src/classes/user-list.d.ts +0 -34
  605. package/user-manage/src/common-functions.d.ts +0 -1
  606. package/user-manage/src/device-list/device-list.component.d.ts +0 -11
  607. package/user-manage/src/environments/environment.d.ts +0 -9
  608. package/user-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  609. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
  610. package/user-manage/src/material.module.d.ts +0 -28
  611. package/user-manage/src/notifications/notification.component.d.ts +0 -19
  612. package/user-manage/src/removeKynFromIBM.service.d.ts +0 -8
  613. package/user-manage/src/services/api.service.d.ts +0 -21
  614. package/user-manage/src/services/dns.service.d.ts +0 -14
  615. package/user-manage/src/services/line.service.d.ts +0 -17
  616. package/user-manage/src/services/notification.service.d.ts +0 -18
  617. package/user-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  618. package/user-manage/src/services/site-settings.service.d.ts +0 -9
  619. package/user-manage/src/services/sorting-utils.service.d.ts +0 -26
  620. package/user-manage/src/services/user.service.d.ts +0 -43
  621. package/user-manage/src/services/users-search.service.d.ts +0 -25
  622. package/user-manage/src/services/utils.service.d.ts +0 -9
  623. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +0 -24
  624. package/user-manage/src/user-calling/user-calling.component.d.ts +0 -30
  625. package/user-manage/src/user-info/user-info.component.d.ts +0 -9
  626. package/user-manage/src/user-manage-widget.component.d.ts +0 -44
  627. package/user-manage/src/user-manage.module.d.ts +0 -21
  628. package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  629. package/user-manage/src/utils/pagination/pagination.component.d.ts +0 -18
  630. package/users-list/index.d.ts +0 -5
  631. package/users-list/src/app.constants.d.ts +0 -36
  632. package/users-list/src/classes/app-location.d.ts +0 -17
  633. package/users-list/src/classes/device.d.ts +0 -224
  634. package/users-list/src/classes/line.d.ts +0 -140
  635. package/users-list/src/classes/move-user.d.ts +0 -85
  636. package/users-list/src/classes/notification.d.ts +0 -18
  637. package/users-list/src/classes/pagination.d.ts +0 -13
  638. package/users-list/src/classes/simlified-user.d.ts +0 -25
  639. package/users-list/src/classes/table-data.d.ts +0 -5
  640. package/users-list/src/classes/user-list.d.ts +0 -36
  641. package/users-list/src/material.module.d.ts +0 -31
  642. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.d.ts +0 -21
  643. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.d.ts +0 -12
  644. package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +0 -55
  645. package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +0 -17
  646. package/users-list/src/services/api-webex.service.d.ts +0 -8
  647. package/users-list/src/services/api.service.d.ts +0 -21
  648. package/users-list/src/services/dns.service.d.ts +0 -18
  649. package/users-list/src/services/events-communication.service.d.ts +0 -8
  650. package/users-list/src/services/move-user.service.d.ts +0 -17
  651. package/users-list/src/services/notification.service.d.ts +0 -18
  652. package/users-list/src/services/removeKynFromIBM.service.d.ts +0 -8
  653. package/users-list/src/services/site-settings.service.d.ts +0 -11
  654. package/users-list/src/services/user.service.d.ts +0 -35
  655. package/users-list/src/services/users-search.service.d.ts +0 -34
  656. package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +0 -20
  657. package/users-list/src/users-list.component.d.ts +0 -60
  658. package/users-list/src/users-list.module.d.ts +0 -18
  659. package/users-list/src/utils/app-loader/app-loader.d.ts +0 -6
  660. package/users-list/src/utils/common-functions.d.ts +0 -2
  661. package/users-list/src/utils/pagination/pagination.component.d.ts +0 -18
  662. package/users-list/src/utils/utils.service.d.ts +0 -9
  663. /package/{di2mt → projects/tuki/widgets/di2mt}/README.md +0 -0
  664. /package/{user-device-manage/public-api.d.ts → projects/tuki/widgets/user-device-manage/public-api.ts} +0 -0
  665. /package/{user-manage/public-api.d.ts → projects/tuki/widgets/user-manage/public-api.ts} +0 -0
  666. /package/{users-list/public-api.d.ts → projects/tuki/widgets/users-list/public-api.ts} +0 -0
@@ -0,0 +1,829 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { SiteSettingsService } from './site-settings.service';
3
+ import { DeviceTypes, MailboxQuotasType, SpeedDialType, VMNotificationsTypes } from './../classes/types';
4
+ import { Device, DeviceKind } from './../classes/device';
5
+
6
+ const speedDialRegex = new RegExp('^[^"]*$');
7
+ const BLFRegex = new RegExp('^[^"><&%]*$');
8
+ const timeRegex = new RegExp('^([0-1][0-9]|[2][0-3]):([0-5][0-9])$');
9
+
10
+ @Injectable()
11
+ export class ValidationService {
12
+
13
+ constructor(
14
+ private siteSettingsService: SiteSettingsService,
15
+ ) {
16
+ }
17
+
18
+ e164MaskLabel(control: any) {
19
+ const ruleText = `^[0-9*#+X]{0,24}$`;
20
+ const rule = new RegExp(ruleText, 'g');
21
+ if (control.value && rule && !rule.test(control.value)) {
22
+ return {e164MaskRule: {rule: ruleText}};
23
+ }
24
+ return null;
25
+ }
26
+
27
+ index(control: any) {
28
+ const value = parseInt(control.value);
29
+ if (!value) {
30
+ return null;
31
+ }
32
+ const pattern = '^[+0-9]*$';
33
+ if (value && !Number.isInteger(value) || value < 1 || value > 199) {
34
+ return {indexRule: true};
35
+ }
36
+ return null;
37
+ }
38
+
39
+ displayLabel(control: any) {
40
+ const ruleText = `^[^""""%&<>]{0,30}$`;
41
+ const rule = new RegExp(ruleText, 'g');
42
+ if (rule && !rule.test(control.value)) {
43
+ return {labelRule: {rule: ruleText, count: 30}};
44
+ }
45
+ return null;
46
+ }
47
+
48
+
49
+
50
+ displayLabelAscii(control: any) {
51
+ const ruleText = '^[a-zA-Z0-9 !#$\'()*+,./:;=?@\\^_`}~-]{0,30}$';
52
+ const rule = new RegExp(ruleText, 'g');
53
+ if (rule && !rule.test(control.value)) {
54
+ return {labelRule: {rule: ruleText, count: 30}};
55
+ }
56
+ return null;
57
+ }
58
+
59
+ requiredForSpeedDialPosition(type: string) {
60
+
61
+ return (control: any) => {
62
+ const parent = control.parent;
63
+ if (type === SpeedDialType.slotBasic || !parent) {
64
+ return null;
65
+ }
66
+ if (!control.value) {
67
+ return {required: true};
68
+ }
69
+ return null;
70
+ };
71
+ }
72
+
73
+ speedDialDestination() {
74
+ return (control: any) => {
75
+ if (!control || !control.value) {
76
+ return null;
77
+ }
78
+ const numberOrHostNameIP = '' +
79
+ '^([0-9\\*#+PpCcFf,]+)$' +
80
+ '|' +
81
+ '^(' +
82
+ '([a-zA-Z0-9]){1,47}@' +
83
+ '(' +
84
+ '((?:[0-9]{1,3}\\.){3}[0-9]{1,3})' +
85
+ '|' +
86
+ '([a-zA-Z0-9][a-zA-Z0-9\\-]{1,61}[a-zA-Z0-9]\\.[a-zA-Z]{2,})' +
87
+ ')' +
88
+ ')$';
89
+ const rule = new RegExp(numberOrHostNameIP, 'g');
90
+ if (rule && !rule.test(control.value)) {
91
+ return {pattern: true};
92
+ }
93
+ return null;
94
+ };
95
+
96
+ }
97
+
98
+ requiredForSpeedDialDestination(type: string) {
99
+
100
+ return (control: any) => {
101
+ const parent = control.parent;
102
+ if ((!parent || !parent.get('label')) || (type === SpeedDialType.slotBasic && !control.value && !parent.get('label').value)) {
103
+ return null;
104
+ }
105
+ return null;
106
+ };
107
+ }
108
+
109
+
110
+ labelPatternDependingOnType(control: any) {
111
+ const parent = control?.parent;
112
+ if (!parent || !parent.get('type') || !control.value) {
113
+ return null;
114
+ }
115
+ const type = parent.get('type').value;
116
+ if (!type && !speedDialRegex.test(control.value)) {
117
+ return {labelRule: {wrong: '"'}};
118
+ }
119
+ if (type && !BLFRegex.test(control.value)) {
120
+ return {labelRule: {wrong: '"><&%'}};
121
+ }
122
+ return null;
123
+ }
124
+
125
+ labelPatternBLF(control: any) {
126
+ if (control.value && !BLFRegex.test(control.value)) {
127
+ return {labelRule: {wrong: '"><&%'}};
128
+ }
129
+ return null;
130
+ }
131
+
132
+ labelPatternSpeedDial(control: any) {
133
+ if (control?.value && !speedDialRegex.test(control.value)) {
134
+ return {labelRule: {wrong: '"'}};
135
+ }
136
+ return null;
137
+ }
138
+
139
+ matchControl = (fieldName: string) => {
140
+ return (control: any) => {
141
+ if (!control?.parent) {
142
+ return null;
143
+ }
144
+ const matchingControl = control.parent.get(fieldName);
145
+ if (matchingControl.value && matchingControl.value !== control.value) {
146
+ return {
147
+ matchControl: true
148
+ };
149
+ }
150
+ return null;
151
+ };
152
+ };
153
+
154
+ matchLength = (fieldName: string) => {
155
+ return (control: any) => {
156
+ if (!control.parent || !control.value) {
157
+ return null;
158
+ }
159
+ const matchingControl = control.parent.get(fieldName);
160
+ if (((!control.value.startsWith('+') && !matchingControl.value.startsWith('+')) ||
161
+ (control.value.startsWith('+') && matchingControl.value.startsWith('+'))) &&
162
+ ((!control.value.startsWith('\\+') && !matchingControl.value.startsWith('\\+')) ||
163
+ (control.value.startsWith('\\+') && matchingControl.value.startsWith('\\+'))) &&
164
+ matchingControl.value.length !== control.value.length) {
165
+ return {
166
+ matchLength: true
167
+ };
168
+ }
169
+ return null;
170
+ };
171
+ };
172
+
173
+ dynamicMaxLength = (length1: number, length2: number) => {
174
+ return (control: any) => {
175
+ if (!control.parent || !control.value) {
176
+ return null;
177
+ }
178
+ const maxLength = String(control.value).includes('[') ? length1 : length2;
179
+ if (control.value.length > maxLength) {
180
+ return {
181
+ maxLength: true
182
+ };
183
+ }
184
+ return null;
185
+ };
186
+ };
187
+
188
+ biggerThan = (fieldName: string) => {
189
+ return (control: any) => {
190
+ if (!control.parent || !control.value) {
191
+ return null;
192
+ }
193
+ const matchingControl = control.parent.get(fieldName);
194
+ if (matchingControl.value.length === control.value.length && matchingControl.value && matchingControl.value > control.value) {
195
+ return {
196
+ biggerThan: true
197
+ };
198
+ }
199
+ return null;
200
+ };
201
+ };
202
+
203
+ requiredByType = (fieldName: string, type: string) => {
204
+ return (control: any) => {
205
+ if (
206
+ fieldName === 'phoneSystem' && (type === VMNotificationsTypes['Phone Device'] || type === VMNotificationsTypes['Pager Device']) ||
207
+ fieldName === 'htmlTemplate' && type === VMNotificationsTypes['HTML Device']
208
+ ) {
209
+ return {
210
+ required: true
211
+ };
212
+ }
213
+ return null;
214
+ };
215
+ };
216
+
217
+ smallerThanQuota = (fieldName: string, quotaType: string, secondQuotaType: string) => {
218
+ return (control: any) => {
219
+ if (!control.parent) {
220
+ return null;
221
+ }
222
+ const matchingControl = control.parent.get(fieldName);
223
+ const quotaTypeControl = control.parent.get(quotaType);
224
+ const secondQuotaTypeControl = control.parent.get(secondQuotaType);
225
+
226
+ if (quotaTypeControl && secondQuotaTypeControl && secondQuotaTypeControl.value === MailboxQuotasType.system) {
227
+ return null;
228
+ }
229
+
230
+ if (quotaTypeControl && quotaTypeControl.value === MailboxQuotasType.system || matchingControl && matchingControl.value && parseInt(matchingControl.value) < parseInt(control.value)) {
231
+ return {
232
+ smallerThan: true
233
+ };
234
+ }
235
+ return null;
236
+ };
237
+ };
238
+
239
+ biggerThanQuota = (fieldName: string, quotaType: string) => {
240
+ return (control: any) => {
241
+ if (!control?.parent) {
242
+ return null;
243
+ }
244
+ const matchingControl = control.parent.get(fieldName);
245
+ const quotaTypeControl = control.parent.get(quotaType);
246
+
247
+ if (quotaTypeControl && quotaTypeControl.value === MailboxQuotasType.custom && matchingControl.value && parseInt(matchingControl.value) > parseInt(control.value)) {
248
+ return {
249
+ biggerThan: true
250
+ };
251
+ }
252
+ return null;
253
+ };
254
+ };
255
+
256
+ rangeLimit = (fieldName: string) => {
257
+ return (control: any) => {
258
+ if (!control?.parent || !control.value) {
259
+ return null;
260
+ }
261
+ const matchingControl = control.parent.get(fieldName);
262
+ if ((control.value - matchingControl.value) > 50000) {
263
+ return {
264
+ rangeLimit: true
265
+ };
266
+ }
267
+ return null;
268
+ };
269
+ };
270
+
271
+ comparepatternParts = (fieldName: string) => {
272
+ return (control: any) => {
273
+ if (!control?.value) {
274
+ return null;
275
+ }
276
+ const matches = control.value.match(/\[(.*?)\]/);
277
+ if (matches) {
278
+ const submatch = matches[1];
279
+ const submatchsplit: number[] = submatch.split('-');
280
+ for (let i = 0; i < submatchsplit.length; i++) {
281
+ if (submatchsplit[i] >= submatchsplit[i + 1]) {
282
+ return {
283
+ comparepatternParts: true
284
+ };
285
+ }
286
+ }
287
+ }
288
+ return null;
289
+ };
290
+ };
291
+
292
+ matchPrefix = (fieldName: string) => {
293
+ return (control: any) => {
294
+ if (!control?.parent || !control.value) {
295
+ return null;
296
+ }
297
+ const matchingControl = control.parent.get(fieldName);
298
+ if ((matchingControl.value.startsWith('+') || control.value.startsWith('+') || matchingControl.value.startsWith('\\+') || control.value.startsWith('\\+')) && (control.value.charAt(0) !== matchingControl.value.charAt(0))) {
299
+ return {
300
+ matchPrefix: true
301
+ };
302
+ }
303
+ return null;
304
+ };
305
+ };
306
+
307
+ deviceNameValidator = (device: Device) => {
308
+ return (control: any) => {
309
+ if (!control.value || device.deviceKind === DeviceKind.deviceProfile) {
310
+ return;
311
+ }
312
+ if (device.isCtiRoutePoint) {
313
+ let err = '';
314
+ if (!control.value.match(/^[a-zA-Z0-9-_.]+$/)) {
315
+ err = 'pattern';
316
+ }
317
+ if (control.value.trim().length > 15) {
318
+ err = 'maxLength';
319
+ }
320
+ return err ? {nameRule: err} : null;
321
+ }
322
+ if (device.deviceDefaults && !device.isCtiRoutePoint) {
323
+ const ruleText = device.deviceDefaults.deviceNameRegex;
324
+ const rule = new RegExp(ruleText, 'g');
325
+ const caption = device.deviceDefaults?.deviceNameExplained;
326
+ const match = (control.value || '').match(rule) || [];
327
+ const exactMatch = match && control.value === match[0];
328
+ if (rule && !exactMatch) {
329
+ return {nameRule: {caption}};
330
+ }
331
+ }
332
+ return null;
333
+ };
334
+ };
335
+
336
+ deviceNameValueValidator = (device: Device, deviceName: string) => {
337
+ return (control: any) => {
338
+ if (!control.value || device.deviceKind === DeviceKind.deviceProfile) {
339
+ return;
340
+ }
341
+ if (device.name && device.alreadyUsedName && device.name === device.alreadyUsedName) {
342
+ return {nameRule: 'alreadyUsedName'};
343
+ }
344
+ if (device.isCtiRoutePoint) {
345
+ let err = '';
346
+ if (!deviceName.match(/^[a-zA-Z0-9-_.]+$/)) {
347
+ err = 'pattern';
348
+ }
349
+ if (deviceName.trim().length > 15) {
350
+ err = 'maxLength';
351
+ }
352
+ return err ? {nameRule: err} : null;
353
+ }
354
+ if (device.deviceDefaults && !device.isCtiRoutePoint) {
355
+ const ruleText = device.deviceDefaults.deviceNameRegex;
356
+ // console.log('Dev name rule - ', ruleText);
357
+ const rule = new RegExp(ruleText, 'g');
358
+ let caption = device.deviceDefaults.deviceNameExplained;
359
+ if (!caption) {
360
+ caption = ruleText;
361
+ }
362
+ const match = (deviceName || '').match(rule) || [];
363
+ const exactMatch = match && deviceName === match[0];
364
+ if (rule && !exactMatch) {
365
+ return {nameRule: {caption}};
366
+ }
367
+ }
368
+ return null;
369
+ };
370
+ };
371
+
372
+ deviceDuplicatingNameValidator = (user: any, pkid ?: string, prefix?: string) => {
373
+ return (control: any) => {
374
+ if (!control.value || !user || !user.devices || user.devices.length === 0) {
375
+ return;
376
+ }
377
+ const deviceName = prefix ? `${prefix}${control.value}` : control.value;
378
+ const devicesWithTheSameName = user.devices.filter((device: Device) => device.name === deviceName);
379
+ if (devicesWithTheSameName.length > 0) {
380
+ if (!pkid) { // For new device
381
+ return {duplicateNameRule: true};
382
+ } else if (pkid !== devicesWithTheSameName[0].pkid) { // For updating device, avoid validating with itself
383
+ return {duplicateNameRule: true};
384
+ }
385
+ }
386
+ return null;
387
+ };
388
+ };
389
+
390
+ conditionalRequired = (fieldName: string, requiredConditionValues: any[]) => {
391
+ return (control: any) => {
392
+ const parent1 = control.parent;
393
+ if (!parent1 || !parent1.get(fieldName) || !parent1.get(fieldName).value) {
394
+ return;
395
+ }
396
+ if (requiredConditionValues.includes(parent1.get(fieldName).value) && !control.value) {
397
+ return {
398
+ required: true
399
+ };
400
+ }
401
+ return null;
402
+ };
403
+ };
404
+
405
+ conditionalRequiredForGroupAdmin = (fieldName: string, requiredConditionValues: any[]) => {
406
+ return (control: any) => {
407
+ const parent1 = control.parent;
408
+ if (!parent1 || !parent1.get(fieldName) || !parent1.get(fieldName).value || !parent1.get(fieldName).value.type) {
409
+ return;
410
+ }
411
+ if (requiredConditionValues.includes(parent1.get(fieldName).value.type) && !control.value) {
412
+ return {
413
+ required: true
414
+ };
415
+ }
416
+ return null;
417
+ };
418
+ };
419
+
420
+ conditionalSiteGroupCheckForGroupAdmin = (fieldName: string, requiredConditionValues: any[]) => {
421
+ return (control: any) => {
422
+ const parent1 = control.parent;
423
+ if (!parent1 || !parent1.get(fieldName) || !parent1.get(fieldName).value || !parent1.get(fieldName).value.type) {
424
+ return;
425
+ }
426
+ if (parent1.get(fieldName).value && requiredConditionValues.includes(parent1.get(fieldName).value.type) &&
427
+ parent1.get('siteGroup') && parent1.get('siteGroup').value &&
428
+ parent1.get('siteGroup').value.siteGroupMembers && parent1.get('siteGroup').value.siteGroupMembers.length < 1) {
429
+ return {
430
+ hasSiteGroupError: true
431
+ };
432
+ }
433
+ return null;
434
+ };
435
+ };
436
+
437
+ requiredIfFieldIsEmptyForBLF = (fieldName: any) => {
438
+ const DATE_PATTERN = '^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d$';
439
+ return (control: any) => {
440
+ const parent = control.parent;
441
+ if (!parent || !parent.get(fieldName)) {
442
+ return null;
443
+ }
444
+ if (!parent.get(fieldName).value && !control.value) {
445
+ return {
446
+ requiredEither: true,
447
+ requiredBLFDN: true
448
+ };
449
+ }
450
+ return null;
451
+ };
452
+ };
453
+
454
+
455
+ validDate = (fieldName: string) => {
456
+
457
+ return (control: any) => {
458
+ const parent = control.parent;
459
+ const ruleText = '^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d$';
460
+ const rule = new RegExp(ruleText, 'g');
461
+ const val = control.value && control.value.getDate();
462
+ if (rule && !rule.test(val)) {
463
+ return {pattern: true};
464
+ }
465
+ return null;
466
+ };
467
+ };
468
+
469
+
470
+ matchOption = (optionType: string, list?: any, isFullList?: boolean) => {
471
+ return (control: any) => {
472
+ if (!control.value || control.value === DeviceTypes.CTI_ROUTE_POINT) {
473
+ return null;
474
+ }
475
+ let optionList = list || this.getOptionsList(optionType);
476
+ if (optionList && optionList.length) {
477
+ if (!isFullList && optionType === 'directoryNumbers') {
478
+ optionList = optionList.map((str: string) => str.indexOf(' ') > -1 ? str.substring(0, str.indexOf(' ')) : str);
479
+ }
480
+ if (!optionList.includes(control.value)) {
481
+ return {
482
+ matchOptions: true
483
+ };
484
+ }
485
+ }
486
+ return null;
487
+ };
488
+ };
489
+
490
+ confidentialAccessLevel = (confidentialAccessMode: string) => {
491
+ return (control: any) => {
492
+ if (!control.value && !confidentialAccessMode) {
493
+ return null;
494
+ }
495
+ if (!control.value) {
496
+ return {
497
+ required: true
498
+ };
499
+ }
500
+ return null;
501
+ };
502
+ };
503
+
504
+ noResultDN = (optionType: string, list?: any) => {
505
+ return (control: any) => {
506
+ if (!control.value || list === null) {
507
+ return null;
508
+ }
509
+ if (list && list.length === 0) {
510
+ return {
511
+ noResultDNs: true
512
+ };
513
+ }
514
+ return null;
515
+ };
516
+ };
517
+
518
+ matchExtensionOption = (optionType: string, optionList?: any) => {
519
+ return (control: any) => {
520
+ if (!control.value) {
521
+ return control.value;
522
+ }
523
+ // @ts-ignore
524
+ const newList = [];
525
+ if (optionList && optionList.length) {
526
+ optionList.forEach((list: any) => {
527
+ const newOptionList = this.getMatchExistingVmLineValue(list);
528
+ newList.push(newOptionList);
529
+ });
530
+ // @ts-ignore
531
+ if (newList && !newList.includes(control.value)) {
532
+ return {
533
+ matchOptions: true
534
+ };
535
+ }
536
+ } else if (!optionList || !optionList.length) {
537
+ return {
538
+ matchOptions: true
539
+ };
540
+ }
541
+ return null;
542
+ };
543
+ };
544
+
545
+ public getMatchExistingVmLineValue(dnWithType: string): string {
546
+ const ind = dnWithType.indexOf('Type:');
547
+ let dn = dnWithType;
548
+ if (ind > -1) {
549
+ dn = dnWithType.slice(0, ind);
550
+ dn = dn.trim();
551
+ }
552
+ return dn;
553
+ }
554
+
555
+ requiredEitherForVmExtension = (fieldName1: string, fieldName2: string) => {
556
+ return (control: any) => {
557
+ if (!control.parent) {
558
+ return null;
559
+ }
560
+ const matchControl1 = control.parent.get(fieldName1).value;
561
+ const matchControl2 = control.parent.get(fieldName2).value;
562
+ if (!matchControl1 && !matchControl2) {
563
+ return {
564
+ requiredEitherForVmExtension: true
565
+ };
566
+ }
567
+ return null;
568
+ };
569
+ };
570
+
571
+ requiredEitherOne = (fieldName1: string, fieldName2: string) => {
572
+ return (control: any) => {
573
+ if (!control.parent) {
574
+ return null;
575
+ }
576
+ const matchControl1 = control.parent.get(fieldName1) && control.parent.get(fieldName1).value;
577
+ const matchControl2 = control.parent.get(fieldName2) && control.parent.get(fieldName2).value;
578
+ if (!matchControl1 && !matchControl2) {
579
+ return {
580
+ requiredEitherOne: true
581
+ };
582
+ }
583
+ return null;
584
+ };
585
+ };
586
+
587
+ requiredByValue = (fieldName: string, requestedFieldVal: any) => {
588
+ return (control: any) => {
589
+ if (!control || !control.parent) {
590
+ return null;
591
+ }
592
+ const fieldVal = control.parent.get(fieldName) && control.parent.get(fieldName).value;
593
+ if (fieldVal && fieldVal === requestedFieldVal && !control.value) {
594
+ return {
595
+ required: true
596
+ };
597
+ }
598
+ return null;
599
+ };
600
+ };
601
+
602
+ OneExtensionEmpty = (fieldName1: string, fieldName2: string) => {
603
+ return (control: any) => {
604
+ if (!control.parent) {
605
+ return null;
606
+ }
607
+ const matchControl1 = control.parent.get(fieldName1).value;
608
+ const matchControl2 = control.parent.get(fieldName2).value;
609
+ if (matchControl1 && matchControl2) {
610
+ return {
611
+ OneExtensionIsEmpty: true
612
+ };
613
+ }
614
+ return null;
615
+ };
616
+ };
617
+
618
+ requiredByCondition = (requiredBy: string, fieldName: any) => {
619
+ return (control: any) => {
620
+ if (!control.parent) {
621
+ return null;
622
+ }
623
+ const requiredByControl = control.parent.get(requiredBy).value;
624
+ const requiredControl = control.parent.get(fieldName).value;
625
+ if (requiredByControl && !requiredControl) {
626
+ return {
627
+ required: true
628
+ };
629
+ }
630
+ return null;
631
+ };
632
+ };
633
+
634
+ private getOptionsList(token: string): string[] {
635
+ switch (token) {
636
+ case 'css':
637
+ case 'rerouteCss':
638
+ case 'callingSearchSpace':
639
+ return this.siteSettingsService.callingSearchSpaceTypes;
640
+ case 'reroutingCss':
641
+ return this.siteSettingsService.siteDefaults && this.siteSettingsService.siteDefaults.cssFilter;
642
+ case 'deviceType':
643
+ return this.siteSettingsService.deviceTypes;
644
+ case 'routePartition':
645
+ return this.siteSettingsService.routePartitionNames;
646
+ case 'routePartitionFiltered':
647
+ return this.siteSettingsService.filteredRoutePartitionNames;
648
+ case 'devicePools':
649
+ return this.siteSettingsService.devicePools;
650
+ case 'allRoutePartitions':
651
+ return this.siteSettingsService.allRoutePartitionNames;
652
+ case 'directoryNumbers':
653
+ return this.siteSettingsService.directoryNumbers;
654
+ default:
655
+ return [];
656
+ }
657
+ }
658
+
659
+ autocompleteType(control: any) {
660
+ if (!control.value) {
661
+ return null;
662
+ }
663
+ if (typeof control.value !== 'object' && control.value !== '') {
664
+ return {
665
+ stringEntered: true
666
+ };
667
+ }
668
+ return null;
669
+ }
670
+
671
+
672
+ password(control: any) {
673
+ const ruleNumeric = new RegExp(/\d+/, 'g');
674
+ const ruleCapitals = new RegExp(/[A-Z]+/, 'g');
675
+ const ruleSmall = new RegExp(/[a-z]+/, 'g');
676
+ const ruleSpecial = new RegExp(/[!@#$%&\/=\?_\.,:;\-\\+]+/, 'g');
677
+
678
+ const hasNumeric = +ruleNumeric.test(control.value);
679
+ const hasCapitals = +ruleCapitals.test(control.value);
680
+ const hasSmall = +ruleSmall.test(control.value);
681
+ const hasSpecial = +ruleSpecial.test(control.value);
682
+
683
+ if (hasNumeric + hasCapitals + hasSmall + hasSpecial < 3) {
684
+ return {
685
+ weakPassword: true
686
+ };
687
+ }
688
+
689
+ return null;
690
+ }
691
+
692
+ verifyAutoAnswer(control: any) {
693
+ if (!control?.value || control.value.length === 0) {
694
+ return null;
695
+ }
696
+ let autoAnswerErrorLine = null;
697
+ if (control.parent && control.parent.parent && control.parent.parent.parent && control.parent.parent.parent.parent) {
698
+ const controlSNR = control.parent;
699
+ const controlUser = control.parent.parent.parent.parent;
700
+ const lineAssociations = controlSNR.get('lineAssociations');
701
+ const lines = controlUser.get('lines');
702
+ if (lines) {
703
+ lineAssociations.value.forEach((lineAssociation: any) => {
704
+ const autoAnswerLine = lines.controls.find((line: any) => line.get('directoryNumber').value.directoryNumber === lineAssociation.directoryNumber && line.get('directoryNumber').value.routePartitionName === lineAssociation.routePartitionName
705
+ && line.get('autoAnswer').value !== 'Auto Answer Off');
706
+ if (autoAnswerLine) {
707
+ autoAnswerErrorLine = {
708
+ autoAnswerErrorLine: lineAssociation.directoryNumber
709
+ };
710
+ }
711
+ });
712
+ }
713
+ }
714
+
715
+ return autoAnswerErrorLine;
716
+ }
717
+
718
+ verifyBeginEndTime(control: any) {
719
+ const parent = control.parent;
720
+ if (!parent || !parent.get('isActive') || !parent.get('allDay') || !parent.get('from') || !parent.get('to')) {
721
+ return null;
722
+ }
723
+
724
+ if (parent.get('isActive').value) {
725
+ if (!parent.get('allDay').value) {
726
+ if (!parent.get('from').value || parent.get('from').value === 'No Office Hours'
727
+ || !parent.get('to').value || parent.get('to').value === 'No Office Hours'
728
+ || parent.get('from').value > parent.get('to').value) {
729
+ return {
730
+ fromGreaterThanTo: true
731
+ };
732
+ }
733
+ }
734
+ }
735
+
736
+ return null;
737
+ }
738
+
739
+ time(control: any) {
740
+ if (control.value && !timeRegex.test(control.value)) {
741
+ return {timeFormat: true};
742
+ }
743
+ return null;
744
+ }
745
+
746
+
747
+ pinMultiCharacterCheck = (fieldName: string) => {
748
+ // @ts-ignore
749
+ return (control: any) => {
750
+ if (!control.parent) {
751
+ return null;
752
+ }
753
+ const matchingControl = control.parent.get(fieldName);
754
+ const ruleMultiCharacter = new RegExp('([0-9])\\1{2}');
755
+ if (matchingControl.value) {
756
+ const hasMultiCharacter = ruleMultiCharacter.test(matchingControl.value);
757
+ if (hasMultiCharacter) {
758
+ return {
759
+ multiCharacter: true
760
+ };
761
+ }
762
+ }
763
+ };
764
+ };
765
+
766
+ pinConsecutiveNumberCheck = (fieldName: string) => {
767
+ // @ts-ignore
768
+ return (control: any) => {
769
+ if (!control.parent) {
770
+ return null;
771
+ }
772
+ const matchingControl = control.parent.get(fieldName);
773
+ const strToCheck = matchingControl.value;
774
+ if (strToCheck && strToCheck.length > 1) {
775
+ const resAsc = this.pinOrderCheck(strToCheck);
776
+ if (resAsc === true) {
777
+ return {
778
+ consecutiveNumbers: true
779
+ };
780
+ }
781
+ }
782
+ };
783
+ };
784
+
785
+
786
+ pinOrderCheck(str: string): any {
787
+ if (str) {
788
+ const arr_num = ('' + str).split('');
789
+ for (let i = 0; i < arr_num.length - 2; i++) {
790
+ const num1 = parseInt(arr_num[i]);
791
+ const num2 = parseInt(arr_num[i + 1]);
792
+ const num3 = parseInt(arr_num[i + 2]);
793
+ if ((num2 - num1) === 1 && (num3 - num2 === num2 - num1)) {
794
+ return true;
795
+ }
796
+ }
797
+ return false;
798
+ }
799
+ }
800
+
801
+
802
+ pinMailboxExtensionCheck = (fieldName: string, extension: string) => {
803
+ return (control: any) => {
804
+ if (!control.parent) {
805
+ return null;
806
+ }
807
+ const matchingControl = control.parent.get(fieldName);
808
+ const strToCheck = matchingControl.value;
809
+ if (strToCheck === extension || strToCheck.includes(extension)) {
810
+ return {
811
+ mailboxExtension: true
812
+ };
813
+ }
814
+ return null;
815
+ };
816
+ };
817
+
818
+ isItemAlreadyInList(item: any, list: any): boolean {
819
+ if (!item || !list || !list.length) {
820
+ return false;
821
+ }
822
+ for (const listItem of list) {
823
+ if (item.equals(listItem)) {
824
+ return true;
825
+ }
826
+ }
827
+ return false;
828
+ }
829
+ }