@tuki-io/tuki-widgets 0.0.0

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 (117) 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 +27 -0
  6. package/angular.json +41 -0
  7. package/package.json +42 -0
  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/projects/tuki/widgets/src/public-api.ts +7 -0
  18. package/projects/tuki/widgets/src/test.ts +27 -0
  19. package/projects/tuki/widgets/styles/_variables.scss +90 -0
  20. package/projects/tuki/widgets/styles/form.scss +231 -0
  21. package/projects/tuki/widgets/styles/icons.scss +32 -0
  22. package/projects/tuki/widgets/styles/styles.scss +110 -0
  23. package/projects/tuki/widgets/styles/tables.scss +30 -0
  24. package/projects/tuki/widgets/tsconfig.lib.json +36 -0
  25. package/projects/tuki/widgets/tsconfig.lib.prod.json +10 -0
  26. package/projects/tuki/widgets/tsconfig.spec.json +17 -0
  27. package/projects/tuki/widgets/user-manage/ng-package.json +7 -0
  28. package/projects/tuki/widgets/user-manage/public-api.ts +6 -0
  29. package/projects/tuki/widgets/user-manage/src/app.constants.ts +38 -0
  30. package/projects/tuki/widgets/user-manage/src/classes/device.ts +225 -0
  31. package/projects/tuki/widgets/user-manage/src/classes/line.ts +117 -0
  32. package/projects/tuki/widgets/user-manage/src/classes/notification.ts +39 -0
  33. package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +18 -0
  34. package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +128 -0
  35. package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +6 -0
  36. package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +225 -0
  37. package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +40 -0
  38. package/projects/tuki/widgets/user-manage/src/classes/user.ts +8 -0
  39. package/projects/tuki/widgets/user-manage/src/common-functions.ts +16 -0
  40. package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +9 -0
  41. package/projects/tuki/widgets/user-manage/src/environments/environment.ts +10 -0
  42. package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +36 -0
  43. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
  44. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +3 -0
  45. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  46. package/projects/tuki/widgets/user-manage/src/material.module.ts +85 -0
  47. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +33 -0
  48. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +84 -0
  49. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +46 -0
  50. package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +25 -0
  51. package/projects/tuki/widgets/user-manage/src/services/api.service.ts +89 -0
  52. package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +68 -0
  53. package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +25 -0
  54. package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +35 -0
  55. package/projects/tuki/widgets/user-manage/src/services/user.service.ts +120 -0
  56. package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +58 -0
  57. package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +71 -0
  58. package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +90 -0
  59. package/projects/tuki/widgets/user-manage/src/styles/form.scss +231 -0
  60. package/projects/tuki/widgets/user-manage/src/styles/icons.scss +32 -0
  61. package/projects/tuki/widgets/user-manage/src/styles/styles.scss +110 -0
  62. package/projects/tuki/widgets/user-manage/src/styles/tables.scss +30 -0
  63. package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +68 -0
  64. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +32 -0
  65. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +53 -0
  66. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +19 -0
  67. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +291 -0
  68. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +461 -0
  69. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +163 -0
  70. package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +53 -0
  71. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +6 -0
  72. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  73. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +13 -0
  74. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +26 -0
  75. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +41 -0
  76. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +41 -0
  77. package/projects/tuki/widgets/users-list/ng-package.json +6 -0
  78. package/projects/tuki/widgets/users-list/public-api.ts +8 -0
  79. package/projects/tuki/widgets/users-list/src/app.constants.ts +35 -0
  80. package/projects/tuki/widgets/users-list/src/classes/device.ts +225 -0
  81. package/projects/tuki/widgets/users-list/src/classes/line.ts +117 -0
  82. package/projects/tuki/widgets/users-list/src/classes/notification.ts +38 -0
  83. package/projects/tuki/widgets/users-list/src/classes/pagination.ts +18 -0
  84. package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +74 -0
  85. package/projects/tuki/widgets/users-list/src/classes/table-data.ts +6 -0
  86. package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +225 -0
  87. package/projects/tuki/widgets/users-list/src/classes/user-list.ts +40 -0
  88. package/projects/tuki/widgets/users-list/src/classes/user.ts +8 -0
  89. package/projects/tuki/widgets/users-list/src/material.module.ts +84 -0
  90. package/projects/tuki/widgets/users-list/src/services/api.service.ts +87 -0
  91. package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +11 -0
  92. package/projects/tuki/widgets/users-list/src/services/notification.service.ts +68 -0
  93. package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +25 -0
  94. package/projects/tuki/widgets/users-list/src/services/user.service.ts +117 -0
  95. package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +58 -0
  96. package/projects/tuki/widgets/users-list/src/users-list.component.css +4 -0
  97. package/projects/tuki/widgets/users-list/src/users-list.component.css.map +1 -0
  98. package/projects/tuki/widgets/users-list/src/users-list.component.html +39 -0
  99. package/projects/tuki/widgets/users-list/src/users-list.component.scss +9 -0
  100. package/projects/tuki/widgets/users-list/src/users-list.component.ts +85 -0
  101. package/projects/tuki/widgets/users-list/src/users-list.module.ts +36 -0
  102. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css +11 -0
  103. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css.map +1 -0
  104. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +6 -0
  105. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +11 -0
  106. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +13 -0
  107. package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +16 -0
  108. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +33 -0
  109. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +84 -0
  110. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +46 -0
  111. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css +45 -0
  112. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css.map +1 -0
  113. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +26 -0
  114. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +41 -0
  115. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +41 -0
  116. package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +71 -0
  117. package/tsconfig.json +46 -0
@@ -0,0 +1,291 @@
1
+ <div class="header-box">
2
+ <div class="content-box">
3
+ <div class="header-back-block">
4
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M5.70746 7.99987L11.3539 2.35352C11.4453 2.25928 11.496 2.13287 11.495 2.00159C11.494 1.8703 11.4414 1.74467 11.3486 1.65183C11.2558 1.55899 11.1301 1.50639 10.9988 1.50539C10.8676 1.50438 10.7411 1.55506 10.6469 1.64647L4.64691 7.64647C4.55316 7.74023 4.50049 7.8674 4.50049 7.99999C4.50049 8.13259 4.55316 8.25975 4.64691 8.35352L10.6469 14.3535C10.6931 14.4011 10.7482 14.439 10.8092 14.4651C10.8702 14.4912 10.9357 14.5049 11.002 14.5054C11.0683 14.5059 11.134 14.4932 11.1954 14.468C11.2567 14.4429 11.3125 14.4058 11.3593 14.3589C11.4062 14.312 11.4433 14.2563 11.4685 14.1949C11.4936 14.1336 11.5063 14.0679 11.5058 14.0016C11.5053 13.9353 11.4916 13.8697 11.4655 13.8088C11.4394 13.7478 11.4015 13.6926 11.3539 13.6465L5.70746 7.99987Z" fill="black" fill-opacity="0.95"/>
6
+ </svg>
7
+ Users
8
+ </div>
9
+ <div class="header-button-block">
10
+ <button mat-raised-button
11
+ [disabled]="!userService.hasUnsavedChanges()"
12
+ (click)="saveChanges()">Save</button>
13
+ </div>
14
+ </div>
15
+ </div>
16
+ <app-user-info *ngIf="user" [name]="userName" [email]="user.email" [active]="false" [position]="'Sales Senior VP'"></app-user-info>
17
+
18
+ <mat-tab-group disableRipple class="content-box">
19
+ <mat-tab label="Profile">
20
+ <ng-container *ngTemplateOutlet="userProfile">
21
+ </ng-container>
22
+ </mat-tab>
23
+ <mat-tab ></mat-tab>
24
+ <mat-tab ></mat-tab>
25
+ <mat-tab ></mat-tab>
26
+ </mat-tab-group>
27
+
28
+ <ng-template #userProfile>
29
+ <form *ngIf="user && form" [formGroup]="form">
30
+ <div class="info-boxes-container">
31
+ <div *ngIf="dataPending == true" class="data-loader">
32
+ <mat-spinner [diameter]="50"></mat-spinner>
33
+ </div>
34
+
35
+ <!-- USER INFO BOX-->
36
+ <div class="user-info-box user-details-box">
37
+ <h3 class="user-box-title">User General Info</h3>
38
+ <div class="form-holder__inputs">
39
+ <div class="input-holder">
40
+ <div class="input-holder__name">User Id</div>
41
+ <div class="input-holder__input">
42
+ <mat-form-field appearance="outline">
43
+ <input formControlName="userid"
44
+ matInput (input)="onChangeField('userid')">
45
+ <mat-error
46
+ *ngIf="form.get('userid').hasError('required')">
47
+ <i class="fa fa-exclamation-triangle"></i>
48
+ This field is required
49
+ </mat-error>
50
+ <mat-error *ngIf="form.get('userid').hasError('exist')">
51
+ <i class="fa fa-exclamation-triangle"></i>
52
+ User ID already exists
53
+ </mat-error>
54
+ </mat-form-field>
55
+ </div>
56
+ </div>
57
+ <mat-divider></mat-divider>
58
+ <div class="input-holder">
59
+ <div class="input-holder__name">Email</div>
60
+ <div class="input-holder__input">
61
+ <mat-form-field appearance="outline">
62
+ <input formControlName="email"
63
+ matInput (input)="onChangeField('email')">
64
+ <mat-error
65
+ *ngIf="form.get('email').touched && form.get('email').hasError('required')">
66
+ <i class="fa fa-exclamation-triangle"></i>
67
+ This field is required
68
+ </mat-error>
69
+ <mat-error *ngIf="form.get('email').touched && form.get('email').hasError('pattern')">
70
+ <i class="fa fa-exclamation-triangle"></i>
71
+ Please enter valid email
72
+ </mat-error>
73
+ </mat-form-field>
74
+ </div>
75
+ </div>
76
+ <mat-divider></mat-divider>
77
+ <div class="input-holder">
78
+ <div class="input-holder__name">Fisrt Name</div>
79
+ <div class="input-holder__input">
80
+ <mat-form-field appearance="outline">
81
+ <input formControlName="firstName"
82
+ matInput (input)="onChangeField('firstName')">
83
+ </mat-form-field>
84
+ </div>
85
+ </div>
86
+ <mat-divider></mat-divider>
87
+ <div class="input-holder">
88
+ <div class="input-holder__name">Last Name</div>
89
+ <div class="input-holder__input">
90
+ <mat-form-field appearance="outline">
91
+ <input formControlName="lastName"
92
+ matInput (input)="onChangeField('lastName')">
93
+ <mat-error
94
+ *ngIf="form.get('lastName').touched && form.get('lastName').hasError('required')">
95
+ <i class="fa fa-exclamation-triangle"></i>
96
+ This field is required
97
+ </mat-error>
98
+ </mat-form-field>
99
+ </div>
100
+ </div>
101
+ <mat-divider></mat-divider>
102
+ </div>
103
+
104
+ </div>
105
+
106
+
107
+ <!-- USER INFO BOX-->
108
+ <div class="user-info-box user-details-box">
109
+ <h3 class="user-box-title">User General Info</h3>
110
+ <div class="form-holder__inputs">
111
+ <div class="input-holder">
112
+ <div class="input-holder__name">Department</div>
113
+ <div class="input-holder__input">
114
+ <mat-form-field appearance="outline">
115
+ <input formControlName="department" matInput type="text" (input)="onChangeField('department')">
116
+ </mat-form-field>
117
+ </div>
118
+ </div>
119
+ <mat-divider></mat-divider>
120
+ <div class="input-holder">
121
+ <div class="input-holder__name">Manager user ID</div>
122
+ <div class="input-holder__input">
123
+ <mat-form-field appearance="outline">
124
+ <input formControlName="manager" matInput type="text" (input)="onChangeField('manager')">
125
+ </mat-form-field>
126
+ </div>
127
+ </div>
128
+ <mat-divider></mat-divider>
129
+ <div class="input-holder">
130
+ <div class="input-holder__name">Associated PC</div>
131
+ <div class="input-holder__input">
132
+ <mat-form-field appearance="outline">
133
+ <input formControlName="associatedPc" matInput type="text" (input)="onChangeField('associatedPc')">
134
+ </mat-form-field>
135
+ </div>
136
+ </div>
137
+ <mat-divider></mat-divider>
138
+ <div class="input-holder">
139
+ <div class="input-holder__name">Digest credentials</div>
140
+ <div class="input-holder__input">
141
+ <mat-form-field appearance="outline">
142
+ <input formControlName="digestCredentials" matInput type="text" (input)="onChangeField('digestCredentials')">
143
+ </mat-form-field>
144
+ </div>
145
+ </div>
146
+ <mat-divider></mat-divider>
147
+ <div class="input-holder">
148
+ <div class="input-holder__name">User profile</div>
149
+ <div class="input-holder__input">
150
+ <app-lazy-loading-select
151
+ [siteId]="siteId"
152
+ [controlName]="'userProfile'"
153
+ [form]="user.form"
154
+ (changeField)="changeField('userProfile')"
155
+ [optionsToken]="'userProfiles'"
156
+ ></app-lazy-loading-select>
157
+ </div>
158
+ </div>
159
+ <mat-divider></mat-divider>
160
+ <div class="input-holder">
161
+ <div class="input-holder__name">Mobile voice access</div>
162
+ <div class="input-holder__input">
163
+ <mat-slide-toggle
164
+ formControlName="enableMobileVoiceAccess"
165
+ (change)="onChangeField('enableMobileVoiceAccess')"
166
+ [checked]="user.enableMobileVoiceAccess">
167
+ </mat-slide-toggle>
168
+ </div>
169
+ </div>
170
+ <mat-divider></mat-divider>
171
+ <div class="input-holder">
172
+ <div class="input-holder__name">Userlocale</div>
173
+ <div class="input-holder__input">
174
+ <app-lazy-loading-select
175
+ [siteId]="siteId"
176
+ [controlName]="'userLocale'"
177
+ [form]="user.form"
178
+ (changeField)="changeField($event)"
179
+ [optionsToken]="'userLocales'"
180
+ [default]="{key: '', value: 'None', disabled: false}">
181
+ </app-lazy-loading-select>
182
+ </div>
183
+ </div>
184
+ <mat-divider></mat-divider>
185
+ <div class="input-holder">
186
+ <div class="input-holder__name">Confirm digest credentials</div>
187
+ <div class="input-holder__input">
188
+ <mat-form-field appearance="outline">
189
+ <input formControlName="confirmDigestCredentials" matInput type="text" (input)="onChangeField('confirmDigestCredentials')">
190
+ </mat-form-field>
191
+ </div>
192
+ </div>
193
+ </div>
194
+ </div>
195
+
196
+ <!-- USER INFO BOX-->
197
+ <div class="user-info-box user-details-box">
198
+ <h3 class="user-box-title">Contact Information</h3>
199
+ <div class="form-holder__inputs">
200
+ <div class="input-holder">
201
+ <div class="input-holder__name">Middle Name</div>
202
+ <div class="input-holder__input">
203
+ <mat-form-field appearance="outline">
204
+ <input matInput type="text" formControlName="middleName" (input)="onChangeField('middleName')">
205
+ </mat-form-field>
206
+ </div>
207
+ </div>
208
+ <mat-divider></mat-divider>
209
+ <div class="input-holder">
210
+ <div class="input-holder__name">Telephone Number</div>
211
+ <div class="input-holder__input">
212
+ <mat-form-field appearance="outline">
213
+ <input matInput type="number" formControlName="telephoneNumber" (input)="onChangeField('telephoneNumber')">
214
+ </mat-form-field>
215
+ </div>
216
+ </div>
217
+ <mat-divider></mat-divider>
218
+ <div class="input-holder">
219
+ <div class="input-holder__name">Mobile Number</div>
220
+ <div class="input-holder__input">
221
+ <mat-form-field appearance="outline">
222
+ <input matInput type="number" formControlName="mobileNumber" (input)="onChangeField('mobileNumber')">
223
+ </mat-form-field>
224
+ </div>
225
+ </div>
226
+ <mat-divider></mat-divider>
227
+ <div class="input-holder">
228
+ <div class="input-holder__name">Digest credentials</div>
229
+ <div class="input-holder__input">
230
+ <mat-form-field appearance="outline">
231
+ <input matInput type="text" formControlName="digestCredentials" (input)="onChangeField('digestCredentials')">
232
+ </mat-form-field>
233
+ </div>
234
+ </div>
235
+ <mat-divider></mat-divider>
236
+ <div class="input-holder">
237
+ <div class="input-holder__name">Diractory URI</div>
238
+ <div class="input-holder__input">
239
+ <mat-form-field appearance="outline">
240
+ <input matInput type="text" formControlName="directoryUri" (input)="onChangeField('directoryUri')">
241
+ </mat-form-field>
242
+ </div>
243
+ </div>
244
+ <mat-divider></mat-divider>
245
+ <div class="input-holder">
246
+ <div class="input-holder__name">Title</div>
247
+ <div class="input-holder__input">
248
+ <mat-form-field appearance="outline">
249
+ <input matInput type="text" formControlName="title" (input)="onChangeField('title')">
250
+ </mat-form-field>
251
+ </div>
252
+ </div>
253
+ <mat-divider></mat-divider>
254
+ <div class="input-holder">
255
+ <div class="input-holder__name">Home Number</div>
256
+ <div class="input-holder__input">
257
+ <mat-form-field appearance="outline">
258
+ <input matInput type="number" formControlName="homeNumber" (input)="onChangeField('homeNumber')">
259
+ </mat-form-field>
260
+ </div>
261
+ </div>
262
+ <mat-divider></mat-divider>
263
+ <div class="input-holder">
264
+ <div class="input-holder__name">Pager Number</div>
265
+ <div class="input-holder__input">
266
+ <mat-form-field appearance="outline">
267
+ <input matInput type="number" formControlName="pagerNumber" (input)="onChangeField('pagerNumber')">
268
+ </mat-form-field>
269
+ </div>
270
+ </div>
271
+ <mat-divider></mat-divider>
272
+ <div class="input-holder">
273
+ <div class="input-holder__name">Display Name</div>
274
+ <div class="input-holder__input">
275
+ <mat-form-field appearance="outline">
276
+ <input matInput type="text" formControlName="displayName" (input)="onChangeField('displayName')">
277
+ </mat-form-field>
278
+ </div>
279
+ </div>
280
+ </div>
281
+ </div>
282
+
283
+ </div>
284
+
285
+ </form>
286
+ </ng-template>
287
+
288
+ <mat-progress-spinner *ngIf="dataPending"
289
+ class="page-spinner"
290
+ mode="indeterminate"
291
+ [diameter]="120"></mat-progress-spinner>