@tuki-io/tuki-widgets 0.0.65 → 0.0.67

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 (233) hide show
  1. package/.editorconfig +16 -16
  2. package/.vscode/extensions.json +4 -4
  3. package/.vscode/launch.json +20 -20
  4. package/.vscode/tasks.json +42 -42
  5. package/README.md +25 -25
  6. package/package.json +1 -1
  7. package/projects/tuki/widgets/README.md +24 -24
  8. package/projects/tuki/widgets/di2mt/public-api.ts +3 -3
  9. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.module.ts +1 -1
  10. package/projects/tuki/widgets/karma.conf.js +44 -44
  11. package/projects/tuki/widgets/ng-package.json +10 -7
  12. package/projects/tuki/widgets/package.json +1 -1
  13. package/projects/tuki/widgets/src/lib/widgets.component.spec.ts +23 -23
  14. package/projects/tuki/widgets/src/lib/widgets.component.ts +20 -20
  15. package/projects/tuki/widgets/src/lib/widgets.module.ts +16 -16
  16. package/projects/tuki/widgets/src/lib/widgets.service.spec.ts +16 -16
  17. package/projects/tuki/widgets/src/lib/widgets.service.ts +9 -9
  18. package/projects/tuki/widgets/src/public-api.ts +7 -7
  19. package/projects/tuki/widgets/src/test.ts +27 -27
  20. package/projects/tuki/widgets/styles.scss +572 -572
  21. package/projects/tuki/widgets/tsconfig.lib.json +36 -36
  22. package/projects/tuki/widgets/tsconfig.lib.prod.json +10 -10
  23. package/projects/tuki/widgets/tsconfig.spec.json +17 -17
  24. package/projects/tuki/widgets/user-device-manage/ng-package.json +7 -7
  25. package/projects/tuki/widgets/user-device-manage/public-api.ts +8 -8
  26. package/projects/tuki/widgets/user-device-manage/src/app.constants.ts +96 -96
  27. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-left.svg +5 -5
  28. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right.svg +5 -5
  29. package/projects/tuki/widgets/user-device-manage/src/assets/icons/close_icon_x.svg +3 -3
  30. package/projects/tuki/widgets/user-device-manage/src/assets/icons/delete_icon.svg +5 -5
  31. package/projects/tuki/widgets/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +3 -3
  32. package/projects/tuki/widgets/user-device-manage/src/assets/icons/vartical_divider_icon.svg +3 -3
  33. package/projects/tuki/widgets/user-device-manage/src/classes/device.ts +292 -292
  34. package/projects/tuki/widgets/user-device-manage/src/classes/line-association-interface.ts +50 -50
  35. package/projects/tuki/widgets/user-device-manage/src/classes/line-association.ts +177 -177
  36. package/projects/tuki/widgets/user-device-manage/src/classes/line-call-info-display.ts +21 -21
  37. package/projects/tuki/widgets/user-device-manage/src/classes/line-directory.ts +41 -41
  38. package/projects/tuki/widgets/user-device-manage/src/classes/line.ts +144 -144
  39. package/projects/tuki/widgets/user-device-manage/src/classes/notification.ts +40 -40
  40. package/projects/tuki/widgets/user-device-manage/src/classes/recording-options.ts +6 -6
  41. package/projects/tuki/widgets/user-device-manage/src/classes/simplified-user.ts +169 -169
  42. package/projects/tuki/widgets/user-device-manage/src/classes/site-defaults.ts +167 -167
  43. package/projects/tuki/widgets/user-device-manage/src/classes/translation-pattern.ts +50 -50
  44. package/projects/tuki/widgets/user-device-manage/src/classes/types.ts +19 -19
  45. package/projects/tuki/widgets/user-device-manage/src/classes/user-interface.ts +225 -225
  46. package/projects/tuki/widgets/user-device-manage/src/classes/user.ts +8 -8
  47. package/projects/tuki/widgets/user-device-manage/src/common-functions.ts +16 -16
  48. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.html +14 -14
  49. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.scss +80 -80
  50. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.ts +35 -35
  51. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +21 -21
  52. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.scss +97 -97
  53. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +28 -28
  54. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.html +5 -5
  55. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.scss +19 -19
  56. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.ts +13 -13
  57. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +6 -6
  58. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +4 -4
  59. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +63 -63
  60. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.html +241 -241
  61. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.scss +500 -500
  62. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.ts +194 -194
  63. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.html +27 -27
  64. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.scss +131 -131
  65. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.ts +25 -25
  66. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.html +209 -209
  67. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.scss +502 -502
  68. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.ts +354 -354
  69. package/projects/tuki/widgets/user-device-manage/src/environments/environment.prod.ts +9 -9
  70. package/projects/tuki/widgets/user-device-manage/src/environments/environment.ts +10 -10
  71. package/projects/tuki/widgets/user-device-manage/src/interseptors/auth.interceptor.ts +35 -35
  72. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -50
  73. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -8
  74. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -81
  75. package/projects/tuki/widgets/user-device-manage/src/material.module.ts +87 -87
  76. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.html +33 -33
  77. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.scss +84 -84
  78. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.ts +46 -46
  79. package/projects/tuki/widgets/user-device-manage/src/removeKynFromIBM.service.ts +25 -25
  80. package/projects/tuki/widgets/user-device-manage/src/services/api.service.ts +87 -87
  81. package/projects/tuki/widgets/user-device-manage/src/services/common-functions.ts +17 -17
  82. package/projects/tuki/widgets/user-device-manage/src/services/device.service.ts +95 -95
  83. package/projects/tuki/widgets/user-device-manage/src/services/dns.service.ts +111 -111
  84. package/projects/tuki/widgets/user-device-manage/src/services/line.service.ts +89 -89
  85. package/projects/tuki/widgets/user-device-manage/src/services/notification.service.ts +68 -68
  86. package/projects/tuki/widgets/user-device-manage/src/services/removeKynFromIBM.service.ts +25 -25
  87. package/projects/tuki/widgets/user-device-manage/src/services/site-settings.service.ts +82 -82
  88. package/projects/tuki/widgets/user-device-manage/src/services/sorting-utils.service.ts +203 -203
  89. package/projects/tuki/widgets/user-device-manage/src/services/user.service.ts +283 -283
  90. package/projects/tuki/widgets/user-device-manage/src/services/utils.service.ts +87 -87
  91. package/projects/tuki/widgets/user-device-manage/src/services/validation.service.ts +829 -829
  92. package/projects/tuki/widgets/user-device-manage/src/styles/_variables.scss +90 -90
  93. package/projects/tuki/widgets/user-device-manage/src/styles/form.scss +231 -231
  94. package/projects/tuki/widgets/user-device-manage/src/styles/icons.scss +32 -32
  95. package/projects/tuki/widgets/user-device-manage/src/styles/styles.scss +110 -110
  96. package/projects/tuki/widgets/user-device-manage/src/styles/tables.scss +30 -30
  97. package/projects/tuki/widgets/user-device-manage/src/user-device-manage.module.ts +73 -73
  98. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.html +6 -6
  99. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.scss +11 -11
  100. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.ts +13 -13
  101. package/projects/tuki/widgets/user-manage/ng-package.json +7 -7
  102. package/projects/tuki/widgets/user-manage/public-api.ts +6 -6
  103. package/projects/tuki/widgets/user-manage/src/app.constants.ts +50 -50
  104. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-left.svg +5 -5
  105. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right.svg +5 -5
  106. package/projects/tuki/widgets/user-manage/src/assets/icons/delete_icon.svg +5 -5
  107. package/projects/tuki/widgets/user-manage/src/assets/icons/dragger-vertical-icon.svg +3 -3
  108. package/projects/tuki/widgets/user-manage/src/assets/icons/vartical_divider_icon.svg +3 -3
  109. package/projects/tuki/widgets/user-manage/src/classes/device.ts +232 -232
  110. package/projects/tuki/widgets/user-manage/src/classes/line-association-interface.ts +43 -43
  111. package/projects/tuki/widgets/user-manage/src/classes/line-association.ts +161 -161
  112. package/projects/tuki/widgets/user-manage/src/classes/line-call-info-display.ts +21 -21
  113. package/projects/tuki/widgets/user-manage/src/classes/line-directory.ts +42 -42
  114. package/projects/tuki/widgets/user-manage/src/classes/line.ts +144 -144
  115. package/projects/tuki/widgets/user-manage/src/classes/notification.ts +39 -39
  116. package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +18 -18
  117. package/projects/tuki/widgets/user-manage/src/classes/recording-options.ts +6 -6
  118. package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +165 -165
  119. package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +6 -6
  120. package/projects/tuki/widgets/user-manage/src/classes/translation-pattern.ts +49 -49
  121. package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +225 -225
  122. package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +42 -42
  123. package/projects/tuki/widgets/user-manage/src/classes/user.ts +8 -8
  124. package/projects/tuki/widgets/user-manage/src/common-functions.ts +16 -16
  125. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.html +27 -27
  126. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.scss +131 -131
  127. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.ts +25 -25
  128. package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +9 -9
  129. package/projects/tuki/widgets/user-manage/src/environments/environment.ts +10 -10
  130. package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +35 -35
  131. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -50
  132. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -8
  133. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -81
  134. package/projects/tuki/widgets/user-manage/src/material.module.ts +85 -85
  135. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +33 -33
  136. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +84 -84
  137. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +46 -46
  138. package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +25 -25
  139. package/projects/tuki/widgets/user-manage/src/services/api.service.ts +90 -90
  140. package/projects/tuki/widgets/user-manage/src/services/dns.service.ts +116 -116
  141. package/projects/tuki/widgets/user-manage/src/services/line.service.ts +31 -31
  142. package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +68 -68
  143. package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +25 -25
  144. package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +35 -35
  145. package/projects/tuki/widgets/user-manage/src/services/sorting-utils.service.ts +203 -203
  146. package/projects/tuki/widgets/user-manage/src/services/user.service.ts +242 -242
  147. package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +59 -59
  148. package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +71 -71
  149. package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +90 -90
  150. package/projects/tuki/widgets/user-manage/src/styles/form.scss +231 -231
  151. package/projects/tuki/widgets/user-manage/src/styles/icons.scss +32 -32
  152. package/projects/tuki/widgets/user-manage/src/styles/styles.scss +110 -110
  153. package/projects/tuki/widgets/user-manage/src/styles/tables.scss +30 -30
  154. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +10 -10
  155. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +429 -429
  156. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +63 -63
  157. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.html +32 -32
  158. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.scss +444 -444
  159. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.ts +89 -89
  160. package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +68 -68
  161. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +29 -29
  162. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +64 -64
  163. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +19 -19
  164. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +290 -290
  165. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +463 -463
  166. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +212 -212
  167. package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +63 -63
  168. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +6 -6
  169. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +11 -11
  170. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +13 -13
  171. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +26 -26
  172. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +41 -41
  173. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +41 -41
  174. package/projects/tuki/widgets/users-list/ng-package.json +6 -6
  175. package/projects/tuki/widgets/users-list/public-api.ts +8 -8
  176. package/projects/tuki/widgets/users-list/src/app.constants.ts +54 -54
  177. package/projects/tuki/widgets/users-list/src/assets/icons/close_icon_modal.svg +3 -3
  178. package/projects/tuki/widgets/users-list/src/assets/icons/move_user_to_another_location.svg +14 -14
  179. package/projects/tuki/widgets/users-list/src/assets/icons/white-close-icon.svg +3 -3
  180. package/projects/tuki/widgets/users-list/src/classes/app-location.ts +36 -36
  181. package/projects/tuki/widgets/users-list/src/classes/device.ts +225 -225
  182. package/projects/tuki/widgets/users-list/src/classes/line.ts +144 -144
  183. package/projects/tuki/widgets/users-list/src/classes/move-user.ts +225 -225
  184. package/projects/tuki/widgets/users-list/src/classes/notification.ts +38 -38
  185. package/projects/tuki/widgets/users-list/src/classes/pagination.ts +18 -18
  186. package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +74 -74
  187. package/projects/tuki/widgets/users-list/src/classes/table-data.ts +6 -6
  188. package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +225 -225
  189. package/projects/tuki/widgets/users-list/src/classes/user-list.ts +47 -47
  190. package/projects/tuki/widgets/users-list/src/classes/user.ts +8 -8
  191. package/projects/tuki/widgets/users-list/src/material.module.ts +94 -94
  192. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.html +37 -37
  193. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.scss +129 -129
  194. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.ts +46 -46
  195. 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 -31
  196. 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 -20
  197. 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 -26
  198. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +222 -222
  199. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.scss +239 -239
  200. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +206 -206
  201. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.html +12 -12
  202. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.scss +41 -41
  203. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.ts +36 -36
  204. package/projects/tuki/widgets/users-list/src/services/api-webex.service.ts +14 -14
  205. package/projects/tuki/widgets/users-list/src/services/api.service.ts +90 -90
  206. package/projects/tuki/widgets/users-list/src/services/dns.service.ts +128 -128
  207. package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +11 -11
  208. package/projects/tuki/widgets/users-list/src/services/move-user.service.ts +59 -59
  209. package/projects/tuki/widgets/users-list/src/services/notification.service.ts +68 -68
  210. package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +25 -25
  211. package/projects/tuki/widgets/users-list/src/services/site-settings.service.ts +26 -26
  212. package/projects/tuki/widgets/users-list/src/services/user.service.ts +159 -159
  213. package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +137 -137
  214. package/projects/tuki/widgets/users-list/src/styles/styles.scss +572 -572
  215. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +15 -15
  216. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +103 -103
  217. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +35 -35
  218. package/projects/tuki/widgets/users-list/src/users-list.component.html +86 -86
  219. package/projects/tuki/widgets/users-list/src/users-list.component.scss +572 -572
  220. package/projects/tuki/widgets/users-list/src/users-list.component.ts +312 -312
  221. package/projects/tuki/widgets/users-list/src/users-list.module.ts +63 -63
  222. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +6 -6
  223. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +11 -11
  224. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +13 -13
  225. package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +32 -32
  226. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +33 -33
  227. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +84 -84
  228. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +46 -46
  229. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +26 -26
  230. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +41 -41
  231. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +41 -41
  232. package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +71 -71
  233. package/tsconfig.json +46 -46
@@ -1,165 +1,165 @@
1
- import { FormBuilder, FormGroup, Validators } from '@angular/forms';
2
- import { getSavableData } from '../common-functions';
3
- import { REGEX_PATTERN } from '../app.constants';
4
- import { Device } from './device';
5
- import { LineAssociation } from './line-association';
6
- import { LineAssociationInterface } from './line-association-interface';
7
-
8
- export class SimplifiedUser {
9
- userid!: string;
10
- email!: string;
11
- firstName!: string;
12
- lastName!: string;
13
- siteId!: number;
14
- siteName!: number;
15
- token!: string;
16
- // general user info
17
- department!: string;
18
- manager!: string;
19
- associatedPc!: string;
20
- digestCredentials!: string;
21
- userProfile!: string;
22
- enableMobileVoiceAccess!: boolean;
23
- userLocale!: string;
24
- confirmDigestCredentials: any;
25
-
26
- // contact information
27
- middleName!: string;
28
- telephoneNumber!: string;
29
- mobileNumber!: string;
30
- directoryUri!: string;
31
- title!: string;
32
- homeNumber!: string;
33
- pagerNumber!: string;
34
- displayName!: string;
35
-
36
- devices!: Device[];
37
-
38
- viewMode!: string;
39
- hasModifiedCache!: boolean;
40
- newUserId!: string;
41
- editMode!: boolean;
42
- ldapIntegrated!: boolean;
43
- form!: FormGroup;
44
-
45
- constructor(user?: any, isLdap?: boolean) {
46
- // isLdap TEMP because of token response issue
47
- if (user) {
48
- this.userid = user.userid;
49
- this.email = user.email;
50
- this.firstName = user.firstName;
51
- this.lastName = user.lastName;
52
- this.siteId = user.siteId;
53
- this.siteName = user.siteName;
54
- this.token = user.token;
55
-
56
- this.department = user.department;
57
- this.manager = user.manager;
58
- this.associatedPc = user.associatedPc;
59
- this.digestCredentials = user.digestCredentials;
60
- this.userProfile = user.userProfile;
61
- this.enableMobileVoiceAccess = user.enableMobileVoiceAccess;
62
- this.ldapIntegrated = user.ldapIntegrated || isLdap || false;
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 && user.devices.length) {
76
- this.devices = user.devices.map((device: any) => new Device(device));
77
- if (user.lines && user.lines.length) {
78
- this.devices.forEach(device => {
79
- if (device && device.lineAssociations && 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
- this.initForm()
91
- }
92
-
93
- getLineVal(lineAssociation: LineAssociation | LineAssociationInterface, lines: any, token: string): any {
94
- const lineForVal = lines.find((line: any) => line.directoryNumber.directoryNumber === lineAssociation.directoryNumber.directoryNumber);
95
- return lineForVal && lineForVal[token] || '';
96
- }
97
-
98
- getUserDetailsSavableData() {
99
- const excludedFields: string[] = ['devices', 'deviceProfiles', 'lines', 'singleNumberReach', 'vmPassword', 'vmUnifiedMessagingAccount', 'alternateExtensions', 'callerInput', 'lineAppearances', 'meetMes', 'webAppPasswordSettings', 'form'];
100
- return getSavableData(this, excludedFields);
101
- }
102
-
103
- initForm() {
104
- const formBuilder = new FormBuilder();
105
- const formSettings = {
106
- userid: [{value: this.userid || '', disabled: this.ldapIntegrated}, [Validators.required, Validators.maxLength(128)]],
107
- email: [{value: this.email || '', disabled: this.ldapIntegrated}, [
108
- Validators.pattern(REGEX_PATTERN.EMAIL),
109
- Validators.required
110
- ]],
111
- firstName: [{value: this.firstName || '', disabled: this.ldapIntegrated}],
112
- lastName: [{value: this.lastName || '', disabled: this.ldapIntegrated}, Validators.required],
113
- department: [{value: this.department || '', disabled: false}],
114
- middleName: [{value: this.middleName || '', disabled: false}],
115
- title: [{value: this.title || '', disabled: false}],
116
- telephoneNumber: [{value: this.telephoneNumber || '', disabled: false}],
117
- homeNumber: [{value: this.homeNumber || '', disabled: false}],
118
- mobileNumber: [{value: this.mobileNumber || '', disabled: false}],
119
- pagerNumber: [{value: this.pagerNumber || '', disabled: false}],
120
- displayName: [{value: this.displayName || '', disabled: false}],
121
- manager: [{value: this.manager || '', disabled: false}],
122
- associatedPc: [this.associatedPc || ''],
123
- directoryUri: [this.directoryUri || ''],
124
- userProfile: [this.userProfile],
125
- enableMobileVoiceAccess: [this.enableMobileVoiceAccess],
126
- ldapIntegrated: [this.ldapIntegrated],
127
- userLocale: [this.userLocale || ''],
128
- digestCredentials: [''],
129
- confirmDigestCredentials: ['']
130
- };
131
- this.form = formBuilder.group(formSettings);
132
- }
133
-
134
- toggleEditMode() {
135
- this.editMode = !this.editMode;
136
- /*['userid', 'email', 'firstName', 'lastName'].forEach(token => {
137
- if (this.editMode) {
138
- this.form.get(token)?.enable();
139
- } else {
140
- this.form.get(token)?.disable();
141
- }
142
- })*/
143
- }
144
-
145
- getSavableData() {
146
- const excludedFields: string[] = ['form', 'editMode', 'viewMode', 'token', 'hasModifiedCache', 'confirmDigestCredentials'];
147
- return getSavableData(this, excludedFields);
148
- }
149
-
150
- equal(userToCompare?: SimplifiedUser): boolean {
151
- if (!userToCompare) {
152
- return false;
153
- }
154
- return JSON.stringify(this.getSavableData()) === JSON.stringify(userToCompare.getSavableData());
155
- }
156
-
157
- }
158
-
159
- export interface SimplifiedUserInterface {
160
- userid: string;
161
- email: string;
162
- firstName: string;
163
- lastName: string;
164
- form: FormGroup;
165
- }
1
+ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
2
+ import { getSavableData } from '../common-functions';
3
+ import { REGEX_PATTERN } from '../app.constants';
4
+ import { Device } from './device';
5
+ import { LineAssociation } from './line-association';
6
+ import { LineAssociationInterface } from './line-association-interface';
7
+
8
+ export class SimplifiedUser {
9
+ userid!: string;
10
+ email!: string;
11
+ firstName!: string;
12
+ lastName!: string;
13
+ siteId!: number;
14
+ siteName!: number;
15
+ token!: string;
16
+ // general user info
17
+ department!: string;
18
+ manager!: string;
19
+ associatedPc!: string;
20
+ digestCredentials!: string;
21
+ userProfile!: string;
22
+ enableMobileVoiceAccess!: boolean;
23
+ userLocale!: string;
24
+ confirmDigestCredentials: any;
25
+
26
+ // contact information
27
+ middleName!: string;
28
+ telephoneNumber!: string;
29
+ mobileNumber!: string;
30
+ directoryUri!: string;
31
+ title!: string;
32
+ homeNumber!: string;
33
+ pagerNumber!: string;
34
+ displayName!: string;
35
+
36
+ devices!: Device[];
37
+
38
+ viewMode!: string;
39
+ hasModifiedCache!: boolean;
40
+ newUserId!: string;
41
+ editMode!: boolean;
42
+ ldapIntegrated!: boolean;
43
+ form!: FormGroup;
44
+
45
+ constructor(user?: any, isLdap?: boolean) {
46
+ // isLdap TEMP because of token response issue
47
+ if (user) {
48
+ this.userid = user.userid;
49
+ this.email = user.email;
50
+ this.firstName = user.firstName;
51
+ this.lastName = user.lastName;
52
+ this.siteId = user.siteId;
53
+ this.siteName = user.siteName;
54
+ this.token = user.token;
55
+
56
+ this.department = user.department;
57
+ this.manager = user.manager;
58
+ this.associatedPc = user.associatedPc;
59
+ this.digestCredentials = user.digestCredentials;
60
+ this.userProfile = user.userProfile;
61
+ this.enableMobileVoiceAccess = user.enableMobileVoiceAccess;
62
+ this.ldapIntegrated = user.ldapIntegrated || isLdap || false;
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 && user.devices.length) {
76
+ this.devices = user.devices.map((device: any) => new Device(device));
77
+ if (user.lines && user.lines.length) {
78
+ this.devices.forEach(device => {
79
+ if (device && device.lineAssociations && 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
+ this.initForm()
91
+ }
92
+
93
+ getLineVal(lineAssociation: LineAssociation | LineAssociationInterface, lines: any, token: string): any {
94
+ const lineForVal = lines.find((line: any) => line.directoryNumber.directoryNumber === lineAssociation.directoryNumber.directoryNumber);
95
+ return lineForVal && lineForVal[token] || '';
96
+ }
97
+
98
+ getUserDetailsSavableData() {
99
+ const excludedFields: string[] = ['devices', 'deviceProfiles', 'lines', 'singleNumberReach', 'vmPassword', 'vmUnifiedMessagingAccount', 'alternateExtensions', 'callerInput', 'lineAppearances', 'meetMes', 'webAppPasswordSettings', 'form'];
100
+ return getSavableData(this, excludedFields);
101
+ }
102
+
103
+ initForm() {
104
+ const formBuilder = new FormBuilder();
105
+ const formSettings = {
106
+ userid: [{value: this.userid || '', disabled: this.ldapIntegrated}, [Validators.required, Validators.maxLength(128)]],
107
+ email: [{value: this.email || '', disabled: this.ldapIntegrated}, [
108
+ Validators.pattern(REGEX_PATTERN.EMAIL),
109
+ Validators.required
110
+ ]],
111
+ firstName: [{value: this.firstName || '', disabled: this.ldapIntegrated}],
112
+ lastName: [{value: this.lastName || '', disabled: this.ldapIntegrated}, Validators.required],
113
+ department: [{value: this.department || '', disabled: false}],
114
+ middleName: [{value: this.middleName || '', disabled: false}],
115
+ title: [{value: this.title || '', disabled: false}],
116
+ telephoneNumber: [{value: this.telephoneNumber || '', disabled: false}],
117
+ homeNumber: [{value: this.homeNumber || '', disabled: false}],
118
+ mobileNumber: [{value: this.mobileNumber || '', disabled: false}],
119
+ pagerNumber: [{value: this.pagerNumber || '', disabled: false}],
120
+ displayName: [{value: this.displayName || '', disabled: false}],
121
+ manager: [{value: this.manager || '', disabled: false}],
122
+ associatedPc: [this.associatedPc || ''],
123
+ directoryUri: [this.directoryUri || ''],
124
+ userProfile: [this.userProfile],
125
+ enableMobileVoiceAccess: [this.enableMobileVoiceAccess],
126
+ ldapIntegrated: [this.ldapIntegrated],
127
+ userLocale: [this.userLocale || ''],
128
+ digestCredentials: [''],
129
+ confirmDigestCredentials: ['']
130
+ };
131
+ this.form = formBuilder.group(formSettings);
132
+ }
133
+
134
+ toggleEditMode() {
135
+ this.editMode = !this.editMode;
136
+ /*['userid', 'email', 'firstName', 'lastName'].forEach(token => {
137
+ if (this.editMode) {
138
+ this.form.get(token)?.enable();
139
+ } else {
140
+ this.form.get(token)?.disable();
141
+ }
142
+ })*/
143
+ }
144
+
145
+ getSavableData() {
146
+ const excludedFields: string[] = ['form', 'editMode', 'viewMode', 'token', 'hasModifiedCache', 'confirmDigestCredentials'];
147
+ return getSavableData(this, excludedFields);
148
+ }
149
+
150
+ equal(userToCompare?: SimplifiedUser): boolean {
151
+ if (!userToCompare) {
152
+ return false;
153
+ }
154
+ return JSON.stringify(this.getSavableData()) === JSON.stringify(userToCompare.getSavableData());
155
+ }
156
+
157
+ }
158
+
159
+ export interface SimplifiedUserInterface {
160
+ userid: string;
161
+ email: string;
162
+ firstName: string;
163
+ lastName: string;
164
+ form: FormGroup;
165
+ }
@@ -1,6 +1,6 @@
1
-
2
- export interface TableDataInterface {
3
- total: number;
4
- pageData: Array<any>;
5
- systemSettings?: any;
6
- }
1
+
2
+ export interface TableDataInterface {
3
+ total: number;
4
+ pageData: Array<any>;
5
+ systemSettings?: any;
6
+ }
@@ -1,49 +1,49 @@
1
- import {FormBuilder, FormGroup} from '@angular/forms';
2
- import { TranslationPatternInterface } from './line';
3
- import { getSavableData } from '../common-functions';
4
-
5
- export class TranslationPattern implements TranslationPatternInterface {
6
- pattern!: string;
7
- calledPartyTransformationMask!: string;
8
- description!: string;
9
- site!: any;
10
- hasMultipleSites!: boolean;
11
- multipleSitesId!: string;
12
- cucmId!: number;
13
-
14
- // non-savable data fields
15
- form!: FormGroup;
16
- isNewForExistingLine!: boolean;
17
-
18
- constructor(translationPattern?: TranslationPatternInterface) {
19
- Object.assign(this, translationPattern || {});
20
- this.initForm();
21
- }
22
-
23
- public getSavableData() {
24
- return getSavableData(this, ['form', 'isNewForExistingLine']);
25
- }
26
-
27
- initForm() {
28
- const formBuilder = new FormBuilder();
29
- const formSettings = {
30
- pattern: [{value: this.pattern || ''}],
31
- calledPartyTransformationMask: [{value: this.calledPartyTransformationMask || ''}]
32
- };
33
- this.form = formBuilder.group(formSettings);
34
- }
35
-
36
- public getSiteId() {
37
- if (this.site && this.site.id != null) {
38
- return this.site.id;
39
- }
40
- if (this.hasMultipleSiteIds()) {
41
- return this.multipleSitesId.split(',')[0];
42
- }
43
- return null;
44
- }
45
-
46
- private hasMultipleSiteIds(): boolean {
47
- return this.hasMultipleSites && !!this.multipleSitesId && this.multipleSitesId.length > 0;
48
- }
49
- }
1
+ import {FormBuilder, FormGroup} from '@angular/forms';
2
+ import { TranslationPatternInterface } from './line';
3
+ import { getSavableData } from '../common-functions';
4
+
5
+ export class TranslationPattern implements TranslationPatternInterface {
6
+ pattern!: string;
7
+ calledPartyTransformationMask!: string;
8
+ description!: string;
9
+ site!: any;
10
+ hasMultipleSites!: boolean;
11
+ multipleSitesId!: string;
12
+ cucmId!: number;
13
+
14
+ // non-savable data fields
15
+ form!: FormGroup;
16
+ isNewForExistingLine!: boolean;
17
+
18
+ constructor(translationPattern?: TranslationPatternInterface) {
19
+ Object.assign(this, translationPattern || {});
20
+ this.initForm();
21
+ }
22
+
23
+ public getSavableData() {
24
+ return getSavableData(this, ['form', 'isNewForExistingLine']);
25
+ }
26
+
27
+ initForm() {
28
+ const formBuilder = new FormBuilder();
29
+ const formSettings = {
30
+ pattern: [{value: this.pattern || ''}],
31
+ calledPartyTransformationMask: [{value: this.calledPartyTransformationMask || ''}]
32
+ };
33
+ this.form = formBuilder.group(formSettings);
34
+ }
35
+
36
+ public getSiteId() {
37
+ if (this.site && this.site.id != null) {
38
+ return this.site.id;
39
+ }
40
+ if (this.hasMultipleSiteIds()) {
41
+ return this.multipleSitesId.split(',')[0];
42
+ }
43
+ return null;
44
+ }
45
+
46
+ private hasMultipleSiteIds(): boolean {
47
+ return this.hasMultipleSites && !!this.multipleSitesId && this.multipleSitesId.length > 0;
48
+ }
49
+ }