@tuki-io/tuki-widgets 0.0.26 → 0.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/.editorconfig +16 -0
  2. package/.vscode/extensions.json +4 -0
  3. package/.vscode/launch.json +20 -0
  4. package/.vscode/tasks.json +42 -0
  5. package/README.md +10 -9
  6. package/angular.json +41 -0
  7. package/package.json +40 -43
  8. package/projects/tuki/widgets/README.md +24 -0
  9. package/projects/tuki/widgets/karma.conf.js +44 -0
  10. package/projects/tuki/widgets/ng-package.json +7 -0
  11. package/projects/tuki/widgets/package.json +13 -0
  12. package/projects/tuki/widgets/src/lib/widgets.component.spec.ts +23 -0
  13. package/projects/tuki/widgets/src/lib/widgets.component.ts +20 -0
  14. package/projects/tuki/widgets/src/lib/widgets.module.ts +16 -0
  15. package/projects/tuki/widgets/src/lib/widgets.service.spec.ts +16 -0
  16. package/projects/tuki/widgets/src/lib/widgets.service.ts +9 -0
  17. package/{public-api.d.ts → projects/tuki/widgets/src/public-api.ts} +4 -0
  18. package/projects/tuki/widgets/src/test.ts +27 -0
  19. package/projects/tuki/widgets/tsconfig.lib.json +36 -0
  20. package/projects/tuki/widgets/tsconfig.lib.prod.json +10 -0
  21. package/projects/tuki/widgets/tsconfig.spec.json +17 -0
  22. package/projects/tuki/widgets/user-device-manage/ng-package.json +7 -0
  23. package/projects/tuki/widgets/user-device-manage/public-api.ts +8 -0
  24. package/projects/tuki/widgets/user-device-manage/src/app.constants.ts +96 -0
  25. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-left.svg +5 -0
  26. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right.svg +5 -0
  27. package/projects/tuki/widgets/user-device-manage/src/assets/icons/close_icon_x.svg +3 -0
  28. package/projects/tuki/widgets/user-device-manage/src/assets/icons/delete_icon.svg +5 -0
  29. package/projects/tuki/widgets/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  30. package/projects/tuki/widgets/user-device-manage/src/assets/icons/icon_user.svg +1 -0
  31. package/projects/tuki/widgets/user-device-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  32. package/projects/tuki/widgets/user-device-manage/src/classes/device.ts +292 -0
  33. package/projects/tuki/widgets/user-device-manage/src/classes/line-association-interface.ts +50 -0
  34. package/projects/tuki/widgets/user-device-manage/src/classes/line-association.ts +177 -0
  35. package/projects/tuki/widgets/user-device-manage/src/classes/line-call-info-display.ts +21 -0
  36. package/projects/tuki/widgets/user-device-manage/src/classes/line-directory.ts +41 -0
  37. package/projects/tuki/widgets/user-device-manage/src/classes/line.ts +144 -0
  38. package/projects/tuki/widgets/user-device-manage/src/classes/notification.ts +40 -0
  39. package/projects/tuki/widgets/user-device-manage/src/classes/recording-options.ts +6 -0
  40. package/projects/tuki/widgets/user-device-manage/src/classes/simplified-user.ts +169 -0
  41. package/projects/tuki/widgets/user-device-manage/src/classes/site-defaults.ts +167 -0
  42. package/projects/tuki/widgets/user-device-manage/src/classes/translation-pattern.ts +50 -0
  43. package/projects/tuki/widgets/user-device-manage/src/classes/types.ts +19 -0
  44. package/projects/tuki/widgets/user-device-manage/src/classes/user-interface.ts +225 -0
  45. package/projects/tuki/widgets/user-device-manage/src/classes/user.ts +8 -0
  46. package/projects/tuki/widgets/user-device-manage/src/common-functions.ts +16 -0
  47. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.html +14 -0
  48. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.scss +79 -0
  49. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.ts +35 -0
  50. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.css +97 -0
  51. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +21 -0
  52. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +28 -0
  53. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.css +20 -0
  54. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.html +6 -0
  55. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.ts +13 -0
  56. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +6 -0
  57. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +4 -0
  58. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +63 -0
  59. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.html +241 -0
  60. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.scss +500 -0
  61. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.ts +194 -0
  62. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.html +27 -0
  63. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.scss +131 -0
  64. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.ts +25 -0
  65. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.html +209 -0
  66. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.scss +502 -0
  67. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.ts +354 -0
  68. package/projects/tuki/widgets/user-device-manage/src/environments/environment.prod.ts +9 -0
  69. package/projects/tuki/widgets/user-device-manage/src/environments/environment.ts +10 -0
  70. package/projects/tuki/widgets/user-device-manage/src/interseptors/auth.interceptor.ts +35 -0
  71. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  72. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
  73. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  74. package/projects/tuki/widgets/user-device-manage/src/material.module.ts +87 -0
  75. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.html +33 -0
  76. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.scss +84 -0
  77. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.ts +46 -0
  78. package/projects/tuki/widgets/user-device-manage/src/removeKynFromIBM.service.ts +25 -0
  79. package/projects/tuki/widgets/user-device-manage/src/services/api.service.ts +87 -0
  80. package/projects/tuki/widgets/user-device-manage/src/services/common-functions.ts +17 -0
  81. package/projects/tuki/widgets/user-device-manage/src/services/device.service.ts +95 -0
  82. package/projects/tuki/widgets/user-device-manage/src/services/dns.service.ts +111 -0
  83. package/projects/tuki/widgets/user-device-manage/src/services/line.service.ts +89 -0
  84. package/projects/tuki/widgets/user-device-manage/src/services/notification.service.ts +68 -0
  85. package/projects/tuki/widgets/user-device-manage/src/services/removeKynFromIBM.service.ts +25 -0
  86. package/projects/tuki/widgets/user-device-manage/src/services/site-settings.service.ts +82 -0
  87. package/projects/tuki/widgets/user-device-manage/src/services/sorting-utils.service.ts +203 -0
  88. package/projects/tuki/widgets/user-device-manage/src/services/user.service.ts +283 -0
  89. package/projects/tuki/widgets/user-device-manage/src/services/utils.service.ts +87 -0
  90. package/projects/tuki/widgets/user-device-manage/src/services/validation.service.ts +829 -0
  91. package/projects/tuki/widgets/user-device-manage/src/styles/_variables.scss +90 -0
  92. package/projects/tuki/widgets/user-device-manage/src/styles/form.scss +231 -0
  93. package/projects/tuki/widgets/user-device-manage/src/styles/icons.scss +32 -0
  94. package/projects/tuki/widgets/user-device-manage/src/styles/styles.scss +110 -0
  95. package/projects/tuki/widgets/user-device-manage/src/styles/tables.scss +30 -0
  96. package/projects/tuki/widgets/user-device-manage/src/user-device-manage.module.ts +73 -0
  97. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.html +6 -0
  98. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  99. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.ts +13 -0
  100. package/projects/tuki/widgets/user-manage/ng-package.json +7 -0
  101. package/projects/tuki/widgets/user-manage/src/app.constants.ts +50 -0
  102. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-left.svg +5 -0
  103. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right.svg +5 -0
  104. package/projects/tuki/widgets/user-manage/src/assets/icons/delete_icon.svg +5 -0
  105. package/projects/tuki/widgets/user-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  106. package/projects/tuki/widgets/user-manage/src/assets/icons/icon_user.svg +1 -0
  107. package/projects/tuki/widgets/user-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  108. package/projects/tuki/widgets/user-manage/src/classes/device.ts +232 -0
  109. package/projects/tuki/widgets/user-manage/src/classes/line-association-interface.ts +43 -0
  110. package/projects/tuki/widgets/user-manage/src/classes/line-association.ts +161 -0
  111. package/projects/tuki/widgets/user-manage/src/classes/line-call-info-display.ts +21 -0
  112. package/projects/tuki/widgets/user-manage/src/classes/line-directory.ts +42 -0
  113. package/projects/tuki/widgets/user-manage/src/classes/line.ts +144 -0
  114. package/projects/tuki/widgets/user-manage/src/classes/notification.ts +39 -0
  115. package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +18 -0
  116. package/projects/tuki/widgets/user-manage/src/classes/recording-options.ts +6 -0
  117. package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +165 -0
  118. package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +6 -0
  119. package/projects/tuki/widgets/user-manage/src/classes/translation-pattern.ts +49 -0
  120. package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +225 -0
  121. package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +42 -0
  122. package/projects/tuki/widgets/user-manage/src/classes/user.ts +8 -0
  123. package/projects/tuki/widgets/user-manage/src/common-functions.ts +16 -0
  124. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.html +27 -0
  125. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.scss +131 -0
  126. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.ts +25 -0
  127. package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +9 -0
  128. package/projects/tuki/widgets/user-manage/src/environments/environment.ts +10 -0
  129. package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +35 -0
  130. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  131. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
  132. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  133. package/projects/tuki/widgets/user-manage/src/material.module.ts +85 -0
  134. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +33 -0
  135. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +84 -0
  136. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +46 -0
  137. package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +25 -0
  138. package/projects/tuki/widgets/user-manage/src/services/api.service.ts +90 -0
  139. package/projects/tuki/widgets/user-manage/src/services/dns.service.ts +116 -0
  140. package/projects/tuki/widgets/user-manage/src/services/line.service.ts +31 -0
  141. package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +68 -0
  142. package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +25 -0
  143. package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +35 -0
  144. package/projects/tuki/widgets/user-manage/src/services/sorting-utils.service.ts +203 -0
  145. package/projects/tuki/widgets/user-manage/src/services/user.service.ts +242 -0
  146. package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +58 -0
  147. package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +71 -0
  148. package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +90 -0
  149. package/projects/tuki/widgets/user-manage/src/styles/form.scss +231 -0
  150. package/projects/tuki/widgets/user-manage/src/styles/icons.scss +32 -0
  151. package/projects/tuki/widgets/user-manage/src/styles/styles.scss +110 -0
  152. package/projects/tuki/widgets/user-manage/src/styles/tables.scss +30 -0
  153. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +10 -0
  154. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +429 -0
  155. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +63 -0
  156. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.html +32 -0
  157. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.scss +444 -0
  158. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.ts +89 -0
  159. package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +68 -0
  160. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +29 -0
  161. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +64 -0
  162. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +19 -0
  163. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +292 -0
  164. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +463 -0
  165. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +212 -0
  166. package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +63 -0
  167. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +6 -0
  168. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  169. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +13 -0
  170. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +26 -0
  171. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +41 -0
  172. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +41 -0
  173. package/projects/tuki/widgets/users-list/ng-package.json +6 -0
  174. package/projects/tuki/widgets/users-list/src/app.constants.ts +50 -0
  175. package/projects/tuki/widgets/users-list/src/assets/icons/close_icon_modal.svg +3 -0
  176. package/projects/tuki/widgets/users-list/src/assets/icons/icon_user.svg +1 -0
  177. package/projects/tuki/widgets/users-list/src/classes/device.ts +225 -0
  178. package/projects/tuki/widgets/users-list/src/classes/line.ts +144 -0
  179. package/projects/tuki/widgets/users-list/src/classes/notification.ts +38 -0
  180. package/projects/tuki/widgets/users-list/src/classes/pagination.ts +18 -0
  181. package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +74 -0
  182. package/projects/tuki/widgets/users-list/src/classes/table-data.ts +6 -0
  183. package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +225 -0
  184. package/projects/tuki/widgets/users-list/src/classes/user-list.ts +47 -0
  185. package/projects/tuki/widgets/users-list/src/classes/user.ts +8 -0
  186. package/projects/tuki/widgets/users-list/src/material.module.ts +94 -0
  187. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.css +183 -0
  188. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +93 -0
  189. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +95 -0
  190. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.css +38 -0
  191. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.html +11 -0
  192. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.ts +34 -0
  193. package/projects/tuki/widgets/users-list/src/services/api-webex.service.ts +13 -0
  194. package/projects/tuki/widgets/users-list/src/services/api.service.ts +90 -0
  195. package/projects/tuki/widgets/users-list/src/services/dns.service.ts +128 -0
  196. package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +11 -0
  197. package/projects/tuki/widgets/users-list/src/services/notification.service.ts +68 -0
  198. package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +25 -0
  199. package/projects/tuki/widgets/users-list/src/services/user.service.ts +168 -0
  200. package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +135 -0
  201. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +14 -0
  202. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +79 -0
  203. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +35 -0
  204. package/projects/tuki/widgets/users-list/src/users-list.component.css +4 -0
  205. package/projects/tuki/widgets/users-list/src/users-list.component.css.map +1 -0
  206. package/projects/tuki/widgets/users-list/src/users-list.component.html +86 -0
  207. package/projects/tuki/widgets/users-list/src/users-list.component.scss +572 -0
  208. package/projects/tuki/widgets/users-list/src/users-list.component.ts +283 -0
  209. package/projects/tuki/widgets/users-list/src/users-list.module.ts +51 -0
  210. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css +11 -0
  211. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css.map +1 -0
  212. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +6 -0
  213. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +11 -0
  214. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +13 -0
  215. package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +16 -0
  216. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +33 -0
  217. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +84 -0
  218. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +46 -0
  219. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css +45 -0
  220. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css.map +1 -0
  221. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +26 -0
  222. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +41 -0
  223. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +41 -0
  224. package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +71 -0
  225. package/tsconfig.json +46 -0
  226. package/esm2020/lib/widgets.component.mjs +0 -22
  227. package/esm2020/lib/widgets.module.mjs +0 -21
  228. package/esm2020/lib/widgets.service.mjs +0 -14
  229. package/esm2020/public-api.mjs +0 -7
  230. package/esm2020/tuki-io-tuki-widgets.mjs +0 -5
  231. package/esm2020/user-manage/public-api.mjs +0 -7
  232. package/esm2020/user-manage/src/app.constants.mjs +0 -50
  233. package/esm2020/user-manage/src/classes/device.mjs +0 -24
  234. package/esm2020/user-manage/src/classes/line-association-interface.mjs +0 -2
  235. package/esm2020/user-manage/src/classes/line-association.mjs +0 -110
  236. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +0 -10
  237. package/esm2020/user-manage/src/classes/line-directory.mjs +0 -27
  238. package/esm2020/user-manage/src/classes/line.mjs +0 -18
  239. package/esm2020/user-manage/src/classes/notification.mjs +0 -32
  240. package/esm2020/user-manage/src/classes/pagination.mjs +0 -8
  241. package/esm2020/user-manage/src/classes/recording-options.mjs +0 -7
  242. package/esm2020/user-manage/src/classes/simplified-user.mjs +0 -109
  243. package/esm2020/user-manage/src/classes/table-data.mjs +0 -2
  244. package/esm2020/user-manage/src/classes/translation-pattern.mjs +0 -32
  245. package/esm2020/user-manage/src/classes/user-list.mjs +0 -10
  246. package/esm2020/user-manage/src/common-functions.mjs +0 -19
  247. package/esm2020/user-manage/src/environments/environment.mjs +0 -11
  248. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +0 -36
  249. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
  250. package/esm2020/user-manage/src/material.module.mjs +0 -188
  251. package/esm2020/user-manage/src/notifications/notification.component.mjs +0 -35
  252. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +0 -25
  253. package/esm2020/user-manage/src/services/api.service.mjs +0 -79
  254. package/esm2020/user-manage/src/services/dns.service.mjs +0 -110
  255. package/esm2020/user-manage/src/services/line.service.mjs +0 -34
  256. package/esm2020/user-manage/src/services/notification.service.mjs +0 -62
  257. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  258. package/esm2020/user-manage/src/services/site-settings.service.mjs +0 -36
  259. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +0 -197
  260. package/esm2020/user-manage/src/services/user.service.mjs +0 -207
  261. package/esm2020/user-manage/src/services/users-search.service.mjs +0 -49
  262. package/esm2020/user-manage/src/services/utils.service.mjs +0 -73
  263. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +0 -65
  264. package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +0 -78
  265. package/esm2020/user-manage/src/user-info/user-info.component.mjs +0 -20
  266. package/esm2020/user-manage/src/user-manage-widget.component.mjs +0 -193
  267. package/esm2020/user-manage/src/user-manage.module.mjs +0 -96
  268. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
  269. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +0 -43
  270. package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +0 -5
  271. package/esm2020/users-list/public-api.mjs +0 -9
  272. package/esm2020/users-list/src/app.constants.mjs +0 -46
  273. package/esm2020/users-list/src/classes/device.mjs +0 -7
  274. package/esm2020/users-list/src/classes/line.mjs +0 -18
  275. package/esm2020/users-list/src/classes/notification.mjs +0 -31
  276. package/esm2020/users-list/src/classes/pagination.mjs +0 -8
  277. package/esm2020/users-list/src/classes/simlified-user.mjs +0 -50
  278. package/esm2020/users-list/src/classes/table-data.mjs +0 -2
  279. package/esm2020/users-list/src/classes/user-list.mjs +0 -13
  280. package/esm2020/users-list/src/material.module.mjs +0 -195
  281. package/esm2020/users-list/src/services/api-webex.service.mjs +0 -17
  282. package/esm2020/users-list/src/services/api.service.mjs +0 -78
  283. package/esm2020/users-list/src/services/events-communication.service.mjs +0 -14
  284. package/esm2020/users-list/src/services/notification.service.mjs +0 -62
  285. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +0 -25
  286. package/esm2020/users-list/src/services/user.service.mjs +0 -129
  287. package/esm2020/users-list/src/services/users-search.service.mjs +0 -99
  288. package/esm2020/users-list/src/users-list.component.mjs +0 -187
  289. package/esm2020/users-list/src/users-list.module.mjs +0 -62
  290. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +0 -14
  291. package/esm2020/users-list/src/utils/common-functions.mjs +0 -19
  292. package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +0 -43
  293. package/esm2020/users-list/src/utils/utils.service.mjs +0 -73
  294. package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +0 -5
  295. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +0 -2074
  296. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  297. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +0 -1100
  298. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  299. package/fesm2015/tuki-io-tuki-widgets.mjs +0 -63
  300. package/fesm2015/tuki-io-tuki-widgets.mjs.map +0 -1
  301. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +0 -2057
  302. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  303. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +0 -1093
  304. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  305. package/fesm2020/tuki-io-tuki-widgets.mjs +0 -63
  306. package/fesm2020/tuki-io-tuki-widgets.mjs.map +0 -1
  307. package/index.d.ts +0 -5
  308. package/lib/widgets.component.d.ts +0 -8
  309. package/lib/widgets.module.d.ts +0 -7
  310. package/lib/widgets.service.d.ts +0 -6
  311. package/user-manage/index.d.ts +0 -5
  312. package/user-manage/src/app.constants.d.ts +0 -29
  313. package/user-manage/src/classes/device.d.ts +0 -186
  314. package/user-manage/src/classes/line-association-interface.d.ts +0 -40
  315. package/user-manage/src/classes/line-association.d.ts +0 -55
  316. package/user-manage/src/classes/line-call-info-display.d.ts +0 -11
  317. package/user-manage/src/classes/line-directory.d.ts +0 -16
  318. package/user-manage/src/classes/line.d.ts +0 -140
  319. package/user-manage/src/classes/notification.d.ts +0 -18
  320. package/user-manage/src/classes/pagination.d.ts +0 -13
  321. package/user-manage/src/classes/recording-options.d.ts +0 -5
  322. package/user-manage/src/classes/simplified-user.d.ts +0 -50
  323. package/user-manage/src/classes/table-data.d.ts +0 -5
  324. package/user-manage/src/classes/translation-pattern.d.ts +0 -18
  325. package/user-manage/src/classes/user-list.d.ts +0 -34
  326. package/user-manage/src/common-functions.d.ts +0 -1
  327. package/user-manage/src/environments/environment.d.ts +0 -9
  328. package/user-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  329. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
  330. package/user-manage/src/material.module.d.ts +0 -28
  331. package/user-manage/src/notifications/notification.component.d.ts +0 -19
  332. package/user-manage/src/removeKynFromIBM.service.d.ts +0 -8
  333. package/user-manage/src/services/api.service.d.ts +0 -21
  334. package/user-manage/src/services/dns.service.d.ts +0 -14
  335. package/user-manage/src/services/line.service.d.ts +0 -17
  336. package/user-manage/src/services/notification.service.d.ts +0 -18
  337. package/user-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  338. package/user-manage/src/services/site-settings.service.d.ts +0 -9
  339. package/user-manage/src/services/sorting-utils.service.d.ts +0 -26
  340. package/user-manage/src/services/user.service.d.ts +0 -43
  341. package/user-manage/src/services/users-search.service.d.ts +0 -25
  342. package/user-manage/src/services/utils.service.d.ts +0 -9
  343. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +0 -24
  344. package/user-manage/src/user-calling/user-calling.component.d.ts +0 -30
  345. package/user-manage/src/user-info/user-info.component.d.ts +0 -9
  346. package/user-manage/src/user-manage-widget.component.d.ts +0 -39
  347. package/user-manage/src/user-manage.module.d.ts +0 -20
  348. package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  349. package/user-manage/src/utils/pagination/pagination.component.d.ts +0 -18
  350. package/users-list/index.d.ts +0 -5
  351. package/users-list/src/app.constants.d.ts +0 -28
  352. package/users-list/src/classes/device.d.ts +0 -224
  353. package/users-list/src/classes/line.d.ts +0 -140
  354. package/users-list/src/classes/notification.d.ts +0 -18
  355. package/users-list/src/classes/pagination.d.ts +0 -13
  356. package/users-list/src/classes/simlified-user.d.ts +0 -25
  357. package/users-list/src/classes/table-data.d.ts +0 -5
  358. package/users-list/src/classes/user-list.d.ts +0 -36
  359. package/users-list/src/material.module.d.ts +0 -29
  360. package/users-list/src/services/api-webex.service.d.ts +0 -8
  361. package/users-list/src/services/api.service.d.ts +0 -21
  362. package/users-list/src/services/events-communication.service.d.ts +0 -8
  363. package/users-list/src/services/notification.service.d.ts +0 -18
  364. package/users-list/src/services/removeKynFromIBM.service.d.ts +0 -8
  365. package/users-list/src/services/user.service.d.ts +0 -32
  366. package/users-list/src/services/users-search.service.d.ts +0 -31
  367. package/users-list/src/users-list.component.d.ts +0 -49
  368. package/users-list/src/users-list.module.d.ts +0 -13
  369. package/users-list/src/utils/app-loader/app-loader.d.ts +0 -6
  370. package/users-list/src/utils/common-functions.d.ts +0 -1
  371. package/users-list/src/utils/pagination/pagination.component.d.ts +0 -18
  372. package/users-list/src/utils/utils.service.d.ts +0 -9
  373. /package/{user-manage/public-api.d.ts → projects/tuki/widgets/user-manage/public-api.ts} +0 -0
  374. /package/{users-list/public-api.d.ts → projects/tuki/widgets/users-list/public-api.ts} +0 -0
@@ -0,0 +1,21 @@
1
+ import { LineCallInfoDisplayInterface } from './device';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { getSavableData } from '../common-functions';
4
+
5
+ export class LineCallInfoDisplay implements LineCallInfoDisplayInterface {
6
+ callerName!: string;
7
+ callerNumber!: string;
8
+ redirectedNumber!: string;
9
+ dialedNumber!: string;
10
+
11
+ // non-savable data fields
12
+ form!: FormGroup;
13
+
14
+ constructor(lineCallInfoDisplay: LineCallInfoDisplayInterface) {
15
+ Object.assign(this, lineCallInfoDisplay || {});
16
+ }
17
+
18
+ getSavableData() {
19
+ return getSavableData(this, ['form']);
20
+ }
21
+ }
@@ -0,0 +1,41 @@
1
+ import { FormGroup, FormBuilder, Validators } from '@angular/forms';
2
+ import { getSavableData } from '../common-functions';
3
+ import { LineDirectoryInterface } from './line';
4
+
5
+ export class LineDirectory implements LineDirectoryInterface {
6
+ directoryNumber!: string;
7
+ templateDirectoryNumber?: string;
8
+ routePartitionName!: string;
9
+ pkid!: string;
10
+ dnType!: string;
11
+ displayValue?: string;
12
+
13
+ // non-savable data fields
14
+ form!: FormGroup;
15
+
16
+ constructor(lineDirectory: LineDirectoryInterface) {
17
+ Object.assign(this, lineDirectory || {});
18
+ // @ts-ignore
19
+ if (this.directoryNumber && this.routePartitionName) {
20
+ this.displayValue = `${this.directoryNumber}/${this.routePartitionName}`;
21
+ }
22
+ this.initForm();
23
+ }
24
+
25
+ getSavableData() {
26
+ return getSavableData(this, ['form', 'displayValue', 'templateDirectoryNumber']);
27
+ }
28
+
29
+ equal(itemToCompare: any): boolean {
30
+ return JSON.stringify(this.getSavableData()) === JSON.stringify(itemToCompare.getSavableData());
31
+ }
32
+
33
+ initForm() {
34
+ const formBuilder = new FormBuilder();
35
+ const formSettings = {
36
+ directoryNumber: [{value: this.directoryNumber || '', disabled: true}, [Validators.required]],
37
+ routePartitionName: [{value: this.routePartitionName || '', disabled: true}]
38
+ };
39
+ this.form = formBuilder.group(formSettings);
40
+ }
41
+ }
@@ -0,0 +1,144 @@
1
+ import { SiteShortDataInterface } from './device';
2
+
3
+ export interface LineInterface {
4
+ description: string;
5
+ pkid: string;
6
+ entityChangeType: EntityChangeType;
7
+ alertingName: string;
8
+ asciiAlertingName: string;
9
+ callingSearchSpace: string;
10
+ voiceMailProfile: string;
11
+ noAnswerRingDuration: number;
12
+ autoAnswer: string;
13
+ directoryNumber: LineDirectoryInterface;
14
+ didPatterns: Array<TranslationPatternInterface>;
15
+ mappedDids: Array<string>;
16
+ aarSettings: LineAarInterface;
17
+ callForwardAll: CallInterface;
18
+ callForwardAllSecondaryCSS: CallInterface;
19
+ callForwardBusyInternal: CallInterface;
20
+ callForwardBusyExternal: CallInterface;
21
+ callForwardNoAnswerInternal: CallInterface;
22
+ callForwardNoAnswerExternal: CallInterface;
23
+ callForwardNoCoverageInternal: CallInterface;
24
+ callForwardNoCoverageExternal: CallInterface;
25
+ callForwardOnCTIFailure: CallInterface;
26
+ callForwardUnregisteredInternal: CallInterface;
27
+ callForwardUnregisteredExternal: CallInterface;
28
+ parkMonitoringExternal: LineParkMonitoringInterface;
29
+ parkMonitoringInternal: LineParkMonitoringInterface;
30
+ callPickupGroup: string;
31
+ localId: string;
32
+ urgentPriority: boolean;
33
+ blfPresenceGroup: string;
34
+ userHoldMOHAudioSourceId: string;
35
+ userHoldMOHAudioSourceName: string;
36
+ networkMOHAudioSourceId: string;
37
+ networkMOHAudioSourceName: string;
38
+ rejectAnonymousCall: boolean;
39
+ enterpriseAltNum: AlternateNumberInterface;
40
+ e164AltNum: AlternateNumberInterface;
41
+ directoryUris: Array<DirectoryUriInterface>;
42
+ callForwardAlternateParty: ParkMonitoringInterface;
43
+ mlppNoAnswerRingDuration: number;
44
+ confidentialAccessMode: string;
45
+ confidentialAccessLevel: string;
46
+ confidentialAccessLevelName: string;
47
+ callControlAgentProfile: string;
48
+ holdReversionRingDuration: number;
49
+ holdReversionNotificationInterval: number;
50
+ partyEntranceTone: string;
51
+ pstnFailover: string;
52
+ isExistingLine?: boolean;
53
+ plarDestinationNumber: string;
54
+ prefixDigits: string;
55
+ plarDescription: string;
56
+ plarEnabled: boolean;
57
+ }
58
+
59
+ export enum EntityChangeType {
60
+ added = 'added',
61
+ updated = 'updated',
62
+ existing = 'existing',
63
+ removed = 'removed',
64
+ unassociated = 'unassociated'
65
+ }
66
+ export interface LineDirectoryInterface {
67
+ directoryNumber: string;
68
+ routePartitionName: string;
69
+ pkid: string;
70
+ dnType: string;
71
+ subType?: string;
72
+ templateDirectoryNumber?: string;
73
+ }
74
+ export interface TranslationPatternInterface {
75
+ pattern: string;
76
+ calledPartyTransformationMask: string;
77
+ description?: string;
78
+ site?: SiteShortDataInterface;
79
+ hasMultipleSites?: boolean;
80
+ multipleSitesId?: string;
81
+ }
82
+ export interface LineAarInterface {
83
+ aarDestinationMask: string;
84
+ aarGroup: string;
85
+ aarVoiceMailEnabled: boolean;
86
+ aarKeepCallHistory: boolean;
87
+ }
88
+ export interface CallInterface {
89
+ forwardToVoiceMail: boolean;
90
+ destination: string;
91
+ callingSearchSpace: string;
92
+ }
93
+ export interface LineParkMonitoringInterface {
94
+ voiceMail: boolean;
95
+ destination: string;
96
+ callingSearchSpace: string;
97
+ }
98
+ export interface AlternateNumberInterface {
99
+ numberMask: string;
100
+ addLocalRoutePartition: boolean;
101
+ routePartition: string;
102
+ isUrgent: boolean;
103
+ advertiseGloballyIls: boolean;
104
+ }
105
+ export interface DirectoryUriInterface {
106
+ primary: boolean;
107
+ uri: string;
108
+ routePartition: string;
109
+ advertiseGloballyIls: boolean;
110
+ }
111
+ export interface ParkMonitoringInterface {
112
+ destination: string;
113
+ callingSearchSpace: string;
114
+ voiceMail: boolean;
115
+ }
116
+ export interface AvailablePhoneNumberRangeInterface {
117
+ phoneNumberRange: DnRangeInterface;
118
+ usedNumbers: string[];
119
+ requestedNumber: string;
120
+ unUsedNumbersWithDids: any;
121
+ }
122
+ export interface DnRangeInterface {
123
+ from: string;
124
+ to: string;
125
+ prefix: string;
126
+ routePartition: string;
127
+ dnType: DnRangeType;
128
+ tempIdx: number;
129
+
130
+ getEditableData(): any;
131
+
132
+ getUsedRangeEditableData(): any;
133
+ }
134
+ export enum DnRangeType {
135
+ extension = 'EXTENSION',
136
+ cpg = 'CPG',
137
+ callpark = 'CALLPARK',
138
+ huntgroup = 'HUNTGROUP',
139
+ meetme = 'MEETME',
140
+ did = 'DID'
141
+ }
142
+ export interface AvailableRangeInterface {
143
+ availableNumberList: AvailablePhoneNumberRangeInterface[];
144
+ }
@@ -0,0 +1,40 @@
1
+ import { environment } from '../environments/environment';
2
+
3
+ const TTL_DEFAULT = environment.notificationsLifetime;
4
+ const TTL_LONG_DEFAULT = environment.longNotificationsLifetime;
5
+
6
+ export enum NotificationType {
7
+ info = 'info',
8
+ error = 'error',
9
+ success = 'success',
10
+ warning = 'warning'
11
+ }
12
+
13
+ export class Notification {
14
+ id?: number;
15
+ type?: NotificationType;
16
+ message?: string;
17
+ ttl: number = TTL_DEFAULT;
18
+ timerId?: any;
19
+
20
+ constructor(data: any) {
21
+ Object.assign(this, data || {});
22
+
23
+ if(this.ttl === undefined) {
24
+ this.ttl = this.message && this.message.length && this.message.length < 80 ? TTL_DEFAULT : TTL_LONG_DEFAULT;
25
+ }
26
+ }
27
+
28
+ isInfo(): boolean {
29
+ return this.type === NotificationType.info;
30
+ }
31
+ isError(): boolean {
32
+ return this.type === NotificationType.error;
33
+ }
34
+ isSuccess(): boolean {
35
+ return this.type === NotificationType.success;
36
+ }
37
+ isWarning(): boolean {
38
+ return this.type === NotificationType.warning;
39
+ }
40
+ }
@@ -0,0 +1,6 @@
1
+ export enum RecordingOptions {
2
+ disabled = 'Call Recording Disabled',
3
+ auto_enabled = 'Automatic Call Recording Enabled',
4
+ selective_enabled = 'Selective Call Recording Enabled'
5
+ }
6
+
@@ -0,0 +1,169 @@
1
+ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { getSavableData } from '../common-functions';
4
+ import { REGEX_PATTERN } from '../app.constants';
5
+ import { Device } from './device';
6
+ import { LineAssociation } from './line-association';
7
+ import { LineAssociationInterface } from './line-association-interface';
8
+ import { ValidationService } from '../services/validation.service';
9
+
10
+ export class SimplifiedUser {
11
+ userid!: string;
12
+ email!: string;
13
+ firstName!: string;
14
+ lastName!: string;
15
+ siteId!: number;
16
+ siteName!: number;
17
+ token!: string;
18
+ // general user info
19
+ department!: string;
20
+ manager!: string;
21
+ associatedPc!: string;
22
+ digestCredentials!: string;
23
+ userProfile!: string;
24
+ enableMobileVoiceAccess!: boolean;
25
+ userLocale!: string;
26
+ confirmDigestCredentials?: any;
27
+
28
+ // contact information
29
+ middleName!: string;
30
+ telephoneNumber!: string;
31
+ mobileNumber!: string;
32
+ directoryUri!: string;
33
+ title!: string;
34
+ homeNumber!: string;
35
+ pagerNumber!: string;
36
+ displayName!: string;
37
+
38
+ viewMode!: string;
39
+ hasModifiedCache!: boolean;
40
+ newUserId?: string;
41
+ editMode!: boolean;
42
+ form!: FormGroup;
43
+ viewType?: any;
44
+
45
+ devices!: Device[];
46
+
47
+ constructor(user: any, validationService: ValidationService) {
48
+ if (user) {
49
+ this.userid = user.userid;
50
+ this.email = user.email;
51
+ this.firstName = user.firstName;
52
+ this.lastName = user.lastName;
53
+ this.token = user.token;
54
+ this.siteId = user.siteId;
55
+ this.siteName = user.siteName;
56
+
57
+ this.department = user.department;
58
+ this.manager = user.manager;
59
+ this.associatedPc = user.associatedPc;
60
+ this.digestCredentials = user.digestCredentials;
61
+ this.userProfile = user.userProfile;
62
+ this.enableMobileVoiceAccess = user.enableMobileVoiceAccess;
63
+ this.userLocale = user.userLocale;
64
+ this.confirmDigestCredentials = user.confirmDigestCredentials;
65
+
66
+ this.middleName = user.middleName;
67
+ this.telephoneNumber = user.telephoneNumber;
68
+ this.mobileNumber = user.mobileNumber;
69
+ this.directoryUri = user.directoryUri;
70
+ this.title = user.title;
71
+ this.homeNumber = user.homeNumber;
72
+ this.pagerNumber = user.pagerNumber;
73
+ this.displayName = user.displayName;
74
+
75
+ if (user.devices?.length) {
76
+ this.devices = user.devices.map((device: any) => new Device(device, validationService));
77
+ if (user.lines?.length) {
78
+ this.devices.forEach(device => {
79
+ if (device?.lineAssociations?.length) {
80
+ device.lineAssociations.forEach(lineAssociation => {
81
+ lineAssociation.callingSearchSpace = this.getLineVal(lineAssociation, user.lines, 'callingSearchSpace');
82
+ lineAssociation.textLabel = lineAssociation.textLabel || this.getLineVal(lineAssociation, user.lines, 'textLabel') || '';
83
+ lineAssociation.alertingName = lineAssociation.alertingName || this.getLineVal(lineAssociation, user.lines, 'alertingName') || '';
84
+ })
85
+ }
86
+ })
87
+ }
88
+ }
89
+
90
+ }
91
+ this.initForm()
92
+ }
93
+
94
+ getLineVal(lineAssociation: LineAssociation | LineAssociationInterface, lines: any, token: string): any {
95
+ const lineForVal = lines.find((line: any) => line.directoryNumber.directoryNumber === lineAssociation.directoryNumber.directoryNumber);
96
+ return lineForVal && lineForVal[token] || '';
97
+ }
98
+
99
+ initForm() {
100
+ const formBuilder = new FormBuilder();
101
+ const formSettings = {
102
+ userid: [{value: this.userid || '', disabled: false}, [Validators.required, Validators.maxLength(128)]],
103
+ email: [{value: this.email || '', disabled: false}, [
104
+ Validators.pattern(REGEX_PATTERN.EMAIL),
105
+ Validators.required
106
+ ]],
107
+ firstName: [{value: this.firstName || '', disabled: false}],
108
+ lastName: [{value: this.lastName || '', disabled: false}, Validators.required],
109
+ department: [{value: this.department || '', disabled: false}],
110
+ middleName: [{value: this.middleName || '', disabled: false}],
111
+ title: [{value: this.title || '', disabled: false}],
112
+ telephoneNumber: [{value: this.telephoneNumber || '', disabled: false}],
113
+ homeNumber: [{value: this.homeNumber || '', disabled: false}],
114
+ mobileNumber: [{value: this.mobileNumber || '', disabled: false}],
115
+ pagerNumber: [{value: this.pagerNumber || '', disabled: false}],
116
+ displayName: [{value: this.displayName || '', disabled: false}],
117
+ manager: [{value: this.manager || '', disabled: false}],
118
+ associatedPc: [this.associatedPc || ''],
119
+ directoryUri: [this.directoryUri || ''],
120
+ userProfile: [this.userProfile],
121
+ enableMobileVoiceAccess: [this.enableMobileVoiceAccess],
122
+ userLocale: [this.userLocale || ''],
123
+ digestCredentials: [''],
124
+ confirmDigestCredentials: ['']
125
+ };
126
+ this.form = formBuilder.group(formSettings);
127
+ }
128
+
129
+ toggleEditMode() {
130
+ this.editMode = !this.editMode;
131
+ ['userid', 'email', 'firstName', 'lastName'].forEach(token => {
132
+ if (this.editMode) {
133
+ this.form.get(token)?.enable();
134
+ } else {
135
+ this.form.get(token)?.disable();
136
+ }
137
+ })
138
+ }
139
+
140
+ getSavableData() {
141
+ const excludedFields: string[] = ['form', 'editMode', 'viewMode', 'token', 'hasModifiedCache', 'confirmDigestCredentials'];
142
+ return getSavableData(this, excludedFields);
143
+ }
144
+
145
+ getFullData() {
146
+ const excludedFields: string[] = ['form'];
147
+ return getSavableData(this, excludedFields);
148
+ }
149
+ getUserDetailsSavableData() {
150
+ const excludedFields: string[] = ['devices', 'deviceProfiles', 'lines', 'singleNumberReach', 'vmPassword', 'vmUnifiedMessagingAccount', 'alternateExtensions', 'callerInput', 'lineAppearances', 'meetMes', 'webAppPasswordSettings', 'form'];
151
+ return getSavableData(this, excludedFields);
152
+ }
153
+
154
+ equal(userToCompare?: SimplifiedUser): boolean {
155
+ if (!userToCompare) {
156
+ return false;
157
+ }
158
+ return JSON.stringify(this.getSavableData()) === JSON.stringify(userToCompare.getSavableData());
159
+ }
160
+
161
+ }
162
+
163
+ export interface SimplifiedUserInterface {
164
+ userid: string;
165
+ email: string;
166
+ firstName: string;
167
+ lastName: string;
168
+ form?: FormGroup;
169
+ }
@@ -0,0 +1,167 @@
1
+
2
+ export class SiteDefaults implements SiteTemplateInterface {
3
+ id!: number;
4
+ routePartitionFilter!: string[];
5
+ devicePoolFilter: string[];
6
+ cssFilter!: string[];
7
+ voicemailProfileFilter: string[];
8
+ lineCss!: string;
9
+ deviceCss!: string;
10
+ callForwardAllCss!: string;
11
+ location!: string;
12
+ voicemailUserTemplate!: string;
13
+ routePartition!: string;
14
+ devicePool!: string;
15
+ voicemailProfile!: string;
16
+ externalCallerId!: string;
17
+ huntPilotPartition!: string;
18
+ callPickupGroupPartition!: string;
19
+ meetMeConferencePartition!: string;
20
+ callParkPartition!: string;
21
+ userLocale!: string;
22
+ networkLocale!: string;
23
+ cucmGroup!: string;
24
+ softkeyTemplates!: string;
25
+ phoneButtonTemplate!: string;
26
+ phoneSecurityProfile!: string;
27
+ sipProfile!: string;
28
+ rdpCss!: string;
29
+ rdpRerouteCss!: string;
30
+ commonPhoneProfile!: string;
31
+ subscribeCss!: string;
32
+ enableEm!: boolean;
33
+ forwardHuntBusyCSS!: string;
34
+ forwardHuntNoAnswerCSS!: string;
35
+ forwardBusyInternalCss!: string;
36
+ forwardBusyExternalCss!: string;
37
+ forwardNoAnswerInternalCss!: string;
38
+ forwardNoAnswerExternalCss!: string;
39
+ forwardNoCoverageInternalCss!: string;
40
+ forwardNoCoverageExternalCss!: string;
41
+ forwardOnCtiFailureCss!: string;
42
+ forwardUnregisteredInternalCss!: string;
43
+ forwardUnregisteredExternalCss!: string;
44
+ rdpExternalCallerId!: string;
45
+ noAnswerRingDuration!: string;
46
+ ucServiceProfile!: string;
47
+ phoneSystem!: string;
48
+ maxNumberOfCalls!: string;
49
+ busyTrigger!: string;
50
+ didPartition!: string;
51
+ didCss!: string;
52
+ vossCompatibilitySiteCode!: string;
53
+ vossCompatibilityRidCode!: string;
54
+ dialPlanType!: string;
55
+ emService!: string;
56
+ cucPartition!: string;
57
+ alertingName?: string;
58
+ displayCallerId?: string;
59
+ textLabel?: string;
60
+ internalTranslationPartition?: string;
61
+ internalTranslationCss?: string;
62
+ plarCss?: string;
63
+ lineDescription?: string;
64
+ deviceDescription?: string;
65
+ sharedSitesCssFilter!: string[];
66
+ sharedSitesRPFilter!: string[];
67
+ udpDeviceType!: string;
68
+ udpDeviceProtocol!: string;
69
+ udpButtonTemplate!: string;
70
+ userUserLocale!: string;
71
+ userAccessControlGroups?: string;
72
+
73
+ constructor(siteDefaults?: SiteTemplateInterface, isSharedLineSite?: boolean) {
74
+ this.routePartitionFilter = [];
75
+ this.devicePoolFilter = [];
76
+ this.cssFilter = [];
77
+ this.voicemailProfileFilter = [];
78
+
79
+ if (siteDefaults) {
80
+ Object.assign(this, siteDefaults);
81
+ this.enableEm = siteDefaults.enableEm === 'true';
82
+ this.routePartitionFilter?.sort();
83
+ this.devicePoolFilter?.sort();
84
+ this.cssFilter?.sort();
85
+ this.voicemailProfileFilter?.sort();
86
+ }
87
+ /*if (isSharedLineSite && siteDefaults) {
88
+ this.cssFilter = siteDefaults?.sharedSitesCssFilter;
89
+ this.routePartitionFilter = siteDefaults?.sharedSitesRPFilter;
90
+ }*/
91
+ }
92
+ }
93
+
94
+ export interface SiteTemplateInterface {
95
+ id: number;
96
+ routePartitionFilter: string | string[];
97
+ devicePoolFilter: string | string[];
98
+ cssFilter: string | string[];
99
+ voicemailProfileFilter: string | string[];
100
+ lineCss: string;
101
+ deviceCss: string;
102
+ callForwardAllCss: string;
103
+ location: string;
104
+ voicemailUserTemplate: string;
105
+ routePartition: string;
106
+ devicePool: string;
107
+ voicemailProfile: string;
108
+ externalCallerId: string;
109
+ huntPilotPartition: string;
110
+ callPickupGroupPartition: string;
111
+ meetMeConferencePartition: string;
112
+ callParkPartition: string;
113
+ userLocale: string;
114
+ networkLocale: string;
115
+ cucmGroup: string;
116
+ softkeyTemplates: string;
117
+ phoneButtonTemplate: string;
118
+ phoneSecurityProfile: string;
119
+ sipProfile: string;
120
+ rdpCss: string;
121
+ rdpRerouteCss: string;
122
+ commonPhoneProfile: string;
123
+ subscribeCss: string;
124
+ enableEm: boolean | string;
125
+ forwardHuntBusyCSS: string;
126
+ forwardHuntNoAnswerCSS: string;
127
+ forwardBusyInternalCss: string;
128
+ forwardBusyExternalCss: string;
129
+ forwardNoAnswerInternalCss: string;
130
+ forwardNoAnswerExternalCss: string;
131
+ forwardNoCoverageInternalCss: string;
132
+ forwardNoCoverageExternalCss: string;
133
+ forwardOnCtiFailureCss: string;
134
+ forwardUnregisteredInternalCss: string;
135
+ forwardUnregisteredExternalCss: string;
136
+ rdpExternalCallerId: string;
137
+ noAnswerRingDuration: string;
138
+ ucServiceProfile: string;
139
+ phoneSystem: string;
140
+ maxNumberOfCalls: string;
141
+ busyTrigger: string;
142
+ didPartition: string;
143
+ didCss: string;
144
+ vossCompatibilitySiteCode: string;
145
+ vossCompatibilityRidCode: string;
146
+ dialPlanType: string;
147
+ emService: string;
148
+ emergencyPartition?: string;
149
+ cucPartition: string;
150
+ alertingName?: string;
151
+ displayCallerId?: string;
152
+ lineTextLabel?: string;
153
+ textLabel?: string;
154
+ internalTranslationPartition?: string;
155
+ internalTranslationCss?: string;
156
+ plarCss?: string;
157
+ lineDescription?: string;
158
+ deviceDescription?: string;
159
+ sharedSitesCssFilter?: string[];
160
+ sharedSitesRPFilter?: string[];
161
+ reroutingCss?: string;
162
+ udpDeviceType: string;
163
+ udpDeviceProtocol: string;
164
+ udpButtonTemplate: string;
165
+ userUserLocale: string;
166
+ userAccessControlGroups?: string;
167
+ }
@@ -0,0 +1,50 @@
1
+ import { FormBuilder, FormGroup } from '@angular/forms';
2
+ import { TranslationPatternInterface } from './line';
3
+ import { SiteShortDataInterface } from './device';
4
+ import { getSavableData } from '../common-functions';
5
+
6
+ export class TranslationPattern implements TranslationPatternInterface {
7
+ pattern!: string;
8
+ calledPartyTransformationMask!: string;
9
+ description!: string;
10
+ site?: SiteShortDataInterface;
11
+ hasMultipleSites!: boolean;
12
+ multipleSitesId!: string;
13
+ cucmId?: number;
14
+
15
+ // non-savable data fields
16
+ form!: FormGroup;
17
+ isNewForExistingLine!: boolean;
18
+
19
+ constructor(translationPattern?: TranslationPatternInterface) {
20
+ Object.assign(this, translationPattern || {});
21
+ this.initForm();
22
+ }
23
+
24
+ public getSavableData() {
25
+ return getSavableData(this, ['form', 'isNewForExistingLine']);
26
+ }
27
+
28
+ initForm() {
29
+ const formBuilder = new FormBuilder();
30
+ const formSettings = {
31
+ pattern: [{value: this.pattern || ''}],
32
+ calledPartyTransformationMask: [{value: this.calledPartyTransformationMask || ''}]
33
+ };
34
+ this.form = formBuilder.group(formSettings);
35
+ }
36
+
37
+ public getSiteId() {
38
+ if (this.site && this.site.id != null) {
39
+ return this.site.id;
40
+ }
41
+ if (this.hasMultipleSiteIds()) {
42
+ return this.multipleSitesId.split(',')[0];
43
+ }
44
+ return null;
45
+ }
46
+
47
+ private hasMultipleSiteIds(): boolean {
48
+ return this.hasMultipleSites && !!this.multipleSitesId && this.multipleSitesId.length > 0;
49
+ }
50
+ }
@@ -0,0 +1,19 @@
1
+ export enum SpeedDialType {
2
+ slotBasic = 'slotBasic',
3
+ abbreviated = 'abbreviated',
4
+ }
5
+ export enum MailboxQuotasType {
6
+ system = 'system',
7
+ custom = 'custom'
8
+ }
9
+ export enum VMNotificationsTypes {
10
+ 'Pager Device' = 'Pager Device',
11
+ 'Phone Device' = 'Phone Device',
12
+ 'SMTP Device' = 'SMTP Device',
13
+ 'HTML Device' = 'HTML Device',
14
+ }
15
+ export enum DeviceTypes {
16
+ CTI_ROUTE_POINT = 'CTI Route Point',
17
+ CTI_PORT = 'CTI Port',
18
+ CTI_REMOTE = 'CTI Remote Device'
19
+ }