@skysoftware-co/bayan-hr-widgets-ui 2.0.15 → 2.0.16
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.
package/README.md
CHANGED
|
@@ -1,1173 +1,1246 @@
|
|
|
1
|
-
# shared-ui
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 21.2.11.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project shared-ui` to generate a new component.
|
|
8
|
-
You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project shared-ui`.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
components
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
|
151
|
-
|
|
|
152
|
-
| `
|
|
153
|
-
| `
|
|
154
|
-
| `
|
|
155
|
-
| `
|
|
156
|
-
| `
|
|
157
|
-
| `
|
|
158
|
-
| `
|
|
159
|
-
| `
|
|
160
|
-
| `
|
|
161
|
-
| `
|
|
162
|
-
| `
|
|
163
|
-
| `
|
|
164
|
-
| `
|
|
165
|
-
| `
|
|
166
|
-
| `
|
|
167
|
-
| `
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
170
|
-
| `
|
|
171
|
-
| `
|
|
172
|
-
| `
|
|
173
|
-
| `
|
|
174
|
-
| `
|
|
175
|
-
| `
|
|
176
|
-
| `
|
|
177
|
-
| `
|
|
178
|
-
| `
|
|
179
|
-
| `
|
|
180
|
-
| `
|
|
181
|
-
| `
|
|
182
|
-
| `
|
|
183
|
-
| `
|
|
184
|
-
| `
|
|
185
|
-
| `
|
|
186
|
-
| `
|
|
187
|
-
| `
|
|
188
|
-
| `
|
|
189
|
-
| `
|
|
190
|
-
| `
|
|
191
|
-
| `
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
|
219
|
-
|
|
|
220
|
-
| `
|
|
221
|
-
| `
|
|
222
|
-
| `
|
|
223
|
-
| `
|
|
224
|
-
| `
|
|
225
|
-
| `
|
|
226
|
-
| `
|
|
227
|
-
| `
|
|
228
|
-
| `
|
|
229
|
-
| `
|
|
230
|
-
| `
|
|
231
|
-
| `
|
|
232
|
-
| `
|
|
233
|
-
| `
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
|
237
|
-
|
|
238
|
-
| `
|
|
239
|
-
| `
|
|
240
|
-
| `
|
|
241
|
-
| `
|
|
242
|
-
| `
|
|
243
|
-
| `
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
|
278
|
-
|
|
|
279
|
-
| `
|
|
280
|
-
| `
|
|
281
|
-
| `
|
|
282
|
-
| `
|
|
283
|
-
| `
|
|
284
|
-
| `
|
|
285
|
-
| `
|
|
286
|
-
| `
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
|
381
|
-
|
|
|
382
|
-
| `
|
|
383
|
-
| `
|
|
384
|
-
| `
|
|
385
|
-
| `
|
|
386
|
-
| `
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
- `
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
```
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
|
461
|
-
|
|
462
|
-
| `
|
|
463
|
-
| `
|
|
464
|
-
| `
|
|
465
|
-
| `
|
|
466
|
-
| `
|
|
467
|
-
| `
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
|
504
|
-
|
|
505
|
-
| `
|
|
506
|
-
| `
|
|
507
|
-
| `
|
|
508
|
-
| `
|
|
509
|
-
| `
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
|
548
|
-
|
|
549
|
-
| `
|
|
550
|
-
| `
|
|
551
|
-
| `
|
|
552
|
-
| `
|
|
553
|
-
| `
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
|
587
|
-
|
|
588
|
-
| `
|
|
589
|
-
| `
|
|
590
|
-
| `
|
|
591
|
-
| `
|
|
592
|
-
| `
|
|
593
|
-
| `
|
|
594
|
-
| `
|
|
595
|
-
| `
|
|
596
|
-
| `
|
|
597
|
-
| `
|
|
598
|
-
| `
|
|
599
|
-
| `
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
- `
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
```html
|
|
611
|
-
<hr-my-profile-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
|
620
|
-
|
|
621
|
-
| `
|
|
622
|
-
| `
|
|
623
|
-
| `
|
|
624
|
-
| `
|
|
625
|
-
| `
|
|
626
|
-
| `
|
|
627
|
-
| `
|
|
628
|
-
| `
|
|
629
|
-
| `
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
|
655
|
-
|
|
|
656
|
-
| `
|
|
657
|
-
| `
|
|
658
|
-
| `
|
|
659
|
-
| `
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
<
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
```
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
|
688
|
-
|
|
|
689
|
-
| `
|
|
690
|
-
| `
|
|
691
|
-
| `
|
|
692
|
-
| `
|
|
693
|
-
| `
|
|
694
|
-
| `
|
|
695
|
-
| `
|
|
696
|
-
| `
|
|
697
|
-
| `
|
|
698
|
-
| `
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
|
724
|
-
|
|
725
|
-
| `
|
|
726
|
-
| `
|
|
727
|
-
| `
|
|
728
|
-
| `
|
|
729
|
-
| `
|
|
730
|
-
| `
|
|
731
|
-
| `
|
|
732
|
-
| `
|
|
733
|
-
| `
|
|
734
|
-
| `
|
|
735
|
-
| `
|
|
736
|
-
| `
|
|
737
|
-
| `
|
|
738
|
-
| `
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
|
768
|
-
|
|
|
769
|
-
| `
|
|
770
|
-
| `
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
|
801
|
-
|
|
|
802
|
-
| `
|
|
803
|
-
| `
|
|
804
|
-
| `
|
|
805
|
-
| `
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
|
887
|
-
|
|
888
|
-
| `
|
|
889
|
-
| `sectionTitle`
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
###
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
|
993
|
-
|
|
994
|
-
| `
|
|
995
|
-
| `
|
|
996
|
-
| `
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
|
1028
|
-
|
|
1029
|
-
| `
|
|
1030
|
-
| `
|
|
1031
|
-
| `
|
|
1032
|
-
| `
|
|
1033
|
-
| `
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
|
1061
|
-
|
|
1062
|
-
| `
|
|
1063
|
-
| `
|
|
1064
|
-
| `
|
|
1065
|
-
| `
|
|
1066
|
-
| `
|
|
1067
|
-
| `
|
|
1068
|
-
| `
|
|
1069
|
-
| `
|
|
1070
|
-
| `
|
|
1071
|
-
| `
|
|
1072
|
-
| `
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
|
1093
|
-
|
|
|
1094
|
-
| `
|
|
1095
|
-
| `
|
|
1096
|
-
| `
|
|
1097
|
-
| `
|
|
1098
|
-
| `
|
|
1099
|
-
| `
|
|
1100
|
-
| `
|
|
1101
|
-
| `
|
|
1102
|
-
| `
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
- `
|
|
1108
|
-
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
1109
|
-
|
|
1110
|
-
## My Profile
|
|
1111
|
-
|
|
1112
|
-
### Usage
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
(
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
|
1130
|
-
|
|
|
1131
|
-
| `
|
|
1132
|
-
| `
|
|
1133
|
-
| `
|
|
1134
|
-
| `
|
|
1135
|
-
| `
|
|
1136
|
-
| `
|
|
1137
|
-
| `
|
|
1138
|
-
| `
|
|
1139
|
-
| `
|
|
1140
|
-
| `
|
|
1141
|
-
| `
|
|
1142
|
-
| `
|
|
1143
|
-
| `
|
|
1144
|
-
| `
|
|
1145
|
-
| `
|
|
1146
|
-
| `
|
|
1147
|
-
| `
|
|
1148
|
-
| `
|
|
1149
|
-
| `
|
|
1150
|
-
| `
|
|
1151
|
-
| `
|
|
1152
|
-
| `
|
|
1153
|
-
| `
|
|
1154
|
-
| `
|
|
1155
|
-
| `
|
|
1156
|
-
| `
|
|
1157
|
-
| `
|
|
1158
|
-
| `
|
|
1159
|
-
| `
|
|
1160
|
-
| `
|
|
1161
|
-
| `
|
|
1162
|
-
| `
|
|
1163
|
-
| `
|
|
1164
|
-
| `
|
|
1165
|
-
| `
|
|
1166
|
-
| `
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1
|
+
# shared-ui
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 21.2.11.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project shared-ui` to generate a new component.
|
|
8
|
+
You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project shared-ui`.
|
|
9
|
+
|
|
10
|
+
> Note: Don't forget to add `--project shared-ui` or else it will be added to the default project in your `angular.json` file.
|
|
11
|
+
|
|
12
|
+
## Build
|
|
13
|
+
|
|
14
|
+
Run `ng build HRComponents` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
15
|
+
|
|
16
|
+
## Publishing
|
|
17
|
+
|
|
18
|
+
After building your library with `ng build HRComponents`, go to the dist folder `cd dist/shared-ui` and run `npm publish`.
|
|
19
|
+
|
|
20
|
+
## Running unit tests
|
|
21
|
+
|
|
22
|
+
Run `ng test shared-ui` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
23
|
+
|
|
24
|
+
## Further help
|
|
25
|
+
|
|
26
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
|
|
27
|
+
|
|
28
|
+
## Sky Bayan HR Components
|
|
29
|
+
|
|
30
|
+
This package contains shared HR components used in Bayan HR system, you can find in first installation the below
|
|
31
|
+
components:
|
|
32
|
+
|
|
33
|
+
1. My Main Details Widget
|
|
34
|
+
2. My Upcoming Events Widget
|
|
35
|
+
3. My Calendar Widget
|
|
36
|
+
4. My Next Week Vacation Insights Widget
|
|
37
|
+
5. My Profile Personal Info Main Widget
|
|
38
|
+
6. My Profile Personal Info Contact Widget
|
|
39
|
+
7. My Profile Personal Info Address Widget
|
|
40
|
+
8. My Profile Personal Info Languages Widget
|
|
41
|
+
9. My Profile Personal Info Other Nationalities Widget
|
|
42
|
+
10. My Profile Experiences Widget
|
|
43
|
+
11. My Profile Degrees Widget
|
|
44
|
+
12. My Profile Bank Information Widget
|
|
45
|
+
13. My Profile Job Info Main Widget
|
|
46
|
+
14. My Profile Job Info Contract Widget
|
|
47
|
+
15. My Profile Job Info Salary Widget
|
|
48
|
+
16. My Profile Job Info Service Charge Widget
|
|
49
|
+
17. My Profile Employee Dependents Widget
|
|
50
|
+
18. My Profile Entitlements Vacations Widget
|
|
51
|
+
19. My Profile Entitlements Indemnity Widget
|
|
52
|
+
20. My Profile Entitlements Ticket Widget
|
|
53
|
+
21. My Profile Entitlements Medical Insurance Widget
|
|
54
|
+
22. My Profile Entitlements Others Widget
|
|
55
|
+
23. My Profile Employee Documents Widget
|
|
56
|
+
24. My Profile Dependents Documents Widget
|
|
57
|
+
25. My Team Subordinates Popup Widget
|
|
58
|
+
|
|
59
|
+
## Dependencies
|
|
60
|
+
|
|
61
|
+
This library depends on `@skysoftware-co/bayan-components-ui` package which provides:
|
|
62
|
+
|
|
63
|
+
- Employee Badge Component
|
|
64
|
+
|
|
65
|
+
## Installation
|
|
66
|
+
|
|
67
|
+
use npm to install this package by command: @skysoftware-co/bayan-hr-widgets-ui
|
|
68
|
+
|
|
69
|
+
## Setup
|
|
70
|
+
|
|
71
|
+
Before using any component, you need to configure translation using `TranslationService` from `@skysoftware-co/sky-components-ui` and `TranslateService` from `@ngx-translate/core`, then provide `TranslatePipe` in your application.
|
|
72
|
+
|
|
73
|
+
### 1. Set language and lexicon in your App Component
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
import { Component, inject, OnInit } from '@angular/core';
|
|
77
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
78
|
+
import { TranslationService } from '@skysoftware-co/sky-components-ui';
|
|
79
|
+
|
|
80
|
+
@Component({
|
|
81
|
+
selector: 'app-root',
|
|
82
|
+
...
|
|
83
|
+
})
|
|
84
|
+
export class AppComponent implements OnInit {
|
|
85
|
+
private translateService = inject(TranslateService);
|
|
86
|
+
private translationService = inject(TranslationService);
|
|
87
|
+
|
|
88
|
+
ngOnInit(): void {
|
|
89
|
+
// Set the active language ('en', 'ar', 'fr')
|
|
90
|
+
this.translateService.use('en');
|
|
91
|
+
|
|
92
|
+
// Optionally set a lexicon for additional or override translations
|
|
93
|
+
this.translationService.setLexicon({
|
|
94
|
+
'CustomKey': 'Custom Value',
|
|
95
|
+
...
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 2. Provide the TranslatePipe
|
|
102
|
+
|
|
103
|
+
Add `TranslatePipe` to the `providers` array in your App Component:
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
import { TranslatePipe } from '@skysoftware-co/sky-components-ui';
|
|
107
|
+
|
|
108
|
+
@Component({
|
|
109
|
+
selector: 'app-root',
|
|
110
|
+
standalone: true,
|
|
111
|
+
imports: [...],
|
|
112
|
+
providers: [TranslatePipe],
|
|
113
|
+
...
|
|
114
|
+
})
|
|
115
|
+
export class AppComponent { }
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Constants Service
|
|
119
|
+
|
|
120
|
+
### Usage
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
import { HRConstantsService } from '@skysoftware-co/bayan-hr-widgets-ui';
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
This service provides default constant values used across HR components, you can override them at runtime.
|
|
127
|
+
|
|
128
|
+
### Properties
|
|
129
|
+
|
|
130
|
+
| Property | Type | Default Value | Description |
|
|
131
|
+
| ----------------------------- | ------ | ------------- | --------------------------------------------------------- |
|
|
132
|
+
| `defaultVacationBalanceColor` | string | `'#727070'` | Default color for vacation balance indicator |
|
|
133
|
+
| `defaultVacationColor` | string | `'#DCDCDC'` | Default color for vacation type when no color is assigned |
|
|
134
|
+
| `defaultPublicHolidayColor` | string | `'#249EA0'` | Default color for public holidays in calendar |
|
|
135
|
+
| `defaultDayOffColor` | string | `'#FCCF5A'` | Default color for days off in calendar |
|
|
136
|
+
| `defaultEventsColor` | string | `'#e67e0f'` | Default color for events in calendar |
|
|
137
|
+
|
|
138
|
+
## My Main Details Widget Component
|
|
139
|
+
|
|
140
|
+
### Usage
|
|
141
|
+
|
|
142
|
+
```html
|
|
143
|
+
<hr-my-main-details-widget></hr-my-main-details-widget>
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
This component is used in Bayan HR system to show the employee main information widget in the employee portal home page. It displays employee info, shortcuts, reporting info, service years and vacation balances. This component uses `<bayan-employee-badge>` from `@skysoftware-co/bayan-components-ui` package.
|
|
147
|
+
|
|
148
|
+
### Input Properties
|
|
149
|
+
|
|
150
|
+
| Input | Type | Default Value | Description |
|
|
151
|
+
| ----------------------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------ | -------------------------------------------------- |
|
|
152
|
+
| `badgeClass` | string | `'badge employee-rounded-badge-xl fs-5'` | Badge CSS class |
|
|
153
|
+
| `badgeImageClass` | string | `'rounded-circle shadow-lg'` | Badge image CSS class |
|
|
154
|
+
| `badgeWidth` | string | `'50px'` | Badge width |
|
|
155
|
+
| `badgeHeight` | string | `'50px'` | Badge height |
|
|
156
|
+
| `employeeInfoContainerClass` | string | `'d-flex align-content-center'` | Employee info container CSS class |
|
|
157
|
+
| `employeeDetailsClass` | string | `'ms-3'` | Employee details CSS class |
|
|
158
|
+
| `employeeNameContainerClass` | string | `'d-flex align-items-center'` | Employee name container CSS class |
|
|
159
|
+
| `employeeNameClass` | string | `'fs-14 text-dark-gray fw-medium text-ellipsis-one-line'` | Employee name CSS class |
|
|
160
|
+
| `employeePositionClass` | string | `'fs-12 fw-normal text-dark-gray text-ellipsis-one-line mb-1'` | Employee position CSS class |
|
|
161
|
+
| `employeeGradeClass` | string | `'fs-12 text-dark-gray'` | Employee grade CSS class |
|
|
162
|
+
| `containerClass` | string | `'card rounded rounded-4 card-shadow p-16 border-top-0 mb-4'` | Main container CSS class |
|
|
163
|
+
| `cardBodyClass` | string | `'card-body p-4'` | Card body CSS class |
|
|
164
|
+
| `headerRowClass` | string | `'d-md-flex justify-content-between align-items-center mt-2 mb-3'` | Header row CSS class |
|
|
165
|
+
| `shortcutsContainerClass` | string | `'d-flex justify-content-md-end justify-content-sm-start fs-12 fw-normal text-secondary mt-3 mt-md-0'` | Shortcuts container CSS class |
|
|
166
|
+
| `shortcutItemClass` | string | `'d-flex flex-column align-items-center mx-2 wp-60'` | Shortcut item CSS class |
|
|
167
|
+
| `shortcutIconContainerClass` | string | `'d-flex justify-content-center align-items-center rounded-circle-40 cursor-pointer'` | Shortcut icon container CSS class |
|
|
168
|
+
| `shortcutIconClass` | string | `'fs-4'` | Shortcut icon CSS class |
|
|
169
|
+
| `shortcutTextClass` | string | `'text-center mt-1'` | Shortcut text CSS class |
|
|
170
|
+
| `detailsRowClass` | string | `'d-flex mt-4'` | Details row CSS class |
|
|
171
|
+
| `reportingBlockClass` | string | `'d-flex text-secondary align-items-center mb-2 mx-2'` | Reporting block CSS class |
|
|
172
|
+
| `captionLabelClasses` | string | `'d-flex flex-column align-self-start fs-14 text-dark-gray'` | Caption label CSS class |
|
|
173
|
+
| `captionLabelValueClass` | string | `'fw-medium mt-2'` | Caption label value CSS class |
|
|
174
|
+
| `vacationBalancesContainerClass` | string | `'d-flex text-secondary align-items-center mb-2'` | Vacation balances container CSS class |
|
|
175
|
+
| `vacationBalanceItemClass` | string | `'d-flex flex-column me-4'` | Vacation balance item CSS class |
|
|
176
|
+
| `vacationBalanceHeaderClass` | string | `'d-flex align-items-center'` | Vacation balance header CSS class |
|
|
177
|
+
| `vacationColorDotClass` | string | `'vacation-color-container-sm'` | Vacation color dot CSS class |
|
|
178
|
+
| `vacationTypeNameClass` | string | `'mx-2 fs-14 fw-normal text-dark-gray'` | Vacation type name CSS class |
|
|
179
|
+
| `vacationBalanceValueRowClass` | string | `'d-flex mt-2'` | Vacation balance value row CSS class |
|
|
180
|
+
| `vacationBalanceValueClass` | string | `'mx-2 fw-medium fs-14 text-dark-gray'` | Vacation balance value CSS class |
|
|
181
|
+
| `tooltipTriggerLinkClass` | string | `'d-flex align-items-center cursor-pointer'` | Tooltip trigger link CSS class |
|
|
182
|
+
| `tooltipTriggerTextClass` | string | `'mx-2 fs-14 text-dark-gray'` | Tooltip trigger text CSS class |
|
|
183
|
+
| `tooltipVacationRowClass` | string | `'d-flex align-items-center justify-content-around fs-12 mb-2'` | Tooltip vacation row CSS class |
|
|
184
|
+
| `tooltipVacationNameContainerClass` | string | `'d-flex flex-grow-1 align-items-center me-5'` | Tooltip vacation name container CSS class |
|
|
185
|
+
| `tooltipVacationNameClass` | string | `'mx-2'` | Tooltip vacation name CSS class |
|
|
186
|
+
| `reportingToLabel` | string | `'ReportingTo'` | Reporting to label text |
|
|
187
|
+
| `emptyReportingToLabel` | string | `'NotAnknown'` | Empty reporting to label text |
|
|
188
|
+
| `serviceYearsLabel` | string | `'ServiceYears'` | Service years label text |
|
|
189
|
+
| `moreLabel` | string | `'More'` | More label text |
|
|
190
|
+
| `dayLabel` | string | `'day'` | Day label text |
|
|
191
|
+
| `daysLabel` | string | `'days'` | Days label text |
|
|
192
|
+
| `yearsLabel` | string | `'Years'` | Years label text |
|
|
193
|
+
| `monthsLabel` | string | `'Months'` | Months label text |
|
|
194
|
+
| `defaultVacationBalanceColor` | string | from `HRConstantsService`: `'#727070'` | Default vacation balance color indicator |
|
|
195
|
+
| `defaultVacationColor` | string | from `HRConstantsService`: `'#DCDCDC'` | Default vacation type color when no color assigned |
|
|
196
|
+
| `baseUrl` | string | `''` | Base URL for API calls |
|
|
197
|
+
| `isMobile` | boolean | `false` | Mobile responsive mode |
|
|
198
|
+
| `isTablet` | boolean | `false` | Tablet responsive mode |
|
|
199
|
+
| `shortcuts` | MainWidgetShortcutItem[] | `[]` | List of shortcut items to display |
|
|
200
|
+
|
|
201
|
+
### Output Events
|
|
202
|
+
|
|
203
|
+
- `onShortcutClicked: EventEmitter<MainWidgetShortcutItem>` - Emitted when the shortcut is clicked and has no navigation URL
|
|
204
|
+
- `isLoadingChanged: EventEmitter<boolean>` - When loading state changes
|
|
205
|
+
|
|
206
|
+
## My Upcoming Events Widget Component
|
|
207
|
+
|
|
208
|
+
### Usage
|
|
209
|
+
|
|
210
|
+
```html
|
|
211
|
+
<hr-my-upcoming-events-widget></hr-my-upcoming-events-widget>
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
This component displays upcoming events (birthdays and public holidays) in a card view with tab filtering and a popup for viewing all events. It uses `SkyAlertToastService` from `@skysoftware-co/sky-components-ui` for error notifications.
|
|
215
|
+
|
|
216
|
+
### Input Properties
|
|
217
|
+
|
|
218
|
+
| Input | Type | Default Value | Description |
|
|
219
|
+
| --------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
|
|
220
|
+
| `baseUrl` | string | `''` | Base URL for API calls |
|
|
221
|
+
| `weekendWarningDescription` | string | `'WeekendDayNotDefined'` | Warning text when weekend is not configured |
|
|
222
|
+
| `selectedLanguage` | string | `'en'` | Selected language (`'en'`, `'ar'`, `'fr'`) |
|
|
223
|
+
| `showProperty` | boolean | `true` | Show employee property badge on birthday events |
|
|
224
|
+
| `externalViewAll` | boolean | `false` | When true, emits `viewAllClicked` instead of opening popup |
|
|
225
|
+
| `cardClass` | string | `'bg-light-gray border-0 card p-3 card-shadow rounded rounded-4 mt-3'` | Card container CSS class |
|
|
226
|
+
| `noEventsTextClass` | string | `'text-center my-3 text-light-gray'` | No events text CSS class |
|
|
227
|
+
| `viewAllLinkClass` | string | `'fs-14 mt-2'` | View all link CSS class |
|
|
228
|
+
| `viewAllContainerClass` | string | `'d-flex justify-content-end cursor-pointer'` | View all container CSS class |
|
|
229
|
+
| `warningTextClass` | string | `'text-center my-2 text-light-gray'` | Warning text CSS class |
|
|
230
|
+
| `tabSelectedClass` | string | `'selected-event-option'` | Selected tab CSS class |
|
|
231
|
+
| `tabNotSelectedClass` | string | `'not-selected-event-option'` | Not selected tab CSS class |
|
|
232
|
+
| `tabTextSelectedClass` | string | `'text-white'` | Selected tab text CSS class |
|
|
233
|
+
| `tabTextNotSelectedClass` | string | `'text-primary'` | Not selected tab text CSS class |
|
|
234
|
+
| `tabContainerClass` | string | `'d-flex gap-2 mb-3'` | Tab bar container CSS class |
|
|
235
|
+
| `tabItemClass` | string | `'col-1 align-items-center rounded rounded-3 cursor-pointer text-center d-flex justify-content-center py-2 px-3'` | Tab item CSS class |
|
|
236
|
+
| `tabTextClass` | string | `'fs-16'` | Tab text CSS class |
|
|
237
|
+
| `tabIconClass` | string | `'fs-6'` | Tab icon CSS class |
|
|
238
|
+
| `eventIconClass` | string | `'fs-6 text-primary pe-2'` | Event icon CSS class |
|
|
239
|
+
| `eventNameBoldClass` | string | `'fw-medium'` | Event name bold CSS class |
|
|
240
|
+
| `eventDescriptionClass` | string | `'text-primary fw-medium'` | Event description CSS class |
|
|
241
|
+
| `propertyBadgeClass` | string | `'property-badge cursor-pointer me-1'` | Property badge CSS class |
|
|
242
|
+
| `dateFormat` | string | `'dd/MM/yyyy'` | Date format for event dates |
|
|
243
|
+
| `labels` | UpcomingEventsLabels | _(see below)_ | Localization labels |
|
|
244
|
+
|
|
245
|
+
### Labels Default Values
|
|
246
|
+
|
|
247
|
+
| Label | Default |
|
|
248
|
+
| ---------------- | ----------------------- |
|
|
249
|
+
| `upcomingEvents` | `'Upcoming Events'` |
|
|
250
|
+
| `birthday` | `'Birthday'` |
|
|
251
|
+
| `publicHoliday` | `'Public Holiday'` |
|
|
252
|
+
| `during` | `'During'` |
|
|
253
|
+
| `isIn` | `'is in'` |
|
|
254
|
+
| `is` | `'is'` |
|
|
255
|
+
| `in` | `'In'` |
|
|
256
|
+
| `noEvents` | `'There are no events'` |
|
|
257
|
+
| `all` | `'All'` |
|
|
258
|
+
| `viewAll` | `'View All'` |
|
|
259
|
+
|
|
260
|
+
### Output Events
|
|
261
|
+
|
|
262
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes
|
|
263
|
+
- `viewAllClicked: EventEmitter<void>` - Emitted when view all is clicked (only when `externalViewAll` is true)
|
|
264
|
+
|
|
265
|
+
## My Calendar Widget Component
|
|
266
|
+
|
|
267
|
+
### Usage
|
|
268
|
+
|
|
269
|
+
```html
|
|
270
|
+
<hr-my-calendar-widget [baseUrl]="environment.baseUrl"> </hr-my-calendar-widget>
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
This component displays an employee calendar showing vacations, public holidays, days off, and events. It uses DevExtreme Calendar (`DxCalendarModule`) with custom cell templates to render color-coded date ranges. The calendar loads 12 months of data starting from one month before the current date.
|
|
274
|
+
|
|
275
|
+
### Input Properties
|
|
276
|
+
|
|
277
|
+
| Input | Type | Default Value | Description |
|
|
278
|
+
| ------------------------- | ---------------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
279
|
+
| `baseUrl` | string | `''` | Base URL for API calls |
|
|
280
|
+
| `headerContainerClass` | string | `''` | Additional CSS class for the header container |
|
|
281
|
+
| `datasource` | `ScheduleRequestsResponse \| null` | `null` | External datasource for pending requests. When provided, pending vacation requests are merged with calendar vacations (consecutive same-type vacations are combined), and pending event requests are added as events. The calendar reactively updates whenever this input changes after the initial calendar data has loaded. |
|
|
282
|
+
| `publicHolidayColor` | string | from `HRConstantsService`: `'#249EA0'` | Color for public holidays |
|
|
283
|
+
| `dayOffColor` | string | from `HRConstantsService`: `'#FCCF5A'` | Color for days off |
|
|
284
|
+
| `eventsColor` | string | from `HRConstantsService`: `'#e67e0f'` | Color for events |
|
|
285
|
+
| `legendContainerClass` | string | `'row mb-2'` | Legend container CSS class |
|
|
286
|
+
| `legendRowClass` | string | `'d-flex'` | Legend row CSS class |
|
|
287
|
+
| `legendItemClass` | string | `'d-flex align-items-center'` | Legend item CSS class |
|
|
288
|
+
| `legendDotClass` | string | `'me-1 circle-sm'` | Legend dot CSS class |
|
|
289
|
+
| `legendLabelClass` | string | `'me-1 fs-12'` | Legend label CSS class |
|
|
290
|
+
| `publicHolidayDotClass` | string | `'bg-accent'` | Public holiday dot CSS class |
|
|
291
|
+
| `dayOffDotClass` | string | `'bg-yellow'` | Day off dot CSS class |
|
|
292
|
+
| `eventsDotClass` | string | `'bg-primary'` | Events dot CSS class |
|
|
293
|
+
| `vacationsContainerClass` | string | `'d-flex mt-3'` | Vacations legend container CSS class |
|
|
294
|
+
| `vacationsItemClass` | string | `'d-flex align-items-center'` | Vacations legend item CSS class |
|
|
295
|
+
| `vacationsIconClass` | string | `'fs-8 me-1'` | Vacations icon CSS class |
|
|
296
|
+
| `calendarContainerClass` | string | `'row mt-2 col-12'` | Calendar container CSS class |
|
|
297
|
+
| `calendarClass` | string | `'button-boeder-none'` | Calendar CSS class |
|
|
298
|
+
|
|
299
|
+
### Output Events
|
|
300
|
+
|
|
301
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes
|
|
302
|
+
|
|
303
|
+
### API Endpoint
|
|
304
|
+
|
|
305
|
+
The component calls `GET {baseUrl}/hr/employee-portal/calendar` with query parameters:
|
|
306
|
+
|
|
307
|
+
- `Month` - Starting month
|
|
308
|
+
- `Year` - Starting year
|
|
309
|
+
- `MonthsCount` - Number of months to load (default: 12)
|
|
310
|
+
- Header: `api-version: 2`
|
|
311
|
+
|
|
312
|
+
## My Next Week Vacation Insights Widget Component
|
|
313
|
+
|
|
314
|
+
### Usage
|
|
315
|
+
|
|
316
|
+
```html
|
|
317
|
+
<hr-my-next-week-vacation-insights-widget
|
|
318
|
+
[baseUrl]="environment.baseUrl"
|
|
319
|
+
[showProperty]="true"
|
|
320
|
+
(isLoadingChanged)="onLoadingChanged($event)"
|
|
321
|
+
>
|
|
322
|
+
</hr-my-next-week-vacation-insights-widget>
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
This component displays a "Next Week Vacation Insights" card showing two badges: **Upcoming Vacations** and **Expected To Return** counts for team subordinates. Clicking a badge opens a popup with a paginated, searchable data grid listing the relevant employees. It uses `SkyWidgetSectionItemComponent` from `@skysoftware-co/sky-components-ui` for badge display and `BayanEmployeeBadgeComponent` from `@skysoftware-co/bayan-components-ui` for employee photos in the popup.
|
|
326
|
+
|
|
327
|
+
### Input Properties
|
|
328
|
+
|
|
329
|
+
| Input | Type | Default Value | Description |
|
|
330
|
+
| ------------------------ | ------- | ------------------------------------------------------------- | ---------------------------------------------- |
|
|
331
|
+
| `baseUrl` | string | `''` | Base URL for API calls |
|
|
332
|
+
| `showProperty` | boolean | `false` | Show employee property badge in the popup grid |
|
|
333
|
+
| `cardClass` | string | `'card rounded rounded-4 card-shadow border-top-0 h-100 p-4'` | Card container CSS class |
|
|
334
|
+
| `titleClass` | string | `'table-header-lg fw-meduim mb-3 mt-2'` | Card title CSS class |
|
|
335
|
+
| `valueClass` | string | `'fs-24 mt-1 link-dark hover-primary text-decoration-none'` | Badge value CSS class (clickable) |
|
|
336
|
+
| `disabledValueClass` | string | `'fs-24 mt-1 text-muted pe-none text-decoration-none'` | Badge value CSS class when count is 0 |
|
|
337
|
+
| `upcomingContainerClass` | string | `'border-start border-5 mb-4'` | Upcoming vacations badge container CSS class |
|
|
338
|
+
| `expectedContainerClass` | string | `'border-start border-5'` | Expected to return badge container CSS class |
|
|
339
|
+
| `firstRowClass` | string | `'mb-4'` | CSS class for the first badge row wrapper |
|
|
340
|
+
| `secondRowClass` | string | `'mt-3'` | CSS class for the second badge row wrapper |
|
|
341
|
+
|
|
342
|
+
### Output Events
|
|
343
|
+
|
|
344
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes
|
|
345
|
+
|
|
346
|
+
### API Endpoints
|
|
347
|
+
|
|
348
|
+
- **Summary**: `GET {baseUrl}/hr/widgets/me/team/next-week-vacation-insights/summary?ShowDirectSubordinatesOnly=false`
|
|
349
|
+
- **Upcoming list**: `GET {baseUrl}/hr/widgets/me/team/next-week-vacation-insights/upcoming-vacations`
|
|
350
|
+
- **Expected to return list**: `GET {baseUrl}/hr/widgets/me/team/next-week-vacation-insights/expected-to-return`
|
|
351
|
+
|
|
352
|
+
### My Team Subordinates Popup
|
|
353
|
+
|
|
354
|
+
### Usage
|
|
355
|
+
|
|
356
|
+
```html
|
|
357
|
+
<hr-my-team-popup
|
|
358
|
+
[baseUrl]="environment.baseUrl"
|
|
359
|
+
[showGrade]="false"
|
|
360
|
+
[showPropertySymbol]="true"
|
|
361
|
+
[pageSize]="100"
|
|
362
|
+
(isLoadingChanged)="onLoadingChanged($event)"
|
|
363
|
+
(errorOccurred)="onError($event)"
|
|
364
|
+
>
|
|
365
|
+
</hr-my-team-popup>
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
Programmatic open helper:
|
|
369
|
+
|
|
370
|
+
```ts
|
|
371
|
+
import { openMyTeamSubordinatesPopup } from '@skysoftware-co/bayan-hr-widgets-ui';
|
|
372
|
+
|
|
373
|
+
openMyTeamSubordinatesPopup();
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
This popup component displays grouped subordinate employees with search, infinite scrolling, and a toggle between direct subordinates and all subordinates.
|
|
377
|
+
|
|
378
|
+
### Input Properties
|
|
379
|
+
|
|
380
|
+
| Input | Type | Default Value | Description |
|
|
381
|
+
| ------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
|
|
382
|
+
| `baseUrl` | string | required | Base URL for API calls |
|
|
383
|
+
| `pageSize` | number | `100` | Number of records loaded per page |
|
|
384
|
+
| `showGrade` | boolean | `false` | Shows employee grade row in the main info card |
|
|
385
|
+
| `showPropertySymbol` | boolean | `true` | Shows employee property symbol in the main info card |
|
|
386
|
+
| `phoneIcon` | IconDefinition | `faPhone` | Icon used for phone row |
|
|
387
|
+
| `emailIcon` | IconDefinition | `faEnvelope` | Icon used for email row |
|
|
388
|
+
| `headerRowClass` | string | `'d-flex justify-content-between align-items-center mb-2 pe-2'` | Header row container class |
|
|
389
|
+
| `switchContainerClass` | string | `'form-check form-switch d-flex align-items-center custom-switch-dark ps-0'` | Toggle switch wrapper class |
|
|
390
|
+
| `switchInputClass` | string | `'form-check-input text-dark ms-0'` | Toggle input class |
|
|
391
|
+
| `switchLabelClass` | string | `'form-check-label mx-2 fs-13'` | Toggle label class |
|
|
392
|
+
| `scrollViewClass` | string | `'position-relative'` | Scroll view host class |
|
|
393
|
+
| `emptyStateClass` | string | `'position-absolute top-50 start-50 translate-middle w-100 text-center text-dark-gray fs-14'` | Empty state container class |
|
|
394
|
+
| `groupHeaderClass` | string | `'fs-13 text-dark pt-2 pb-1'` | Admin unit group title class |
|
|
395
|
+
| `employeeCardClass` | string | `'bg-light-gray rounded p-2 mb-2 d-flex align-items-center justify-content-between border-start border-4 border-start-primary'` | Employee card container CSS classes |
|
|
396
|
+
| `employeeCardHeight` | string | `'100px'` | Fixed employee card height |
|
|
397
|
+
| `contactContainerClass` | string | `'d-flex flex-column gap-1 border-start border-2 ps-3 w-100'` | Contact section container class |
|
|
398
|
+
| `contactTitleClass` | string | `'fs-10 fw-medium mb-1 text-dark'` | Contact section title class |
|
|
399
|
+
| `contactRowClass` | string | `'d-flex align-items-center gap-2 fs-12 fw-normal lh-21 text-dark'` | Contact row class |
|
|
400
|
+
| `contactIconClass` | string | `'fs-10 text-light-gray'` | Contact icon class |
|
|
401
|
+
| `emailTextClass` | string | `'d-inline-block flex-grow-1 text-ellipsis-one-line'` | Email text class |
|
|
402
|
+
| `groupedListClass` | string | `'d-flex flex-column gap-2 pb-2'` | Grouped list wrapper class |
|
|
403
|
+
| `loadingContainerClass` | string | `'d-flex justify-content-center py-2'` | Loading container class |
|
|
404
|
+
| `loadingIndicatorClass` | string | `'w-30 h-30'` | Loading indicator class |
|
|
405
|
+
| `employeeRowClass` | string | `'row g-0 w-100 align-items-center flex-nowrap'` | Employee row layout class |
|
|
406
|
+
| `employeeInfoColumnClass` | string | `'col-8 overflow-hidden pe-2'` | Employee info column class |
|
|
407
|
+
| `contactColumnClass` | string | `'col-4 d-flex justify-content-end'` | Contact column class |
|
|
408
|
+
|
|
409
|
+
### Output Events
|
|
410
|
+
|
|
411
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when initial/reset loading state changes.
|
|
412
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
413
|
+
|
|
414
|
+
### API Endpoint
|
|
415
|
+
|
|
416
|
+
- `GET {baseUrl}/hr/widgets/me/team/subordinates`
|
|
417
|
+
|
|
418
|
+
### Employee Main Info Card
|
|
419
|
+
|
|
420
|
+
Usage in template:
|
|
421
|
+
|
|
422
|
+
```html
|
|
423
|
+
<app-employee-main-info-card
|
|
424
|
+
[employeeMainInfo]="employeeInfo"
|
|
425
|
+
[searchValue]="searchValue"
|
|
426
|
+
[showGrade]="false"
|
|
427
|
+
[showPropertySymbol]="true"
|
|
428
|
+
>
|
|
429
|
+
</app-employee-main-info-card>
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
This component renders the subordinate basic profile header (name, position, property, badge image/initials) and supports text highlighting.
|
|
433
|
+
|
|
434
|
+
## My Profile Widgets
|
|
435
|
+
|
|
436
|
+
The package also exports profile-focused widgets used in the employee profile page.
|
|
437
|
+
|
|
438
|
+
## My Profile Personal Info Main Widget
|
|
439
|
+
|
|
440
|
+
### Usage
|
|
441
|
+
|
|
442
|
+
```html
|
|
443
|
+
<hr-my-profile-personal-info-main-widget [baseUrl]="baseUrl" (isLoadingChanged)="onMainLoadingChanged($event)">
|
|
444
|
+
</hr-my-profile-personal-info-main-widget>
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
### Input Properties
|
|
448
|
+
|
|
449
|
+
| Input | Type | Default Value | Description |
|
|
450
|
+
| -------------------------------------- | -------------- | --------------------------------------------------------------------- | -------------------------------------------------------- |
|
|
451
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
452
|
+
| `alternateLanguage` | string | `'English'` | Alternate language label next to employee alternate name |
|
|
453
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
454
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
455
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
456
|
+
| `rowClass` | string | `'row mt-4'` | Row container CSS class |
|
|
457
|
+
| `columnClass` | string | `'col-md-4 col-6'` | Column CSS class |
|
|
458
|
+
| `hiddenSpacerColClass` | string | `'col-md-4 col-6 d-md-block d-none'` | Hidden spacer column CSS class |
|
|
459
|
+
| `topSpacingColumnClass` | string | `'col-md-4 col-6 mt-4'` | Top spacing column CSS class |
|
|
460
|
+
| `topSpacingBottomMdSpacingColumnClass` | string | `'col-md-4 col-6 mt-4 mb-md-5'` | Top spacing + medium bottom spacing CSS class |
|
|
461
|
+
| `topSpacingBottomSpacingColumnClass` | string | `'col-md-4 col-6 mt-4 mb-5'` | Top spacing + bottom spacing CSS class |
|
|
462
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
463
|
+
| `valueClass` | string | `'fs-14 fw-medium'` | Value CSS class |
|
|
464
|
+
| `mainIcon` | IconDefinition | `faMemoCircleInfo` | Header icon |
|
|
465
|
+
| `sectionTitle` | string | `'main'` | Section title translation key |
|
|
466
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
467
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
468
|
+
|
|
469
|
+
### Output Events
|
|
470
|
+
|
|
471
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
472
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
473
|
+
|
|
474
|
+
## My Profile Experiences Widget
|
|
475
|
+
|
|
476
|
+
### Usage
|
|
477
|
+
|
|
478
|
+
```html
|
|
479
|
+
<hr-my-profile-experiences-widget [baseUrl]="baseUrl" (isLoadingChanged)="onExperiencesLoadingChanged($event)">
|
|
480
|
+
</hr-my-profile-experiences-widget>
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
### Input Properties
|
|
484
|
+
|
|
485
|
+
| Input | Type | Default Value | Description |
|
|
486
|
+
| --------------------------- | -------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|
|
487
|
+
| `baseUrl` | string | `''` | Base URL for API calls. |
|
|
488
|
+
| `sectionTitle` | string | `'experiences'` | Section title translation key. |
|
|
489
|
+
| `experienceIcon` | IconDefinition | `faUsersRays` | Header icon. |
|
|
490
|
+
| `viewIcon` | IconDefinition | `faEye` | Attachment view icon. |
|
|
491
|
+
| `downloadIcon` | IconDefinition | `faFolderArrowDown` | Attachment download icon. |
|
|
492
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class. |
|
|
493
|
+
| `headerTextClass` | string | `'fs-16 mt-2 text-secondary'` | Header text CSS class. |
|
|
494
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class. |
|
|
495
|
+
| `rowClass` | string | `'mt-4'` | Main row CSS class. |
|
|
496
|
+
| `rowMarginBottomClass` | string | `'mb-5'` | Bottom spacing class when experiences exist. |
|
|
497
|
+
| `rowMarginBottomEmptyClass` | string | `'mb-4'` | Bottom spacing class when list is empty. |
|
|
498
|
+
| `headerRowClass` | string | `'row col-10'` | Header labels row CSS class. |
|
|
499
|
+
| `actionsSpacerClass` | string | `'col-2'` | Spacer column class between labels and actions area. |
|
|
500
|
+
| `itemRowClass` | string | `'row'` | Backward-compatible row class input (not used in current template loop). |
|
|
501
|
+
| `itemColumnsWrapperClass` | string | `'row col-10 mt-3'` | Per-item columns wrapper CSS class. |
|
|
502
|
+
| `itemColumnClass` | string | `'col-3'` | Column CSS class. |
|
|
503
|
+
| `labelClass` | string | `'field-secondary-label-sm text-ellipsis-one-line'` | Header label CSS class. |
|
|
504
|
+
| `valueClass` | string | `'text-dark-gray fs-14 text-ellipsis-one-line'` | Value text CSS class. |
|
|
505
|
+
| `actionsColumnClass` | string | `'col-2 align-items-end mt-3'` | Attachment action column CSS class. |
|
|
506
|
+
| `viewIconClass` | string | `'fs-15 text-dark cursor-pointer'` | View icon CSS class. |
|
|
507
|
+
| `downloadIconClass` | string | `'fs-15 mx-3 text-dark cursor-pointer'` | Download icon CSS class. |
|
|
508
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class. |
|
|
509
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class. |
|
|
510
|
+
|
|
511
|
+
### Output Events
|
|
512
|
+
|
|
513
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
514
|
+
- `attachmentViewed: EventEmitter<any>` - Emitted when attachment view icon is clicked.
|
|
515
|
+
- `attachmentDownloaded: EventEmitter<any>` - Emitted when attachment download icon is clicked.
|
|
516
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
517
|
+
|
|
518
|
+
## My Profile Degrees Widget
|
|
519
|
+
|
|
520
|
+
### Usage
|
|
521
|
+
|
|
522
|
+
```html
|
|
523
|
+
<hr-my-profile-degrees-widget [baseUrl]="baseUrl" (isLoadingChanged)="onDegreesLoadingChanged($event)">
|
|
524
|
+
</hr-my-profile-degrees-widget>
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
### Input Properties
|
|
528
|
+
|
|
529
|
+
| Input | Type | Default Value | Description |
|
|
530
|
+
| --------------------------- | -------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|
|
531
|
+
| `baseUrl` | string | `''` | Base URL for API calls. |
|
|
532
|
+
| `sectionTitle` | string | `'Degrees'` | Section title translation key. |
|
|
533
|
+
| `degreesIcon` | IconDefinition | `faFileCertificate` | Header icon. |
|
|
534
|
+
| `viewIcon` | IconDefinition | `faEye` | Attachment view icon. |
|
|
535
|
+
| `downloadIcon` | IconDefinition | `faFolderArrowDown` | Attachment download icon. |
|
|
536
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class. |
|
|
537
|
+
| `headerTextClass` | string | `'fs-16 mt-2 text-secondary'` | Header text CSS class. |
|
|
538
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class. |
|
|
539
|
+
| `rowClass` | string | `'mt-4'` | Main row CSS class. |
|
|
540
|
+
| `rowMarginBottomClass` | string | `'mb-5'` | Bottom spacing class when degrees exist. |
|
|
541
|
+
| `rowMarginBottomEmptyClass` | string | `'mb-4'` | Bottom spacing class when list is empty. |
|
|
542
|
+
| `headerRowClass` | string | `'row col-10'` | Header labels row CSS class. |
|
|
543
|
+
| `actionsSpacerClass` | string | `'col-2'` | Spacer column class between labels and actions area. |
|
|
544
|
+
| `itemRowClass` | string | `'row'` | Backward-compatible row class input (not used in current template loop). |
|
|
545
|
+
| `itemColumnsWrapperClass` | string | `'row col-10 mt-3'` | Per-item columns wrapper CSS class. |
|
|
546
|
+
| `itemColumnClass` | string | `'col-3'` | Column CSS class. |
|
|
547
|
+
| `labelClass` | string | `'field-secondary-label-sm text-ellipsis-one-line'` | Header label CSS class. |
|
|
548
|
+
| `valueClass` | string | `'text-dark-gray fs-14 text-ellipsis-one-line'` | Value text CSS class. |
|
|
549
|
+
| `actionsColumnClass` | string | `'col-2 align-items-end mt-3'` | Attachment action column CSS class. |
|
|
550
|
+
| `viewIconClass` | string | `'fs-15 text-dark cursor-pointer'` | View icon CSS class. |
|
|
551
|
+
| `downloadIconClass` | string | `'fs-15 mx-3 text-dark cursor-pointer'` | Download icon CSS class. |
|
|
552
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class. |
|
|
553
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class. |
|
|
554
|
+
|
|
555
|
+
### Output Events
|
|
556
|
+
|
|
557
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
558
|
+
- `attachmentViewed: EventEmitter<any>` - Emitted when attachment view icon is clicked.
|
|
559
|
+
- `attachmentDownloaded: EventEmitter<any>` - Emitted when attachment download icon is clicked.
|
|
560
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
561
|
+
|
|
562
|
+
## My Profile Personal Info Contact Widget
|
|
563
|
+
|
|
564
|
+
### Usage
|
|
565
|
+
|
|
566
|
+
```html
|
|
567
|
+
<hr-my-profile-contact-widget
|
|
568
|
+
[baseUrl]="baseUrl"
|
|
569
|
+
[showEmergencyContact]="true"
|
|
570
|
+
(isLoadingChanged)="onContactLoadingChanged($event)"
|
|
571
|
+
>
|
|
572
|
+
</hr-my-profile-contact-widget>
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
### Input Properties
|
|
576
|
+
|
|
577
|
+
| Input | Type | Default Value | Description |
|
|
578
|
+
| --------------------------------------- | -------------- | --------------------------------------------------------------------- | --------------------------------------------- |
|
|
579
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
580
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
581
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
582
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
583
|
+
| `rowClass` | string | `'row mt-4'` | Row container CSS class |
|
|
584
|
+
| `columnClass` | string | `'col-4'` | Column CSS class |
|
|
585
|
+
| `responsiveTopSpacingColumnClass` | string | `'col-6 mt-4'` | Responsive top spacing column CSS class |
|
|
586
|
+
| `topSpacingBottomMdSpacingColumnClass` | string | `'col-md-4 col-6 mt-4 mb-md-5'` | Top spacing + medium bottom spacing CSS class |
|
|
587
|
+
| `topSpacingBottomSpacingColumnClass` | string | `'col-md-4 col-6 mt-4 mb-5'` | Top spacing + bottom spacing CSS class |
|
|
588
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
589
|
+
| `valueClass` | string | `'fs-14 fw-medium text-ellipsis-one-line'` | Value CSS class |
|
|
590
|
+
| `emergencyContactLabelClass` | string | `'fs-14 fw-semibold'` | Emergency contact title CSS class |
|
|
591
|
+
| `emergencyContactColumnClass` | string | `'col-md-4 col-6'` | Emergency contact column CSS class |
|
|
592
|
+
| `emergencyContactResponsiveColumnClass` | string | `'col-md-4 col-6 mt-md-0 mt-4'` | Emergency contact responsive column CSS class |
|
|
593
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
594
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
595
|
+
| `contactIcon` | IconDefinition | `faPhone` | Header icon |
|
|
596
|
+
| `emergencyContactIcon` | IconDefinition | `faBolt` | Emergency contact icon |
|
|
597
|
+
| `sectionTitle` | string | `'contact'` | Section title translation key |
|
|
598
|
+
| `showEmergencyContact` | boolean | `true` | Show emergency contact block |
|
|
599
|
+
| `emergencyContactRowClass` | string | `'row mt-3 mb-4'` | Emergency contact row CSS class |
|
|
600
|
+
|
|
601
|
+
### Output Events
|
|
602
|
+
|
|
603
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
604
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
605
|
+
|
|
606
|
+
## My Profile Personal Info Address Widget
|
|
607
|
+
|
|
608
|
+
### Usage
|
|
609
|
+
|
|
610
|
+
```html
|
|
611
|
+
<hr-my-profile-address-widget [baseUrl]="baseUrl" (isLoadingChanged)="onAddressLoadingChanged($event)">
|
|
612
|
+
</hr-my-profile-address-widget>
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
### Input Properties
|
|
616
|
+
|
|
617
|
+
| Input | Type | Default Value | Description |
|
|
618
|
+
| ------------------------------------ | -------------- | --------------------------------------------------------------------- | --------------------------------------- |
|
|
619
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
620
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
621
|
+
| `headerTextClass` | string | `'fs-16 mt-2 text-secondary'` | Header text CSS class |
|
|
622
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
623
|
+
| `rowClass` | string | `'row mt-4'` | Row container CSS class |
|
|
624
|
+
| `columnClass` | string | `'col-md-4 col-6'` | Column CSS class |
|
|
625
|
+
| `responsiveTopSpacingColumnClass` | string | `'col-md-4 col-6 mt-md-0 mt-4'` | Responsive top spacing column CSS class |
|
|
626
|
+
| `topSpacingBottomSpacingColumnClass` | string | `'col-md-4 col-6 mt-4 mb-5'` | Top spacing + bottom spacing CSS class |
|
|
627
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
628
|
+
| `valueClass` | string | `'fs-14 fw-medium'` | Value CSS class |
|
|
629
|
+
| `addressIcon` | IconDefinition | `faHouse` | Header icon |
|
|
630
|
+
| `sectionTitle` | string | `'address'` | Section title translation key |
|
|
631
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
632
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
633
|
+
|
|
634
|
+
### Output Events
|
|
635
|
+
|
|
636
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
637
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
638
|
+
|
|
639
|
+
## My Profile Personal Info Languages Widget
|
|
640
|
+
|
|
641
|
+
### Usage
|
|
642
|
+
|
|
643
|
+
```html
|
|
644
|
+
<hr-my-profile-languages-widget
|
|
645
|
+
[baseUrl]="baseUrl"
|
|
646
|
+
(hasDataChange)="onLanguagesDataChange($event)"
|
|
647
|
+
(isLoadingChanged)="onLanguagesLoadingChanged($event)"
|
|
648
|
+
>
|
|
649
|
+
</hr-my-profile-languages-widget>
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
### Input Properties
|
|
653
|
+
|
|
654
|
+
| Input | Type | Default Value | Description |
|
|
655
|
+
| -------------------------- | -------------- | --------------------------------------------------------------------- | --------------------------------- |
|
|
656
|
+
| `baseUrl` | string | `''` | Base URL for API calls |
|
|
657
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
658
|
+
| `headerTextClass` | string | `'fs-16 mt-2 text-secondary'` | Header text CSS class |
|
|
659
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
660
|
+
| `contentTextClass` | string | `'text-dark-gray fs-14 fw-medium mt-4'` | Content text CSS class |
|
|
661
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
662
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
663
|
+
| `languagesIcon` | IconDefinition | `faLanguage` | Header icon |
|
|
664
|
+
| `sectionTitle` | string | `'languages'` | Section title translation key |
|
|
665
|
+
|
|
666
|
+
### Output Events
|
|
667
|
+
|
|
668
|
+
- `hasDataChange: EventEmitter<boolean>` - Emitted when language list has data or not.
|
|
669
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
670
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
671
|
+
|
|
672
|
+
## My Profile Personal Info Other Nationalities Widget
|
|
673
|
+
|
|
674
|
+
### Usage
|
|
675
|
+
|
|
676
|
+
```html
|
|
677
|
+
<hr-my-profile-other-nationalities-widget
|
|
678
|
+
[baseUrl]="baseUrl"
|
|
679
|
+
(hasDataChange)="onOtherNationalitiesDataChange($event)"
|
|
680
|
+
(isLoadingChanged)="onOtherNationalitiesLoadingChanged($event)"
|
|
681
|
+
>
|
|
682
|
+
</hr-my-profile-other-nationalities-widget>
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
### Input Properties
|
|
686
|
+
|
|
687
|
+
| Input | Type | Default Value | Description |
|
|
688
|
+
| -------------------------- | -------------- | --------------------------------------------------------------------- | --------------------------------- |
|
|
689
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
690
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
691
|
+
| `headerTextClass` | string | `'fs-16 mt-2 text-secondary'` | Header text CSS class |
|
|
692
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
693
|
+
| `contentTextClass` | string | `'text-dark-gray fs-14 fw-medium mt-4'` | Content text CSS class |
|
|
694
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
695
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
696
|
+
| `otherNationalitiesIcon` | IconDefinition | `faEarthAfrica` | Header icon |
|
|
697
|
+
| `sectionTitle` | string | `'otherNationalities'` | Section title translation key |
|
|
698
|
+
| `emptyStateTextKey` | string | `'ThereIsNoOtherNationalitiesYet'` | Empty state translation key |
|
|
699
|
+
|
|
700
|
+
### Output Events
|
|
701
|
+
|
|
702
|
+
- `hasDataChange: EventEmitter<boolean>` - Emitted when other nationalities list has data or not.
|
|
703
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
704
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
705
|
+
|
|
706
|
+
## My Profile Bank Information Widget
|
|
707
|
+
|
|
708
|
+
### Usage
|
|
709
|
+
|
|
710
|
+
```html
|
|
711
|
+
<hr-my-profile-bank-info-widget
|
|
712
|
+
[baseUrl]="baseUrl"
|
|
713
|
+
[currencyCode]="currencyCode"
|
|
714
|
+
[currencyDecimals]="currencyDecimals"
|
|
715
|
+
(isLoadingChanged)="onBankLoadingChanged($event)"
|
|
716
|
+
>
|
|
717
|
+
</hr-my-profile-bank-info-widget>
|
|
718
|
+
```
|
|
719
|
+
|
|
720
|
+
### Input Properties
|
|
721
|
+
|
|
722
|
+
| Input | Type | Default Value | Description |
|
|
723
|
+
| ------------------------------ | -------------- | ---------------------------------------------------------------------------- | --------------------------------------------------- |
|
|
724
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
725
|
+
| `currencyCode` | string | `''` | Currency code shown with transfer amount |
|
|
726
|
+
| `currencyDecimals` | number | `2` | Decimal precision for transfer amount formatting |
|
|
727
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
728
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
729
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
730
|
+
| `cardClass` | string | `'mt-4 card-shadow position-relative'` | Bank card container CSS class |
|
|
731
|
+
| `mainBadgeClass` | string | `'position-absolute text-center top-0 mt-3 start-0 bg-primary status-badge'` | Main bank badge CSS class |
|
|
732
|
+
| `mainBadgeTextClass` | string | `'mx-1 fs-12 text-white'` | Main bank badge text CSS class |
|
|
733
|
+
| `triangleClass` | string | `'position-absolute start-0 top-0'` | Main bank badge triangle CSS class |
|
|
734
|
+
| `rowClass` | string | `'row px-4 pb-3'` | Bank details row CSS class |
|
|
735
|
+
| `rowMainPtClass` | string | `'pt-5'` | Top padding class for main bank row |
|
|
736
|
+
| `rowNormalPtClass` | string | `'pt-3'` | Top padding class for normal bank row |
|
|
737
|
+
| `columnClass` | string | `'col-md-4 col-6'` | Column CSS class |
|
|
738
|
+
| `responsiveTopSpacingColClass` | string | `'col-md-4 col-6 mt-md-0 mt-4'` | Responsive top spacing column CSS class |
|
|
739
|
+
| `topSpacingColClass` | string | `'col-md-4 col-6 mt-4'` | Top spacing column CSS class |
|
|
740
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
741
|
+
| `valueClass` | string | `'table-cell-md'` | Value CSS class |
|
|
742
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
743
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
744
|
+
| `bankInformationIcon` | IconDefinition | `faMoneyCheckDollarPen` | Header icon |
|
|
745
|
+
| `sectionHeaderVisibility` | boolean | `true` | Show or hide the section header |
|
|
746
|
+
| `sectionTitle` | string | `'BankInformation'` | Section title translation key |
|
|
747
|
+
| `language` | string | `'en'` | Language used for RTL behavior (`'ar'` enables RTL) |
|
|
748
|
+
|
|
749
|
+
### Output Events
|
|
750
|
+
|
|
751
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
752
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
753
|
+
|
|
754
|
+
## My Profile Job Information Widgets
|
|
755
|
+
|
|
756
|
+
## My Profile Job Info Main Widget
|
|
757
|
+
|
|
758
|
+
### Usage
|
|
759
|
+
|
|
760
|
+
```html
|
|
761
|
+
<hr-my-profile-job-info-widget [baseUrl]="baseUrl" (isLoadingChanged)="onJobMainLoadingChanged($event)">
|
|
762
|
+
</hr-my-profile-job-info-widget>
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
### Input Properties
|
|
766
|
+
|
|
767
|
+
| Input | Type | Default Value | Description |
|
|
768
|
+
| -------------------------------------- | ------ | --------------------------------------------------------------------- | --------------------------------------------- |
|
|
769
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
770
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
771
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
772
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
773
|
+
| `rowClass` | string | `'row mt-4'` | Row container CSS class |
|
|
774
|
+
| `columnClass` | string | `'col-md-4 col-6'` | Column CSS class |
|
|
775
|
+
| `responsiveTopSpacingColumnClass` | string | `'col-md-4 col-6 mt-md-0 mt-4'` | Responsive top spacing column CSS class |
|
|
776
|
+
| `topSpacingBottomMdSpacingColumnClass` | string | `'col-md-4 col-6 mt-4 mb-md-5'` | Top spacing + medium bottom spacing CSS class |
|
|
777
|
+
| `topSpacingBottomSpacingColumnClass` | string | `'col-md-4 col-6 mt-4 mb-5'` | Top spacing + bottom spacing CSS class |
|
|
778
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
779
|
+
| `valueClass` | string | `'fs-14 fw-medium'` | Value CSS class |
|
|
780
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
781
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
782
|
+
| `sectionTitle` | string | `'Main'` | Section title translation key |
|
|
783
|
+
|
|
784
|
+
### Output Events
|
|
785
|
+
|
|
786
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
787
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
788
|
+
|
|
789
|
+
## My Profile Job Info Contract Widget
|
|
790
|
+
|
|
791
|
+
### Usage
|
|
792
|
+
|
|
793
|
+
```html
|
|
794
|
+
<hr-my-profile-contract-widget [baseUrl]="baseUrl" (isLoadingChanged)="onJobContractLoadingChanged($event)">
|
|
795
|
+
</hr-my-profile-contract-widget>
|
|
796
|
+
```
|
|
797
|
+
|
|
798
|
+
### Input Properties
|
|
799
|
+
|
|
800
|
+
| Input | Type | Default Value | Description |
|
|
801
|
+
| -------------------------------------- | ------ | --------------------------------------------------------------------- | --------------------------------------------- |
|
|
802
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
803
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
804
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
805
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
806
|
+
| `rowClass` | string | `'row mt-4'` | Row container CSS class |
|
|
807
|
+
| `columnClass` | string | `'col-md-4 col-6'` | Column CSS class |
|
|
808
|
+
| `responsiveTopSpacingColumnClass` | string | `'col-md-4 col-6 mt-md-0 mt-4'` | Responsive top spacing column CSS class |
|
|
809
|
+
| `topSpacingBottomMdSpacingColumnClass` | string | `'col-md-4 col-6 mt-4 mb-md-5'` | Top spacing + medium bottom spacing CSS class |
|
|
810
|
+
| `topSpacingBottomSpacingColumnClass` | string | `'col-md-4 col-6 mt-4 mb-5'` | Top spacing + bottom spacing CSS class |
|
|
811
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
812
|
+
| `valueClass` | string | `'fs-14 fw-medium text-ellipsis-one-line'` | Value CSS class |
|
|
813
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
814
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
815
|
+
| `sectionTitle` | string | `'Contract'` | Section title translation key |
|
|
816
|
+
|
|
817
|
+
### Output Events
|
|
818
|
+
|
|
819
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
820
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
821
|
+
|
|
822
|
+
## My Profile Job Info Salary Widget
|
|
823
|
+
|
|
824
|
+
### Usage
|
|
825
|
+
|
|
826
|
+
```html
|
|
827
|
+
<hr-my-profile-salary-widget
|
|
828
|
+
[baseUrl]="baseUrl"
|
|
829
|
+
[currencyCode]="currencyCode"
|
|
830
|
+
[currencyDecimals]="currencyDecimals"
|
|
831
|
+
(isLoadingChanged)="onJobSalaryLoadingChanged($event)"
|
|
832
|
+
>
|
|
833
|
+
</hr-my-profile-salary-widget>
|
|
834
|
+
```
|
|
835
|
+
|
|
836
|
+
### Input Properties
|
|
837
|
+
|
|
838
|
+
| Input | Type | Default Value | Description |
|
|
839
|
+
| -------------------------- | ------ | --------------------------------------------------------------------- | ---------------------------------------------- |
|
|
840
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
841
|
+
| `currencyCode` | string | `''` | Currency code shown with salary amounts |
|
|
842
|
+
| `currencyDecimals` | number | `2` | Decimal precision for salary amount formatting |
|
|
843
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
844
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
845
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
846
|
+
| `rowClass` | string | `'row mt-4'` | Row container CSS class |
|
|
847
|
+
| `columnClass` | string | `'col-md-4 col-6 mt-4'` | Column CSS class |
|
|
848
|
+
| `grossSalaryColumnClass` | string | `'col-md-4 col-6 my-4'` | Gross salary column CSS class |
|
|
849
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
850
|
+
| `valueClass` | string | `'fs-14 fw-medium'` | Value CSS class |
|
|
851
|
+
| `currencyClass` | string | `'fs-10 text-secondary fw-light'` | Currency text CSS class |
|
|
852
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
853
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
854
|
+
| `sectionTitle` | string | `'Salary'` | Section title translation key |
|
|
855
|
+
|
|
856
|
+
### Output Events
|
|
857
|
+
|
|
858
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
859
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
860
|
+
|
|
861
|
+
## My Profile Job Info Service Charge Widget
|
|
862
|
+
|
|
863
|
+
### Usage
|
|
864
|
+
|
|
865
|
+
```html
|
|
866
|
+
<hr-my-profile-charge-widget
|
|
867
|
+
[baseUrl]="baseUrl"
|
|
868
|
+
[currencyCode]="currencyCode"
|
|
869
|
+
(isLoadingChanged)="onJobServiceChargeLoadingChanged($event)"
|
|
870
|
+
>
|
|
871
|
+
</hr-my-profile-charge-widget>
|
|
872
|
+
```
|
|
873
|
+
|
|
874
|
+
### Input Properties
|
|
875
|
+
|
|
876
|
+
| Input | Type | Default Value | Description |
|
|
877
|
+
| -------------------------- | ------ | --------------------------------------------------------------------- | --------------------------------------------------------- |
|
|
878
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
879
|
+
| `currencyCode` | string | `''` | Currency code shown when entitlement mode is fixed amount |
|
|
880
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
881
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
882
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
883
|
+
| `rowClass` | string | `'row mt-4 mb-5'` | Row container CSS class |
|
|
884
|
+
| `columnClass` | string | `'col-md-4 col-6'` | Column CSS class |
|
|
885
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
886
|
+
| `valueClass` | string | `'fs-14 fw-medium'` | Value CSS class |
|
|
887
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
888
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
889
|
+
| `sectionTitle` | string | `'ServiceCharge'` | Section title translation key |
|
|
890
|
+
|
|
891
|
+
### Output Events
|
|
892
|
+
|
|
893
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
894
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
895
|
+
|
|
896
|
+
## My Profile Employee Dependents Widget
|
|
897
|
+
|
|
898
|
+
### Usage
|
|
899
|
+
|
|
900
|
+
```html
|
|
901
|
+
<hr-my-profile-dependents-widget [baseUrl]="baseUrl" (isLoadingChanged)="onDependentsLoadingChanged($event)">
|
|
902
|
+
</hr-my-profile-dependents-widget>
|
|
903
|
+
```
|
|
904
|
+
|
|
905
|
+
This component displays employee dependents as cards (3 per row on large screens). Each card shows the dependent's name, type, birth date, and national number. It uses the shared `hr-widget-card` component for card rendering.
|
|
906
|
+
|
|
907
|
+
### Input Properties
|
|
908
|
+
|
|
909
|
+
| Input | Type | Default Value | Description |
|
|
910
|
+
| -------------------------- | -------------- | --------------------------------------------------------------------- | --------------------------------- |
|
|
911
|
+
| `baseUrl` | string | `''` | Base URL for API calls |
|
|
912
|
+
| `sectionTitle` | string | `'Dependents'` | Section title translation key |
|
|
913
|
+
| `icon` | IconDefinition | `faUsersLine` | Header icon |
|
|
914
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
915
|
+
| `headerTextClass` | string | `'fs-16 mt-2 text-secondary'` | Header text CSS class |
|
|
916
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
917
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
918
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
919
|
+
|
|
920
|
+
### Output Events
|
|
921
|
+
|
|
922
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
923
|
+
|
|
924
|
+
## My Profile Entitlement Widgets
|
|
925
|
+
|
|
926
|
+
The package includes entitlement widgets for displaying employee benefits and entitlements in the profile page.
|
|
927
|
+
|
|
928
|
+
## My Profile Entitlements Vacations Widget
|
|
929
|
+
|
|
930
|
+
### Usage
|
|
931
|
+
|
|
932
|
+
```html
|
|
933
|
+
<hr-my-profile-vacations-widget [baseUrl]="baseUrl" (isLoadingChanged)="onVacationsLoadingChanged($event)">
|
|
934
|
+
</hr-my-profile-vacations-widget>
|
|
935
|
+
```
|
|
936
|
+
|
|
937
|
+
This component displays a list of vacation entitlements (vacation type name and entitlement days) in a two-column grid layout.
|
|
938
|
+
|
|
939
|
+
### Input Properties
|
|
940
|
+
|
|
941
|
+
| Input | Type | Default Value | Description |
|
|
942
|
+
| -------------------------- | -------------- | --------------------------------------------------------------------- | --------------------------------- |
|
|
943
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
944
|
+
| `sectionTitle` | string | `'Vacations'` | Section title translation key |
|
|
945
|
+
| `vacationsIcon` | IconDefinition | `faIslandTropical` | Header icon |
|
|
946
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
947
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
948
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
949
|
+
| `rowClass` | string | `'row mt-4'` | Row container CSS class |
|
|
950
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
951
|
+
| `valueClass` | string | `'fs-14 fw-meduim mt-2'` | Value CSS class |
|
|
952
|
+
| `labelColumnClass` | string | `'col-6'` | Label column CSS class |
|
|
953
|
+
| `valueColumnClass` | string | `'col-6'` | Value column CSS class |
|
|
954
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
955
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
956
|
+
|
|
957
|
+
### Output Events
|
|
958
|
+
|
|
959
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
960
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
961
|
+
|
|
962
|
+
## My Profile Entitlements Indemnity Widget
|
|
963
|
+
|
|
964
|
+
### Usage
|
|
965
|
+
|
|
966
|
+
```html
|
|
967
|
+
<hr-my-profile-indemnity-widget
|
|
968
|
+
[baseUrl]="baseUrl"
|
|
969
|
+
[currencyCode]="currencyCode"
|
|
970
|
+
(isLoadingChanged)="onIndemnityLoadingChanged($event)"
|
|
971
|
+
>
|
|
972
|
+
</hr-my-profile-indemnity-widget>
|
|
973
|
+
```
|
|
974
|
+
|
|
975
|
+
This component shows indemnity entitlement details including eligibility status, service years, and start date. Uses `hr-info-field` sub-components for layout.
|
|
976
|
+
|
|
977
|
+
### Input Properties
|
|
978
|
+
|
|
979
|
+
| Input | Type | Default Value | Description |
|
|
980
|
+
| -------------------------- | -------------- | --------------------------------------------------------------------- | --------------------------------------- |
|
|
981
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
982
|
+
| `currencyCode` | string | `''` | Currency code for amount display |
|
|
983
|
+
| `currencyDecimals` | number | `0` | Decimal precision for amount formatting |
|
|
984
|
+
| `sectionTitle` | string | `'indemnity'` | Section title translation key |
|
|
985
|
+
| `indemnityIcon` | IconDefinition | `faFileSignature` | Header icon |
|
|
986
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
987
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
988
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
989
|
+
| `rowClass` | string | `'row mt-4'` | Row container CSS class |
|
|
990
|
+
| `columnClass` | string | `'col-6'` | Field column CSS class |
|
|
991
|
+
| `topSpacingColumnClass` | string | `'col-6 mt-4'` | Field column with top spacing CSS class |
|
|
992
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
993
|
+
| `valueClass` | string | `'fs-14 fw-meduim'` | Value CSS class |
|
|
994
|
+
| `dateFormat` | string | `'dd/MM/yyyy'` | Date format for start date |
|
|
995
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
996
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
997
|
+
|
|
998
|
+
### Output Events
|
|
999
|
+
|
|
1000
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
1001
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
1002
|
+
- `hasDataChanged: EventEmitter<boolean>` - Emitted when data availability changes after loading.
|
|
1003
|
+
|
|
1004
|
+
## My Profile Entitlements Ticket Widget
|
|
1005
|
+
|
|
1006
|
+
### Usage
|
|
1007
|
+
|
|
1008
|
+
```html
|
|
1009
|
+
<hr-my-profile-ticket-widget [baseUrl]="baseUrl" (isLoadingChanged)="onTicketLoadingChanged($event)">
|
|
1010
|
+
</hr-my-profile-ticket-widget>
|
|
1011
|
+
```
|
|
1012
|
+
|
|
1013
|
+
This component displays ticket entitlements as cards — one for the employee and one per dependent. Each card shows name, ticket class, sector, and entitlement frequency. Uses `hr-ticket-card` sub-component with `hr-widget-card` for card rendering.
|
|
1014
|
+
|
|
1015
|
+
### Input Properties
|
|
1016
|
+
|
|
1017
|
+
| Input | Type | Default Value | Description |
|
|
1018
|
+
| -------------------------- | -------------- | --------------------------------------------------------------------- | --------------------------------- |
|
|
1019
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
1020
|
+
| `sectionTitle` | string | `'tickets'` | Section title translation key |
|
|
1021
|
+
| `ticketsIcon` | IconDefinition | `faTicketsAirline` | Header icon |
|
|
1022
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
1023
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
1024
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
1025
|
+
| `columnClass` | string | `'col-lg-4 col-6 mt-4'` | Card column CSS class |
|
|
1026
|
+
| `cardHeight` | number | `135` | Card height in pixels |
|
|
1027
|
+
| `cardClass` | string | `'p-3 card-shadow border border-1 h-100 rounded rounded-2'` | Card CSS class |
|
|
1028
|
+
| `nameClass` | string | `'text-dark fs-16'` | Name text CSS class |
|
|
1029
|
+
| `subtitleClass` | string | `'field-secondary-label-sm mb-3'` | Subtitle CSS class |
|
|
1030
|
+
| `labelClass` | string | `'fs-12 text-secondary'` | Label CSS class |
|
|
1031
|
+
| `valueClass` | string | `'fs-12 text-dark-gray mx-1'` | Value CSS class |
|
|
1032
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
1033
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
1034
|
+
|
|
1035
|
+
### Output Events
|
|
1036
|
+
|
|
1037
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
1038
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
1039
|
+
|
|
1040
|
+
## My Profile Entitlements Medical Insurance Widget
|
|
1041
|
+
|
|
1042
|
+
### Usage
|
|
1043
|
+
|
|
1044
|
+
```html
|
|
1045
|
+
<hr-my-profile-medical-insurance-widget
|
|
1046
|
+
[baseUrl]="baseUrl"
|
|
1047
|
+
(isLoadingChanged)="onMedicalInsuranceLoadingChanged($event)"
|
|
1048
|
+
>
|
|
1049
|
+
</hr-my-profile-medical-insurance-widget>
|
|
1050
|
+
```
|
|
1051
|
+
|
|
1052
|
+
This component displays medical insurance information as cards — the employee card shows class, number, coverage date, total employee/employer share; dependent cards show class, number, and coverage date. Uses `hr-medical-insurance-card` sub-component with `hr-widget-card` for card rendering.
|
|
1053
|
+
|
|
1054
|
+
### Input Properties
|
|
1055
|
+
|
|
1056
|
+
| Input | Type | Default Value | Description |
|
|
1057
|
+
| -------------------------- | -------------- | --------------------------------------------------------------------- | --------------------------------- |
|
|
1058
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
1059
|
+
| `sectionTitle` | string | `'MedicalInsurance'` | Section title translation key |
|
|
1060
|
+
| `medicalInsuranceIcon` | IconDefinition | `faNotesMedical` | Header icon |
|
|
1061
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
1062
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
1063
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
1064
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
1065
|
+
| `valueClass` | string | `'text-dark-gray mx-1'` | Value CSS class |
|
|
1066
|
+
| `columnClass` | string | `'col-lg-4 col-6 mt-4'` | Card column CSS class |
|
|
1067
|
+
| `cardHeight` | number | `185` | Card height in pixels |
|
|
1068
|
+
| `cardClass` | string | `'p-3 card-shadow h-100 border border-1 rounded rounded-2'` | Card CSS class |
|
|
1069
|
+
| `nameClass` | string | `'text-dark fs-16 mb-2'` | Name text CSS class |
|
|
1070
|
+
| `dateFormat` | string | `'dd/MM/yyyy'` | Date format for coverage date |
|
|
1071
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
1072
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
1073
|
+
|
|
1074
|
+
### Output Events
|
|
1075
|
+
|
|
1076
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
1077
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
1078
|
+
|
|
1079
|
+
## My Profile Entitlements Others Widget
|
|
1080
|
+
|
|
1081
|
+
### Usage
|
|
1082
|
+
|
|
1083
|
+
```html
|
|
1084
|
+
<hr-my-profile-entitlements-others-widget [baseUrl]="baseUrl" (isLoadingChanged)="onOthersLoadingChanged($event)">
|
|
1085
|
+
</hr-my-profile-entitlements-others-widget>
|
|
1086
|
+
```
|
|
1087
|
+
|
|
1088
|
+
This component displays two fields: overtime eligibility (Eligible/NotEligible) and social security membership (Member/NotMember). Fetches both values via `forkJoin`.
|
|
1089
|
+
|
|
1090
|
+
### Input Properties
|
|
1091
|
+
|
|
1092
|
+
| Input | Type | Default Value | Description |
|
|
1093
|
+
| -------------------- | -------------- | --------------------------------- | --------------------------------- |
|
|
1094
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
1095
|
+
| `sectionTitle` | string | `'Others'` | Section title translation key |
|
|
1096
|
+
| `othersIcon` | IconDefinition | `faGrid2Plus` | Header icon |
|
|
1097
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
1098
|
+
| `headerTextClass` | string | `'mt-2 field-secondary-label-lg'` | Header text CSS class |
|
|
1099
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
1100
|
+
| `rowClass` | string | `'row mt-4 mb-5'` | Row container CSS class |
|
|
1101
|
+
| `columnClass` | string | `'col-md-4 col-6'` | Field column CSS class |
|
|
1102
|
+
| `labelClass` | string | `'field-secondary-label-sm'` | Label CSS class |
|
|
1103
|
+
| `valueClass` | string | `'fs-14 fw-meduim'` | Value CSS class |
|
|
1104
|
+
|
|
1105
|
+
### Output Events
|
|
1106
|
+
|
|
1107
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
1108
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
1109
|
+
|
|
1110
|
+
## My Profile Employee Documents Widget
|
|
1111
|
+
|
|
1112
|
+
### Usage
|
|
1113
|
+
|
|
1114
|
+
```html
|
|
1115
|
+
<hr-my-profile-personal-documents-widget
|
|
1116
|
+
[baseUrl]="baseUrl"
|
|
1117
|
+
[employeeName]="employeeName"
|
|
1118
|
+
(isLoadingChanged)="onLoadingChanged($event)"
|
|
1119
|
+
(attachmentViewed)="onAttachmentViewed($event)"
|
|
1120
|
+
(attachmentDownloaded)="onAttachmentDownloaded($event)"
|
|
1121
|
+
>
|
|
1122
|
+
</hr-my-profile-personal-documents-widget>
|
|
1123
|
+
```
|
|
1124
|
+
|
|
1125
|
+
This component displays employee personal/official documents in a table layout (desktop) or card grid layout (tablet/mobile). Each document shows type, number, issue date, expiry date, and attachment actions. Uses shared `hr-document-card` and `hr-document-tablet-card` sub-components.
|
|
1126
|
+
|
|
1127
|
+
### Input Properties
|
|
1128
|
+
|
|
1129
|
+
| Input | Type | Default Value | Description |
|
|
1130
|
+
| --------------------------------- | -------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------ |
|
|
1131
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
1132
|
+
| `employeeName` | string | `''` | Employee name displayed as card title |
|
|
1133
|
+
| `sectionTitle` | string | `'EmployeeDocuments'` | Section title translation key |
|
|
1134
|
+
| `icon` | IconDefinition | `faFileLines` | Header icon |
|
|
1135
|
+
| `viewIcon` | IconDefinition | `faEye` | Attachment view icon |
|
|
1136
|
+
| `downloadIcon` | IconDefinition | `faFolderArrowDown` | Attachment download icon |
|
|
1137
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
1138
|
+
| `headerTextClass` | string | `'fs-16 mt-2 text-secondary'` | Header text CSS class |
|
|
1139
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
1140
|
+
| `valueClass` | string | `'text-dark-gray fs-14'` | Value text CSS class |
|
|
1141
|
+
| `viewIconClass` | string | `'fs-15 text-dark cursor-pointer'` | View icon CSS class |
|
|
1142
|
+
| `downloadIconClass` | string | `'fs-15 text-dark cursor-pointer'` | Download icon CSS class |
|
|
1143
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
1144
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
1145
|
+
| `cardClass` | string | `'mt-4 card-shadow position-relative p-4'` | Card container CSS class (desktop only) |
|
|
1146
|
+
| `topSpacingColClass` | string | `'col-md-3 col-6 mt-4'` | Top spacing column CSS class |
|
|
1147
|
+
| `titleContainerClass` | string | `'mb-3'` | Title container CSS class |
|
|
1148
|
+
| `titleClass` | string | `'text-dark fs-16 mb-0'` | Title text CSS class |
|
|
1149
|
+
| `labelClass` | string | `'field-secondary-label-sm mb-1'` | Label CSS class |
|
|
1150
|
+
| `actionsColumnClass` | string | `'col-2 d-flex flex-column mt-3'` | Actions column CSS class |
|
|
1151
|
+
| `rowClass` | string | `'row'` | Row CSS class |
|
|
1152
|
+
| `dataColClass` | string | `'col-10'` | Data column CSS class |
|
|
1153
|
+
| `dataColSpacingClass` | string | `'mt-2'` | Data column spacing CSS class |
|
|
1154
|
+
| `dataRowClass` | string | `'row align-items-center py-1 gx-0'` | Data row CSS class |
|
|
1155
|
+
| `typeColClass` | string | `'col-3'` | Type column CSS class |
|
|
1156
|
+
| `numberColClass` | string | `'col-3'` | Number column CSS class |
|
|
1157
|
+
| `issueDateColClass` | string | `'col-3'` | Issue date column CSS class |
|
|
1158
|
+
| `expiryDateColClass` | string | `'col-3'` | Expiry date column CSS class |
|
|
1159
|
+
| `actionsColClass` | string | `'col-2 d-flex align-items-center'` | Actions column CSS class |
|
|
1160
|
+
| `actionsWrapperClass` | string | `'d-flex align-items-center gap-2'` | Actions wrapper CSS class |
|
|
1161
|
+
| `downloadContainerClass` | string | `'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer'` | Download container CSS class |
|
|
1162
|
+
| `tabletContainerClass` | string | `'mt-3'` | Tablet card container CSS class |
|
|
1163
|
+
| `tabletCardClass` | string | `'row px-4 py-3 card-shadow'` | Tablet card CSS class |
|
|
1164
|
+
| `tabletCardHeight` | string | `'175px'` | Tablet card fixed height |
|
|
1165
|
+
| `tabletColWithAttachmentClass` | string | `'col-5'` | Tablet column class when attachments exist |
|
|
1166
|
+
| `tabletColWithoutAttachmentClass` | string | `'col-6'` | Tablet column class when no attachments |
|
|
1167
|
+
| `tabletActionsColClass` | string | `'col-1 d-flex align-items-center'` | Tablet actions column CSS class |
|
|
1168
|
+
| `tabletBottomRowSpacingClass` | string | `'mt-4'` | Tablet bottom row spacing CSS class |
|
|
1169
|
+
| `tabletDownloadCountClass` | string | `'text-dark fs-12 fw-bold ps-2'` | Tablet download count CSS class |
|
|
1170
|
+
| `isMobile` | boolean | `false` | Mobile responsive mode |
|
|
1171
|
+
| `isTablet` | boolean | `false` | Tablet responsive mode |
|
|
1172
|
+
|
|
1173
|
+
### Output Events
|
|
1174
|
+
|
|
1175
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
1176
|
+
- `attachmentViewed: EventEmitter<any>` - Emitted when attachment view icon is clicked.
|
|
1177
|
+
- `attachmentDownloaded: EventEmitter<any>` - Emitted when attachment download icon is clicked.
|
|
1178
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|
|
1179
|
+
|
|
1180
|
+
## My Profile Dependents Documents Widget
|
|
1181
|
+
|
|
1182
|
+
### Usage
|
|
1183
|
+
|
|
1184
|
+
```html
|
|
1185
|
+
<hr-my-profile-dependents-documents-widget
|
|
1186
|
+
[baseUrl]="baseUrl"
|
|
1187
|
+
(isLoadingChanged)="onLoadingChanged($event)"
|
|
1188
|
+
(attachmentViewed)="onAttachmentViewed($event)"
|
|
1189
|
+
(attachmentDownloaded)="onAttachmentDownloaded($event)"
|
|
1190
|
+
>
|
|
1191
|
+
</hr-my-profile-dependents-documents-widget>
|
|
1192
|
+
```
|
|
1193
|
+
|
|
1194
|
+
This component displays dependent documents grouped by dependent. Each group shows the dependent name and type as a title, followed by document rows (desktop) or card grid (tablet/mobile). Uses shared `hr-document-card` and `hr-document-tablet-card` sub-components.
|
|
1195
|
+
|
|
1196
|
+
### Input Properties
|
|
1197
|
+
|
|
1198
|
+
| Input | Type | Default Value | Description |
|
|
1199
|
+
| --------------------------------- | -------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------ |
|
|
1200
|
+
| `baseUrl` | string | `''` | Base URL for API calls (required) |
|
|
1201
|
+
| `sectionTitle` | string | `'DependentsDocuments'` | Section title translation key |
|
|
1202
|
+
| `icon` | IconDefinition | `faFileLines` | Header icon |
|
|
1203
|
+
| `viewIcon` | IconDefinition | `faEye` | Attachment view icon |
|
|
1204
|
+
| `downloadIcon` | IconDefinition | `faFolderArrowDown` | Attachment download icon |
|
|
1205
|
+
| `headerIconClass` | string | `'primary-icon-xl'` | Header icon CSS class |
|
|
1206
|
+
| `headerTextClass` | string | `'fs-16 mt-2 text-secondary'` | Header text CSS class |
|
|
1207
|
+
| `headerDividerClass` | string | `'flex-grow-1 ms-2'` | Header divider CSS class |
|
|
1208
|
+
| `valueClass` | string | `'text-dark-gray fs-14'` | Value text CSS class |
|
|
1209
|
+
| `viewIconClass` | string | `'fs-15 text-dark cursor-pointer'` | View icon CSS class |
|
|
1210
|
+
| `downloadIconClass` | string | `'fs-15 text-dark cursor-pointer'` | Download icon CSS class |
|
|
1211
|
+
| `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
|
|
1212
|
+
| `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
|
|
1213
|
+
| `cardClass` | string | `'mt-4 card-shadow position-relative p-4'` | Card container CSS class (desktop only) |
|
|
1214
|
+
| `topSpacingColClass` | string | `'col-md-3 col-6 mt-4'` | Top spacing column CSS class |
|
|
1215
|
+
| `titleContainerClass` | string | `'mb-3'` | Title container CSS class |
|
|
1216
|
+
| `titleClass` | string | `'text-dark fs-16 mb-0'` | Title text CSS class |
|
|
1217
|
+
| `labelClass` | string | `'field-secondary-label-sm mb-1'` | Label CSS class |
|
|
1218
|
+
| `actionsColumnClass` | string | `'col-2 d-flex flex-column mt-3'` | Actions column CSS class |
|
|
1219
|
+
| `rowClass` | string | `'row'` | Row CSS class |
|
|
1220
|
+
| `dataColClass` | string | `'col-10'` | Data column CSS class |
|
|
1221
|
+
| `dataColSpacingClass` | string | `'mt-2'` | Data column spacing CSS class |
|
|
1222
|
+
| `dataRowClass` | string | `'row align-items-center py-1 gx-0'` | Data row CSS class |
|
|
1223
|
+
| `typeColClass` | string | `'col-3'` | Type column CSS class |
|
|
1224
|
+
| `numberColClass` | string | `'col-3'` | Number column CSS class |
|
|
1225
|
+
| `issueDateColClass` | string | `'col-3'` | Issue date column CSS class |
|
|
1226
|
+
| `expiryDateColClass` | string | `'col-3'` | Expiry date column CSS class |
|
|
1227
|
+
| `actionsColClass` | string | `'col-2 d-flex align-items-center'` | Actions column CSS class |
|
|
1228
|
+
| `actionsWrapperClass` | string | `'d-flex align-items-center gap-2'` | Actions wrapper CSS class |
|
|
1229
|
+
| `downloadContainerClass` | string | `'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer'` | Download container CSS class |
|
|
1230
|
+
| `tabletContainerClass` | string | `'mt-3'` | Tablet card container CSS class |
|
|
1231
|
+
| `tabletCardClass` | string | `'row px-4 py-3 card-shadow'` | Tablet card CSS class |
|
|
1232
|
+
| `tabletCardHeight` | string | `'175px'` | Tablet card fixed height |
|
|
1233
|
+
| `tabletColWithAttachmentClass` | string | `'col-5'` | Tablet column class when attachments exist |
|
|
1234
|
+
| `tabletColWithoutAttachmentClass` | string | `'col-6'` | Tablet column class when no attachments |
|
|
1235
|
+
| `tabletActionsColClass` | string | `'col-1 d-flex align-items-center'` | Tablet actions column CSS class |
|
|
1236
|
+
| `tabletBottomRowSpacingClass` | string | `'mt-4'` | Tablet bottom row spacing CSS class |
|
|
1237
|
+
| `tabletDownloadCountClass` | string | `'text-dark fs-12 fw-bold ps-2'` | Tablet download count CSS class |
|
|
1238
|
+
| `isMobile` | boolean | `false` | Mobile responsive mode |
|
|
1239
|
+
| `isTablet` | boolean | `false` | Tablet responsive mode |
|
|
1240
|
+
|
|
1241
|
+
### Output Events
|
|
1242
|
+
|
|
1243
|
+
- `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
|
|
1244
|
+
- `attachmentViewed: EventEmitter<any>` - Emitted when attachment view icon is clicked.
|
|
1245
|
+
- `attachmentDownloaded: EventEmitter<any>` - Emitted when attachment download icon is clicked.
|
|
1246
|
+
- `errorOccurred: EventEmitter<string>` - Emitted when API request fails.
|