@tuki-io/tuki-widgets 0.0.8 → 0.0.9

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 (229) hide show
  1. package/karma.conf.js +44 -0
  2. package/ng-package.json +7 -0
  3. package/package.json +3 -39
  4. package/src/lib/widgets.component.spec.ts +23 -0
  5. package/src/lib/widgets.component.ts +20 -0
  6. package/src/lib/widgets.module.ts +16 -0
  7. package/src/lib/widgets.service.spec.ts +16 -0
  8. package/src/lib/widgets.service.ts +9 -0
  9. package/{public-api.d.ts → src/public-api.ts} +4 -0
  10. package/src/test.ts +27 -0
  11. package/styles/_variables.scss +90 -0
  12. package/styles/form.scss +231 -0
  13. package/styles/icons.scss +32 -0
  14. package/styles/styles.scss +110 -0
  15. package/styles/tables.scss +30 -0
  16. package/tsconfig.lib.json +36 -0
  17. package/tsconfig.lib.prod.json +10 -0
  18. package/tsconfig.spec.json +17 -0
  19. package/user-manage/ng-package.json +7 -0
  20. package/user-manage/src/app.constants.ts +38 -0
  21. package/user-manage/src/classes/device.ts +225 -0
  22. package/user-manage/src/classes/line.ts +117 -0
  23. package/user-manage/src/classes/notification.ts +39 -0
  24. package/user-manage/src/classes/pagination.ts +18 -0
  25. package/user-manage/src/classes/simplified-user.ts +128 -0
  26. package/user-manage/src/classes/table-data.ts +6 -0
  27. package/user-manage/src/classes/user-interface.ts +225 -0
  28. package/user-manage/src/classes/user-list.ts +40 -0
  29. package/user-manage/src/classes/user.ts +8 -0
  30. package/user-manage/src/common-functions.ts +16 -0
  31. package/user-manage/src/environments/environment.prod.ts +9 -0
  32. package/user-manage/src/environments/environment.ts +10 -0
  33. package/user-manage/src/interseptors/auth.interceptor.ts +36 -0
  34. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  35. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +3 -0
  36. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  37. package/user-manage/src/material.module.ts +85 -0
  38. package/user-manage/src/notifications/notification.component.html +33 -0
  39. package/user-manage/src/notifications/notification.component.scss +84 -0
  40. package/user-manage/src/notifications/notification.component.ts +46 -0
  41. package/user-manage/src/removeKynFromIBM.service.ts +25 -0
  42. package/user-manage/src/services/api.service.ts +90 -0
  43. package/user-manage/src/services/notification.service.ts +68 -0
  44. package/user-manage/src/services/removeKynFromIBM.service.ts +25 -0
  45. package/user-manage/src/services/site-settings.service.ts +35 -0
  46. package/user-manage/src/services/user.service.ts +120 -0
  47. package/user-manage/src/services/users-search.service.ts +58 -0
  48. package/user-manage/src/services/utils.service.ts +71 -0
  49. package/user-manage/src/styles/_variables.scss +90 -0
  50. package/user-manage/src/styles/form.scss +231 -0
  51. package/user-manage/src/styles/icons.scss +32 -0
  52. package/user-manage/src/styles/styles.scss +110 -0
  53. package/user-manage/src/styles/tables.scss +30 -0
  54. package/user-manage/src/user-details/notification.service.ts +68 -0
  55. package/user-manage/src/user-info/user-info.component.html +32 -0
  56. package/user-manage/src/user-info/user-info.component.scss +53 -0
  57. package/user-manage/src/user-info/user-info.component.ts +19 -0
  58. package/user-manage/src/user-manage-widget.component.html +291 -0
  59. package/user-manage/src/user-manage-widget.component.scss +461 -0
  60. package/user-manage/src/user-manage-widget.component.ts +165 -0
  61. package/user-manage/src/user-manage.module.ts +53 -0
  62. package/user-manage/src/utils/app-loader/app-loader.component.html +6 -0
  63. package/user-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  64. package/user-manage/src/utils/app-loader/app-loader.ts +13 -0
  65. package/user-manage/src/utils/pagination/pagination.component.html +26 -0
  66. package/user-manage/src/utils/pagination/pagination.component.scss +41 -0
  67. package/user-manage/src/utils/pagination/pagination.component.ts +41 -0
  68. package/users-list/ng-package.json +6 -0
  69. package/users-list/src/app.constants.ts +35 -0
  70. package/users-list/src/classes/device.ts +225 -0
  71. package/users-list/src/classes/line.ts +117 -0
  72. package/users-list/src/classes/notification.ts +38 -0
  73. package/users-list/src/classes/pagination.ts +18 -0
  74. package/users-list/src/classes/simlified-user.ts +74 -0
  75. package/users-list/src/classes/table-data.ts +6 -0
  76. package/users-list/src/classes/user-interface.ts +225 -0
  77. package/users-list/src/classes/user-list.ts +40 -0
  78. package/users-list/src/classes/user.ts +8 -0
  79. package/users-list/src/material.module.ts +84 -0
  80. package/users-list/src/services/api.service.ts +90 -0
  81. package/users-list/src/services/events-communication.service.ts +11 -0
  82. package/users-list/src/services/notification.service.ts +68 -0
  83. package/users-list/src/services/removeKynFromIBM.service.ts +25 -0
  84. package/users-list/src/services/user.service.ts +117 -0
  85. package/users-list/src/services/users-search.service.ts +58 -0
  86. package/users-list/src/users-list.component.css +4 -0
  87. package/users-list/src/users-list.component.css.map +1 -0
  88. package/users-list/src/users-list.component.html +39 -0
  89. package/users-list/src/users-list.component.scss +9 -0
  90. package/users-list/src/users-list.component.ts +87 -0
  91. package/users-list/src/users-list.module.ts +36 -0
  92. package/users-list/src/utils/app-loader/app-loader.component.css +11 -0
  93. package/users-list/src/utils/app-loader/app-loader.component.css.map +1 -0
  94. package/users-list/src/utils/app-loader/app-loader.component.html +6 -0
  95. package/users-list/src/utils/app-loader/app-loader.component.scss +11 -0
  96. package/users-list/src/utils/app-loader/app-loader.ts +13 -0
  97. package/users-list/src/utils/common-functions.ts +16 -0
  98. package/users-list/src/utils/notifications/notification.component.html +33 -0
  99. package/users-list/src/utils/notifications/notification.component.scss +84 -0
  100. package/users-list/src/utils/notifications/notification.component.ts +46 -0
  101. package/users-list/src/utils/pagination/pagination.component.css +45 -0
  102. package/users-list/src/utils/pagination/pagination.component.css.map +1 -0
  103. package/users-list/src/utils/pagination/pagination.component.html +26 -0
  104. package/users-list/src/utils/pagination/pagination.component.scss +41 -0
  105. package/users-list/src/utils/pagination/pagination.component.ts +41 -0
  106. package/users-list/src/utils/utils.service.ts +71 -0
  107. package/esm2020/lib/widgets.component.mjs +0 -22
  108. package/esm2020/lib/widgets.module.mjs +0 -21
  109. package/esm2020/lib/widgets.service.mjs +0 -14
  110. package/esm2020/public-api.mjs +0 -7
  111. package/esm2020/tuki-io-tuki-widgets.mjs +0 -5
  112. package/esm2020/user-manage/public-api.mjs +0 -7
  113. package/esm2020/user-manage/src/app.constants.mjs +0 -38
  114. package/esm2020/user-manage/src/classes/device.mjs +0 -7
  115. package/esm2020/user-manage/src/classes/line.mjs +0 -9
  116. package/esm2020/user-manage/src/classes/notification.mjs +0 -32
  117. package/esm2020/user-manage/src/classes/pagination.mjs +0 -8
  118. package/esm2020/user-manage/src/classes/simplified-user.mjs +0 -82
  119. package/esm2020/user-manage/src/classes/table-data.mjs +0 -2
  120. package/esm2020/user-manage/src/classes/user-list.mjs +0 -10
  121. package/esm2020/user-manage/src/common-functions.mjs +0 -19
  122. package/esm2020/user-manage/src/environments/environment.mjs +0 -11
  123. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +0 -37
  124. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
  125. package/esm2020/user-manage/src/material.module.mjs +0 -188
  126. package/esm2020/user-manage/src/notifications/notification.component.mjs +0 -35
  127. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +0 -25
  128. package/esm2020/user-manage/src/services/api.service.mjs +0 -79
  129. package/esm2020/user-manage/src/services/notification.service.mjs +0 -62
  130. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  131. package/esm2020/user-manage/src/services/site-settings.service.mjs +0 -36
  132. package/esm2020/user-manage/src/services/user.service.mjs +0 -108
  133. package/esm2020/user-manage/src/services/users-search.service.mjs +0 -49
  134. package/esm2020/user-manage/src/services/utils.service.mjs +0 -73
  135. package/esm2020/user-manage/src/user-info/user-info.component.mjs +0 -20
  136. package/esm2020/user-manage/src/user-manage-widget.component.mjs +0 -162
  137. package/esm2020/user-manage/src/user-manage.module.mjs +0 -84
  138. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
  139. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +0 -43
  140. package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +0 -5
  141. package/esm2020/users-list/public-api.mjs +0 -9
  142. package/esm2020/users-list/src/app.constants.mjs +0 -35
  143. package/esm2020/users-list/src/classes/device.mjs +0 -7
  144. package/esm2020/users-list/src/classes/line.mjs +0 -9
  145. package/esm2020/users-list/src/classes/notification.mjs +0 -31
  146. package/esm2020/users-list/src/classes/pagination.mjs +0 -8
  147. package/esm2020/users-list/src/classes/simlified-user.mjs +0 -50
  148. package/esm2020/users-list/src/classes/table-data.mjs +0 -2
  149. package/esm2020/users-list/src/classes/user-list.mjs +0 -10
  150. package/esm2020/users-list/src/material.module.mjs +0 -188
  151. package/esm2020/users-list/src/services/api.service.mjs +0 -78
  152. package/esm2020/users-list/src/services/events-communication.service.mjs +0 -14
  153. package/esm2020/users-list/src/services/notification.service.mjs +0 -62
  154. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +0 -25
  155. package/esm2020/users-list/src/services/user.service.mjs +0 -105
  156. package/esm2020/users-list/src/services/users-search.service.mjs +0 -49
  157. package/esm2020/users-list/src/users-list.component.mjs +0 -78
  158. package/esm2020/users-list/src/users-list.module.mjs +0 -58
  159. package/esm2020/users-list/src/utils/common-functions.mjs +0 -19
  160. package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +0 -43
  161. package/esm2020/users-list/src/utils/utils.service.mjs +0 -73
  162. package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +0 -5
  163. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +0 -1235
  164. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  165. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +0 -872
  166. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  167. package/fesm2015/tuki-io-tuki-widgets.mjs +0 -63
  168. package/fesm2015/tuki-io-tuki-widgets.mjs.map +0 -1
  169. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +0 -1222
  170. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  171. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +0 -869
  172. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  173. package/fesm2020/tuki-io-tuki-widgets.mjs +0 -63
  174. package/fesm2020/tuki-io-tuki-widgets.mjs.map +0 -1
  175. package/index.d.ts +0 -5
  176. package/lib/widgets.component.d.ts +0 -8
  177. package/lib/widgets.module.d.ts +0 -7
  178. package/lib/widgets.service.d.ts +0 -6
  179. package/user-manage/index.d.ts +0 -5
  180. package/user-manage/src/app.constants.d.ts +0 -20
  181. package/user-manage/src/classes/device.d.ts +0 -224
  182. package/user-manage/src/classes/line.d.ts +0 -116
  183. package/user-manage/src/classes/notification.d.ts +0 -18
  184. package/user-manage/src/classes/pagination.d.ts +0 -13
  185. package/user-manage/src/classes/simplified-user.d.ts +0 -41
  186. package/user-manage/src/classes/table-data.d.ts +0 -5
  187. package/user-manage/src/classes/user-list.d.ts +0 -32
  188. package/user-manage/src/common-functions.d.ts +0 -1
  189. package/user-manage/src/environments/environment.d.ts +0 -9
  190. package/user-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  191. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
  192. package/user-manage/src/material.module.d.ts +0 -28
  193. package/user-manage/src/notifications/notification.component.d.ts +0 -19
  194. package/user-manage/src/removeKynFromIBM.service.d.ts +0 -8
  195. package/user-manage/src/services/api.service.d.ts +0 -21
  196. package/user-manage/src/services/notification.service.d.ts +0 -18
  197. package/user-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  198. package/user-manage/src/services/site-settings.service.d.ts +0 -9
  199. package/user-manage/src/services/user.service.d.ts +0 -26
  200. package/user-manage/src/services/users-search.service.d.ts +0 -25
  201. package/user-manage/src/services/utils.service.d.ts +0 -9
  202. package/user-manage/src/user-info/user-info.component.d.ts +0 -9
  203. package/user-manage/src/user-manage-widget.component.d.ts +0 -32
  204. package/user-manage/src/user-manage.module.d.ts +0 -18
  205. package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  206. package/user-manage/src/utils/pagination/pagination.component.d.ts +0 -18
  207. package/users-list/index.d.ts +0 -5
  208. package/users-list/src/app.constants.d.ts +0 -17
  209. package/users-list/src/classes/device.d.ts +0 -224
  210. package/users-list/src/classes/line.d.ts +0 -116
  211. package/users-list/src/classes/notification.d.ts +0 -18
  212. package/users-list/src/classes/pagination.d.ts +0 -13
  213. package/users-list/src/classes/simlified-user.d.ts +0 -25
  214. package/users-list/src/classes/table-data.d.ts +0 -5
  215. package/users-list/src/classes/user-list.d.ts +0 -32
  216. package/users-list/src/material.module.d.ts +0 -28
  217. package/users-list/src/services/api.service.d.ts +0 -21
  218. package/users-list/src/services/events-communication.service.d.ts +0 -8
  219. package/users-list/src/services/notification.service.d.ts +0 -18
  220. package/users-list/src/services/removeKynFromIBM.service.d.ts +0 -8
  221. package/users-list/src/services/user.service.d.ts +0 -26
  222. package/users-list/src/services/users-search.service.d.ts +0 -25
  223. package/users-list/src/users-list.component.d.ts +0 -35
  224. package/users-list/src/users-list.module.d.ts +0 -12
  225. package/users-list/src/utils/common-functions.d.ts +0 -1
  226. package/users-list/src/utils/pagination/pagination.component.d.ts +0 -18
  227. package/users-list/src/utils/utils.service.d.ts +0 -9
  228. /package/user-manage/{public-api.d.ts → public-api.ts} +0 -0
  229. /package/users-list/{public-api.d.ts → public-api.ts} +0 -0
@@ -0,0 +1,30 @@
1
+ @import 'variables';
2
+
3
+ .webex-table {
4
+ width: 100%;
5
+ margin: auto;
6
+
7
+ tr {
8
+ border-bottom: 1px solid $webex-tr-border;
9
+ }
10
+ th {
11
+ background: $webex-table-th-bg;
12
+ color: $webex-table-th-txt;
13
+ font-size: $webex-table-th-size;
14
+ }
15
+ td {
16
+ background: $webex-table-td-bg;
17
+ color: $webex-table-td-txt;
18
+ font-size: $webex-table-td-size;
19
+ }
20
+ tr:hover td {
21
+ background: $webex-tr-hover-bg;
22
+ cursor: pointer;
23
+ }
24
+ th.mat-header-cell, td.mat-cell, td.mat-footer-cell {
25
+ border-bottom: 1px solid $webex-tr-border;
26
+ }
27
+ tr.mat-header-row {
28
+ height: 37px;
29
+ }
30
+ }
@@ -0,0 +1,36 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "compileOnSave": false,
4
+ "compilerOptions": {
5
+ "typeRoots": ["node_modules/@types"],
6
+
7
+ "baseUrl": "./",
8
+ "outDir": "./dist/out-tsc",
9
+ "forceConsistentCasingInFileNames": true,
10
+ "strict": true,
11
+ "noImplicitOverride": true,
12
+ "noPropertyAccessFromIndexSignature": true,
13
+ "noImplicitReturns": true,
14
+ "noFallthroughCasesInSwitch": true,
15
+ "sourceMap": true,
16
+ "declaration": false,
17
+ "downlevelIteration": true,
18
+ "experimentalDecorators": true,
19
+ "moduleResolution": "node",
20
+ "importHelpers": true,
21
+ "target": "es2015",
22
+ "module": "es2015",
23
+ "lib": [
24
+ "es2017",
25
+ "es2016",
26
+ "dom"
27
+ ]
28
+ },
29
+ "angularCompilerOptions": {
30
+ "enableI18nLegacyMessageIdFormat": true,
31
+ "strictInjectionParameters": false,
32
+ "strictInputAccessModifiers": false,
33
+ "strictTemplates": false,
34
+ "strictPropertyInitialization": false
35
+ },
36
+ }
@@ -0,0 +1,10 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.lib.json",
4
+ "compilerOptions": {
5
+ "declarationMap": false
6
+ },
7
+ "angularCompilerOptions": {
8
+ "compilationMode": "partial"
9
+ }
10
+ }
@@ -0,0 +1,17 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../../out-tsc/spec",
6
+ "types": [
7
+ "jasmine"
8
+ ]
9
+ },
10
+ "files": [
11
+ "src/test.ts"
12
+ ],
13
+ "include": [
14
+ "**/*.spec.ts",
15
+ "**/*.d.ts"
16
+ ]
17
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "../../../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "lib": {
4
+ "entryFile": "public-api.ts"
5
+ },
6
+ "assets": ["./src/styles/*.*","./assets/**/*.*"]
7
+ }
@@ -0,0 +1,38 @@
1
+ export const API = {
2
+ USER_TOKEN: '/api/provision/:siteId/users/:userId/token',
3
+ UPDATE_USER_FIELDS: '/api/provision/:siteId/userFields/:token',
4
+ PERSIST_USER_CACHE: '/api/provision/:siteId/saveUser/:token',
5
+ USER_BY_ID: '/api/provision/:siteId/users/:userId',
6
+ QUICK_USERS_SEARCH: "/api/search/quickusers",
7
+ LOCATION: "/api/provision/options/:siteId/locations",
8
+ USER_LOCALES: "/api/provision/options/:siteId/userlocales",
9
+ USER_PROFILES: "/api/provision/options/:siteId/userprofiles"
10
+ };
11
+ export const REGEX_PATTERN = {
12
+ EMAIL: '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))' +
13
+ '@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])' +
14
+ '?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])?)*$'
15
+ };
16
+
17
+ export const PAGINATION_DEFAULTS = {
18
+ SIZE: 10,
19
+ INDEX: 0
20
+ }
21
+ export const PAGINATION_SIZE_OPTIONS = [
22
+ 10,
23
+ 50,
24
+ 100,
25
+ 500
26
+ ];
27
+ export const CUCS_TO_IGNORE = [
28
+ 189,
29
+ 194,
30
+ 191,
31
+ 190
32
+ ];
33
+ export const CUCMS_TO_IGNORE = [
34
+ 249,
35
+ 255,
36
+ 251,
37
+ 250
38
+ ];
@@ -0,0 +1,225 @@
1
+ import { EntityChangeType } from './line';
2
+
3
+ export interface DeviceInterface {
4
+ name: string;
5
+ newName: string;
6
+ pkid: string;
7
+ entityChangeType: EntityChangeType;
8
+ deviceType: string;
9
+ protocol: string;
10
+ description: string;
11
+ buttonTemplate: string;
12
+ softkeyTemplate: string;
13
+ devicePoolName: string;
14
+ location: string;
15
+ userLocale: string;
16
+ enabledExtensionMobility: boolean;
17
+ callingSearchSpaceName: string;
18
+ services: string[];
19
+ networkLocale: string;
20
+ securityProfile: string;
21
+ lineAssociations: LineAssociationInterface[];
22
+ speedDials: SpeedDialInterface[];
23
+ sipProfile: string;
24
+ subscribeCallingSearchSpaceName: string;
25
+ commonPhoneConfigName: string;
26
+ ctiRemoteDevice: boolean;
27
+ firstExpansionModule: string;
28
+ secondExpansionModule: string;
29
+ thirdExpansionModule: string;
30
+ builtInBridge: string;
31
+ extraOptions?: DeviceExtraOptionsInterface;
32
+ formDisabledControls?: string[];
33
+ sharedUsers: string[];
34
+ busyLampFields: BusyLampFieldsInterface[];
35
+ meetMeEnabled: boolean;
36
+ deviceKind?: any;
37
+ isCtiRoutePoint?: boolean;
38
+ cucmId: string;
39
+ plarDevice?: boolean;
40
+ firmwareVersion?: any;
41
+ certificateOperation: string;
42
+ authenticationMode: string;
43
+ authenticationString?: string;
44
+ rsaKeySize?: string;
45
+ operationCompletesBy: string;
46
+ certificateStatus: string;
47
+ day?: string;
48
+ month?: string;
49
+ year?: string;
50
+ hour?: string;
51
+ securityProfileUuid?: string;
52
+ excludeDeviceExtraOptions?: boolean;
53
+ webexUUID?: string;
54
+ }
55
+ export interface LineAssociationInterface {
56
+ index: number;
57
+ position?: number;
58
+ e164Mask: string;
59
+ textLabel: string;
60
+ displayLabel: string;
61
+ displayLabelAscii: string;
62
+ directoryNumber: LineDirectoryInterface;
63
+ didPattern: TranslationPatternInterface;
64
+ mappedDids: Array<string>;
65
+ linePkid: string;
66
+ maxNumberOfCalls: number;
67
+ busyTrigger: number;
68
+ recordingOption: RecordingOptions;
69
+ recordingProfile: string;
70
+ recordingMediaSource: string;
71
+ visualMWI: string;
72
+ audibleMWI: string;
73
+ ringSetting_idle: string;
74
+ ringSetting_active: string;
75
+ pickupAAS_idle: string;
76
+ pickupAAS_active: string;
77
+ monitorCSS: string;
78
+ logMissedCall: string;
79
+ callInfoDisplay: LineCallInfoDisplayInterface;
80
+ lineLocalId: string;
81
+ sharedUsers: string[];
82
+ sharedDevices: string[];
83
+ ownerUserId: Array<string>;
84
+ associated: boolean;
85
+ populateWithDid: boolean;
86
+ }
87
+ export interface SpeedDialInterface {
88
+ index: number;
89
+ position: number;
90
+ destination: string;
91
+ label: string;
92
+ editMode?: boolean;
93
+ }
94
+ export interface LineDirectoryInterface {
95
+ directoryNumber: string;
96
+ routePartitionName: string;
97
+ pkid: string;
98
+ dnType: string;
99
+ subType?: string;
100
+ templateDirectoryNumber?: string;
101
+ }
102
+ export interface TranslationPatternInterface {
103
+ pattern: string;
104
+ calledPartyTransformationMask: string;
105
+ description?: string;
106
+ site?: SiteShortDataInterface;
107
+ hasMultipleSites?: boolean;
108
+ multipleSitesId?: string;
109
+ }
110
+ export enum RecordingOptions {
111
+ disabled = 'Call Recording Disabled',
112
+ auto_enabled = 'Automatic Call Recording Enabled',
113
+ selective_enabled = 'Selective Call Recording Enabled'
114
+ }
115
+ export interface LineCallInfoDisplayInterface {
116
+ callerName: string;
117
+ callerNumber: string;
118
+ redirectedNumber: string;
119
+ dialedNumber: string;
120
+ }
121
+ export interface SiteShortDataInterface {
122
+ id: number;
123
+ name: string;
124
+ }
125
+ export interface DeviceExtraOptionsInterface {
126
+ mediaResourceGroupList: string;
127
+ userHoldMOHAudioSourceId: number;
128
+ userHoldMOHAudioSourceName: string;
129
+ networkMOHAudioSourceId: number;
130
+ networkMOHAudioSourceName: string;
131
+ aarCss: string;
132
+ aarGroup: string;
133
+ privacy: string;
134
+ deviceMobilityMode: string;
135
+ mobilityUserId: string;
136
+ phonePersonalization: string;
137
+ servicesProvisioning: string;
138
+ phoneLoadName: string;
139
+ phoneIdleBLFAlertSetting: string;
140
+ phoneBusyBLFAlertSetting: string;
141
+ useTrustedRelayPoint: string;
142
+ alwaysUsePrimeLine: string;
143
+ alwaysUsePrimeLineForVoiceMessage: string;
144
+ geolocation: string;
145
+ emergencyLocation: string;
146
+ ignorePresentationIndicators: boolean;
147
+ loggedIntoHuntGroup: boolean;
148
+ enabledExtensionMobility: boolean;
149
+ remoteDevice: boolean;
150
+ protectedDevice: boolean;
151
+ hotlineDevice: boolean;
152
+ useDevicePoolCgpnIngressDN: boolean;
153
+ cgpnIngressDN: string;
154
+ useDevicePoolCgpnTransformCss: boolean;
155
+ cgpnTransformationCss: string;
156
+ packetCaptureMode: string;
157
+ packetCaptureDuration: number;
158
+ blfPresenceGroup: string;
159
+ sipDialRules: string;
160
+ mtpPreferredOriginatingCodec: string;
161
+ rerouteCss: string;
162
+ subscribeCss: string;
163
+ mtpRequired: boolean;
164
+ unattendedPort: boolean;
165
+ requireDtmfReception: boolean;
166
+ informationUrl: string;
167
+ directoryUrl: string;
168
+ messagesUrl: string;
169
+ servicesUrl: string;
170
+ authenticationUrl: string;
171
+ proxyServerUrl: string;
172
+ idleUrl: string;
173
+ idleTimeout: string;
174
+ secureAuthenticationUrl: string;
175
+ secureDirectoryUrl: string;
176
+ secureIdleUrl: string;
177
+ secureInformationUrl: string;
178
+ secureMessageUrl: string;
179
+ secureServicesUrl: string;
180
+ mlppDomain: string;
181
+ mlppIndication: string;
182
+ mlppPreemption: string;
183
+ confidentialAccessMode: string;
184
+ confidentialAccessLevel: string;
185
+ confidentialAccessLevelName: string;
186
+ doNotDisturb: boolean;
187
+ dndOption: string;
188
+ dndIncomingCallAlert: string;
189
+ disableSpeakerphone: boolean;
190
+ disableSpeakerphoneAndHeadset: boolean;
191
+ forwardingDelay: boolean;
192
+ pcPort: boolean;
193
+ settingsAccess: string;
194
+ gratuitousARP: boolean;
195
+ pcVoiceVlanAccess: boolean;
196
+ videoCapabilities: boolean;
197
+ webAccess: boolean;
198
+ daysDisplayNotActive: string[];
199
+ displayOnTime: string;
200
+ displayOnDuration: string;
201
+ displayIdleTimeout: string;
202
+ wirelessHeadsetHookswitchControl: boolean;
203
+ minRingVolume: string;
204
+ showAllCallsOnPL: boolean;
205
+ lineMode: string;
206
+ latentCapabilityRegistration: string;
207
+ analogGatewayPortInformation: AnalogGatewayPortInformationInterFace;
208
+ }
209
+ export interface AnalogGatewayPortInformationInterFace {
210
+ portDirection: string;
211
+ prefixDn: string;
212
+ numDigits: number;
213
+ expectedDigits: number;
214
+ smdiPortNumber: number;
215
+ trunk: string;
216
+ unattendedPort: string;
217
+ }
218
+ export interface BusyLampFieldsInterface {
219
+ index: number;
220
+ position: number;
221
+ destination: string;
222
+ dnWithRoutePartition: string;
223
+ label: string;
224
+ callPickup: boolean;
225
+ }
@@ -0,0 +1,117 @@
1
+ export interface LineInterface {
2
+ description: string;
3
+ pkid: string;
4
+ entityChangeType: EntityChangeType;
5
+ alertingName: string;
6
+ asciiAlertingName: string;
7
+ callingSearchSpace: string;
8
+ voiceMailProfile: string;
9
+ noAnswerRingDuration: number;
10
+ autoAnswer: string;
11
+ directoryNumber: LineDirectoryInterface;
12
+ didPatterns: Array<TranslationPatternInterface>;
13
+ mappedDids: Array<string>;
14
+ aarSettings: LineAarInterface;
15
+ callForwardAll: CallInterface;
16
+ callForwardAllSecondaryCSS: CallInterface;
17
+ callForwardBusyInternal: CallInterface;
18
+ callForwardBusyExternal: CallInterface;
19
+ callForwardNoAnswerInternal: CallInterface;
20
+ callForwardNoAnswerExternal: CallInterface;
21
+ callForwardNoCoverageInternal: CallInterface;
22
+ callForwardNoCoverageExternal: CallInterface;
23
+ callForwardOnCTIFailure: CallInterface;
24
+ callForwardUnregisteredInternal: CallInterface;
25
+ callForwardUnregisteredExternal: CallInterface;
26
+ parkMonitoringExternal: LineParkMonitoringInterface;
27
+ parkMonitoringInternal: LineParkMonitoringInterface;
28
+ callPickupGroup: string;
29
+ localId: string;
30
+ urgentPriority: boolean;
31
+ blfPresenceGroup: string;
32
+ userHoldMOHAudioSourceId: string;
33
+ userHoldMOHAudioSourceName: string;
34
+ networkMOHAudioSourceId: string;
35
+ networkMOHAudioSourceName: string;
36
+ rejectAnonymousCall: boolean;
37
+ enterpriseAltNum: AlternateNumberInterface;
38
+ e164AltNum: AlternateNumberInterface;
39
+ directoryUris: Array<DirectoryUriInterface>;
40
+ callForwardAlternateParty: ParkMonitoringInterface;
41
+ mlppNoAnswerRingDuration: number;
42
+ confidentialAccessMode: string;
43
+ confidentialAccessLevel: string;
44
+ confidentialAccessLevelName: string;
45
+ callControlAgentProfile: string;
46
+ holdReversionRingDuration: number;
47
+ holdReversionNotificationInterval: number;
48
+ partyEntranceTone: string;
49
+ pstnFailover: string;
50
+ isExistingLine?: boolean;
51
+ plarDestinationNumber: string;
52
+ prefixDigits: string;
53
+ plarDescription: string;
54
+ plarEnabled: boolean;
55
+ }
56
+
57
+ export enum EntityChangeType {
58
+ added = 'added',
59
+ updated = 'updated',
60
+ existing = 'existing',
61
+ removed = 'removed',
62
+ unassociated = 'unassociated'
63
+ }
64
+ export interface LineDirectoryInterface {
65
+ directoryNumber: string;
66
+ routePartitionName: string;
67
+ pkid: string;
68
+ dnType: string;
69
+ subType?: string;
70
+ templateDirectoryNumber?: string;
71
+ }
72
+ export interface TranslationPatternInterface {
73
+ pattern: string;
74
+ calledPartyTransformationMask: string;
75
+ description?: string;
76
+ site?: SiteShortDataInterface;
77
+ hasMultipleSites?: boolean;
78
+ multipleSitesId?: string;
79
+ }
80
+ export interface SiteShortDataInterface {
81
+ id: number;
82
+ name: string;
83
+ }
84
+ export interface LineAarInterface {
85
+ aarDestinationMask: string;
86
+ aarGroup: string;
87
+ aarVoiceMailEnabled: boolean;
88
+ aarKeepCallHistory: boolean;
89
+ }
90
+ export interface CallInterface {
91
+ forwardToVoiceMail: boolean;
92
+ destination: string;
93
+ callingSearchSpace: string;
94
+ }
95
+ export interface LineParkMonitoringInterface {
96
+ voiceMail: boolean;
97
+ destination: string;
98
+ callingSearchSpace: string;
99
+ }
100
+ export interface AlternateNumberInterface {
101
+ numberMask: string;
102
+ addLocalRoutePartition: boolean;
103
+ routePartition: string;
104
+ isUrgent: boolean;
105
+ advertiseGloballyIls: boolean;
106
+ }
107
+ export interface DirectoryUriInterface {
108
+ primary: boolean;
109
+ uri: string;
110
+ routePartition: string;
111
+ advertiseGloballyIls: boolean;
112
+ }
113
+ export interface ParkMonitoringInterface {
114
+ destination: string;
115
+ callingSearchSpace: string;
116
+ voiceMail: boolean;
117
+ }
@@ -0,0 +1,39 @@
1
+ import { environment } from '../environments/environment';
2
+ const TTL_DEFAULT = environment.notificationsLifetime;
3
+ const TTL_LONG_DEFAULT = environment.longNotificationsLifetime;
4
+
5
+ export enum NotificationType {
6
+ info = 'info',
7
+ error = 'error',
8
+ success = 'success',
9
+ warning = 'warning'
10
+ }
11
+
12
+ export class Notification {
13
+ id?: number;
14
+ type?: NotificationType;
15
+ message?: string;
16
+ ttl: number = TTL_DEFAULT;
17
+ timerId?: any;
18
+
19
+ constructor(data: any) {
20
+ Object.assign(this, data || {});
21
+
22
+ if(this.ttl === undefined) {
23
+ this.ttl = this.message && this.message.length && this.message.length < 80 ? TTL_DEFAULT : TTL_LONG_DEFAULT;
24
+ }
25
+ }
26
+
27
+ isInfo(): boolean {
28
+ return this.type === NotificationType.info;
29
+ }
30
+ isError(): boolean {
31
+ return this.type === NotificationType.error;
32
+ }
33
+ isSuccess(): boolean {
34
+ return this.type === NotificationType.success;
35
+ }
36
+ isWarning(): boolean {
37
+ return this.type === NotificationType.warning;
38
+ }
39
+ }
@@ -0,0 +1,18 @@
1
+ export interface PaginationDataDtoInterface {
2
+ total: number;
3
+ pageSizeOptions?: number[];
4
+ pageSize: number;
5
+ pageIndex: number;
6
+ }
7
+ export class PaginationDataDto {
8
+ total?: number;
9
+ pageSizeOptions?: number[];
10
+ pageSize?: number;
11
+ pageIndex?: number;
12
+
13
+ constructor(pagination: PaginationDataDtoInterface) {
14
+ if (pagination) {
15
+ Object.assign(this, pagination);
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,128 @@
1
+ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { getSavableData } from '../common-functions';
4
+ import { REGEX_PATTERN } from '../app.constants';
5
+
6
+ export class SimplifiedUser {
7
+ userid!: string;
8
+ email!: string;
9
+ firstName!: string;
10
+ lastName!: string;
11
+ // general user info
12
+ department!: string;
13
+ manager!: string;
14
+ associatedPc!: string;
15
+ digestCredentials!: string;
16
+ userProfile!: string;
17
+ enableMobileVoiceAccess!: boolean;
18
+ userLocale!: string;
19
+ confirmDigestCredentials?: any;
20
+
21
+ // contact information
22
+ middleName!: string;
23
+ telephoneNumber!: string;
24
+ mobileNumber!: string;
25
+ directoryUri!: string;
26
+ title!: string;
27
+ homeNumber!: string;
28
+ pagerNumber!: string;
29
+ displayName!: string;
30
+
31
+ token!: string;
32
+ viewMode!: string;
33
+ hasModifiedCache!: boolean;
34
+ newUserId?: string;
35
+ editMode!: boolean;
36
+ form!: FormGroup;
37
+
38
+ constructor(user?: any) {
39
+ if (user) {
40
+ this.userid = user.userid;
41
+ this.email = user.email;
42
+ this.firstName = user.firstName;
43
+ this.lastName = user.lastName;
44
+ this.token = user.token;
45
+
46
+ this.department = user.department;
47
+ this.manager = user.manager;
48
+ this.associatedPc = user.associatedPc;
49
+ this.digestCredentials = user.digestCredentials;
50
+ this.userProfile = user.userProfile;
51
+ this.enableMobileVoiceAccess = user.enableMobileVoiceAccess;
52
+ this.userLocale = user.userLocale;
53
+ this.confirmDigestCredentials = user.confirmDigestCredentials;
54
+
55
+ this.middleName = user.middleName;
56
+ this.telephoneNumber = user.telephoneNumber;
57
+ this.mobileNumber = user.mobileNumber;
58
+ this.directoryUri = user.directoryUri;
59
+ this.title = user.title;
60
+ this.homeNumber = user.homeNumber;
61
+ this.pagerNumber = user.pagerNumber;
62
+ this.displayName = user.displayName;
63
+ }
64
+ this.initForm()
65
+ }
66
+
67
+ initForm() {
68
+ const formBuilder = new FormBuilder();
69
+ const formSettings = {
70
+ userid: [{value: this.userid || '', disabled: false}, [Validators.required, Validators.maxLength(128)]],
71
+ email: [{value: this.email || '', disabled: false}, [
72
+ Validators.pattern(REGEX_PATTERN.EMAIL),
73
+ Validators.required
74
+ ]],
75
+ firstName: [{value: this.firstName || '', disabled: false}],
76
+ lastName: [{value: this.lastName || '', disabled: false}, Validators.required],
77
+ department: [{value: this.department || '', disabled: false}],
78
+ middleName: [{value: this.middleName || '', disabled: false}],
79
+ title: [{value: this.title || '', disabled: false}],
80
+ telephoneNumber: [{value: this.telephoneNumber || '', disabled: false}],
81
+ homeNumber: [{value: this.homeNumber || '', disabled: false}],
82
+ mobileNumber: [{value: this.mobileNumber || '', disabled: false}],
83
+ pagerNumber: [{value: this.pagerNumber || '', disabled: false}],
84
+ displayName: [{value: this.displayName || '', disabled: false}],
85
+ manager: [{value: this.manager || '', disabled: false}],
86
+ associatedPc: [this.associatedPc || ''],
87
+ directoryUri: [this.directoryUri || ''],
88
+ userProfile: [this.userProfile],
89
+ enableMobileVoiceAccess: [this.enableMobileVoiceAccess],
90
+ userLocale: [this.userLocale || ''],
91
+ digestCredentials: [''],
92
+ confirmDigestCredentials: ['']
93
+ };
94
+ this.form = formBuilder.group(formSettings);
95
+ }
96
+
97
+ toggleEditMode() {
98
+ this.editMode = !this.editMode;
99
+ ['userid', 'email', 'firstName', 'lastName'].forEach(token => {
100
+ if (this.editMode) {
101
+ this.form.get(token)?.enable();
102
+ } else {
103
+ this.form.get(token)?.disable();
104
+ }
105
+ })
106
+ }
107
+
108
+ getSavableData() {
109
+ const excludedFields: string[] = ['form', 'editMode', 'viewMode', 'token', 'hasModifiedCache', 'confirmDigestCredentials'];
110
+ return getSavableData(this, excludedFields);
111
+ }
112
+
113
+ equal(userToCompare?: SimplifiedUser): boolean {
114
+ if (!userToCompare) {
115
+ return false;
116
+ }
117
+ return JSON.stringify(this.getSavableData()) === JSON.stringify(userToCompare.getSavableData());
118
+ }
119
+
120
+ }
121
+
122
+ export interface SimplifiedUserInterface {
123
+ userid: string;
124
+ email: string;
125
+ firstName: string;
126
+ lastName: string;
127
+ form?: FormGroup;
128
+ }
@@ -0,0 +1,6 @@
1
+
2
+ export interface TableDataInterface {
3
+ total: number;
4
+ pageData: Array<any>;
5
+ systemSettings?: any;
6
+ }