@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,283 @@
1
+ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { UserService } from './services/user.service';
4
+ import { APIService } from "./services/api.service";
5
+ import { NotificationService } from './services/notification.service';
6
+ import { Subscription } from 'rxjs';
7
+ import { UsersSearchService } from './services/users-search.service';
8
+ import { ListUser } from './classes/user-list';
9
+ import { MatTableDataSource } from '@angular/material/table';
10
+ import { PageEvent } from '@angular/material/paginator';
11
+ import { ApiWebexService } from './services/api-webex.service';
12
+ import { MAX_INTEGER } from './app.constants';
13
+ import { MatDialog } from '@angular/material/dialog';
14
+ import { UserListConfirmDialogComponent } from './user-list-confirm-dialog/user-list-confirm-dialog.component';
15
+
16
+ const DISPLAYED_COLS = ['user-icon', 'name', 'email', 'status', 'role', 'actions'];
17
+ const LOCAL_STORAGE = {
18
+ USER_IN_MIGRATION: 'userIdInMigration'
19
+ };
20
+
21
+ @Component({
22
+ selector: 'app-users-list',
23
+ templateUrl: './users-list.component.html',
24
+ styleUrls: ['./users-list.component.scss']
25
+ })
26
+ export class UsersListComponent implements OnInit {
27
+ @Input() token!: string;
28
+ @Input() customerId!: number;
29
+ @Input() siteId!: number;
30
+ @Output() openUser = new EventEmitter();
31
+ @Output() userMoved = new EventEmitter();
32
+ @Output() switchToWizard = new EventEmitter();
33
+ @Input() host!: string;
34
+
35
+ dataPending!: boolean;
36
+ moveUserPending!: boolean;
37
+ moveInProgressUserId!: string;
38
+ users!: ListUser[];
39
+ dataSource!: MatTableDataSource<ListUser>;
40
+ displayedColumns = DISPLAYED_COLS;
41
+ moveUser: any;
42
+ moveUserIndex: any;
43
+ showMoveUserWizard = false;
44
+ private searchSubscription!: Subscription;
45
+
46
+ get form(): FormGroup {
47
+ return this.userService?.user?.form;
48
+ }
49
+
50
+ constructor(
51
+ public userService: UserService,
52
+ private apiService: APIService,
53
+ private apiWebexService: ApiWebexService,
54
+ private notifications: NotificationService,
55
+ public usersSearchService: UsersSearchService,
56
+ private dialog: MatDialog
57
+ ) {
58
+ }
59
+
60
+
61
+ ngOnInit(): void {
62
+ this.usersSearchService.setDefaultValues();
63
+ this.usersSearchService.customerId = this.customerId;
64
+ this.usersSearchService.siteId = this.siteId;
65
+ this.apiService.token = this.token;
66
+ this.apiWebexService.token = this.token;
67
+ this.apiService.apiUrl = this.host + '/dcp';
68
+ this.apiWebexService.apiUrl = this.host + '/webex';
69
+
70
+ this.getMigratedUsers();
71
+ this.searchSubscription = this.usersSearchService.foundUsers$
72
+ .subscribe((users: ListUser[]) => {
73
+ this.initializeDataSource(users);
74
+ });
75
+ }
76
+
77
+ pageNumberChangeEvent(perPageNumber: number): void {
78
+ this.usersSearchService.pageSize = perPageNumber;
79
+ this.usersSearchService.pageIndex = 0;
80
+ this.runSearch();
81
+ }
82
+
83
+ closeMoveUserWizard(): void {
84
+ this.moveUser = null;
85
+ this.showMoveUserWizard = false;
86
+ this.switchToWizard.emit(false);
87
+ }
88
+
89
+ pageEvent(event: PageEvent): void {
90
+ this.usersSearchService.pageSize = event.pageSize;
91
+ this.usersSearchService.pageIndex = event.pageIndex;
92
+ this.runSearch();
93
+ }
94
+
95
+ onUserClick(user: ListUser): void {
96
+ this.openUser.emit(user);
97
+ }
98
+
99
+ moveUserToMT(user: ListUser, index: number): void {
100
+
101
+ if (user && user.siteId && user.userid) {
102
+ this.moveUserPending = true;
103
+ this.moveInProgressUserId = user.userid;
104
+ this.setStatusToUser(index, 'In Progress');
105
+ localStorage.setItem(LOCAL_STORAGE.USER_IN_MIGRATION, user.userid);
106
+
107
+ const subscription = this.userService.moveUserToMT(this.customerId, user)
108
+ .subscribe(() => {
109
+ this.moveUser = null;
110
+ this.moveUserIndex = null;
111
+ this.getMigratedUsers();
112
+ }, () => {
113
+ this.removeUserInMigrationProgress();
114
+ this.setStatusToUser(index, 'Migration Error');
115
+ });
116
+ }
117
+ }
118
+
119
+ moveUserToDI(user: ListUser, index: number): void {
120
+
121
+ if (user && user.siteId && user.webexUUID) {
122
+ this.moveUserPending = true;
123
+ this.moveInProgressUserId = user.userid;
124
+ this.users[index].status = 'In Progress'
125
+ localStorage.setItem(LOCAL_STORAGE.USER_IN_MIGRATION, user.userid);
126
+
127
+ const subscription = this.userService.moveUserToDI(this.customerId, user)
128
+ .subscribe(() => {
129
+ this.removeUserInMigrationProgress();
130
+ this.setStatusToUser(index, 'Active');
131
+ this.users[index].webexUUID = '';
132
+ if (this.usersSearchService.migratedUsers && this.usersSearchService.migratedUsers.length) {
133
+ this.usersSearchService.migratedUsers = this.usersSearchService.migratedUsers.filter((migratedUser: any) => migratedUser.userid !== user.email);
134
+ }
135
+ }, () => {
136
+ this.removeUserInMigrationProgress();
137
+ this.setStatusToUser(index, 'Migration Error');
138
+ });
139
+ }
140
+ }
141
+
142
+ private removeUserInMigrationProgress(): void {
143
+ localStorage.removeItem(LOCAL_STORAGE.USER_IN_MIGRATION);
144
+ this.moveInProgressUserId = '';
145
+ this.moveUserPending = false;
146
+ }
147
+
148
+ private setStatusToUser(index: number, status: string): void {
149
+ if (this.users && this.users[index]) {
150
+ this.users[index].status = status;
151
+ if (status === 'Migrated') {
152
+ this.users[index].roleName = '';
153
+ this.users[index].isMigrated = true;
154
+ this.users[index].status = status;
155
+ } else {
156
+ this.users[index].roleName = 'Dedicated Instance Calling user';
157
+ this.users[index].isMigrated = false;
158
+ this.users[index].status = status;
159
+ }
160
+ }
161
+ this.dataSource = new MatTableDataSource(this.users);
162
+ }
163
+
164
+ private initializeDataSource(users: ListUser[]): void {
165
+ if(users?.length) {
166
+ // this.setRandomUserRole(users);
167
+ this.users = users;
168
+ this.setUserMigrationProgress();
169
+ this.usersSearchService.setMigratedPropToUsers(this.users);
170
+ this.dataSource = new MatTableDataSource(users);
171
+ }
172
+ }
173
+
174
+ private setUserRole(): void {
175
+ if (this.users?.length) {
176
+ this.users.forEach(user => {
177
+ if (!user.isMigrated) {
178
+ user.roleName = 'Dedicated Instance Calling user';
179
+ }
180
+ })
181
+ }
182
+ }
183
+
184
+ private setRandomUserRole(users: ListUser[]): void {
185
+ const max = Math.round(this.usersSearchService.pageSize - this.usersSearchService.pageSize / 4);
186
+ const min = Math.round(this.usersSearchService.pageSize / 2);
187
+ const randomAmount = Math.round(Math.random() * (max - min) + min);
188
+ const indexes = this.getArrayOfRandomUserIndexes(randomAmount);
189
+ indexes.forEach(index => {
190
+ if (users[index]) {
191
+ users[index].roleName = 'Dedicated Instance Calling user'
192
+ }
193
+ });
194
+ }
195
+
196
+ private getArrayOfRandomUserIndexes(randomAmount: number): number[] {
197
+ const indexes = [];
198
+ while (randomAmount > 0) {
199
+ const index = Math.round(Math.random() * (this.usersSearchService.pageSize - 1));
200
+ indexes.push(index)
201
+ randomAmount--;
202
+ }
203
+ return indexes;
204
+ }
205
+
206
+ private runSearch(): void {
207
+ this.dataPending = true;
208
+ this.usersSearchService.quickRegularUsersSearch()
209
+ .subscribe(() => {
210
+ this.dataPending = false;
211
+ }, () => {
212
+ this.dataPending = false;
213
+ this.notifications.error('The data can not be received');
214
+ });
215
+ }
216
+
217
+ private setUserMigrationProgress(): void {
218
+ const userIdInMigration = localStorage.getItem(LOCAL_STORAGE.USER_IN_MIGRATION);
219
+ if (userIdInMigration) {
220
+ const index = this.users.findIndex(user => user.userid === userIdInMigration);
221
+ this.moveInProgressUserId = index > -1 ? this.users[index].userid : '';
222
+ this.moveUserPending = index > -1;
223
+ }
224
+ }
225
+
226
+ private getMigratedUsers(): void {
227
+ this.dataPending = true;
228
+ const searchParams = {
229
+ customerid: this.customerId,
230
+ siteid: this.siteId,
231
+ 'cloud-only': 'true'
232
+ };
233
+ // this.usersSearchService.quickWebexUsersSearch(searchParams, true, MAX_INTEGER)
234
+ this.usersSearchService.getMigratedUsers(this.customerId)
235
+ // this.usersSearchService.getMigratedWebexUsers(this.customerId)
236
+ .subscribe(() => {
237
+ const userIdInMigration = localStorage.getItem(LOCAL_STORAGE.USER_IN_MIGRATION);
238
+ if (userIdInMigration && this.usersSearchService.migratedUsers.filter((migratedUser: any) => migratedUser.userid === userIdInMigration)) {
239
+ localStorage.removeItem(LOCAL_STORAGE.USER_IN_MIGRATION);
240
+ }
241
+ this.runSearch();
242
+ }, () => {
243
+ this.dataPending = false;
244
+ this.notifications.error('The data can not be received');
245
+ });
246
+ }
247
+
248
+ onMoveUser(user: ListUser, index: number, type: string): void {
249
+ const dialogRef = this.dialog.open(UserListConfirmDialogComponent, {
250
+ data: {
251
+ title: `Move user to ${type}?`,
252
+ message: `You\'re sure that you want to move ${user.userid} to ${type}?`,
253
+ confirmButtonText: 'Yes, continue'
254
+ }
255
+ });
256
+ dialogRef.beforeClosed().subscribe((result: any) => {
257
+ if (result) {
258
+ switch (type) {
259
+ case 'QuickMove':
260
+ this.moveUserToMT(user, index);
261
+ break;
262
+ case 'MT':
263
+ this.moveUser = user;
264
+ this.moveUserIndex = index;
265
+ this.showMoveUserWizard = true;
266
+ this.switchToWizard.emit(true);
267
+ break;
268
+ case 'DI':
269
+ this.moveUserToDI(user, index);
270
+ break;
271
+ }
272
+
273
+ }
274
+ });
275
+ }
276
+
277
+ runMoveUserToMT(): void {
278
+ this.showMoveUserWizard = false;
279
+ this.moveUserToMT(this.moveUser, this.moveUserIndex);
280
+ }
281
+
282
+
283
+ }
@@ -0,0 +1,51 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { UsersListComponent } from './users-list.component';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { ReactiveFormsModule } from '@angular/forms';
5
+ import { BrowserModule } from '@angular/platform-browser';
6
+ import { MaterialModule } from './material.module';
7
+ import { PaginationComponent } from './utils/pagination/pagination.component';
8
+ import { UserService } from './services/user.service';
9
+ import { APIService } from './services/api.service';
10
+ import { EventsCommunicationService } from './services/events-communication.service';
11
+ import { UsersSearchService } from './services/users-search.service';
12
+ import { NotificationService } from './services/notification.service';
13
+ import { RemoveKynFromIBMService } from './services/removeKynFromIBM.service';
14
+ import { HttpClientModule } from '@angular/common/http';
15
+ import { ApiWebexService } from './services/api-webex.service';
16
+ import { AppLoaderComponent } from './utils/app-loader/app-loader';
17
+ import { MoveUserWizardComponent } from './move-user-wizard/move-user-wizard.component';
18
+ import { MoveUserStepperComponent } from './move-user-wizard/move-user-stepper/move-user-stepper.component';
19
+ import { UserListConfirmDialogComponent } from './user-list-confirm-dialog/user-list-confirm-dialog.component';
20
+ import { DnsService } from './services/dns.service';
21
+
22
+
23
+ @NgModule({
24
+ declarations: [
25
+ UsersListComponent,
26
+ PaginationComponent,
27
+ AppLoaderComponent,
28
+ MoveUserWizardComponent,
29
+ MoveUserStepperComponent,
30
+ UserListConfirmDialogComponent
31
+ ],
32
+ imports: [
33
+ BrowserModule,
34
+ FormsModule,
35
+ ReactiveFormsModule,
36
+ HttpClientModule,
37
+ MaterialModule
38
+ ],
39
+ providers: [
40
+ UserService,
41
+ APIService,
42
+ EventsCommunicationService,
43
+ UsersSearchService,
44
+ NotificationService,
45
+ RemoveKynFromIBMService,
46
+ ApiWebexService,
47
+ DnsService
48
+ ],
49
+ exports: [UsersListComponent]
50
+ })
51
+ export class UsersListModule { }
@@ -0,0 +1,11 @@
1
+ .overlay {
2
+ position: fixed;
3
+ width: 100%;
4
+ height: 100%;
5
+ top: 0;
6
+ left: 0;
7
+ right: 0;
8
+ bottom: 0;
9
+ background-color: rgba(255, 255, 255, 0.2);
10
+ z-index: 200;
11
+ }/*# sourceMappingURL=app-loader.component.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["app-loader.component.scss","app-loader.component.css"],"names":[],"mappings":"AAAA;EACI,eAAA;EACA,WAAA;EACA,YAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,0CAAA;EACA,YAAA;ACCJ","file":"app-loader.component.css"}
@@ -0,0 +1,6 @@
1
+ <div class="overlay">
2
+ <mat-progress-spinner
3
+ class="page-spinner"
4
+ mode="indeterminate"
5
+ [diameter]="120"></mat-progress-spinner>
6
+ </div>
@@ -0,0 +1,11 @@
1
+ .overlay {
2
+ position: fixed;
3
+ width: 100%;
4
+ height: 100%;
5
+ top: 0;
6
+ left: 0;
7
+ right: 0;
8
+ bottom: 0;
9
+ background-color: rgba(255, 255, 255, 0.2);
10
+ z-index: 200;
11
+ }
@@ -0,0 +1,13 @@
1
+ import { Component, ViewEncapsulation } from '@angular/core';
2
+
3
+ @Component({
4
+ selector: 'app-loader',
5
+ templateUrl: './app-loader.component.html',
6
+ styleUrls: ['./app-loader.component.scss'],
7
+ encapsulation: ViewEncapsulation.None,
8
+ })
9
+ export class AppLoaderComponent {
10
+ constructor() {
11
+ }
12
+
13
+ }
@@ -0,0 +1,16 @@
1
+ export const getSavableData = (model: any, exclude?: Array<string>) => {
2
+ let result = Object.keys(model);
3
+ if (exclude && exclude.length) {
4
+ result = result.filter(key => !exclude.some(item => item === key));
5
+ }
6
+ return result.reduce((result, key) => {
7
+ if (model[key] instanceof Array && model[key].length && model[key][0].getSavableData) {
8
+ (result as any)[key] = model[key].map((item: any) => item.getSavableData());
9
+ } else if (model[key] instanceof Object && model[key].getSavableData) {
10
+ (result as any)[key] = model[key].getSavableData();
11
+ } else {
12
+ (result as any)[key] = model[key];
13
+ }
14
+ return result;
15
+ }, {});
16
+ };
@@ -0,0 +1,33 @@
1
+ <!--
2
+
3
+ <div class="notification-block" role="alert" aria-live="assertive">
4
+ <div class="notification"
5
+ *ngFor="let notification of list"
6
+ [ngClass]="{'error': notification.isError(), 'success': notification.isSuccess()}">
7
+
8
+ <div class="flex-box">
9
+ <div class="notification-icons-block">
10
+ <i *ngIf="notification.isError()" class="fa fa-exclamation-triangle"></i>
11
+ <i *ngIf="notification.isWarning()" class="fa fa-hand-paper-o"></i>
12
+ <i *ngIf="notification.isSuccess()" class="fa fa-check"></i>
13
+ <i *ngIf="notification.isInfo()" class="fa fa-info-circle"></i>
14
+ </div>
15
+ <div *ngIf="!isReadMore" class="message-block">
16
+ {{notification.message | truncate:[93]}}
17
+ </div>
18
+ <div *ngIf="isReadMore" class="message-block">
19
+ {{notification.message}}
20
+ </div>
21
+ </div>
22
+ <div class="read-more-error link clickable" *ngIf="notification.message && notification.message.length > 93"
23
+ (click)="readMore()">{{(isReadMore ? 'BUTTON.COLLAPSE' : 'BUTTON.READ_MORE') | translate}}</div>
24
+ <button
25
+ class="close"
26
+ mat-icon-button
27
+ matTooltip="{{'BUTTON.CLOSE' | translate}} {{'NOTIFICATION_MSG.' + notification.type | translate}} {{'NOTIFICATION_MSG.NOTI' | translate}}"
28
+ (click)="removeNotification(notification)">
29
+ <img class="notification-icon-close" src="assets/icons/close_icon_modal.svg" alt="">
30
+ </button>
31
+ </div>
32
+ </div>
33
+ -->
@@ -0,0 +1,84 @@
1
+ @import '../../../styles/_variables';
2
+
3
+ .notification-block {
4
+ right: 0;
5
+ top: 110px;
6
+ position: absolute;
7
+ width: 20%;
8
+ z-index: 100;
9
+
10
+ .read-more-error {
11
+ margin: 10px 13px 3px 0;
12
+ text-align: right;
13
+ }
14
+
15
+ .notification {
16
+ padding: 15px 0 10px 0;
17
+ margin-bottom: 18px;
18
+ color: $main-txt-color;
19
+ position: relative;
20
+ border-radius: 3px;
21
+ border-top: 1.5px solid $warning-border-color;
22
+ background: $warning-bg-color;
23
+ box-shadow: 0px 8px 12px 0px rgba(9, 30, 66, 0.15), 0px 0px 1px 0px rgba(9, 30, 66, 0.31);
24
+ width: 368px;
25
+ position: relative;
26
+
27
+ .notification-icons-block {
28
+ text-align: center;
29
+ width: 56px;
30
+ }
31
+ .message-block {
32
+ font-size: 14px;
33
+ font-family: $poppins-font !important;
34
+ word-break: break-word;
35
+ width: 270px;
36
+ }
37
+ .notification-icon-close {
38
+ height: 24px;
39
+ }
40
+
41
+ &.error {
42
+ background: #FFE9E9;
43
+ border-top: 1.5px solid #E16D6D;
44
+ }
45
+ &.success {
46
+ background: $success-bg-color;
47
+ border-top: 1.5px solid $success-border-color;
48
+ }
49
+ .fa-exclamation-triangle {
50
+ color: #E16D6D !important;
51
+ }
52
+ .fa-check {
53
+ color: #a0c37f !important;
54
+ }
55
+ .fa-info-circle, .fa-hand-paper-o {
56
+ color: #bdb89e !important;
57
+ }
58
+ .fa {
59
+ font-size: 20px;
60
+ }
61
+ .close {
62
+ position: absolute;
63
+ top: 2px;
64
+ right: -5px;
65
+ .fa {
66
+ font-size: 14px;
67
+ }
68
+ }
69
+ .fa {
70
+ margin: 0;
71
+ color: inherit;
72
+ }
73
+ }
74
+ }
75
+
76
+ @media screen and (max-width: 600px) {
77
+ .notification-block {
78
+ width: 50%;
79
+ min-width: 150px;
80
+ }
81
+
82
+ }
83
+
84
+
@@ -0,0 +1,46 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
2
+ import { Subscription } from 'rxjs';
3
+ import { NotificationService } from '../../services/notification.service';
4
+ import { Notification } from '../../classes/notification';
5
+
6
+ @Component({
7
+ selector: 'app-notification',
8
+ templateUrl: './notification.component.html',
9
+ styleUrls: ['./notification.component.scss'],
10
+ changeDetection: ChangeDetectionStrategy.OnPush
11
+ })
12
+ export class NotificationsComponent implements OnInit, OnDestroy {
13
+ public list!: Notification[];
14
+ public isReadMore!: boolean;
15
+ private listSubscription!: Subscription;
16
+
17
+ constructor(
18
+ public notificationService: NotificationService,
19
+ private ref: ChangeDetectorRef
20
+ ) {
21
+ }
22
+
23
+ ngOnInit() {
24
+ this.listChangeSubscribe();
25
+ }
26
+
27
+ ngOnDestroy() {
28
+ this.listSubscription.unsubscribe();
29
+ }
30
+
31
+ public readMore(): void {
32
+ this.isReadMore = !this.isReadMore;
33
+ }
34
+
35
+ public removeNotification(notification: Notification): void {
36
+ this.notificationService.remove(notification);
37
+ }
38
+
39
+ private listChangeSubscribe(): void {
40
+ this.listSubscription = this.notificationService.listChange
41
+ .subscribe((list: any) => {
42
+ this.list = list;
43
+ this.ref.detectChanges();
44
+ });
45
+ }
46
+ }
@@ -0,0 +1,45 @@
1
+ .search-header-refresh-icon {
2
+ align-items: center;
3
+ line-height: 54px;
4
+ margin-left: 10px;
5
+ }
6
+
7
+ button[mat-icon-button] i {
8
+ font-size: 18px;
9
+ }
10
+
11
+ mat-spinner.length-spinner {
12
+ position: absolute;
13
+ right: 120px;
14
+ }
15
+
16
+ h3, .search-header-refresh-icon {
17
+ float: left;
18
+ }
19
+
20
+ .page-options, .mat-paginator {
21
+ float: right;
22
+ }
23
+
24
+ .per-page-block mat-form-field {
25
+ width: 70px !important;
26
+ }
27
+
28
+ .per-page-block span {
29
+ margin-right: 20px;
30
+ }
31
+
32
+ .pagination {
33
+ display: flex;
34
+ justify-content: flex-end;
35
+ }
36
+
37
+ .select-page-size {
38
+ width: 60px;
39
+ margin: 0 0 0 15px;
40
+ padding: 0 10px;
41
+ }
42
+
43
+ .item_per_page {
44
+ line-height: 35px;
45
+ }/*# sourceMappingURL=pagination.component.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["pagination.component.scss","pagination.component.css"],"names":[],"mappings":"AAAA;EACE,mBAAA;EACA,iBAAA;EACA,iBAAA;ACCF;;ADGE;EACE,eAAA;ACAJ;;ADIA;EACE,kBAAA;EACA,YAAA;ACDF;;ADGA;EACE,WAAA;ACAF;;ADEA;EACE,YAAA;ACCF;;ADCA;EACE,sBAAA;ACEF;;ADAA;EACE,kBAAA;ACGF;;ADDA;EACE,aAAA;EACA,yBAAA;ACIF;;ADFA;EACE,WAAA;EACA,kBAAA;EACA,eAAA;ACKF;;ADHA;EACE,iBAAA;ACMF","file":"pagination.component.css"}
@@ -0,0 +1,26 @@
1
+ <div class="flex-box pagination">
2
+ <div class="page-indexes-box">
3
+ <mat-paginator
4
+ [id]="'commonPagination'"
5
+ [hidePageSize]="true"
6
+ [length]="pagination.total"
7
+ [pageIndex]="pagination.pageIndex"
8
+ [pageSize]="pagination.pageSize"
9
+ [pageSizeOptions]="pagination.pageSizeOptions"
10
+ (page)="pageEvent($event)">
11
+ </mat-paginator>
12
+ <mat-spinner class="length-spinner" [diameter]="20" mode="indeterminate" *ngIf="lengthPending">
13
+ </mat-spinner>
14
+ </div>
15
+
16
+ <div class="flex-box per-page-block" *ngIf="showPageSizeOptions">
17
+ <div class="item_per_page">Items per page:</div>
18
+ <div class="select-box select-page-size">
19
+ <mat-select [(ngModel)]="pagination.pageSize" (selectionChange)="changePerPageNumber($event)" #page
20
+ [id]="'commonPaginationSelect'">
21
+ <mat-option *ngFor="let option of pageSizeOptions; let i = index;" [id]="'paginationSelectOpt_' + i" [value]="option">{{option}}</mat-option>
22
+ </mat-select>
23
+ </div>
24
+
25
+ </div>
26
+ </div>
@@ -0,0 +1,41 @@
1
+ .search-header-refresh-icon {
2
+ align-items: center;
3
+ line-height: 54px;
4
+ margin-left: 10px;
5
+ }
6
+
7
+ button[mat-icon-button] {
8
+ i {
9
+ font-size: 18px;
10
+ }
11
+ }
12
+
13
+ mat-spinner.length-spinner {
14
+ position: absolute;
15
+ right: 120px;
16
+ }
17
+ h3, .search-header-refresh-icon {
18
+ float: left;
19
+ }
20
+ .page-options, .mat-paginator {
21
+ float: right;
22
+ }
23
+ .per-page-block mat-form-field {
24
+ width: 70px !important;
25
+ }
26
+ .per-page-block span {
27
+ margin-right: 20px;
28
+ }
29
+ .pagination {
30
+ display: flex;
31
+ justify-content: flex-end;
32
+ }
33
+ .select-page-size {
34
+ width: 60px;
35
+ margin: 0 0 0 15px;
36
+ padding: 0 10px;
37
+ }
38
+ .item_per_page {
39
+ line-height: 35px;
40
+ }
41
+