@skysoftware-co/bayan-hr-widgets-ui 1.0.20 → 1.0.21
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/fesm2022/skysoftware-co-bayan-hr-widgets-ui.mjs +513 -2
- package/fesm2022/skysoftware-co-bayan-hr-widgets-ui.mjs.map +1 -1
- package/lib/profile-bank-info-widget/profile-bank-info-widget.component.d.ts +44 -0
- package/lib/profile-job-info-contract-widget/profile-job-info-contract-widget.component.d.ts +30 -0
- package/lib/profile-job-info-main-widget/profile-job-info-main-widget.component.d.ts +30 -0
- package/lib/profile-job-info-salary-widget/profile-job-info-salary-widget.component.d.ts +36 -0
- package/lib/profile-job-info-service-charge-widget/profile-job-info-service-charge-widget.component.d.ts +32 -0
- package/package.json +1 -1
- package/public-api.d.ts +5 -0
|
@@ -11,7 +11,7 @@ import { SkyShortcutIconComponent, SkySectionDividerComponent, SkyEmptyDesignCar
|
|
|
11
11
|
import * as i1 from '@angular/common/http';
|
|
12
12
|
import { HttpParams } from '@angular/common/http';
|
|
13
13
|
import { map, shareReplay, catchError, throwError, lastValueFrom } from 'rxjs';
|
|
14
|
-
import { faCakeCandles, faTreePalm, faCalendarStar, faMemoCircleInfo, faPhone, faBolt, faLanguage, faEarthAfrica, faHouse, faXmark } from '@fortawesome/pro-light-svg-icons';
|
|
14
|
+
import { faCakeCandles, faTreePalm, faCalendarStar, faMoneyCheckDollarPen, faMemoCircleInfo, faPhone, faBolt, faLanguage, faEarthAfrica, faHouse, faFileSignature, faSackDollar, faEnvelopeOpenDollar, faXmark } from '@fortawesome/pro-light-svg-icons';
|
|
15
15
|
import * as i2 from 'devextreme-angular/core';
|
|
16
16
|
import { faCircle, faCalendarDays } from '@fortawesome/pro-regular-svg-icons';
|
|
17
17
|
import moment from 'moment';
|
|
@@ -2472,6 +2472,130 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
2472
2472
|
type: Input
|
|
2473
2473
|
}] } });
|
|
2474
2474
|
|
|
2475
|
+
class ProfileBankInfoWidgetComponent {
|
|
2476
|
+
commonMethodsService;
|
|
2477
|
+
hrSelfWidgetsService;
|
|
2478
|
+
isLoading = true;
|
|
2479
|
+
constructor(commonMethodsService, hrSelfWidgetsService) {
|
|
2480
|
+
this.commonMethodsService = commonMethodsService;
|
|
2481
|
+
this.hrSelfWidgetsService = hrSelfWidgetsService;
|
|
2482
|
+
}
|
|
2483
|
+
ngOnInit() {
|
|
2484
|
+
this.isLoadingChanged.emit(true);
|
|
2485
|
+
this.hrSelfWidgetsService.getBankInformation(this.baseUrl).subscribe({
|
|
2486
|
+
next: (response) => {
|
|
2487
|
+
this.isLoading = false;
|
|
2488
|
+
this.employeeBankInformation = response ?? [];
|
|
2489
|
+
this.isLoadingChanged.emit(false);
|
|
2490
|
+
},
|
|
2491
|
+
error: (error) => {
|
|
2492
|
+
this.isLoading = false;
|
|
2493
|
+
this.employeeBankInformation = [];
|
|
2494
|
+
this.isLoadingChanged.emit(false);
|
|
2495
|
+
this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
|
|
2496
|
+
}
|
|
2497
|
+
});
|
|
2498
|
+
}
|
|
2499
|
+
employeeBankInformation = [];
|
|
2500
|
+
currencyCode = '';
|
|
2501
|
+
currencyDecimals = 2;
|
|
2502
|
+
headerIconClass = 'primary-icon-xl';
|
|
2503
|
+
headerTextClass = 'mt-2 field-secondary-label-lg';
|
|
2504
|
+
headerDividerClass = 'flex-grow-1 ms-2';
|
|
2505
|
+
cardClass = 'mt-4 card-shadow position-relative';
|
|
2506
|
+
mainBadgeClass = 'position-absolute text-center top-0 mt-3 start-0 bg-primary status-badge';
|
|
2507
|
+
mainBadgeTextClass = 'mx-1 fs-12 text-white';
|
|
2508
|
+
triangleClass = 'position-absolute start-0 top-0';
|
|
2509
|
+
rowClass = 'row px-4 pb-3';
|
|
2510
|
+
rowMainPtClass = 'pt-5';
|
|
2511
|
+
rowNormalPtClass = 'pt-3';
|
|
2512
|
+
columnClass = 'col-md-4 col-6';
|
|
2513
|
+
responsiveTopSpacingColClass = 'col-md-4 col-6 mt-md-0 mt-4';
|
|
2514
|
+
topSpacingColClass = 'col-md-4 col-6 mt-4';
|
|
2515
|
+
labelClass = 'field-secondary-label-sm';
|
|
2516
|
+
valueClass = 'table-cell-md text-ellipsis-one-line';
|
|
2517
|
+
emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
|
|
2518
|
+
emptyStateTextClass = 'field-secondary-label-md';
|
|
2519
|
+
bankInformationIcon = faMoneyCheckDollarPen;
|
|
2520
|
+
sectionHeaderVisibility = true;
|
|
2521
|
+
sectionTitle = 'BankInformation';
|
|
2522
|
+
language = 'en';
|
|
2523
|
+
baseUrl = '';
|
|
2524
|
+
errorOccurred = new EventEmitter();
|
|
2525
|
+
isRTL = this.language === 'ar';
|
|
2526
|
+
isLoadingChanged = new EventEmitter();
|
|
2527
|
+
ngOnChanges(changes) {
|
|
2528
|
+
if (changes['language']) {
|
|
2529
|
+
this.isRTL = this.language === 'ar';
|
|
2530
|
+
}
|
|
2531
|
+
}
|
|
2532
|
+
formatAmount(value) {
|
|
2533
|
+
if (value == null) {
|
|
2534
|
+
return '-';
|
|
2535
|
+
}
|
|
2536
|
+
return this.commonMethodsService.currencyDecimalFormat(value, this.currencyDecimals) || '-';
|
|
2537
|
+
}
|
|
2538
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileBankInfoWidgetComponent, deps: [{ token: HRCommonMethodsService }, { token: HRSelfWidgetsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2539
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileBankInfoWidgetComponent, isStandalone: true, selector: "hr-profile-bank-info-widget", inputs: { currencyCode: "currencyCode", currencyDecimals: "currencyDecimals", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", cardClass: "cardClass", mainBadgeClass: "mainBadgeClass", mainBadgeTextClass: "mainBadgeTextClass", triangleClass: "triangleClass", rowClass: "rowClass", rowMainPtClass: "rowMainPtClass", rowNormalPtClass: "rowNormalPtClass", columnClass: "columnClass", responsiveTopSpacingColClass: "responsiveTopSpacingColClass", topSpacingColClass: "topSpacingColClass", labelClass: "labelClass", valueClass: "valueClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", bankInformationIcon: "bankInformationIcon", sectionHeaderVisibility: "sectionHeaderVisibility", sectionTitle: "sectionTitle", language: "language", baseUrl: "baseUrl" }, outputs: { errorOccurred: "errorOccurred", isLoadingChanged: "isLoadingChanged" }, usesOnChanges: true, ngImport: i0, template: "@if(sectionHeaderVisibility){\r\n<sky-section-divider [fontAwesomeIcon]=\"bankInformationIcon\"\r\n [text]=\"(sectionTitle | HRTranslate|uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n}\r\n@if(employeeBankInformation.length > 0){\r\n@for (bankInfo of employeeBankInformation; track bankInfo){\r\n<div [class]=\"cardClass\">\r\n @if(bankInfo.IsMainBank && employeeBankInformation.length > 1){\r\n <div [class]=\"mainBadgeClass\"\r\n style=\"padding-top: 2px\"\r\n [style.margin-left]=\"!isRTL ? '-6px' : 'unset'\">\r\n <span [class]=\"mainBadgeTextClass\">{{'MainBank' | HRTranslate}}</span>\r\n </div>\r\n\r\n <div [class]=\"triangleClass\"\r\n [style.margin-left]=\"!isRTL ? '-6px' : 'unset'\"\r\n [style.margin-right]=\"isRTL ? '-5px' : '20px'\"\r\n [style.margin-top]=\"!isRTL ? '7px' : '4px'\">\r\n <svg viewBox=\"4 2 16 16\" class=\"status-badge-triangle\" fill=\"#e67e0f\">\r\n <path d=\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"></path>\r\n </svg>\r\n </div>\r\n }\r\n\r\n <div [ngClass]=\"[rowClass, bankInfo.IsMainBank ? rowMainPtClass : rowNormalPtClass]\">\r\n <div [class]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Bank'\"\r\n [value]=\"bankInfo.BankName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Branch'\"\r\n [value]=\"bankInfo.BranchName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"responsiveTopSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'IBAN'\"\r\n [value]=\"bankInfo.IBAN\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'AccountNumber'\"\r\n [value]=\"bankInfo.AccountNumber\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'Beneficiary'\"\r\n [value]=\"bankInfo.Beneficiary\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n @if(bankInfo.TransferAmount != null){\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'TransferAmount'\"\r\n [value]=\"formatAmount(bankInfo.TransferAmount) + ' (' + currencyCode + ')'\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n}\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoBankYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }, { kind: "component", type: SkyEmptyDesignCardComponent, selector: "sky-empty-design-card", inputs: ["emptyIcon", "emptyIconClass", "emptyText", "emptyTextClass", "actionTitle", "actionIcon", "actionDisabled", "textColor", "disabledTitleClass", "activeTitleClass", "disabledIconClass", "activeIconClass", "actionClass", "containerClass", "cardBodyClass", "cardBodyContainerClass", "visibleIcon", "visibleQuickAction"], outputs: ["onActionClick"] }, { kind: "component", type: HRInfoFieldComponent, selector: "hr-info-field", inputs: ["labelKey", "value", "labelClass", "valueClass", "fallbackValue"] }] });
|
|
2540
|
+
}
|
|
2541
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileBankInfoWidgetComponent, decorators: [{
|
|
2542
|
+
type: Component,
|
|
2543
|
+
args: [{ selector: 'hr-profile-bank-info-widget', standalone: true, imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent], template: "@if(sectionHeaderVisibility){\r\n<sky-section-divider [fontAwesomeIcon]=\"bankInformationIcon\"\r\n [text]=\"(sectionTitle | HRTranslate|uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n}\r\n@if(employeeBankInformation.length > 0){\r\n@for (bankInfo of employeeBankInformation; track bankInfo){\r\n<div [class]=\"cardClass\">\r\n @if(bankInfo.IsMainBank && employeeBankInformation.length > 1){\r\n <div [class]=\"mainBadgeClass\"\r\n style=\"padding-top: 2px\"\r\n [style.margin-left]=\"!isRTL ? '-6px' : 'unset'\">\r\n <span [class]=\"mainBadgeTextClass\">{{'MainBank' | HRTranslate}}</span>\r\n </div>\r\n\r\n <div [class]=\"triangleClass\"\r\n [style.margin-left]=\"!isRTL ? '-6px' : 'unset'\"\r\n [style.margin-right]=\"isRTL ? '-5px' : '20px'\"\r\n [style.margin-top]=\"!isRTL ? '7px' : '4px'\">\r\n <svg viewBox=\"4 2 16 16\" class=\"status-badge-triangle\" fill=\"#e67e0f\">\r\n <path d=\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"></path>\r\n </svg>\r\n </div>\r\n }\r\n\r\n <div [ngClass]=\"[rowClass, bankInfo.IsMainBank ? rowMainPtClass : rowNormalPtClass]\">\r\n <div [class]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Bank'\"\r\n [value]=\"bankInfo.BankName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Branch'\"\r\n [value]=\"bankInfo.BranchName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"responsiveTopSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'IBAN'\"\r\n [value]=\"bankInfo.IBAN\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'AccountNumber'\"\r\n [value]=\"bankInfo.AccountNumber\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'Beneficiary'\"\r\n [value]=\"bankInfo.Beneficiary\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n @if(bankInfo.TransferAmount != null){\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'TransferAmount'\"\r\n [value]=\"formatAmount(bankInfo.TransferAmount) + ' (' + currencyCode + ')'\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n}\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoBankYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n" }]
|
|
2544
|
+
}], ctorParameters: () => [{ type: HRCommonMethodsService }, { type: HRSelfWidgetsService }], propDecorators: { currencyCode: [{
|
|
2545
|
+
type: Input
|
|
2546
|
+
}], currencyDecimals: [{
|
|
2547
|
+
type: Input
|
|
2548
|
+
}], headerIconClass: [{
|
|
2549
|
+
type: Input
|
|
2550
|
+
}], headerTextClass: [{
|
|
2551
|
+
type: Input
|
|
2552
|
+
}], headerDividerClass: [{
|
|
2553
|
+
type: Input
|
|
2554
|
+
}], cardClass: [{
|
|
2555
|
+
type: Input
|
|
2556
|
+
}], mainBadgeClass: [{
|
|
2557
|
+
type: Input
|
|
2558
|
+
}], mainBadgeTextClass: [{
|
|
2559
|
+
type: Input
|
|
2560
|
+
}], triangleClass: [{
|
|
2561
|
+
type: Input
|
|
2562
|
+
}], rowClass: [{
|
|
2563
|
+
type: Input
|
|
2564
|
+
}], rowMainPtClass: [{
|
|
2565
|
+
type: Input
|
|
2566
|
+
}], rowNormalPtClass: [{
|
|
2567
|
+
type: Input
|
|
2568
|
+
}], columnClass: [{
|
|
2569
|
+
type: Input
|
|
2570
|
+
}], responsiveTopSpacingColClass: [{
|
|
2571
|
+
type: Input
|
|
2572
|
+
}], topSpacingColClass: [{
|
|
2573
|
+
type: Input
|
|
2574
|
+
}], labelClass: [{
|
|
2575
|
+
type: Input
|
|
2576
|
+
}], valueClass: [{
|
|
2577
|
+
type: Input
|
|
2578
|
+
}], emptyStateContainerClass: [{
|
|
2579
|
+
type: Input
|
|
2580
|
+
}], emptyStateTextClass: [{
|
|
2581
|
+
type: Input
|
|
2582
|
+
}], bankInformationIcon: [{
|
|
2583
|
+
type: Input
|
|
2584
|
+
}], sectionHeaderVisibility: [{
|
|
2585
|
+
type: Input
|
|
2586
|
+
}], sectionTitle: [{
|
|
2587
|
+
type: Input
|
|
2588
|
+
}], language: [{
|
|
2589
|
+
type: Input
|
|
2590
|
+
}], baseUrl: [{
|
|
2591
|
+
type: Input,
|
|
2592
|
+
args: [{ required: true }]
|
|
2593
|
+
}], errorOccurred: [{
|
|
2594
|
+
type: Output
|
|
2595
|
+
}], isLoadingChanged: [{
|
|
2596
|
+
type: Output
|
|
2597
|
+
}] } });
|
|
2598
|
+
|
|
2475
2599
|
class ProfilePersonalInfoMainWidgetComponent {
|
|
2476
2600
|
hrSelfWidgetsService;
|
|
2477
2601
|
employeePersonalInformation = null;
|
|
@@ -2912,6 +3036,393 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
2912
3036
|
type: Output
|
|
2913
3037
|
}] } });
|
|
2914
3038
|
|
|
3039
|
+
class ProfileJobInfoMainWidgetComponent {
|
|
3040
|
+
hrSelfWidgetsService;
|
|
3041
|
+
jobInformationMain = null;
|
|
3042
|
+
isLoading = true;
|
|
3043
|
+
baseUrl = '';
|
|
3044
|
+
headerIconClass = 'primary-icon-xl';
|
|
3045
|
+
headerTextClass = 'mt-2 field-secondary-label-lg';
|
|
3046
|
+
headerDividerClass = 'flex-grow-1 ms-2';
|
|
3047
|
+
rowClass = 'row mt-4';
|
|
3048
|
+
columnClass = 'col-md-4 col-6';
|
|
3049
|
+
responsiveTopSpacingColumnClass = 'col-md-4 col-6 mt-md-0 mt-4';
|
|
3050
|
+
topSpacingBottomMdSpacingColumnClass = 'col-md-4 col-6 mt-4 mb-md-5';
|
|
3051
|
+
topSpacingBottomSpacingColumnClass = 'col-md-4 col-6 mt-4 mb-5';
|
|
3052
|
+
labelClass = 'field-secondary-label-sm';
|
|
3053
|
+
valueClass = 'fs-14 fw-medium text-ellipsis-one-line';
|
|
3054
|
+
emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
|
|
3055
|
+
emptyStateTextClass = 'field-secondary-label-md';
|
|
3056
|
+
mainIcon = faFileSignature;
|
|
3057
|
+
sectionTitle = 'JobInformation';
|
|
3058
|
+
isLoadingChanged = new EventEmitter();
|
|
3059
|
+
errorOccurred = new EventEmitter();
|
|
3060
|
+
constructor(hrSelfWidgetsService) {
|
|
3061
|
+
this.hrSelfWidgetsService = hrSelfWidgetsService;
|
|
3062
|
+
}
|
|
3063
|
+
ngOnInit() {
|
|
3064
|
+
if (!this.baseUrl) {
|
|
3065
|
+
this.isLoading = false;
|
|
3066
|
+
return;
|
|
3067
|
+
}
|
|
3068
|
+
this.isLoadingChanged.emit(true);
|
|
3069
|
+
this.hrSelfWidgetsService.getJobInformationMain(this.baseUrl).subscribe({
|
|
3070
|
+
next: (response) => {
|
|
3071
|
+
this.isLoading = false;
|
|
3072
|
+
this.jobInformationMain = response;
|
|
3073
|
+
this.isLoadingChanged.emit(false);
|
|
3074
|
+
},
|
|
3075
|
+
error: (error) => {
|
|
3076
|
+
this.isLoading = false;
|
|
3077
|
+
this.jobInformationMain = null;
|
|
3078
|
+
this.isLoadingChanged.emit(false);
|
|
3079
|
+
this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
|
|
3080
|
+
}
|
|
3081
|
+
});
|
|
3082
|
+
}
|
|
3083
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoMainWidgetComponent, deps: [{ token: HRSelfWidgetsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3084
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileJobInfoMainWidgetComponent, isStandalone: true, selector: "hr-profile-job-info-main-widget", inputs: { baseUrl: "baseUrl", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", columnClass: "columnClass", responsiveTopSpacingColumnClass: "responsiveTopSpacingColumnClass", topSpacingBottomMdSpacingColumnClass: "topSpacingBottomMdSpacingColumnClass", topSpacingBottomSpacingColumnClass: "topSpacingBottomSpacingColumnClass", labelClass: "labelClass", valueClass: "valueClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", mainIcon: "mainIcon", sectionTitle: "sectionTitle" }, outputs: { isLoadingChanged: "isLoadingChanged", errorOccurred: "errorOccurred" }, ngImport: i0, template: "<sky-section-divider [fontAwesomeIcon]=\"mainIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(jobInformationMain){\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'AdminUnit'\"\r\n [value]=\"jobInformationMain.AdminUnitName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Position'\"\r\n [value]=\"jobInformationMain.PositionName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'Grade'\"\r\n [value]=\"jobInformationMain.GradeName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'JoiningDate'\"\r\n [value]=\"jobInformationMain.JoiningDate ? (jobInformationMain.JoiningDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'CorporateJoiningDate'\"\r\n [value]=\"jobInformationMain.CorporateJoiningDate ? (jobInformationMain.CorporateJoiningDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'Sponsor'\"\r\n [value]=\"jobInformationMain.SponsorName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoJobMainYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }, { kind: "component", type: SkyEmptyDesignCardComponent, selector: "sky-empty-design-card", inputs: ["emptyIcon", "emptyIconClass", "emptyText", "emptyTextClass", "actionTitle", "actionIcon", "actionDisabled", "textColor", "disabledTitleClass", "activeTitleClass", "disabledIconClass", "activeIconClass", "actionClass", "containerClass", "cardBodyClass", "cardBodyContainerClass", "visibleIcon", "visibleQuickAction"], outputs: ["onActionClick"] }, { kind: "component", type: HRInfoFieldComponent, selector: "hr-info-field", inputs: ["labelKey", "value", "labelClass", "valueClass", "fallbackValue"] }] });
|
|
3085
|
+
}
|
|
3086
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoMainWidgetComponent, decorators: [{
|
|
3087
|
+
type: Component,
|
|
3088
|
+
args: [{ selector: 'hr-profile-job-info-main-widget', standalone: true, imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent], template: "<sky-section-divider [fontAwesomeIcon]=\"mainIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(jobInformationMain){\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'AdminUnit'\"\r\n [value]=\"jobInformationMain.AdminUnitName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Position'\"\r\n [value]=\"jobInformationMain.PositionName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'Grade'\"\r\n [value]=\"jobInformationMain.GradeName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'JoiningDate'\"\r\n [value]=\"jobInformationMain.JoiningDate ? (jobInformationMain.JoiningDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'CorporateJoiningDate'\"\r\n [value]=\"jobInformationMain.CorporateJoiningDate ? (jobInformationMain.CorporateJoiningDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'Sponsor'\"\r\n [value]=\"jobInformationMain.SponsorName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoJobMainYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n" }]
|
|
3089
|
+
}], ctorParameters: () => [{ type: HRSelfWidgetsService }], propDecorators: { baseUrl: [{
|
|
3090
|
+
type: Input,
|
|
3091
|
+
args: [{ required: true }]
|
|
3092
|
+
}], headerIconClass: [{
|
|
3093
|
+
type: Input
|
|
3094
|
+
}], headerTextClass: [{
|
|
3095
|
+
type: Input
|
|
3096
|
+
}], headerDividerClass: [{
|
|
3097
|
+
type: Input
|
|
3098
|
+
}], rowClass: [{
|
|
3099
|
+
type: Input
|
|
3100
|
+
}], columnClass: [{
|
|
3101
|
+
type: Input
|
|
3102
|
+
}], responsiveTopSpacingColumnClass: [{
|
|
3103
|
+
type: Input
|
|
3104
|
+
}], topSpacingBottomMdSpacingColumnClass: [{
|
|
3105
|
+
type: Input
|
|
3106
|
+
}], topSpacingBottomSpacingColumnClass: [{
|
|
3107
|
+
type: Input
|
|
3108
|
+
}], labelClass: [{
|
|
3109
|
+
type: Input
|
|
3110
|
+
}], valueClass: [{
|
|
3111
|
+
type: Input
|
|
3112
|
+
}], emptyStateContainerClass: [{
|
|
3113
|
+
type: Input
|
|
3114
|
+
}], emptyStateTextClass: [{
|
|
3115
|
+
type: Input
|
|
3116
|
+
}], mainIcon: [{
|
|
3117
|
+
type: Input
|
|
3118
|
+
}], sectionTitle: [{
|
|
3119
|
+
type: Input
|
|
3120
|
+
}], isLoadingChanged: [{
|
|
3121
|
+
type: Output
|
|
3122
|
+
}], errorOccurred: [{
|
|
3123
|
+
type: Output
|
|
3124
|
+
}] } });
|
|
3125
|
+
|
|
3126
|
+
class ProfileJobInfoContractWidgetComponent {
|
|
3127
|
+
hrSelfWidgetsService;
|
|
3128
|
+
jobInformationContract = null;
|
|
3129
|
+
isLoading = true;
|
|
3130
|
+
baseUrl = '';
|
|
3131
|
+
headerIconClass = 'primary-icon-xl';
|
|
3132
|
+
headerTextClass = 'mt-2 field-secondary-label-lg';
|
|
3133
|
+
headerDividerClass = 'flex-grow-1 ms-2';
|
|
3134
|
+
rowClass = 'row mt-4';
|
|
3135
|
+
columnClass = 'col-md-4 col-6';
|
|
3136
|
+
responsiveTopSpacingColumnClass = 'col-md-4 col-6 mt-md-0 mt-4';
|
|
3137
|
+
topSpacingBottomMdSpacingColumnClass = 'col-md-4 col-6 mt-4 mb-md-5';
|
|
3138
|
+
topSpacingBottomSpacingColumnClass = 'col-md-4 col-6 mt-4 mb-5';
|
|
3139
|
+
labelClass = 'field-secondary-label-sm';
|
|
3140
|
+
valueClass = 'fs-14 fw-medium text-ellipsis-one-line';
|
|
3141
|
+
emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
|
|
3142
|
+
emptyStateTextClass = 'field-secondary-label-md';
|
|
3143
|
+
contractIcon = faFileSignature;
|
|
3144
|
+
sectionTitle = 'Contract';
|
|
3145
|
+
isLoadingChanged = new EventEmitter();
|
|
3146
|
+
errorOccurred = new EventEmitter();
|
|
3147
|
+
constructor(hrSelfWidgetsService) {
|
|
3148
|
+
this.hrSelfWidgetsService = hrSelfWidgetsService;
|
|
3149
|
+
}
|
|
3150
|
+
ngOnInit() {
|
|
3151
|
+
if (!this.baseUrl) {
|
|
3152
|
+
this.isLoading = false;
|
|
3153
|
+
return;
|
|
3154
|
+
}
|
|
3155
|
+
this.isLoadingChanged.emit(true);
|
|
3156
|
+
this.hrSelfWidgetsService.getJobInformationContract(this.baseUrl).subscribe({
|
|
3157
|
+
next: (response) => {
|
|
3158
|
+
this.isLoading = false;
|
|
3159
|
+
this.jobInformationContract = response;
|
|
3160
|
+
this.isLoadingChanged.emit(false);
|
|
3161
|
+
},
|
|
3162
|
+
error: (error) => {
|
|
3163
|
+
this.isLoading = false;
|
|
3164
|
+
this.jobInformationContract = null;
|
|
3165
|
+
this.isLoadingChanged.emit(false);
|
|
3166
|
+
this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
|
|
3167
|
+
}
|
|
3168
|
+
});
|
|
3169
|
+
}
|
|
3170
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoContractWidgetComponent, deps: [{ token: HRSelfWidgetsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3171
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileJobInfoContractWidgetComponent, isStandalone: true, selector: "hr-profile-job-info-contract-widget", inputs: { baseUrl: "baseUrl", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", columnClass: "columnClass", responsiveTopSpacingColumnClass: "responsiveTopSpacingColumnClass", topSpacingBottomMdSpacingColumnClass: "topSpacingBottomMdSpacingColumnClass", topSpacingBottomSpacingColumnClass: "topSpacingBottomSpacingColumnClass", labelClass: "labelClass", valueClass: "valueClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", contractIcon: "contractIcon", sectionTitle: "sectionTitle" }, outputs: { isLoadingChanged: "isLoadingChanged", errorOccurred: "errorOccurred" }, ngImport: i0, template: "<sky-section-divider [fontAwesomeIcon]=\"contractIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(jobInformationContract){\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'ContractType'\"\r\n [value]=\"jobInformationContract.ContractTypeName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'ContractStartDate'\"\r\n [value]=\"jobInformationContract.ContractStartDate ? (jobInformationContract.ContractStartDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractEndDate'\"\r\n [value]=\"jobInformationContract.ContractEndDate ? (jobInformationContract.ContractEndDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractMaritalStatus'\"\r\n [value]=\"jobInformationContract.ContractMaritalStateName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractDependentsCount'\"\r\n [value]=\"jobInformationContract.ContractDependentsCount?.toString()\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoJobContractYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }, { kind: "component", type: SkyEmptyDesignCardComponent, selector: "sky-empty-design-card", inputs: ["emptyIcon", "emptyIconClass", "emptyText", "emptyTextClass", "actionTitle", "actionIcon", "actionDisabled", "textColor", "disabledTitleClass", "activeTitleClass", "disabledIconClass", "activeIconClass", "actionClass", "containerClass", "cardBodyClass", "cardBodyContainerClass", "visibleIcon", "visibleQuickAction"], outputs: ["onActionClick"] }, { kind: "component", type: HRInfoFieldComponent, selector: "hr-info-field", inputs: ["labelKey", "value", "labelClass", "valueClass", "fallbackValue"] }] });
|
|
3172
|
+
}
|
|
3173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoContractWidgetComponent, decorators: [{
|
|
3174
|
+
type: Component,
|
|
3175
|
+
args: [{ selector: 'hr-profile-job-info-contract-widget', standalone: true, imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent], template: "<sky-section-divider [fontAwesomeIcon]=\"contractIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(jobInformationContract){\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'ContractType'\"\r\n [value]=\"jobInformationContract.ContractTypeName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'ContractStartDate'\"\r\n [value]=\"jobInformationContract.ContractStartDate ? (jobInformationContract.ContractStartDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractEndDate'\"\r\n [value]=\"jobInformationContract.ContractEndDate ? (jobInformationContract.ContractEndDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractMaritalStatus'\"\r\n [value]=\"jobInformationContract.ContractMaritalStateName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractDependentsCount'\"\r\n [value]=\"jobInformationContract.ContractDependentsCount?.toString()\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoJobContractYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n" }]
|
|
3176
|
+
}], ctorParameters: () => [{ type: HRSelfWidgetsService }], propDecorators: { baseUrl: [{
|
|
3177
|
+
type: Input,
|
|
3178
|
+
args: [{ required: true }]
|
|
3179
|
+
}], headerIconClass: [{
|
|
3180
|
+
type: Input
|
|
3181
|
+
}], headerTextClass: [{
|
|
3182
|
+
type: Input
|
|
3183
|
+
}], headerDividerClass: [{
|
|
3184
|
+
type: Input
|
|
3185
|
+
}], rowClass: [{
|
|
3186
|
+
type: Input
|
|
3187
|
+
}], columnClass: [{
|
|
3188
|
+
type: Input
|
|
3189
|
+
}], responsiveTopSpacingColumnClass: [{
|
|
3190
|
+
type: Input
|
|
3191
|
+
}], topSpacingBottomMdSpacingColumnClass: [{
|
|
3192
|
+
type: Input
|
|
3193
|
+
}], topSpacingBottomSpacingColumnClass: [{
|
|
3194
|
+
type: Input
|
|
3195
|
+
}], labelClass: [{
|
|
3196
|
+
type: Input
|
|
3197
|
+
}], valueClass: [{
|
|
3198
|
+
type: Input
|
|
3199
|
+
}], emptyStateContainerClass: [{
|
|
3200
|
+
type: Input
|
|
3201
|
+
}], emptyStateTextClass: [{
|
|
3202
|
+
type: Input
|
|
3203
|
+
}], contractIcon: [{
|
|
3204
|
+
type: Input
|
|
3205
|
+
}], sectionTitle: [{
|
|
3206
|
+
type: Input
|
|
3207
|
+
}], isLoadingChanged: [{
|
|
3208
|
+
type: Output
|
|
3209
|
+
}], errorOccurred: [{
|
|
3210
|
+
type: Output
|
|
3211
|
+
}] } });
|
|
3212
|
+
|
|
3213
|
+
class ProfileJobInfoSalaryWidgetComponent {
|
|
3214
|
+
hrSelfWidgetsService;
|
|
3215
|
+
commonMethodsService;
|
|
3216
|
+
jobInformationSalary = null;
|
|
3217
|
+
isLoading = true;
|
|
3218
|
+
baseUrl = '';
|
|
3219
|
+
currencyCode = '';
|
|
3220
|
+
currencyDecimals = 2;
|
|
3221
|
+
headerIconClass = 'primary-icon-xl';
|
|
3222
|
+
headerTextClass = 'mt-2 field-secondary-label-lg';
|
|
3223
|
+
headerDividerClass = 'flex-grow-1 ms-2';
|
|
3224
|
+
rowClass = 'row mt-4';
|
|
3225
|
+
columnClass = 'col-md-4 col-6 mt-4';
|
|
3226
|
+
grossSalaryColumnClass = 'col-md-4 col-6 my-4';
|
|
3227
|
+
labelClass = 'field-secondary-label-sm';
|
|
3228
|
+
valueClass = 'fs-14 fw-medium text-ellipsis-one-line';
|
|
3229
|
+
currencyClass = 'fs-10 text-secondary fw-light';
|
|
3230
|
+
emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
|
|
3231
|
+
emptyStateTextClass = 'field-secondary-label-md';
|
|
3232
|
+
salaryIcon = faSackDollar;
|
|
3233
|
+
sectionTitle = 'Salary';
|
|
3234
|
+
isLoadingChanged = new EventEmitter();
|
|
3235
|
+
errorOccurred = new EventEmitter();
|
|
3236
|
+
constructor(hrSelfWidgetsService, commonMethodsService) {
|
|
3237
|
+
this.hrSelfWidgetsService = hrSelfWidgetsService;
|
|
3238
|
+
this.commonMethodsService = commonMethodsService;
|
|
3239
|
+
}
|
|
3240
|
+
ngOnInit() {
|
|
3241
|
+
if (!this.baseUrl) {
|
|
3242
|
+
this.isLoading = false;
|
|
3243
|
+
return;
|
|
3244
|
+
}
|
|
3245
|
+
this.isLoadingChanged.emit(true);
|
|
3246
|
+
this.hrSelfWidgetsService.getJobInformationSalary(this.baseUrl).subscribe({
|
|
3247
|
+
next: (response) => {
|
|
3248
|
+
this.isLoading = false;
|
|
3249
|
+
this.jobInformationSalary = response;
|
|
3250
|
+
this.isLoadingChanged.emit(false);
|
|
3251
|
+
},
|
|
3252
|
+
error: (error) => {
|
|
3253
|
+
this.isLoading = false;
|
|
3254
|
+
this.jobInformationSalary = null;
|
|
3255
|
+
this.isLoadingChanged.emit(false);
|
|
3256
|
+
this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
|
|
3257
|
+
}
|
|
3258
|
+
});
|
|
3259
|
+
}
|
|
3260
|
+
get basicSalary() {
|
|
3261
|
+
return this.jobInformationSalary?.BasicSalary ?? this.jobInformationSalary?.CurrentBasicSalary ?? null;
|
|
3262
|
+
}
|
|
3263
|
+
get allowances() {
|
|
3264
|
+
return this.jobInformationSalary?.Allowances ?? [];
|
|
3265
|
+
}
|
|
3266
|
+
formatAmount(value) {
|
|
3267
|
+
if (value == null) {
|
|
3268
|
+
return '—';
|
|
3269
|
+
}
|
|
3270
|
+
return this.commonMethodsService.currencyDecimalFormat(value, this.currencyDecimals) || '—';
|
|
3271
|
+
}
|
|
3272
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoSalaryWidgetComponent, deps: [{ token: HRSelfWidgetsService }, { token: HRCommonMethodsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3273
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileJobInfoSalaryWidgetComponent, isStandalone: true, selector: "hr-profile-job-info-salary-widget", inputs: { baseUrl: "baseUrl", currencyCode: "currencyCode", currencyDecimals: "currencyDecimals", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", columnClass: "columnClass", grossSalaryColumnClass: "grossSalaryColumnClass", labelClass: "labelClass", valueClass: "valueClass", currencyClass: "currencyClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", salaryIcon: "salaryIcon", sectionTitle: "sectionTitle" }, outputs: { isLoadingChanged: "isLoadingChanged", errorOccurred: "errorOccurred" }, ngImport: i0, template: "@if(jobInformationSalary){\r\n<sky-section-divider [fontAwesomeIcon]=\"salaryIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{'BasicSalary' | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(basicSalary)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n\r\n @for(allowance of allowances; track allowance){\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{allowance.AllowanceName}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(allowance.AllowanceAmount)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n }\r\n\r\n <div [ngClass]=\"grossSalaryColumnClass\">\r\n <div [ngClass]=\"labelClass\">{{'GrossSalary' | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(jobInformationSalary.GrossSalary)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n</div>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }] });
|
|
3274
|
+
}
|
|
3275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoSalaryWidgetComponent, decorators: [{
|
|
3276
|
+
type: Component,
|
|
3277
|
+
args: [{ selector: 'hr-profile-job-info-salary-widget', standalone: true, imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent], template: "@if(jobInformationSalary){\r\n<sky-section-divider [fontAwesomeIcon]=\"salaryIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{'BasicSalary' | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(basicSalary)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n\r\n @for(allowance of allowances; track allowance){\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{allowance.AllowanceName}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(allowance.AllowanceAmount)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n }\r\n\r\n <div [ngClass]=\"grossSalaryColumnClass\">\r\n <div [ngClass]=\"labelClass\">{{'GrossSalary' | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(jobInformationSalary.GrossSalary)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n</div>\r\n}\r\n" }]
|
|
3278
|
+
}], ctorParameters: () => [{ type: HRSelfWidgetsService }, { type: HRCommonMethodsService }], propDecorators: { baseUrl: [{
|
|
3279
|
+
type: Input,
|
|
3280
|
+
args: [{ required: true }]
|
|
3281
|
+
}], currencyCode: [{
|
|
3282
|
+
type: Input
|
|
3283
|
+
}], currencyDecimals: [{
|
|
3284
|
+
type: Input
|
|
3285
|
+
}], headerIconClass: [{
|
|
3286
|
+
type: Input
|
|
3287
|
+
}], headerTextClass: [{
|
|
3288
|
+
type: Input
|
|
3289
|
+
}], headerDividerClass: [{
|
|
3290
|
+
type: Input
|
|
3291
|
+
}], rowClass: [{
|
|
3292
|
+
type: Input
|
|
3293
|
+
}], columnClass: [{
|
|
3294
|
+
type: Input
|
|
3295
|
+
}], grossSalaryColumnClass: [{
|
|
3296
|
+
type: Input
|
|
3297
|
+
}], labelClass: [{
|
|
3298
|
+
type: Input
|
|
3299
|
+
}], valueClass: [{
|
|
3300
|
+
type: Input
|
|
3301
|
+
}], currencyClass: [{
|
|
3302
|
+
type: Input
|
|
3303
|
+
}], emptyStateContainerClass: [{
|
|
3304
|
+
type: Input
|
|
3305
|
+
}], emptyStateTextClass: [{
|
|
3306
|
+
type: Input
|
|
3307
|
+
}], salaryIcon: [{
|
|
3308
|
+
type: Input
|
|
3309
|
+
}], sectionTitle: [{
|
|
3310
|
+
type: Input
|
|
3311
|
+
}], isLoadingChanged: [{
|
|
3312
|
+
type: Output
|
|
3313
|
+
}], errorOccurred: [{
|
|
3314
|
+
type: Output
|
|
3315
|
+
}] } });
|
|
3316
|
+
|
|
3317
|
+
class ProfileJobInfoServiceChargeWidgetComponent {
|
|
3318
|
+
hrSelfWidgetsService;
|
|
3319
|
+
commonMethodsService;
|
|
3320
|
+
jobInformationServiceCharge = null;
|
|
3321
|
+
isLoading = true;
|
|
3322
|
+
baseUrl = '';
|
|
3323
|
+
currencyCode = '';
|
|
3324
|
+
headerIconClass = 'primary-icon-xl';
|
|
3325
|
+
headerTextClass = 'mt-2 field-secondary-label-lg';
|
|
3326
|
+
headerDividerClass = 'flex-grow-1 ms-2';
|
|
3327
|
+
rowClass = 'row mt-4 mb-5';
|
|
3328
|
+
columnClass = 'col-md-4 col-6';
|
|
3329
|
+
labelClass = 'field-secondary-label-sm';
|
|
3330
|
+
valueClass = 'fs-14 fw-medium text-ellipsis-one-line';
|
|
3331
|
+
emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
|
|
3332
|
+
emptyStateTextClass = 'field-secondary-label-md';
|
|
3333
|
+
serviceChargeIcon = faEnvelopeOpenDollar;
|
|
3334
|
+
sectionTitle = 'ServiceCharge';
|
|
3335
|
+
isLoadingChanged = new EventEmitter();
|
|
3336
|
+
errorOccurred = new EventEmitter();
|
|
3337
|
+
constructor(hrSelfWidgetsService, commonMethodsService) {
|
|
3338
|
+
this.hrSelfWidgetsService = hrSelfWidgetsService;
|
|
3339
|
+
this.commonMethodsService = commonMethodsService;
|
|
3340
|
+
}
|
|
3341
|
+
ngOnInit() {
|
|
3342
|
+
if (!this.baseUrl) {
|
|
3343
|
+
this.isLoading = false;
|
|
3344
|
+
return;
|
|
3345
|
+
}
|
|
3346
|
+
this.isLoadingChanged.emit(true);
|
|
3347
|
+
this.hrSelfWidgetsService.getJobInformationServiceCharge(this.baseUrl).subscribe({
|
|
3348
|
+
next: (response) => {
|
|
3349
|
+
this.isLoading = false;
|
|
3350
|
+
this.jobInformationServiceCharge = response;
|
|
3351
|
+
this.isLoadingChanged.emit(false);
|
|
3352
|
+
},
|
|
3353
|
+
error: (error) => {
|
|
3354
|
+
this.isLoading = false;
|
|
3355
|
+
this.jobInformationServiceCharge = null;
|
|
3356
|
+
this.isLoadingChanged.emit(false);
|
|
3357
|
+
this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
|
|
3358
|
+
}
|
|
3359
|
+
});
|
|
3360
|
+
}
|
|
3361
|
+
get modeLabelKey() {
|
|
3362
|
+
const mode = this.jobInformationServiceCharge?.ServiceChargeEntitlementMode;
|
|
3363
|
+
switch (ServiceChargeEntitlementMode[mode]) {
|
|
3364
|
+
case ServiceChargeEntitlementMode.Points:
|
|
3365
|
+
return 'Points';
|
|
3366
|
+
case ServiceChargeEntitlementMode.SalaryRatio:
|
|
3367
|
+
return 'SalaryRatio';
|
|
3368
|
+
case ServiceChargeEntitlementMode.FixedAmount:
|
|
3369
|
+
return 'FixedAmount';
|
|
3370
|
+
case ServiceChargeEntitlementMode.FixedRate:
|
|
3371
|
+
return 'FixedRate';
|
|
3372
|
+
default:
|
|
3373
|
+
return 'ServiceCharge';
|
|
3374
|
+
}
|
|
3375
|
+
}
|
|
3376
|
+
get value() {
|
|
3377
|
+
const data = this.jobInformationServiceCharge;
|
|
3378
|
+
if (!data || data.ServiceChargeValue == null) {
|
|
3379
|
+
return '—';
|
|
3380
|
+
}
|
|
3381
|
+
if (ServiceChargeEntitlementMode[data.ServiceChargeEntitlementMode] ===
|
|
3382
|
+
ServiceChargeEntitlementMode.FixedAmount) {
|
|
3383
|
+
return `${this.commonMethodsService.currencyDecimalFormat(data.ServiceChargeValue, 4)} (${this.currencyCode})`;
|
|
3384
|
+
}
|
|
3385
|
+
return this.commonMethodsService.currencyDecimalFormat(data.ServiceChargeValue, 2) || '—';
|
|
3386
|
+
}
|
|
3387
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoServiceChargeWidgetComponent, deps: [{ token: HRSelfWidgetsService }, { token: HRCommonMethodsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3388
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileJobInfoServiceChargeWidgetComponent, isStandalone: true, selector: "hr-profile-job-info-service-charge-widget", inputs: { baseUrl: "baseUrl", currencyCode: "currencyCode", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", columnClass: "columnClass", labelClass: "labelClass", valueClass: "valueClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", serviceChargeIcon: "serviceChargeIcon", sectionTitle: "sectionTitle" }, outputs: { isLoadingChanged: "isLoadingChanged", errorOccurred: "errorOccurred" }, ngImport: i0, template: "@if(jobInformationServiceCharge){\r\n<sky-section-divider [fontAwesomeIcon]=\"serviceChargeIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{modeLabelKey | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{value}}</div>\r\n </div>\r\n</div>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }] });
|
|
3389
|
+
}
|
|
3390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoServiceChargeWidgetComponent, decorators: [{
|
|
3391
|
+
type: Component,
|
|
3392
|
+
args: [{ selector: 'hr-profile-job-info-service-charge-widget', standalone: true, imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent], template: "@if(jobInformationServiceCharge){\r\n<sky-section-divider [fontAwesomeIcon]=\"serviceChargeIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{modeLabelKey | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{value}}</div>\r\n </div>\r\n</div>\r\n}\r\n" }]
|
|
3393
|
+
}], ctorParameters: () => [{ type: HRSelfWidgetsService }, { type: HRCommonMethodsService }], propDecorators: { baseUrl: [{
|
|
3394
|
+
type: Input,
|
|
3395
|
+
args: [{ required: true }]
|
|
3396
|
+
}], currencyCode: [{
|
|
3397
|
+
type: Input
|
|
3398
|
+
}], headerIconClass: [{
|
|
3399
|
+
type: Input
|
|
3400
|
+
}], headerTextClass: [{
|
|
3401
|
+
type: Input
|
|
3402
|
+
}], headerDividerClass: [{
|
|
3403
|
+
type: Input
|
|
3404
|
+
}], rowClass: [{
|
|
3405
|
+
type: Input
|
|
3406
|
+
}], columnClass: [{
|
|
3407
|
+
type: Input
|
|
3408
|
+
}], labelClass: [{
|
|
3409
|
+
type: Input
|
|
3410
|
+
}], valueClass: [{
|
|
3411
|
+
type: Input
|
|
3412
|
+
}], emptyStateContainerClass: [{
|
|
3413
|
+
type: Input
|
|
3414
|
+
}], emptyStateTextClass: [{
|
|
3415
|
+
type: Input
|
|
3416
|
+
}], serviceChargeIcon: [{
|
|
3417
|
+
type: Input
|
|
3418
|
+
}], sectionTitle: [{
|
|
3419
|
+
type: Input
|
|
3420
|
+
}], isLoadingChanged: [{
|
|
3421
|
+
type: Output
|
|
3422
|
+
}], errorOccurred: [{
|
|
3423
|
+
type: Output
|
|
3424
|
+
}] } });
|
|
3425
|
+
|
|
2915
3426
|
class HRVacationSubordinatesPopupComponent {
|
|
2916
3427
|
http;
|
|
2917
3428
|
dataGrid;
|
|
@@ -3118,5 +3629,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
3118
3629
|
* Generated bundle index. Do not edit.
|
|
3119
3630
|
*/
|
|
3120
3631
|
|
|
3121
|
-
export { EventOption, EventTypeEnum, HRCardHeaderComponent, HRConstantsService, HREmployeeCalendarComponent, HRTranslatePipe, HRTranslateService, MainWidgetShortcut, MyCalendarWidgetComponent, MyMainDetailsWidgetComponent, MyUpcomingEventsWidgetComponent, MyVacationTeamWidgetComponent, ProfilePersonalInfoAddressWidgetComponent, ProfilePersonalInfoContactWidgetComponent, ProfilePersonalInfoLanguagesWidgetComponent, ProfilePersonalInfoMainWidgetComponent, ProfilePersonalInfoOtherNationalitiesWidgetComponent, PublicHolidayWeekContext, RelativeDay, ScheduleVacationTypes, ServiceChargeEntitlementMode, VacationPopupType };
|
|
3632
|
+
export { EventOption, EventTypeEnum, HRCardHeaderComponent, HRConstantsService, HREmployeeCalendarComponent, HRTranslatePipe, HRTranslateService, MainWidgetShortcut, MyCalendarWidgetComponent, MyMainDetailsWidgetComponent, MyUpcomingEventsWidgetComponent, MyVacationTeamWidgetComponent, ProfileBankInfoWidgetComponent, ProfileJobInfoContractWidgetComponent, ProfileJobInfoMainWidgetComponent, ProfileJobInfoSalaryWidgetComponent, ProfileJobInfoServiceChargeWidgetComponent, ProfilePersonalInfoAddressWidgetComponent, ProfilePersonalInfoContactWidgetComponent, ProfilePersonalInfoLanguagesWidgetComponent, ProfilePersonalInfoMainWidgetComponent, ProfilePersonalInfoOtherNationalitiesWidgetComponent, PublicHolidayWeekContext, RelativeDay, ScheduleVacationTypes, ServiceChargeEntitlementMode, VacationPopupType };
|
|
3122
3633
|
//# sourceMappingURL=skysoftware-co-bayan-hr-widgets-ui.mjs.map
|