@skysoftware-co/bayan-hr-widgets-ui 2.0.3 → 2.0.5

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.
@@ -1,21 +1,21 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Pipe, EventEmitter, Input, Output, Component, inject, ViewChild } from '@angular/core';
3
- import * as i1$1 from 'devextreme-angular';
4
- import { DxTooltipModule, DxPopupModule, DxScrollViewModule, DxLoadPanelModule, DxCalendarModule, DxDataGridModule, DxTextBoxModule, DxDataGridComponent } from 'devextreme-angular';
2
+ import { Injectable, Pipe, EventEmitter, Input, Output, Component, inject, ViewChild, input, output, effect, ChangeDetectionStrategy, signal } from '@angular/core';
3
+ import * as i2 from 'devextreme-angular';
4
+ import { DxTooltipModule, DxPopupModule, DxScrollViewModule, DxLoadPanelModule, DxCalendarModule, DxDataGridModule, DxTextBoxModule, DxDataGridComponent, DxLoadIndicatorModule } from 'devextreme-angular';
5
5
  import * as i2$2 from '@angular/common';
6
- import { NgClass, DecimalPipe, DatePipe, LowerCasePipe, CommonModule } from '@angular/common';
7
- import * as i2 from '@fortawesome/angular-fontawesome';
6
+ import { NgClass, DecimalPipe, DatePipe, LowerCasePipe, CommonModule, NgTemplateOutlet } from '@angular/common';
7
+ import * as i2$1 from '@fortawesome/angular-fontawesome';
8
8
  import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
9
9
  import { BayanEmployeeBadgeComponent } from '@skysoftware-co/bayan-components-ui';
10
10
  import { SkyShortcutIconComponent, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HighlightPipe, SkyWidgetSectionItemComponent } from '@skysoftware-co/sky-components-ui';
11
11
  import * as i1 from '@angular/common/http';
12
12
  import { HttpParams } from '@angular/common/http';
13
- import { map, shareReplay, catchError, throwError, lastValueFrom, forkJoin } from 'rxjs';
13
+ import { map, shareReplay, catchError, throwError, lastValueFrom, forkJoin, firstValueFrom } from 'rxjs';
14
14
  import { faCakeCandles, faTreePalm, faCalendarStar, faMoneyCheckDollarPen, faMemoCircleInfo, faPhone, faBolt, faLanguage, faEarthAfrica, faHouse, faFileSignature, faSackDollar, faEnvelopeOpenDollar, faXmark, faFolderArrowDown, faUsersRays, faFileCertificate, faUsersLine, faIslandTropical, faTicketsAirline, faNotesMedical, faGrid2Plus, faFileLines } from '@fortawesome/pro-light-svg-icons';
15
- import * as i2$1 from 'devextreme-angular/core';
15
+ import * as i3 from 'devextreme-angular/core';
16
16
  import { faCircle, faCalendarDays, faEye } from '@fortawesome/pro-regular-svg-icons';
17
17
  import moment from 'moment';
18
- import { faPlaneDeparture, faPlaneArrival } from '@fortawesome/pro-solid-svg-icons';
18
+ import { faPlaneDeparture, faPlaneArrival, faChevronDown, faPhone as faPhone$1, faEnvelope } from '@fortawesome/pro-solid-svg-icons';
19
19
  import CustomStore from 'devextreme/data/custom_store';
20
20
  import * as i5 from 'devextreme-angular/ui/data-grid/nested';
21
21
 
@@ -176,6 +176,11 @@ var Employee$2 = "Employee";
176
176
  var StartDate$2 = "Start date";
177
177
  var EndDate$2 = "End date";
178
178
  var ReturnDate$2 = "Return date";
179
+ var MyTeam$2 = "My team";
180
+ var ContactInfo$2 = "Contact info";
181
+ var ShowAllSubordinates$2 = "Show all subordinates";
182
+ var NoDataToDisplay$2 = "No data to display";
183
+ var Search$2 = "Search";
179
184
  var JobInformation$2 = "Job information";
180
185
  var Degrees$2 = "Degrees";
181
186
  var degrees$2 = "Degrees";
@@ -331,6 +336,11 @@ var en = {
331
336
  StartDate: StartDate$2,
332
337
  EndDate: EndDate$2,
333
338
  ReturnDate: ReturnDate$2,
339
+ MyTeam: MyTeam$2,
340
+ ContactInfo: ContactInfo$2,
341
+ ShowAllSubordinates: ShowAllSubordinates$2,
342
+ NoDataToDisplay: NoDataToDisplay$2,
343
+ Search: Search$2,
334
344
  "Search...": "Search...",
335
345
  JobInformation: JobInformation$2,
336
346
  Degrees: Degrees$2,
@@ -491,6 +501,11 @@ var Employee$1 = "الموظف";
491
501
  var StartDate$1 = "تاريخ البداية";
492
502
  var EndDate$1 = "تاريخ النهاية";
493
503
  var ReturnDate$1 = "تاريخ العودة";
504
+ var MyTeam$1 = "فريقي";
505
+ var ContactInfo$1 = "معلومات التواصل";
506
+ var ShowAllSubordinates$1 = "إظهار جميع المرؤوسون";
507
+ var NoDataToDisplay$1 = "لا توجد بيانات للعرض";
508
+ var Search$1 = "بحث";
494
509
  var JobInformation$1 = "معلومات الوظيفة";
495
510
  var Degrees$1 = "المؤهلات العلمية";
496
511
  var degrees$1 = "المؤهلات العلمية";
@@ -646,6 +661,11 @@ var ar = {
646
661
  StartDate: StartDate$1,
647
662
  EndDate: EndDate$1,
648
663
  ReturnDate: ReturnDate$1,
664
+ MyTeam: MyTeam$1,
665
+ ContactInfo: ContactInfo$1,
666
+ ShowAllSubordinates: ShowAllSubordinates$1,
667
+ NoDataToDisplay: NoDataToDisplay$1,
668
+ Search: Search$1,
649
669
  "Search...": "بحث...",
650
670
  JobInformation: JobInformation$1,
651
671
  Degrees: Degrees$1,
@@ -808,6 +828,11 @@ var Employee = "Employé";
808
828
  var StartDate = "Date de début";
809
829
  var EndDate = "Date de fin";
810
830
  var ReturnDate = "Date de retour";
831
+ var MyTeam = "Mon équipe";
832
+ var ContactInfo = "Coordonnées";
833
+ var ShowAllSubordinates = "Afficher tous les subordonnés";
834
+ var NoDataToDisplay = "Aucune donnée à afficher";
835
+ var Search = "Rechercher";
811
836
  var JobInformation = "Informations sur l'emploi";
812
837
  var Degrees = "Diplomes";
813
838
  var degrees = "Diplomes";
@@ -963,6 +988,11 @@ var fr = {
963
988
  StartDate: StartDate,
964
989
  EndDate: EndDate,
965
990
  ReturnDate: ReturnDate,
991
+ MyTeam: MyTeam,
992
+ ContactInfo: ContactInfo,
993
+ ShowAllSubordinates: ShowAllSubordinates,
994
+ NoDataToDisplay: NoDataToDisplay,
995
+ Search: Search,
966
996
  "Search...": "Rechercher...",
967
997
  JobInformation: JobInformation,
968
998
  Degrees: Degrees,
@@ -1992,7 +2022,7 @@ class MyMainDetailsWidgetComponent {
1992
2022
  return this.selfWidgetsService.getMainDetails(this.baseUrl);
1993
2023
  }
1994
2024
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MyMainDetailsWidgetComponent, deps: [{ token: HRSelfWidgetsService }, { token: HRConstantsService }, { token: HRTranslatePipe }], target: i0.ɵɵFactoryTarget.Component });
1995
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: MyMainDetailsWidgetComponent, isStandalone: true, selector: "hr-my-main-details-widget", inputs: { badgeClass: "badgeClass", badgeImageClass: "badgeImageClass", badgeWidth: "badgeWidth", badgeHeight: "badgeHeight", employeeInfoContainerClass: "employeeInfoContainerClass", employeeDetailsClass: "employeeDetailsClass", employeeNameContainerClass: "employeeNameContainerClass", employeeNameClass: "employeeNameClass", employeePositionClass: "employeePositionClass", employeeGradeClass: "employeeGradeClass", containerClass: "containerClass", cardBodyClass: "cardBodyClass", headerRowClass: "headerRowClass", shortcutsContainerClass: "shortcutsContainerClass", shortcutItemClass: "shortcutItemClass", shortcutIconContainerClass: "shortcutIconContainerClass", shortcutIconClass: "shortcutIconClass", shortcutTextClass: "shortcutTextClass", detailsRowClass: "detailsRowClass", reportingBlockClass: "reportingBlockClass", captionLabelClasses: "captionLabelClasses", captionLabelValueClass: "captionLabelValueClass", vacationBalancesContainerClass: "vacationBalancesContainerClass", vacationBalanceItemClass: "vacationBalanceItemClass", vacationBalanceHeaderClass: "vacationBalanceHeaderClass", vacationColorDotClass: "vacationColorDotClass", vacationTypeNameClass: "vacationTypeNameClass", vacationBalanceValueRowClass: "vacationBalanceValueRowClass", vacationBalanceValueClass: "vacationBalanceValueClass", tooltipTriggerLinkClass: "tooltipTriggerLinkClass", tooltipTriggerTextClass: "tooltipTriggerTextClass", tooltipVacationRowClass: "tooltipVacationRowClass", tooltipVacationNameContainerClass: "tooltipVacationNameContainerClass", tooltipVacationNameClass: "tooltipVacationNameClass", defaultVacationBalanceColor: "defaultVacationBalanceColor", defaultVacationColor: "defaultVacationColor", baseUrl: "baseUrl", isMobile: "isMobile", isTablet: "isTablet", shortcuts: "shortcuts" }, outputs: { onShortcutClicked: "onShortcutClicked", isLoadingChanged: "isLoadingChanged" }, providers: [HRTranslatePipe], usesOnChanges: true, ngImport: i0, template: "<div [class]=\"containerClass\">\r\n <div [class]=\"cardBodyClass\">\r\n <div [class]=\"headerRowClass\">\r\n <div>\r\n @if(employeeMainInfo!=null){\r\n <div [class]=\"employeeInfoContainerClass\">\r\n <bayan-employee-badge [badge]=\"employeeBadge\"\r\n [badgeClass]=\"badgeClass\"\r\n [imageClass]=\"badgeImageClass\"\r\n [width]=\"badgeWidth\"\r\n [height]=\"badgeHeight\"\r\n (employeePhotoError)=\"handleEmployeePhotoError()\"></bayan-employee-badge>\r\n\r\n <div [class]=\"employeeDetailsClass\">\r\n <div [class]=\"employeeNameContainerClass\">\r\n <div [class]=\"employeeNameClass\"\r\n data-bs-toggle=\"tooltip\" [title]=\"employeeMainInfo.EmployeeNumber+' | '+ employeeMainInfo.EmployeeName\">\r\n {{employeeMainInfo.EmployeeNumber + ' | ' + employeeMainInfo.EmployeeName}}\r\n </div>\r\n </div>\r\n @if(employeeMainInfo.PositionName != null && employeeMainInfo.PositionName != ''){\r\n <div [class]=\"employeePositionClass\"\r\n data-bs-toggle=\"tooltip\"\r\n [title]=\"employeeMainInfo.PositionName\">\r\n {{employeeMainInfo.PositionName}}\r\n </div>\r\n }\r\n @if(employeeMainInfo.GradeName !=null){\r\n <div [class]=\"employeeGradeClass\" [title]=\"employeeMainInfo.GradeName\">\r\n {{employeeMainInfo.GradeName}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div [class]=\"shortcutsContainerClass\">\r\n @for(Icon of shortcuts ; track Icon ; let i = $index;){\r\n <sky-shortcut-icon [shortcut]=\"Icon\"\r\n [itemClass]=\"shortcutItemClass\"\r\n [iconContainerClass]=\"shortcutIconContainerClass\"\r\n [iconClass]=\"shortcutIconClass\"\r\n [textClass]=\"shortcutTextClass\"\r\n (onClicked)=\"shortcutClicked($event)\"></sky-shortcut-icon>\r\n }\r\n </div>\r\n </div>\r\n <div [class]=\"detailsRowClass\" [ngClass]=\"{'flex-wrap': isMobile || isTablet}\">\r\n <div [class]=\"reportingBlockClass\" [ngClass]=\"{'mb-3': isMobile}\">\r\n <div [class]=\"captionLabelClasses + ' me-5'\">\r\n <div>\r\n {{'ReportingTo' | translate}}\r\n </div>\r\n <div [class]=\"captionLabelValueClass\">\r\n @if(employeeMainInfo?.ReportingTo){\r\n {{employeeMainInfo?.ReportingTo}}\r\n }@else{\r\n {{'NotAnknown' | translate}}\r\n }\r\n </div>\r\n </div>\r\n <div [class]=\"captionLabelClasses\" [ngClass]=\"{'border-end border-1 pe-4': !isMobile}\">\r\n <div>\r\n {{'ServiceYears' | translate}}\r\n </div>\r\n <div [class]=\"captionLabelValueClass\">\r\n {{employeeMainInfo?.ServiceYears}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-grow-1\" [ngClass]=\"{' ms-4': !isMobile && !isTablet, 'w-100': isTablet}\">\r\n <div [class]=\"vacationBalancesContainerClass\" [ngClass]=\"{'flex-wrap': isMobile,'w-100': isTablet}\">\r\n @for(vacationBalance of employeeMainInfo?.VacationBalances ; track vacationBalance ; let i = $index;){\r\n @if(i <= 2 || employeeMainInfo?.VacationBalances?.length == 4) {\r\n <div [class]=\"vacationBalanceItemClass\" [ngClass]=\"{'mb-2 w-40': isMobile}\">\r\n <div [class]=\"vacationBalanceHeaderClass\">\r\n <div [class]=\"vacationColorDotClass\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\" [style.background-color]=\"vacationBalance.VacationTypeColor\"></div>\r\n </div>\r\n <div [class]=\"vacationTypeNameClass\">\r\n {{vacationBalance.VacationTypeName}}\r\n </div>\r\n </div>\r\n <div [class]=\"vacationBalanceValueRowClass\">\r\n <div [class]=\"vacationColorDotClass\">\r\n <div class=\"rounded rounded-circle invisible\" style=\"height: 11px; width: 11px;\"></div>\r\n </div>\r\n <div [class]=\"vacationBalanceValueClass\">{{vacationBalance.CurrentBalance | number:'1.2-2'}} {{(vacationBalance.CurrentBalance! == 1 ? 'day' : 'days') | translate}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n\r\n @if(employeeMainInfo?.VacationBalances && employeeMainInfo!.VacationBalances!.length > 4){\r\n <div [class]=\"vacationBalanceItemClass\">\r\n <div [class]=\"tooltipTriggerLinkClass\" id=\"otherVacationBalances\">\r\n <div [class]=\"vacationColorDotClass\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\" [style.background-color]=\"defaultVacationBalanceColor\"></div>\r\n </div>\r\n <div [class]=\"tooltipTriggerTextClass\">\r\n +{{(employeeMainInfo!.VacationBalances!.length - 3)}} {{'More' | translate}}\r\n </div>\r\n </div>\r\n <div [class]=\"vacationBalanceValueRowClass\" style=\"visibility: hidden\">\r\n <div [class]=\"vacationColorDotClass\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\"></div>\r\n </div>\r\n <div class=\"mx-1 fw-medium fs-14 text-dark-gray\">{{'More' | translate}}</div>\r\n </div>\r\n <dx-tooltip [target]=\"'#otherVacationBalances'\"\r\n [showEvent]=\"'mouseenter'\"\r\n [hideEvent]=\"'mouseleave'\">\r\n @for (vacationBalance of employeeMainInfo!.VacationBalances! ; track vacationBalance; let i = $index;){\r\n @if(i > 2){\r\n <div [class]=\"tooltipVacationRowClass\">\r\n <div [class]=\"tooltipVacationNameContainerClass\">\r\n\r\n <div [class]=\"vacationColorDotClass\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\" [style.background-color]=\"vacationBalance.VacationTypeColor\"></div>\r\n </div>\r\n <div [class]=\"tooltipVacationNameClass\">\r\n {{vacationBalance.VacationTypeName}}\r\n </div>\r\n </div>\r\n <div>{{vacationBalance.CurrentBalance | number:'1.2-2'}} {{(vacationBalance.CurrentBalance! == 1 ? 'day' : 'days') | translate}}</div>\r\n </div>\r\n }\r\n }\r\n </dx-tooltip>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: DxTooltipModule }, { kind: "component", type: i1$1.DxTooltipComponent, selector: "dx-tooltip", inputs: ["animation", "container", "contentTemplate", "deferRendering", "disabled", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showEvent", "target", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showEventChange", "targetChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: BayanEmployeeBadgeComponent, selector: "bayan-employee-badge", inputs: ["badge", "width", "height", "imageClass", "badgeClass"], outputs: ["employeePhotoError"] }, { kind: "component", type: SkyShortcutIconComponent, selector: "sky-shortcut-icon", inputs: ["shortcut", "itemClass", "iconContainerClass", "iconClass", "textClass"], outputs: ["onClicked"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
2025
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: MyMainDetailsWidgetComponent, isStandalone: true, selector: "hr-my-main-details-widget", inputs: { badgeClass: "badgeClass", badgeImageClass: "badgeImageClass", badgeWidth: "badgeWidth", badgeHeight: "badgeHeight", employeeInfoContainerClass: "employeeInfoContainerClass", employeeDetailsClass: "employeeDetailsClass", employeeNameContainerClass: "employeeNameContainerClass", employeeNameClass: "employeeNameClass", employeePositionClass: "employeePositionClass", employeeGradeClass: "employeeGradeClass", containerClass: "containerClass", cardBodyClass: "cardBodyClass", headerRowClass: "headerRowClass", shortcutsContainerClass: "shortcutsContainerClass", shortcutItemClass: "shortcutItemClass", shortcutIconContainerClass: "shortcutIconContainerClass", shortcutIconClass: "shortcutIconClass", shortcutTextClass: "shortcutTextClass", detailsRowClass: "detailsRowClass", reportingBlockClass: "reportingBlockClass", captionLabelClasses: "captionLabelClasses", captionLabelValueClass: "captionLabelValueClass", vacationBalancesContainerClass: "vacationBalancesContainerClass", vacationBalanceItemClass: "vacationBalanceItemClass", vacationBalanceHeaderClass: "vacationBalanceHeaderClass", vacationColorDotClass: "vacationColorDotClass", vacationTypeNameClass: "vacationTypeNameClass", vacationBalanceValueRowClass: "vacationBalanceValueRowClass", vacationBalanceValueClass: "vacationBalanceValueClass", tooltipTriggerLinkClass: "tooltipTriggerLinkClass", tooltipTriggerTextClass: "tooltipTriggerTextClass", tooltipVacationRowClass: "tooltipVacationRowClass", tooltipVacationNameContainerClass: "tooltipVacationNameContainerClass", tooltipVacationNameClass: "tooltipVacationNameClass", defaultVacationBalanceColor: "defaultVacationBalanceColor", defaultVacationColor: "defaultVacationColor", baseUrl: "baseUrl", isMobile: "isMobile", isTablet: "isTablet", shortcuts: "shortcuts" }, outputs: { onShortcutClicked: "onShortcutClicked", isLoadingChanged: "isLoadingChanged" }, providers: [HRTranslatePipe], usesOnChanges: true, ngImport: i0, template: "<div [class]=\"containerClass\">\r\n <div [class]=\"cardBodyClass\">\r\n <div [class]=\"headerRowClass\">\r\n <div>\r\n @if(employeeMainInfo!=null){\r\n <div [class]=\"employeeInfoContainerClass\">\r\n <bayan-employee-badge [badge]=\"employeeBadge\"\r\n [badgeClass]=\"badgeClass\"\r\n [imageClass]=\"badgeImageClass\"\r\n [width]=\"badgeWidth\"\r\n [height]=\"badgeHeight\"\r\n (employeePhotoError)=\"handleEmployeePhotoError()\"></bayan-employee-badge>\r\n\r\n <div [class]=\"employeeDetailsClass\">\r\n <div [class]=\"employeeNameContainerClass\">\r\n <div [class]=\"employeeNameClass\"\r\n data-bs-toggle=\"tooltip\" [title]=\"employeeMainInfo.EmployeeNumber+' | '+ employeeMainInfo.EmployeeName\">\r\n {{employeeMainInfo.EmployeeNumber + ' | ' + employeeMainInfo.EmployeeName}}\r\n </div>\r\n </div>\r\n @if(employeeMainInfo.PositionName != null && employeeMainInfo.PositionName != ''){\r\n <div [class]=\"employeePositionClass\"\r\n data-bs-toggle=\"tooltip\"\r\n [title]=\"employeeMainInfo.PositionName\">\r\n {{employeeMainInfo.PositionName}}\r\n </div>\r\n }\r\n @if(employeeMainInfo.GradeName !=null){\r\n <div [class]=\"employeeGradeClass\" [title]=\"employeeMainInfo.GradeName\">\r\n {{employeeMainInfo.GradeName}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div [class]=\"shortcutsContainerClass\">\r\n @for(Icon of shortcuts ; track Icon ; let i = $index;){\r\n <sky-shortcut-icon [shortcut]=\"Icon\"\r\n [itemClass]=\"shortcutItemClass\"\r\n [iconContainerClass]=\"shortcutIconContainerClass\"\r\n [iconClass]=\"shortcutIconClass\"\r\n [textClass]=\"shortcutTextClass\"\r\n (onClicked)=\"shortcutClicked($event)\"></sky-shortcut-icon>\r\n }\r\n </div>\r\n </div>\r\n <div [class]=\"detailsRowClass\" [ngClass]=\"{'flex-wrap': isMobile || isTablet}\">\r\n <div [class]=\"reportingBlockClass\" [ngClass]=\"{'mb-3': isMobile}\">\r\n <div [class]=\"captionLabelClasses + ' me-5'\">\r\n <div>\r\n {{'ReportingTo' | translate}}\r\n </div>\r\n <div [class]=\"captionLabelValueClass\">\r\n @if(employeeMainInfo?.ReportingTo){\r\n {{employeeMainInfo?.ReportingTo}}\r\n }@else{\r\n {{'NotAnknown' | translate}}\r\n }\r\n </div>\r\n </div>\r\n <div [class]=\"captionLabelClasses\" [ngClass]=\"{'border-end border-1 pe-4': !isMobile}\">\r\n <div>\r\n {{'ServiceYears' | translate}}\r\n </div>\r\n <div [class]=\"captionLabelValueClass\">\r\n {{employeeMainInfo?.ServiceYears}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-grow-1\" [ngClass]=\"{' ms-4': !isMobile && !isTablet, 'w-100': isTablet}\">\r\n <div [class]=\"vacationBalancesContainerClass\" [ngClass]=\"{'flex-wrap': isMobile,'w-100': isTablet}\">\r\n @for(vacationBalance of employeeMainInfo?.VacationBalances ; track vacationBalance ; let i = $index;){\r\n @if(i <= 2 || employeeMainInfo?.VacationBalances?.length == 4) {\r\n <div [class]=\"vacationBalanceItemClass\" [ngClass]=\"{'mb-2 w-40': isMobile}\">\r\n <div [class]=\"vacationBalanceHeaderClass\">\r\n <div [class]=\"vacationColorDotClass\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\" [style.background-color]=\"vacationBalance.VacationTypeColor\"></div>\r\n </div>\r\n <div [class]=\"vacationTypeNameClass\">\r\n {{vacationBalance.VacationTypeName}}\r\n </div>\r\n </div>\r\n <div [class]=\"vacationBalanceValueRowClass\">\r\n <div [class]=\"vacationColorDotClass\">\r\n <div class=\"rounded rounded-circle invisible\" style=\"height: 11px; width: 11px;\"></div>\r\n </div>\r\n <div [class]=\"vacationBalanceValueClass\">{{vacationBalance.CurrentBalance | number:'1.2-2'}} {{(vacationBalance.CurrentBalance! == 1 ? 'day' : 'days') | translate}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n\r\n @if(employeeMainInfo?.VacationBalances && employeeMainInfo!.VacationBalances!.length > 4){\r\n <div [class]=\"vacationBalanceItemClass\">\r\n <div [class]=\"tooltipTriggerLinkClass\" id=\"otherVacationBalances\">\r\n <div [class]=\"vacationColorDotClass\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\" [style.background-color]=\"defaultVacationBalanceColor\"></div>\r\n </div>\r\n <div [class]=\"tooltipTriggerTextClass\">\r\n +{{(employeeMainInfo!.VacationBalances!.length - 3)}} {{'More' | translate}}\r\n </div>\r\n </div>\r\n <div [class]=\"vacationBalanceValueRowClass\" style=\"visibility: hidden\">\r\n <div [class]=\"vacationColorDotClass\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\"></div>\r\n </div>\r\n <div class=\"mx-1 fw-medium fs-14 text-dark-gray\">{{'More' | translate}}</div>\r\n </div>\r\n <dx-tooltip [target]=\"'#otherVacationBalances'\"\r\n [showEvent]=\"'mouseenter'\"\r\n [hideEvent]=\"'mouseleave'\">\r\n @for (vacationBalance of employeeMainInfo!.VacationBalances! ; track vacationBalance; let i = $index;){\r\n @if(i > 2){\r\n <div [class]=\"tooltipVacationRowClass\">\r\n <div [class]=\"tooltipVacationNameContainerClass\">\r\n\r\n <div [class]=\"vacationColorDotClass\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\" [style.background-color]=\"vacationBalance.VacationTypeColor\"></div>\r\n </div>\r\n <div [class]=\"tooltipVacationNameClass\">\r\n {{vacationBalance.VacationTypeName}}\r\n </div>\r\n </div>\r\n <div>{{vacationBalance.CurrentBalance | number:'1.2-2'}} {{(vacationBalance.CurrentBalance! == 1 ? 'day' : 'days') | translate}}</div>\r\n </div>\r\n }\r\n }\r\n </dx-tooltip>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: DxTooltipModule }, { kind: "component", type: i2.DxTooltipComponent, selector: "dx-tooltip", inputs: ["animation", "container", "contentTemplate", "deferRendering", "disabled", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showEvent", "target", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showEventChange", "targetChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: BayanEmployeeBadgeComponent, selector: "bayan-employee-badge", inputs: ["badge", "width", "height", "imageClass", "badgeClass"], outputs: ["employeePhotoError"] }, { kind: "component", type: SkyShortcutIconComponent, selector: "sky-shortcut-icon", inputs: ["shortcut", "itemClass", "iconContainerClass", "iconClass", "textClass"], outputs: ["onClicked"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
1996
2026
  }
1997
2027
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MyMainDetailsWidgetComponent, decorators: [{
1998
2028
  type: Component,
@@ -2090,7 +2120,7 @@ class HRCardHeaderComponent {
2090
2120
  iconClass = 'fs-6 text-primary pe-2';
2091
2121
  titleClass = 'text-center table-header-lg fw-medium';
2092
2122
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HRCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2093
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.13", type: HRCardHeaderComponent, isStandalone: true, selector: "hr-card-header", inputs: { icon: "icon", title: "title", containerClass: "containerClass", iconClass: "iconClass", titleClass: "titleClass" }, ngImport: i0, template: "<div [class]=\"containerClass\">\r\n <fa-icon [icon]=\"icon\" [class]=\"iconClass\"></fa-icon>\r\n <span [class]=\"titleClass\">{{ title }}</span>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }] });
2123
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.13", type: HRCardHeaderComponent, isStandalone: true, selector: "hr-card-header", inputs: { icon: "icon", title: "title", containerClass: "containerClass", iconClass: "iconClass", titleClass: "titleClass" }, ngImport: i0, template: "<div [class]=\"containerClass\">\r\n <fa-icon [icon]=\"icon\" [class]=\"iconClass\"></fa-icon>\r\n <span [class]=\"titleClass\">{{ title }}</span>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }] });
2094
2124
  }
2095
2125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HRCardHeaderComponent, decorators: [{
2096
2126
  type: Component,
@@ -2128,7 +2158,7 @@ class HREventItemComponent {
2128
2158
  isBirthday(event) { return event.EventType === EventTypeEnum.Birthdays; }
2129
2159
  hasPropertyBadge(event) { return this.showProperty && !!event.PropertySymbol; }
2130
2160
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HREventItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2131
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HREventItemComponent, isStandalone: true, selector: "hr-event-item", inputs: { events: "events", showDates: "showDates", showProperty: "showProperty", selectedLanguage: "selectedLanguage", selectedEventType: "selectedEventType", weekendWarningDescription: "weekendWarningDescription", eventIconClass: "eventIconClass", eventNameBoldClass: "eventNameBoldClass", eventDescriptionClass: "eventDescriptionClass", propertyBadgeClass: "propertyBadgeClass", noEventsTextClass: "noEventsTextClass", warningTextClass: "warningTextClass", dateFormat: "dateFormat" }, ngImport: i0, template: "@if (events.length > 0) {\r\n<div>\r\n @for (event of events; track event) {\r\n <div [class]=\"'d-flex lh-base ' + (showDates ? 'my-3' : 'my-1')\">\r\n <fa-icon [icon]=\"isBirthday(event) ? cakeCandles : treePalm\"\r\n [class]=\"eventIconClass\"\r\n [title]=\"isBirthday(event) ? ('Birthday' | translate) : ('PublicHoliday' | translate)\">\r\n </fa-icon>\r\n\r\n <div>\r\n @if (isBirthday(event)) {\r\n @if (hasPropertyBadge(event)) {\r\n <span [class]=\"propertyBadgeClass\" [title]=\"event.PropertyName!\">{{ event.PropertySymbol }}</span>\r\n }\r\n @if (isArabic) {\r\n <span>{{ 'Birthday' | translate }}</span>\r\n <span [class]=\"eventNameBoldClass\">{{ ' ' + event.Name + ' ' }}</span>\r\n @if (event.IsIn2Days) { <span>{{ 'During' | translate }} </span> }\r\n } @else {\r\n <span [class]=\"eventNameBoldClass\">{{ event.Name }}'s </span>\r\n <span>{{ ('Birthday' | translate) + ' ' + ((event.IsIn2Days ? ('isIn' | translate) : ('is' | translate)) | lowercase) }} </span>\r\n }\r\n } @else {\r\n @if (isArabic) {\r\n <span [class]=\"eventNameBoldClass\">{{ event.Name }}</span> <span> {{ ('In' | translate) + ' ' }}</span>\r\n } @else {\r\n <span [class]=\"eventNameBoldClass\">{{ event.Name }} </span><span>{{ ' ' + (('is' | translate) | lowercase) }} </span>\r\n }\r\n }\r\n\r\n <span [class]=\"eventDescriptionClass\">{{ event.Description | translate }}</span>\r\n\r\n @if (!isBirthday(event) && showDates && event.StartDate && event.EndDate) {\r\n <span>{{ ' (' + (event.StartDate | date:dateFormat) + ' - ' + (event.EndDate | date:dateFormat) + ')' }}</span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n} @else {\r\n@if (weekendWarningDescription) {\r\n<div [class]=\"warningTextClass + (showDates ? ' pt-5 my-5' : '')\">{{ weekendWarningDescription | translate }}</div>\r\n} @else {\r\n<div [class]=\"noEventsTextClass + (showDates ? ' pt-5 my-5' : '')\">{{ 'NoEvents' | translate }}</div>\r\n}\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
2161
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HREventItemComponent, isStandalone: true, selector: "hr-event-item", inputs: { events: "events", showDates: "showDates", showProperty: "showProperty", selectedLanguage: "selectedLanguage", selectedEventType: "selectedEventType", weekendWarningDescription: "weekendWarningDescription", eventIconClass: "eventIconClass", eventNameBoldClass: "eventNameBoldClass", eventDescriptionClass: "eventDescriptionClass", propertyBadgeClass: "propertyBadgeClass", noEventsTextClass: "noEventsTextClass", warningTextClass: "warningTextClass", dateFormat: "dateFormat" }, ngImport: i0, template: "@if (events.length > 0) {\r\n<div>\r\n @for (event of events; track event) {\r\n <div [class]=\"'d-flex lh-base ' + (showDates ? 'my-3' : 'my-1')\">\r\n <fa-icon [icon]=\"isBirthday(event) ? cakeCandles : treePalm\"\r\n [class]=\"eventIconClass\"\r\n [title]=\"isBirthday(event) ? ('Birthday' | translate) : ('PublicHoliday' | translate)\">\r\n </fa-icon>\r\n\r\n <div>\r\n @if (isBirthday(event)) {\r\n @if (hasPropertyBadge(event)) {\r\n <span [class]=\"propertyBadgeClass\" [title]=\"event.PropertyName!\">{{ event.PropertySymbol }}</span>\r\n }\r\n @if (isArabic) {\r\n <span>{{ 'Birthday' | translate }}</span>\r\n <span [class]=\"eventNameBoldClass\">{{ ' ' + event.Name + ' ' }}</span>\r\n @if (event.IsIn2Days) { <span>{{ 'During' | translate }} </span> }\r\n } @else {\r\n <span [class]=\"eventNameBoldClass\">{{ event.Name }}'s </span>\r\n <span>{{ ('Birthday' | translate) + ' ' + ((event.IsIn2Days ? ('isIn' | translate) : ('is' | translate)) | lowercase) }} </span>\r\n }\r\n } @else {\r\n @if (isArabic) {\r\n <span [class]=\"eventNameBoldClass\">{{ event.Name }}</span> <span> {{ ('In' | translate) + ' ' }}</span>\r\n } @else {\r\n <span [class]=\"eventNameBoldClass\">{{ event.Name }} </span><span>{{ ' ' + (('is' | translate) | lowercase) }} </span>\r\n }\r\n }\r\n\r\n <span [class]=\"eventDescriptionClass\">{{ event.Description | translate }}</span>\r\n\r\n @if (!isBirthday(event) && showDates && event.StartDate && event.EndDate) {\r\n <span>{{ ' (' + (event.StartDate | date:dateFormat) + ' - ' + (event.EndDate | date:dateFormat) + ')' }}</span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n} @else {\r\n@if (weekendWarningDescription) {\r\n<div [class]=\"warningTextClass + (showDates ? ' pt-5 my-5' : '')\">{{ weekendWarningDescription | translate }}</div>\r\n} @else {\r\n<div [class]=\"noEventsTextClass + (showDates ? ' pt-5 my-5' : '')\">{{ 'NoEvents' | translate }}</div>\r\n}\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
2132
2162
  }
2133
2163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HREventItemComponent, decorators: [{
2134
2164
  type: Component,
@@ -2190,7 +2220,7 @@ class HREventTabBarComponent {
2190
2220
  return this.translatePipe.transform('PublicHoliday');
2191
2221
  }
2192
2222
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HREventTabBarComponent, deps: [{ token: HRTranslatePipe }], target: i0.ɵɵFactoryTarget.Component });
2193
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HREventTabBarComponent, isStandalone: true, selector: "hr-event-tab-bar", inputs: { selectedType: "selectedType", selectedLanguage: "selectedLanguage", tabSelectedClass: "tabSelectedClass", tabNotSelectedClass: "tabNotSelectedClass", tabTextSelectedClass: "tabTextSelectedClass", tabTextNotSelectedClass: "tabTextNotSelectedClass", containerClass: "containerClass", tabItemClass: "tabItemClass", tabTextClass: "tabTextClass", tabIconClass: "tabIconClass" }, outputs: { tabSelected: "tabSelected" }, providers: [HRTranslatePipe], ngImport: i0, template: "<div [class]=\"containerClass\">\r\n @for (tab of tabList; track tab) {\r\n <div [class]=\"tabItemClass + ' ' + (selectedType == tab.id ? tabSelectedClass : tabNotSelectedClass)\"\r\n [ngClass]=\"{'w-25': (selectedLanguage == 'fr' && !tab?.icon)}\"\r\n (click)=\"tabSelected.emit(tab.id)\">\r\n @if (!tab?.icon) {\r\n <span [class]=\"tabTextClass + ' ' + (selectedType == tab.id ? tabTextSelectedClass : tabTextNotSelectedClass)\">{{ getTabText(tab) }}</span>\r\n } @else {\r\n <fa-icon [icon]=\"tab.icon!\" [class]=\"tabIconClass + ' ' + (selectedType == tab.id ? tabTextSelectedClass : tabTextNotSelectedClass)\" [title]=\"getTabText(tab)\"></fa-icon>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2223
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HREventTabBarComponent, isStandalone: true, selector: "hr-event-tab-bar", inputs: { selectedType: "selectedType", selectedLanguage: "selectedLanguage", tabSelectedClass: "tabSelectedClass", tabNotSelectedClass: "tabNotSelectedClass", tabTextSelectedClass: "tabTextSelectedClass", tabTextNotSelectedClass: "tabTextNotSelectedClass", containerClass: "containerClass", tabItemClass: "tabItemClass", tabTextClass: "tabTextClass", tabIconClass: "tabIconClass" }, outputs: { tabSelected: "tabSelected" }, providers: [HRTranslatePipe], ngImport: i0, template: "<div [class]=\"containerClass\">\r\n @for (tab of tabList; track tab) {\r\n <div [class]=\"tabItemClass + ' ' + (selectedType == tab.id ? tabSelectedClass : tabNotSelectedClass)\"\r\n [ngClass]=\"{'w-25': (selectedLanguage == 'fr' && !tab?.icon)}\"\r\n (click)=\"tabSelected.emit(tab.id)\">\r\n @if (!tab?.icon) {\r\n <span [class]=\"tabTextClass + ' ' + (selectedType == tab.id ? tabTextSelectedClass : tabTextNotSelectedClass)\">{{ getTabText(tab) }}</span>\r\n } @else {\r\n <fa-icon [icon]=\"tab.icon!\" [class]=\"tabIconClass + ' ' + (selectedType == tab.id ? tabTextSelectedClass : tabTextNotSelectedClass)\" [title]=\"getTabText(tab)\"></fa-icon>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2194
2224
  }
2195
2225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HREventTabBarComponent, decorators: [{
2196
2226
  type: Component,
@@ -2255,7 +2285,7 @@ class HREventsPopupComponent {
2255
2285
  this.closed.emit();
2256
2286
  }
2257
2287
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HREventsPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2258
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HREventsPopupComponent, isStandalone: true, selector: "hr-upcoming-events-popup", inputs: { visible: "visible", events: "events", hasBirthdays: "hasBirthdays", hasHolidays: "hasHolidays", isLoading: "isLoading", selectedLanguage: "selectedLanguage", showProperty: "showProperty", weekendWarningDescription: "weekendWarningDescription", popupTitle: "popupTitle", selectedEventType: "selectedEventType", tabSelectedClass: "tabSelectedClass", tabNotSelectedClass: "tabNotSelectedClass", tabTextSelectedClass: "tabTextSelectedClass", tabTextNotSelectedClass: "tabTextNotSelectedClass", tabContainerClass: "tabContainerClass", tabItemClass: "tabItemClass", tabTextClass: "tabTextClass", tabIconClass: "tabIconClass", eventIconClass: "eventIconClass", eventNameBoldClass: "eventNameBoldClass", eventDescriptionClass: "eventDescriptionClass", propertyBadgeClass: "propertyBadgeClass", noEventsTextClass: "noEventsTextClass", warningTextClass: "warningTextClass", dateFormat: "dateFormat" }, outputs: { visibleChange: "visibleChange", tabSelected: "tabSelected", closed: "closed" }, ngImport: i0, template: "<dx-popup id=\"popup\"\r\n [(visible)]=\"visible\"\r\n [height]=\"'400'\"\r\n [maxHeight]=\"400\"\r\n [width]=\"'650'\"\r\n shadingColor=\"rgba(0,0,0,0.4)\"\r\n contentTemplate=\"popup-content\"\r\n [showCloseButton]=\"true\"\r\n [title]=\"popupTitle\"\r\n (onHiding)=\"onPopupClose()\"\r\n (visibleChange)=\"visibleChange.emit($event)\">\r\n\r\n <div class=\"text-dark\" *dxTemplate=\"let data of 'popup-content'\">\r\n <dx-scroll-view #upcomingEventsScrollView\r\n id=\"upcomingEventsScrollView\"\r\n [scrollByContent]=\"true\"\r\n [scrollByThumb]=\"true\"\r\n [showScrollbar]=\"'onScroll'\"\r\n [bounceEnabled]=\"false\">\r\n\r\n @if (hasBirthdays || hasHolidays) {\r\n <hr-event-tab-bar [selectedType]=\"selectedEventType\"\r\n [selectedLanguage]=\"selectedLanguage\"\r\n [tabSelectedClass]=\"tabSelectedClass\"\r\n [tabNotSelectedClass]=\"tabNotSelectedClass\"\r\n [tabTextSelectedClass]=\"tabTextSelectedClass\"\r\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass\"\r\n [containerClass]=\"tabContainerClass\"\r\n [tabItemClass]=\"tabItemClass\"\r\n [tabTextClass]=\"tabTextClass\"\r\n [tabIconClass]=\"tabIconClass\"\r\n (tabSelected)=\"onTabSelected($event)\">\r\n </hr-event-tab-bar>\r\n\r\n <hr-event-item [events]=\"events\"\r\n [showDates]=\"true\"\r\n [showProperty]=\"showProperty\"\r\n [selectedLanguage]=\"selectedLanguage\"\r\n [selectedEventType]=\"selectedEventType\"\r\n [weekendWarningDescription]=\"weekendWarningDescription\"\r\n [eventIconClass]=\"eventIconClass\"\r\n [eventNameBoldClass]=\"eventNameBoldClass\"\r\n [eventDescriptionClass]=\"eventDescriptionClass\"\r\n [propertyBadgeClass]=\"propertyBadgeClass\"\r\n [noEventsTextClass]=\"noEventsTextClass\"\r\n [warningTextClass]=\"warningTextClass\"\r\n [dateFormat]=\"dateFormat\">\r\n </hr-event-item>\r\n } @else {\r\n <div [class]=\"noEventsTextClass\">{{ 'NoEvents' | translate }}</div>\r\n }\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popup>\r\n\r\n<dx-load-panel shadingColor=\"rgba(0,0,0,0.4)\"\r\n [visible]=\"isLoading\"\r\n [showIndicator]=\"true\" [showPane]=\"true\"\r\n [shading]=\"true\" [hideOnOutsideClick]=\"false\">\r\n</dx-load-panel>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DxPopupModule }, { kind: "component", type: i1$1.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "container", "contentTemplate", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "directive", type: i2$1.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i1$1.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { kind: "ngmodule", type: DxLoadPanelModule }, { kind: "component", type: i1$1.DxLoadPanelComponent, selector: "dx-load-panel", inputs: ["animation", "container", "deferRendering", "delay", "focusStateEnabled", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "indicatorOptions", "indicatorSrc", "maxHeight", "maxWidth", "message", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showIndicator", "showPane", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "containerChange", "deferRenderingChange", "delayChange", "focusStateEnabledChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "indicatorOptionsChange", "indicatorSrcChange", "maxHeightChange", "maxWidthChange", "messageChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showIndicatorChange", "showPaneChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: HREventItemComponent, selector: "hr-event-item", inputs: ["events", "showDates", "showProperty", "selectedLanguage", "selectedEventType", "weekendWarningDescription", "eventIconClass", "eventNameBoldClass", "eventDescriptionClass", "propertyBadgeClass", "noEventsTextClass", "warningTextClass", "dateFormat"] }, { kind: "component", type: HREventTabBarComponent, selector: "hr-event-tab-bar", inputs: ["selectedType", "selectedLanguage", "tabSelectedClass", "tabNotSelectedClass", "tabTextSelectedClass", "tabTextNotSelectedClass", "containerClass", "tabItemClass", "tabTextClass", "tabIconClass"], outputs: ["tabSelected"] }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
2288
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HREventsPopupComponent, isStandalone: true, selector: "hr-upcoming-events-popup", inputs: { visible: "visible", events: "events", hasBirthdays: "hasBirthdays", hasHolidays: "hasHolidays", isLoading: "isLoading", selectedLanguage: "selectedLanguage", showProperty: "showProperty", weekendWarningDescription: "weekendWarningDescription", popupTitle: "popupTitle", selectedEventType: "selectedEventType", tabSelectedClass: "tabSelectedClass", tabNotSelectedClass: "tabNotSelectedClass", tabTextSelectedClass: "tabTextSelectedClass", tabTextNotSelectedClass: "tabTextNotSelectedClass", tabContainerClass: "tabContainerClass", tabItemClass: "tabItemClass", tabTextClass: "tabTextClass", tabIconClass: "tabIconClass", eventIconClass: "eventIconClass", eventNameBoldClass: "eventNameBoldClass", eventDescriptionClass: "eventDescriptionClass", propertyBadgeClass: "propertyBadgeClass", noEventsTextClass: "noEventsTextClass", warningTextClass: "warningTextClass", dateFormat: "dateFormat" }, outputs: { visibleChange: "visibleChange", tabSelected: "tabSelected", closed: "closed" }, ngImport: i0, template: "<dx-popup id=\"popup\"\r\n [(visible)]=\"visible\"\r\n [height]=\"'400'\"\r\n [maxHeight]=\"400\"\r\n [width]=\"'650'\"\r\n shadingColor=\"rgba(0,0,0,0.4)\"\r\n contentTemplate=\"popup-content\"\r\n [showCloseButton]=\"true\"\r\n [title]=\"popupTitle\"\r\n (onHiding)=\"onPopupClose()\"\r\n (visibleChange)=\"visibleChange.emit($event)\">\r\n\r\n <div class=\"text-dark\" *dxTemplate=\"let data of 'popup-content'\">\r\n <dx-scroll-view #upcomingEventsScrollView\r\n id=\"upcomingEventsScrollView\"\r\n [scrollByContent]=\"true\"\r\n [scrollByThumb]=\"true\"\r\n [showScrollbar]=\"'onScroll'\"\r\n [bounceEnabled]=\"false\">\r\n\r\n @if (hasBirthdays || hasHolidays) {\r\n <hr-event-tab-bar [selectedType]=\"selectedEventType\"\r\n [selectedLanguage]=\"selectedLanguage\"\r\n [tabSelectedClass]=\"tabSelectedClass\"\r\n [tabNotSelectedClass]=\"tabNotSelectedClass\"\r\n [tabTextSelectedClass]=\"tabTextSelectedClass\"\r\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass\"\r\n [containerClass]=\"tabContainerClass\"\r\n [tabItemClass]=\"tabItemClass\"\r\n [tabTextClass]=\"tabTextClass\"\r\n [tabIconClass]=\"tabIconClass\"\r\n (tabSelected)=\"onTabSelected($event)\">\r\n </hr-event-tab-bar>\r\n\r\n <hr-event-item [events]=\"events\"\r\n [showDates]=\"true\"\r\n [showProperty]=\"showProperty\"\r\n [selectedLanguage]=\"selectedLanguage\"\r\n [selectedEventType]=\"selectedEventType\"\r\n [weekendWarningDescription]=\"weekendWarningDescription\"\r\n [eventIconClass]=\"eventIconClass\"\r\n [eventNameBoldClass]=\"eventNameBoldClass\"\r\n [eventDescriptionClass]=\"eventDescriptionClass\"\r\n [propertyBadgeClass]=\"propertyBadgeClass\"\r\n [noEventsTextClass]=\"noEventsTextClass\"\r\n [warningTextClass]=\"warningTextClass\"\r\n [dateFormat]=\"dateFormat\">\r\n </hr-event-item>\r\n } @else {\r\n <div [class]=\"noEventsTextClass\">{{ 'NoEvents' | translate }}</div>\r\n }\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popup>\r\n\r\n<dx-load-panel shadingColor=\"rgba(0,0,0,0.4)\"\r\n [visible]=\"isLoading\"\r\n [showIndicator]=\"true\" [showPane]=\"true\"\r\n [shading]=\"true\" [hideOnOutsideClick]=\"false\">\r\n</dx-load-panel>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DxPopupModule }, { kind: "component", type: i2.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "container", "contentTemplate", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { kind: "ngmodule", type: DxLoadPanelModule }, { kind: "component", type: i2.DxLoadPanelComponent, selector: "dx-load-panel", inputs: ["animation", "container", "deferRendering", "delay", "focusStateEnabled", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "indicatorOptions", "indicatorSrc", "maxHeight", "maxWidth", "message", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showIndicator", "showPane", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "containerChange", "deferRenderingChange", "delayChange", "focusStateEnabledChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "indicatorOptionsChange", "indicatorSrcChange", "maxHeightChange", "maxWidthChange", "messageChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showIndicatorChange", "showPaneChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: HREventItemComponent, selector: "hr-event-item", inputs: ["events", "showDates", "showProperty", "selectedLanguage", "selectedEventType", "weekendWarningDescription", "eventIconClass", "eventNameBoldClass", "eventDescriptionClass", "propertyBadgeClass", "noEventsTextClass", "warningTextClass", "dateFormat"] }, { kind: "component", type: HREventTabBarComponent, selector: "hr-event-tab-bar", inputs: ["selectedType", "selectedLanguage", "tabSelectedClass", "tabNotSelectedClass", "tabTextSelectedClass", "tabTextNotSelectedClass", "containerClass", "tabItemClass", "tabTextClass", "tabIconClass"], outputs: ["tabSelected"] }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
2259
2289
  }
2260
2290
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HREventsPopupComponent, decorators: [{
2261
2291
  type: Component,
@@ -2667,7 +2697,7 @@ class HREmployeeCalendarComponent {
2667
2697
  event.component.option('value', null);
2668
2698
  }
2669
2699
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HREmployeeCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2670
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HREmployeeCalendarComponent, isStandalone: true, selector: "hr-employee-calendar", inputs: { showEvents: "showEvents", showUpComingVacations: "showUpComingVacations", scheduleCalenderVacation: "scheduleCalenderVacation", minDate: "minDate", maxDate: "maxDate", legendContainerClass: "legendContainerClass", legendRowClass: "legendRowClass", legendItemClass: "legendItemClass", legendDotClass: "legendDotClass", legendLabelClass: "legendLabelClass", publicHolidayDotClass: "publicHolidayDotClass", dayOffDotClass: "dayOffDotClass", eventsDotClass: "eventsDotClass", vacationsContainerClass: "vacationsContainerClass", vacationsItemClass: "vacationsItemClass", vacationsIconClass: "vacationsIconClass", calendarContainerClass: "calendarContainerClass", calendarClass: "calendarClass" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "<div [class]=\"legendContainerClass\">\r\n <div [class]=\"legendRowClass\">\r\n <div [class]=\"legendItemClass + ' me-4'\">\r\n <div [class]=\"legendDotClass + ' ' + publicHolidayDotClass\"></div>\r\n <div [class]=\"legendLabelClass\"><p>{{'PublicHoliday' | translate}}</p></div>\r\n </div>\r\n <div [class]=\"legendItemClass\">\r\n <div [class]=\"legendDotClass + ' ' + dayOffDotClass\"></div>\r\n <div [class]=\"legendLabelClass\"><p>{{'DayOff' | translate}}</p></div>\r\n </div>\r\n @if(showEvents){\r\n <div [class]=\"legendItemClass + ' ms-4'\">\r\n <div [class]=\"legendDotClass + ' ' + eventsDotClass\"></div>\r\n <div [class]=\"legendLabelClass\"><p>{{'Events' | translate}}</p></div>\r\n </div>\r\n }\r\n </div>\r\n @if(showUpComingVacations){\r\n <div [class]=\"vacationsContainerClass\">\r\n <div [class]=\"vacationsItemClass\">\r\n <fa-icon [icon]=\"squreCheckIcon\" [class]=\"vacationsIconClass\"></fa-icon>\r\n <div [class]=\"legendLabelClass\"><p>{{'ScheduledVacations' | translate}}</p></div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n\r\n <div [class]=\"calendarContainerClass\">\r\n <dx-calendar #calendar [class]=\"calendarClass\" [selectionMode]=\"'multiple'\"\r\n [cellTemplate]=\"customCellTemplate\"\r\n [showWeekNumbers]=\"false\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (onValueChanged)=\"preventInteraction($event)\">\r\n </dx-calendar>\r\n </div>\r\n", dependencies: [{ kind: "ngmodule", type: DxCalendarModule }, { kind: "component", type: i1$1.DxCalendarComponent, selector: "dx-calendar", inputs: ["accessKey", "activeStateEnabled", "cellTemplate", "dateSerializationFormat", "disabled", "disabledDates", "elementAttr", "firstDayOfWeek", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "isDirty", "isValid", "max", "maxZoomLevel", "min", "minZoomLevel", "name", "readOnly", "rtlEnabled", "selectionMode", "selectWeekOnClick", "showTodayButton", "showWeekNumbers", "tabIndex", "todayButtonText", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "weekNumberRule", "width", "zoomLevel"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "cellTemplateChange", "dateSerializationFormatChange", "disabledChange", "disabledDatesChange", "elementAttrChange", "firstDayOfWeekChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "isDirtyChange", "isValidChange", "maxChange", "maxZoomLevelChange", "minChange", "minZoomLevelChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "selectionModeChange", "selectWeekOnClickChange", "showTodayButtonChange", "showWeekNumbersChange", "tabIndexChange", "todayButtonTextChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "weekNumberRuleChange", "widthChange", "zoomLevelChange", "onBlur"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
2700
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HREmployeeCalendarComponent, isStandalone: true, selector: "hr-employee-calendar", inputs: { showEvents: "showEvents", showUpComingVacations: "showUpComingVacations", scheduleCalenderVacation: "scheduleCalenderVacation", minDate: "minDate", maxDate: "maxDate", legendContainerClass: "legendContainerClass", legendRowClass: "legendRowClass", legendItemClass: "legendItemClass", legendDotClass: "legendDotClass", legendLabelClass: "legendLabelClass", publicHolidayDotClass: "publicHolidayDotClass", dayOffDotClass: "dayOffDotClass", eventsDotClass: "eventsDotClass", vacationsContainerClass: "vacationsContainerClass", vacationsItemClass: "vacationsItemClass", vacationsIconClass: "vacationsIconClass", calendarContainerClass: "calendarContainerClass", calendarClass: "calendarClass" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "<div [class]=\"legendContainerClass\">\r\n <div [class]=\"legendRowClass\">\r\n <div [class]=\"legendItemClass + ' me-4'\">\r\n <div [class]=\"legendDotClass + ' ' + publicHolidayDotClass\"></div>\r\n <div [class]=\"legendLabelClass\"><p>{{'PublicHoliday' | translate}}</p></div>\r\n </div>\r\n <div [class]=\"legendItemClass\">\r\n <div [class]=\"legendDotClass + ' ' + dayOffDotClass\"></div>\r\n <div [class]=\"legendLabelClass\"><p>{{'DayOff' | translate}}</p></div>\r\n </div>\r\n @if(showEvents){\r\n <div [class]=\"legendItemClass + ' ms-4'\">\r\n <div [class]=\"legendDotClass + ' ' + eventsDotClass\"></div>\r\n <div [class]=\"legendLabelClass\"><p>{{'Events' | translate}}</p></div>\r\n </div>\r\n }\r\n </div>\r\n @if(showUpComingVacations){\r\n <div [class]=\"vacationsContainerClass\">\r\n <div [class]=\"vacationsItemClass\">\r\n <fa-icon [icon]=\"squreCheckIcon\" [class]=\"vacationsIconClass\"></fa-icon>\r\n <div [class]=\"legendLabelClass\"><p>{{'ScheduledVacations' | translate}}</p></div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n\r\n <div [class]=\"calendarContainerClass\">\r\n <dx-calendar #calendar [class]=\"calendarClass\" [selectionMode]=\"'multiple'\"\r\n [cellTemplate]=\"customCellTemplate\"\r\n [showWeekNumbers]=\"false\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (onValueChanged)=\"preventInteraction($event)\">\r\n </dx-calendar>\r\n </div>\r\n", dependencies: [{ kind: "ngmodule", type: DxCalendarModule }, { kind: "component", type: i2.DxCalendarComponent, selector: "dx-calendar", inputs: ["accessKey", "activeStateEnabled", "cellTemplate", "dateSerializationFormat", "disabled", "disabledDates", "elementAttr", "firstDayOfWeek", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "isDirty", "isValid", "max", "maxZoomLevel", "min", "minZoomLevel", "name", "readOnly", "rtlEnabled", "selectionMode", "selectWeekOnClick", "showTodayButton", "showWeekNumbers", "tabIndex", "todayButtonText", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "weekNumberRule", "width", "zoomLevel"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "cellTemplateChange", "dateSerializationFormatChange", "disabledChange", "disabledDatesChange", "elementAttrChange", "firstDayOfWeekChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "isDirtyChange", "isValidChange", "maxChange", "maxZoomLevelChange", "minChange", "minZoomLevelChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "selectionModeChange", "selectWeekOnClickChange", "showTodayButtonChange", "showWeekNumbersChange", "tabIndexChange", "todayButtonTextChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "weekNumberRuleChange", "widthChange", "zoomLevelChange", "onBlur"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
2671
2701
  }
2672
2702
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HREmployeeCalendarComponent, decorators: [{
2673
2703
  type: Component,
@@ -3973,7 +4003,7 @@ class HRNextWeekVacationInsightsPopupComponent {
3973
4003
  employee.FailedToLoadPhoto = true;
3974
4004
  }
3975
4005
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HRNextWeekVacationInsightsPopupComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
3976
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HRNextWeekVacationInsightsPopupComponent, isStandalone: true, selector: "hr-next-week-vacation-insights-popup", inputs: { popupVisible: "popupVisible", popupType: "popupType", baseUrl: "baseUrl", width: "width", height: "height", gridHeight: "gridHeight", pageSize: "pageSize", showProperty: "showProperty" }, outputs: { closePopupClickHandler: "closePopupClickHandler" }, viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DxDataGridComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<dx-popup [visible]=\"popupVisible\"\r\n [height]=\"height\"\r\n [minHeight]=\"'40%'\"\r\n [maxHeight]=\"'70%'\"\r\n [width]=\"width\"\r\n contentTemplate=\"popup-content\"\r\n [showCloseButton]=\"false\"\r\n shadingColor=\"rgba(0,0,0,0.4)\"\r\n titleTemplate=\"title\"\r\n [showTitle]=\"true\"\r\n (onHidden)=\"onHidden()\">\r\n\r\n <div *dxTemplate=\"let data of 'title'\">\r\n <div class=\"d-flex justify-content-between align-items-center my-0\">\r\n <p class=\"fs-16 fw-meduim text-ellipsis-one-line\">\r\n <span class=\"text-dark-gray\">{{popupTitle ? (popupTitle | translate) : ('NextWeekVacationInsights' | translate)}}</span>\r\n <span class=\"mx-2 text-primary\">({{getPopupTitle() | translate}})</span>\r\n </p>\r\n <div class=\"py-2\" (click)=\"onPopupClose()\">\r\n <fa-icon [icon]=\"xMarkIcon\" class=\"fs-18 text-dark-gray cursor-pointer\"></fa-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *dxTemplate=\"let d of 'popup-content'\">\r\n <div class=\"mb-2 d-flex justify-content-end\">\r\n <dx-text-box [width]=\"'250px'\"\r\n mode=\"search\"\r\n [value]=\"searchValue\"\r\n [placeholder]=\"'Search...' | translate\"\r\n (onValueChanged)=\"onSearchValueChanged($event)\">\r\n </dx-text-box>\r\n </div>\r\n @if(dataSource){\r\n <dx-data-grid class=\"popup-data-grid\"\r\n [dataSource]=\"dataSource\"\r\n [showBorders]=\"false\"\r\n [showRowLines]=\"false\"\r\n [showColumnLines]=\"false\"\r\n [columnAutoWidth]=\"true\"\r\n [wordWrapEnabled]=\"true\"\r\n [height]=\"gridHeight\"\r\n [allowColumnReordering]=\"false\"\r\n [remoteOperations]=\"{paging: true}\">\r\n\r\n <dxo-data-grid-sorting mode=\"none\"></dxo-data-grid-sorting>\r\n\r\n <dxo-data-grid-scrolling mode=\"infinite\"\r\n [useNative]=\"false\"\r\n [scrollByContent]=\"true\"\r\n [scrollByThumb]=\"true\"\r\n showScrollbar=\"always\">\r\n </dxo-data-grid-scrolling>\r\n\r\n <dxo-data-grid-paging [enabled]=\"true\" [pageSize]=\"pageSize\"></dxo-data-grid-paging>\r\n\r\n <dxi-data-grid-column caption=\"{{'Employee' | translate}}\"\r\n dataField=\"EmployeeName\"\r\n cellTemplate=\"employeeCellTemplate\"\r\n [minWidth]=\"250\">\r\n </dxi-data-grid-column>\r\n\r\n @if(popupType === VacationPopupType.Upcoming){\r\n <dxi-data-grid-column caption=\"{{'StartDate' | translate}}\"\r\n dataField=\"VacationStartDate\"\r\n dataType=\"date\"\r\n format=\"dd/MM/yyyy\"\r\n [width]=\"120\"\r\n alignment=\"left\">\r\n </dxi-data-grid-column>\r\n <dxi-data-grid-column caption=\"{{'EndDate' | translate}}\"\r\n dataField=\"VacationEndDate\"\r\n dataType=\"date\"\r\n format=\"dd/MM/yyyy\"\r\n [width]=\"120\"\r\n alignment=\"left\">\r\n </dxi-data-grid-column>\r\n }@else{\r\n <dxi-data-grid-column caption=\"{{'ReturnDate' | translate}}\"\r\n dataField=\"ReturnDate\"\r\n dataType=\"date\"\r\n format=\"dd/MM/yyyy\"\r\n [width]=\"120\"\r\n alignment=\"left\">\r\n </dxi-data-grid-column>\r\n }\r\n\r\n <div *dxTemplate=\"let cell of 'employeeCellTemplate'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bayan-employee-badge\r\n [badge]=\"getEmployeeBadge(cell.data)\"\r\n badgeClass=\"badge employee-rounded-badge-xl fs-6\"\r\n imageClass=\"rounded-circle\"\r\n [width]=\"'40px'\"\r\n [height]=\"'40px'\"\r\n (employeePhotoError)=\"handleEmployeePhotoError(cell.data)\">\r\n </bayan-employee-badge>\r\n <div class=\"d-flex flex-column ms-1\">\r\n <div class=\"d-flex flex-row ms-2\">\r\n @if(showProperty){\r\n <span class=\"property-badge cursor-pointer me-1\" [title]=\"cell.data.PropertyName\" [innerHTML]=\"cell.data.PropertySymbol\"></span>\r\n }\r\n <span class=\"text-ellipsis-one-line fs-14 text-dark-gray fw-normal\"\r\n [title]=\"cell.data.EmployeeNumber + ' | ' + cell.data.EmployeeName\"\r\n [innerHTML]=\"(cell.data.EmployeeNumber + ' | ' + cell.data.EmployeeName) | highlight:searchValue\">\r\n </span>\r\n </div>\r\n <p class=\"ms-2 mt-1 text-ellipsis-one-line fs-12 text-dark-gray fw-normal mb-0\"\r\n [innerHTML]=\"cell.data.EmployeeAdminUnitName | highlight:searchValue\">\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </dx-data-grid>\r\n }\r\n </div>\r\n</dx-popup>\r\n", dependencies: [{ kind: "ngmodule", type: DxPopupModule }, { kind: "component", type: i1$1.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "container", "contentTemplate", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "directive", type: i2$1.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "ngmodule", type: DxDataGridModule }, { kind: "component", type: i1$1.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "aiIntegration", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onAIColumnRequestCreating", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "aiIntegrationChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5.DxiDataGridColumnComponent, selector: "dxi-data-grid-column", inputs: ["ai", "alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i5.DxoDataGridPagingComponent, selector: "dxo-data-grid-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5.DxoDataGridScrollingComponent, selector: "dxo-data-grid-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i5.DxoDataGridSortingComponent, selector: "dxo-data-grid-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: BayanEmployeeBadgeComponent, selector: "bayan-employee-badge", inputs: ["badge", "width", "height", "imageClass", "badgeClass"], outputs: ["employeePhotoError"] }, { kind: "ngmodule", type: DxTextBoxModule }, { kind: "component", type: i1$1.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }, { kind: "pipe", type: HighlightPipe, name: "highlight" }] });
4006
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HRNextWeekVacationInsightsPopupComponent, isStandalone: true, selector: "hr-next-week-vacation-insights-popup", inputs: { popupVisible: "popupVisible", popupType: "popupType", baseUrl: "baseUrl", width: "width", height: "height", gridHeight: "gridHeight", pageSize: "pageSize", showProperty: "showProperty" }, outputs: { closePopupClickHandler: "closePopupClickHandler" }, viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DxDataGridComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<dx-popup [visible]=\"popupVisible\"\r\n [height]=\"height\"\r\n [minHeight]=\"'40%'\"\r\n [maxHeight]=\"'70%'\"\r\n [width]=\"width\"\r\n contentTemplate=\"popup-content\"\r\n [showCloseButton]=\"false\"\r\n shadingColor=\"rgba(0,0,0,0.4)\"\r\n titleTemplate=\"title\"\r\n [showTitle]=\"true\"\r\n (onHidden)=\"onHidden()\">\r\n\r\n <div *dxTemplate=\"let data of 'title'\">\r\n <div class=\"d-flex justify-content-between align-items-center my-0\">\r\n <p class=\"fs-16 fw-meduim text-ellipsis-one-line\">\r\n <span class=\"text-dark-gray\">{{popupTitle ? (popupTitle | translate) : ('NextWeekVacationInsights' | translate)}}</span>\r\n <span class=\"mx-2 text-primary\">({{getPopupTitle() | translate}})</span>\r\n </p>\r\n <div class=\"py-2\" (click)=\"onPopupClose()\">\r\n <fa-icon [icon]=\"xMarkIcon\" class=\"fs-18 text-dark-gray cursor-pointer\"></fa-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *dxTemplate=\"let d of 'popup-content'\">\r\n <div class=\"mb-2 d-flex justify-content-end\">\r\n <dx-text-box [width]=\"'250px'\"\r\n mode=\"search\"\r\n [value]=\"searchValue\"\r\n [placeholder]=\"'Search...' | translate\"\r\n (onValueChanged)=\"onSearchValueChanged($event)\">\r\n </dx-text-box>\r\n </div>\r\n @if(dataSource){\r\n <dx-data-grid class=\"popup-data-grid\"\r\n [dataSource]=\"dataSource\"\r\n [showBorders]=\"false\"\r\n [showRowLines]=\"false\"\r\n [showColumnLines]=\"false\"\r\n [columnAutoWidth]=\"true\"\r\n [wordWrapEnabled]=\"true\"\r\n [height]=\"gridHeight\"\r\n [allowColumnReordering]=\"false\"\r\n [remoteOperations]=\"{paging: true}\">\r\n\r\n <dxo-data-grid-sorting mode=\"none\"></dxo-data-grid-sorting>\r\n\r\n <dxo-data-grid-scrolling mode=\"infinite\"\r\n [useNative]=\"false\"\r\n [scrollByContent]=\"true\"\r\n [scrollByThumb]=\"true\"\r\n showScrollbar=\"always\">\r\n </dxo-data-grid-scrolling>\r\n\r\n <dxo-data-grid-paging [enabled]=\"true\" [pageSize]=\"pageSize\"></dxo-data-grid-paging>\r\n\r\n <dxi-data-grid-column caption=\"{{'Employee' | translate}}\"\r\n dataField=\"EmployeeName\"\r\n cellTemplate=\"employeeCellTemplate\"\r\n [minWidth]=\"250\">\r\n </dxi-data-grid-column>\r\n\r\n @if(popupType === VacationPopupType.Upcoming){\r\n <dxi-data-grid-column caption=\"{{'StartDate' | translate}}\"\r\n dataField=\"VacationStartDate\"\r\n dataType=\"date\"\r\n format=\"dd/MM/yyyy\"\r\n [width]=\"120\"\r\n alignment=\"left\">\r\n </dxi-data-grid-column>\r\n <dxi-data-grid-column caption=\"{{'EndDate' | translate}}\"\r\n dataField=\"VacationEndDate\"\r\n dataType=\"date\"\r\n format=\"dd/MM/yyyy\"\r\n [width]=\"120\"\r\n alignment=\"left\">\r\n </dxi-data-grid-column>\r\n }@else{\r\n <dxi-data-grid-column caption=\"{{'ReturnDate' | translate}}\"\r\n dataField=\"ReturnDate\"\r\n dataType=\"date\"\r\n format=\"dd/MM/yyyy\"\r\n [width]=\"120\"\r\n alignment=\"left\">\r\n </dxi-data-grid-column>\r\n }\r\n\r\n <div *dxTemplate=\"let cell of 'employeeCellTemplate'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bayan-employee-badge\r\n [badge]=\"getEmployeeBadge(cell.data)\"\r\n badgeClass=\"badge employee-rounded-badge-xl fs-6\"\r\n imageClass=\"rounded-circle\"\r\n [width]=\"'40px'\"\r\n [height]=\"'40px'\"\r\n (employeePhotoError)=\"handleEmployeePhotoError(cell.data)\">\r\n </bayan-employee-badge>\r\n <div class=\"d-flex flex-column ms-1\">\r\n <div class=\"d-flex flex-row ms-2\">\r\n @if(showProperty){\r\n <span class=\"property-badge cursor-pointer me-1\" [title]=\"cell.data.PropertyName\" [innerHTML]=\"cell.data.PropertySymbol\"></span>\r\n }\r\n <span class=\"text-ellipsis-one-line fs-14 text-dark-gray fw-normal\"\r\n [title]=\"cell.data.EmployeeNumber + ' | ' + cell.data.EmployeeName\"\r\n [innerHTML]=\"(cell.data.EmployeeNumber + ' | ' + cell.data.EmployeeName) | highlight:searchValue\">\r\n </span>\r\n </div>\r\n <p class=\"ms-2 mt-1 text-ellipsis-one-line fs-12 text-dark-gray fw-normal mb-0\"\r\n [innerHTML]=\"cell.data.EmployeeAdminUnitName | highlight:searchValue\">\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </dx-data-grid>\r\n }\r\n </div>\r\n</dx-popup>\r\n", dependencies: [{ kind: "ngmodule", type: DxPopupModule }, { kind: "component", type: i2.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "container", "contentTemplate", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "ngmodule", type: DxDataGridModule }, { kind: "component", type: i2.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "aiIntegration", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onAIColumnRequestCreating", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "aiIntegrationChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5.DxiDataGridColumnComponent, selector: "dxi-data-grid-column", inputs: ["ai", "alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i5.DxoDataGridPagingComponent, selector: "dxo-data-grid-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5.DxoDataGridScrollingComponent, selector: "dxo-data-grid-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i5.DxoDataGridSortingComponent, selector: "dxo-data-grid-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: BayanEmployeeBadgeComponent, selector: "bayan-employee-badge", inputs: ["badge", "width", "height", "imageClass", "badgeClass"], outputs: ["employeePhotoError"] }, { kind: "ngmodule", type: DxTextBoxModule }, { kind: "component", type: i2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }, { kind: "pipe", type: HighlightPipe, name: "highlight" }] });
3977
4007
  }
3978
4008
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HRNextWeekVacationInsightsPopupComponent, decorators: [{
3979
4009
  type: Component,
@@ -4175,7 +4205,7 @@ class MyProfileExperiencesWidgetComponent {
4175
4205
  return classes.join(' ');
4176
4206
  }
4177
4207
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MyProfileExperiencesWidgetComponent, deps: [{ token: HRSelfWidgetsService }], target: i0.ɵɵFactoryTarget.Component });
4178
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: MyProfileExperiencesWidgetComponent, isStandalone: true, selector: "hr-my-profile-experiences-widget", inputs: { baseUrl: "baseUrl", sectionTitle: "sectionTitle", viewIcon: "viewIcon", downloadIcon: "downloadIcon", experienceIcon: "experienceIcon", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", headerRowClass: "headerRowClass", actionsSpacerClass: "actionsSpacerClass", labelClass: "labelClass", valueClass: "valueClass", viewIconClass: "viewIconClass", downloadIconClass: "downloadIconClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", itemRowClass: "itemRowClass", itemColumnsWrapperClass: "itemColumnsWrapperClass", itemColumnClass: "itemColumnClass", actionsColumnClass: "actionsColumnClass", rowMarginBottomClass: "rowMarginBottomClass", rowMarginBottomEmptyClass: "rowMarginBottomEmptyClass" }, outputs: { isLoadingChanged: "isLoadingChanged", attachmentViewed: "attachmentViewed", attachmentDownloaded: "attachmentDownloaded", errorOccurred: "errorOccurred" }, ngImport: i0, template: "<sky-section-divider [fontAwesomeIcon]=\"experienceIcon\"\r\n [text]=\"(sectionTitle | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [class]=\"wrapperClass\">\r\n\r\n @if(experiences.length > 0){\r\n\r\n <div class=\"row\">\r\n <div [class]=\"headerRowClass\">\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Period' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Employer' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Position' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'TerminationReason' | translate}}</p>\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"actionsSpacerClass\"></div>\r\n\r\n @for (experience of experiences; track experience){\r\n <div [class]=\"itemColumnsWrapperClass\">\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"(experience.StartDate | date:'dd/MM/yyyy') + ' - ' + (experience.EndDate | date:'dd/MM/yyyy')\">{{(experience.StartDate | date:'dd/MM/yyyy') + ' - ' + (experience.EndDate | date:'dd/MM/yyyy')}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"experience.Employer ? experience.Employer : ''\">\r\n @if(experience.Employer){\r\n {{experience.Employer}}\r\n }@else{\r\n {{'\u2014'}}\r\n }\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"experience.Position ? experience.Position : ''\">\r\n @if(experience.Position){\r\n {{experience.Position}}\r\n }@else{\r\n {{'\u2014'}}\r\n }\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"experience.TerminationReason ? experience.TerminationReason : ''\">\r\n @if(experience.TerminationReason){\r\n {{experience.TerminationReason}}\r\n }@else{\r\n {{'\u2014'}}\r\n }\r\n </p>\r\n </div>\r\n </div>\r\n\r\n @if(experience.Document){\r\n <div [class]=\"actionsColumnClass\">\r\n <fa-icon [icon]=\"viewIcon\" [class]=\"viewIconClass\" (click)=\"onAttachmentView(experience.Document)\"></fa-icon>\r\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\" (click)=\"onAttachmentDownload(experience.Document)\"></fa-icon>\r\n </div>\r\n }\r\n\r\n }\r\n\r\n </div>\r\n }@else{\r\n\r\n <sky-empty-design-card [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoExperiencesYet' | translate)\">\r\n</sky-empty-design-card>\r\n\r\n }\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: i2$2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i2$2.DatePipe, name: "date" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
4208
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: MyProfileExperiencesWidgetComponent, isStandalone: true, selector: "hr-my-profile-experiences-widget", inputs: { baseUrl: "baseUrl", sectionTitle: "sectionTitle", viewIcon: "viewIcon", downloadIcon: "downloadIcon", experienceIcon: "experienceIcon", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", headerRowClass: "headerRowClass", actionsSpacerClass: "actionsSpacerClass", labelClass: "labelClass", valueClass: "valueClass", viewIconClass: "viewIconClass", downloadIconClass: "downloadIconClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", itemRowClass: "itemRowClass", itemColumnsWrapperClass: "itemColumnsWrapperClass", itemColumnClass: "itemColumnClass", actionsColumnClass: "actionsColumnClass", rowMarginBottomClass: "rowMarginBottomClass", rowMarginBottomEmptyClass: "rowMarginBottomEmptyClass" }, outputs: { isLoadingChanged: "isLoadingChanged", attachmentViewed: "attachmentViewed", attachmentDownloaded: "attachmentDownloaded", errorOccurred: "errorOccurred" }, ngImport: i0, template: "<sky-section-divider [fontAwesomeIcon]=\"experienceIcon\"\r\n [text]=\"(sectionTitle | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [class]=\"wrapperClass\">\r\n\r\n @if(experiences.length > 0){\r\n\r\n <div class=\"row\">\r\n <div [class]=\"headerRowClass\">\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Period' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Employer' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Position' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'TerminationReason' | translate}}</p>\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"actionsSpacerClass\"></div>\r\n\r\n @for (experience of experiences; track experience){\r\n <div [class]=\"itemColumnsWrapperClass\">\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"(experience.StartDate | date:'dd/MM/yyyy') + ' - ' + (experience.EndDate | date:'dd/MM/yyyy')\">{{(experience.StartDate | date:'dd/MM/yyyy') + ' - ' + (experience.EndDate | date:'dd/MM/yyyy')}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"experience.Employer ? experience.Employer : ''\">\r\n @if(experience.Employer){\r\n {{experience.Employer}}\r\n }@else{\r\n {{'\u2014'}}\r\n }\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"experience.Position ? experience.Position : ''\">\r\n @if(experience.Position){\r\n {{experience.Position}}\r\n }@else{\r\n {{'\u2014'}}\r\n }\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"experience.TerminationReason ? experience.TerminationReason : ''\">\r\n @if(experience.TerminationReason){\r\n {{experience.TerminationReason}}\r\n }@else{\r\n {{'\u2014'}}\r\n }\r\n </p>\r\n </div>\r\n </div>\r\n\r\n @if(experience.Document){\r\n <div [class]=\"actionsColumnClass\">\r\n <fa-icon [icon]=\"viewIcon\" [class]=\"viewIconClass\" (click)=\"onAttachmentView(experience.Document)\"></fa-icon>\r\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\" (click)=\"onAttachmentDownload(experience.Document)\"></fa-icon>\r\n </div>\r\n }\r\n\r\n }\r\n\r\n </div>\r\n }@else{\r\n\r\n <sky-empty-design-card [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoExperiencesYet' | translate)\">\r\n</sky-empty-design-card>\r\n\r\n }\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: i2$2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i2$2.DatePipe, name: "date" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
4179
4209
  }
4180
4210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MyProfileExperiencesWidgetComponent, decorators: [{
4181
4211
  type: Component,
@@ -4308,7 +4338,7 @@ class MyProfileDegreesWidgetComponent {
4308
4338
  this.attachmentDownloaded.emit(file);
4309
4339
  }
4310
4340
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MyProfileDegreesWidgetComponent, deps: [{ token: HRSelfWidgetsService }], target: i0.ɵɵFactoryTarget.Component });
4311
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: MyProfileDegreesWidgetComponent, isStandalone: true, selector: "hr-my-profile-degrees-widget", inputs: { baseUrl: "baseUrl", sectionTitle: "sectionTitle", degreesIcon: "degreesIcon", viewIcon: "viewIcon", downloadIcon: "downloadIcon", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", rowMarginBottomClass: "rowMarginBottomClass", rowMarginBottomEmptyClass: "rowMarginBottomEmptyClass", headerRowClass: "headerRowClass", actionsSpacerClass: "actionsSpacerClass", labelClass: "labelClass", valueClass: "valueClass", viewIconClass: "viewIconClass", downloadIconClass: "downloadIconClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", itemRowClass: "itemRowClass", itemColumnsWrapperClass: "itemColumnsWrapperClass", itemColumnClass: "itemColumnClass", actionsColumnClass: "actionsColumnClass" }, outputs: { isLoadingChanged: "isLoadingChanged", attachmentViewed: "attachmentViewed", attachmentDownloaded: "attachmentDownloaded", errorOccurred: "errorOccurred" }, ngImport: i0, template: "<sky-section-divider [fontAwesomeIcon]=\"degreesIcon\"\r\n [text]=\"(sectionTitle | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [class]=\"wrapperClass\">\r\n\r\n @if(degrees.length > 0){\r\n\r\n <div class=\"row\">\r\n <div [class]=\"headerRowClass\">\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Degree/Year' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Country' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Specialty' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Institute' | translate}}</p>\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"actionsSpacerClass\"></div>\r\n\r\n @for (qualification of degrees; track qualification){\r\n <div [class]=\"itemColumnsWrapperClass\">\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"qualification.DegreeName + ' / ' + qualification.DegreeYear\">{{qualification.DegreeName + ' / ' + qualification.DegreeYear}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"qualification.CountryName ? qualification.CountryName : ''\">{{qualification.CountryName}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"qualification.Specialty ? qualification.Specialty : ''\">\r\n @if(qualification.Specialty){\r\n {{qualification.Specialty}}\r\n }@else{\r\n {{'\u2014'}}\r\n }\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"qualification.Institute ? qualification.Institute : ''\">\r\n @if(qualification.Institute){\r\n {{qualification.Institute}}\r\n }@else{\r\n {{'\u2014'}}\r\n }\r\n </p>\r\n </div>\r\n </div>\r\n\r\n @if(qualification.Document){\r\n <div [class]=\"actionsColumnClass\">\r\n <fa-icon [icon]=\"viewIcon\" [class]=\"viewIconClass\" (click)=\"onAttachmentView(qualification.Document)\"></fa-icon>\r\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\" (click)=\"onAttachmentDownload(qualification.Document)\"></fa-icon>\r\n </div>\r\n }\r\n }\r\n </div>\r\n }@else{\r\n\r\n <sky-empty-design-card [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoDegreesYet' | translate)\">\r\n</sky-empty-design-card>\r\n\r\n }\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: i2$2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
4341
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: MyProfileDegreesWidgetComponent, isStandalone: true, selector: "hr-my-profile-degrees-widget", inputs: { baseUrl: "baseUrl", sectionTitle: "sectionTitle", degreesIcon: "degreesIcon", viewIcon: "viewIcon", downloadIcon: "downloadIcon", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", rowMarginBottomClass: "rowMarginBottomClass", rowMarginBottomEmptyClass: "rowMarginBottomEmptyClass", headerRowClass: "headerRowClass", actionsSpacerClass: "actionsSpacerClass", labelClass: "labelClass", valueClass: "valueClass", viewIconClass: "viewIconClass", downloadIconClass: "downloadIconClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", itemRowClass: "itemRowClass", itemColumnsWrapperClass: "itemColumnsWrapperClass", itemColumnClass: "itemColumnClass", actionsColumnClass: "actionsColumnClass" }, outputs: { isLoadingChanged: "isLoadingChanged", attachmentViewed: "attachmentViewed", attachmentDownloaded: "attachmentDownloaded", errorOccurred: "errorOccurred" }, ngImport: i0, template: "<sky-section-divider [fontAwesomeIcon]=\"degreesIcon\"\r\n [text]=\"(sectionTitle | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [class]=\"wrapperClass\">\r\n\r\n @if(degrees.length > 0){\r\n\r\n <div class=\"row\">\r\n <div [class]=\"headerRowClass\">\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Degree/Year' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Country' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Specialty' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"labelClass\">{{'Institute' | translate}}</p>\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"actionsSpacerClass\"></div>\r\n\r\n @for (qualification of degrees; track qualification){\r\n <div [class]=\"itemColumnsWrapperClass\">\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"qualification.DegreeName + ' / ' + qualification.DegreeYear\">{{qualification.DegreeName + ' / ' + qualification.DegreeYear}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"qualification.CountryName ? qualification.CountryName : ''\">{{qualification.CountryName}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"qualification.Specialty ? qualification.Specialty : ''\">\r\n @if(qualification.Specialty){\r\n {{qualification.Specialty}}\r\n }@else{\r\n {{'\u2014'}}\r\n }\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <p [class]=\"valueClass\" [title]=\"qualification.Institute ? qualification.Institute : ''\">\r\n @if(qualification.Institute){\r\n {{qualification.Institute}}\r\n }@else{\r\n {{'\u2014'}}\r\n }\r\n </p>\r\n </div>\r\n </div>\r\n\r\n @if(qualification.Document){\r\n <div [class]=\"actionsColumnClass\">\r\n <fa-icon [icon]=\"viewIcon\" [class]=\"viewIconClass\" (click)=\"onAttachmentView(qualification.Document)\"></fa-icon>\r\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\" (click)=\"onAttachmentDownload(qualification.Document)\"></fa-icon>\r\n </div>\r\n }\r\n }\r\n </div>\r\n }@else{\r\n\r\n <sky-empty-design-card [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoDegreesYet' | translate)\">\r\n</sky-empty-design-card>\r\n\r\n }\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: i2$2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
4312
4342
  }
4313
4343
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MyProfileDegreesWidgetComponent, decorators: [{
4314
4344
  type: Component,
@@ -5043,7 +5073,7 @@ class HRDocumentRowComponent {
5043
5073
  this.download.emit(this.doc);
5044
5074
  }
5045
5075
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HRDocumentRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5046
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HRDocumentRowComponent, isStandalone: true, selector: "hr-document-row", inputs: { doc: "doc", valueClass: "valueClass", viewIcon: "viewIcon", downloadIcon: "downloadIcon", viewIconClass: "viewIconClass", downloadIconClass: "downloadIconClass", rowClass: "rowClass", dataColClass: "dataColClass", dataColSpacingClass: "dataColSpacingClass", dataRowClass: "dataRowClass", typeColClass: "typeColClass", numberColClass: "numberColClass", issueDateColClass: "issueDateColClass", expiryDateColClass: "expiryDateColClass", actionsColClass: "actionsColClass", actionsWrapperClass: "actionsWrapperClass", downloadContainerClass: "downloadContainerClass" }, outputs: { attachmentView: "attachmentView", download: "download" }, ngImport: i0, template: "<div [class]=\"rowClass\">\r\n\r\n <div [class]=\"dataColClass + ' ' + dataColSpacingClass\">\r\n <div [class]=\"dataRowClass\">\r\n\r\n <div [class]=\"typeColClass\">\r\n <p [class]=\"valueClass + ' mb-0 text-ellipsis-one-line'\"\r\n [title]=\"doc.DocumentTypeName\">\r\n {{ doc.DocumentTypeName }}\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"numberColClass\">\r\n <p [class]=\"valueClass + ' mb-0'\">\r\n {{ doc.DocumentNumber || '\u2014' }}\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"issueDateColClass\">\r\n <p [class]=\"valueClass + ' mb-0'\">\r\n {{ doc.IssueDate ? (doc.IssueDate | date:'dd/MM/yyyy') : '\u2014' }}\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"expiryDateColClass\">\r\n <p [class]=\"valueClass + ' mb-0'\">\r\n {{ doc.ExpiryDate ? (doc.ExpiryDate | date:'dd/MM/yyyy') : '\u2014' }}\r\n </p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"actionsColClass\">\r\n\r\n @if(doc.Attachments?.length) {\r\n\r\n <div [class]=\"actionsWrapperClass\">\r\n\r\n @if(doc.Attachments.length === 1) {\r\n <fa-icon [icon]=\"viewIcon\"\r\n [class]=\"viewIconClass\"\r\n (click)=\"onAttachmentView()\">\r\n </fa-icon>\r\n } @else {\r\n <div class=\"invisible\">\r\n <fa-icon [icon]=\"viewIcon\"></fa-icon>\r\n </div>\r\n }\r\n\r\n <div [class]=\"downloadContainerClass\"\r\n (click)=\"onDownload()\">\r\n <fa-icon [icon]=\"downloadIcon\"\r\n [class]=\"downloadIconClass\">\r\n </fa-icon>\r\n <span class=\"ps-1\">{{ doc.Attachments.length }}</span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: i2$2.DatePipe, name: "date" }] });
5076
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HRDocumentRowComponent, isStandalone: true, selector: "hr-document-row", inputs: { doc: "doc", valueClass: "valueClass", viewIcon: "viewIcon", downloadIcon: "downloadIcon", viewIconClass: "viewIconClass", downloadIconClass: "downloadIconClass", rowClass: "rowClass", dataColClass: "dataColClass", dataColSpacingClass: "dataColSpacingClass", dataRowClass: "dataRowClass", typeColClass: "typeColClass", numberColClass: "numberColClass", issueDateColClass: "issueDateColClass", expiryDateColClass: "expiryDateColClass", actionsColClass: "actionsColClass", actionsWrapperClass: "actionsWrapperClass", downloadContainerClass: "downloadContainerClass" }, outputs: { attachmentView: "attachmentView", download: "download" }, ngImport: i0, template: "<div [class]=\"rowClass\">\r\n\r\n <div [class]=\"dataColClass + ' ' + dataColSpacingClass\">\r\n <div [class]=\"dataRowClass\">\r\n\r\n <div [class]=\"typeColClass\">\r\n <p [class]=\"valueClass + ' mb-0 text-ellipsis-one-line'\"\r\n [title]=\"doc.DocumentTypeName\">\r\n {{ doc.DocumentTypeName }}\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"numberColClass\">\r\n <p [class]=\"valueClass + ' mb-0'\">\r\n {{ doc.DocumentNumber || '\u2014' }}\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"issueDateColClass\">\r\n <p [class]=\"valueClass + ' mb-0'\">\r\n {{ doc.IssueDate ? (doc.IssueDate | date:'dd/MM/yyyy') : '\u2014' }}\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"expiryDateColClass\">\r\n <p [class]=\"valueClass + ' mb-0'\">\r\n {{ doc.ExpiryDate ? (doc.ExpiryDate | date:'dd/MM/yyyy') : '\u2014' }}\r\n </p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"actionsColClass\">\r\n\r\n @if(doc.Attachments?.length) {\r\n\r\n <div [class]=\"actionsWrapperClass\">\r\n\r\n @if(doc.Attachments.length === 1) {\r\n <fa-icon [icon]=\"viewIcon\"\r\n [class]=\"viewIconClass\"\r\n (click)=\"onAttachmentView()\">\r\n </fa-icon>\r\n } @else {\r\n <div class=\"invisible\">\r\n <fa-icon [icon]=\"viewIcon\"></fa-icon>\r\n </div>\r\n }\r\n\r\n <div [class]=\"downloadContainerClass\"\r\n (click)=\"onDownload()\">\r\n <fa-icon [icon]=\"downloadIcon\"\r\n [class]=\"downloadIconClass\">\r\n </fa-icon>\r\n <span class=\"ps-1\">{{ doc.Attachments.length }}</span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: i2$2.DatePipe, name: "date" }] });
5047
5077
  }
5048
5078
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HRDocumentRowComponent, decorators: [{
5049
5079
  type: Component,
@@ -5200,7 +5230,7 @@ class HrDocumentTabletCardComponent {
5200
5230
  this.download.emit(this.doc);
5201
5231
  }
5202
5232
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HrDocumentTabletCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5203
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HrDocumentTabletCardComponent, isStandalone: true, selector: "hr-document-tablet-card", inputs: { doc: "doc", isOdd: "isOdd", downloadIcon: "downloadIcon", viewIcon: "viewIcon", cardHeight: "cardHeight", labelClass: "labelClass", valueClass: "valueClass", downloadIconClass: "downloadIconClass", downloadContainerClass: "downloadContainerClass", downloadCountClass: "downloadCountClass", tabletContainerClass: "tabletContainerClass", tabletCardClass: "tabletCardClass", tabletColWithAttachmentClass: "tabletColWithAttachmentClass", tabletColWithoutAttachmentClass: "tabletColWithoutAttachmentClass", tabletActionsColClass: "tabletActionsColClass", tabletBottomRowSpacingClass: "tabletBottomRowSpacingClass" }, outputs: { view: "view", download: "download" }, ngImport: i0, template: "<div [class]=\"tabletContainerClass\">\r\n<div [class]=\"tabletCardClass\" [style.height]=\"cardHeight\"\r\n [ngClass]=\"{'me-1': !isOdd, 'ms-1': isOdd}\">\r\n \r\n <div [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'Type' | translate }}</p>\r\n<p [class]=\"valueClass\">{{ doc.DocumentTypeName }}</p>\r\n</div>\r\n \r\n <div [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'Number' | translate }}</p>\r\n<p [class]=\"valueClass\">\r\n {{ doc.DocumentNumber || '\u2014' }}\r\n</p>\r\n</div>\r\n \r\n @if(doc.Attachments?.length) {\r\n<div [class]=\"tabletActionsColClass\"> \r\n \r\n <div [class]=\"downloadContainerClass\"\r\n (click)=\"onDownload()\">\r\n<fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\"></fa-icon>\r\n<span [class]=\"downloadCountClass\">\r\n {{ doc.Attachments.length }}\r\n</span>\r\n</div>\r\n \r\n </div>\r\n }\r\n \r\n <div [class]=\"tabletBottomRowSpacingClass\"\r\n [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'IssueDate' | translate }}</p>\r\n<p [class]=\"valueClass\">\r\n {{ doc.IssueDate ? (doc.IssueDate | date:'dd/MM/yyyy') : '\u2014' }}\r\n</p>\r\n</div>\r\n \r\n <div [class]=\"tabletBottomRowSpacingClass\"\r\n [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'ExpiryDate' | translate }}</p>\r\n<p [class]=\"valueClass\">\r\n {{ doc.ExpiryDate ? (doc.ExpiryDate | date:'dd/MM/yyyy') : '\u2014' }}\r\n</p>\r\n</div>\r\n \r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: i2$2.DatePipe, name: "date" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
5233
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: HrDocumentTabletCardComponent, isStandalone: true, selector: "hr-document-tablet-card", inputs: { doc: "doc", isOdd: "isOdd", downloadIcon: "downloadIcon", viewIcon: "viewIcon", cardHeight: "cardHeight", labelClass: "labelClass", valueClass: "valueClass", downloadIconClass: "downloadIconClass", downloadContainerClass: "downloadContainerClass", downloadCountClass: "downloadCountClass", tabletContainerClass: "tabletContainerClass", tabletCardClass: "tabletCardClass", tabletColWithAttachmentClass: "tabletColWithAttachmentClass", tabletColWithoutAttachmentClass: "tabletColWithoutAttachmentClass", tabletActionsColClass: "tabletActionsColClass", tabletBottomRowSpacingClass: "tabletBottomRowSpacingClass" }, outputs: { view: "view", download: "download" }, ngImport: i0, template: "<div [class]=\"tabletContainerClass\">\r\n<div [class]=\"tabletCardClass\" [style.height]=\"cardHeight\"\r\n [ngClass]=\"{'me-1': !isOdd, 'ms-1': isOdd}\">\r\n \r\n <div [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'Type' | translate }}</p>\r\n<p [class]=\"valueClass\">{{ doc.DocumentTypeName }}</p>\r\n</div>\r\n \r\n <div [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'Number' | translate }}</p>\r\n<p [class]=\"valueClass\">\r\n {{ doc.DocumentNumber || '\u2014' }}\r\n</p>\r\n</div>\r\n \r\n @if(doc.Attachments?.length) {\r\n<div [class]=\"tabletActionsColClass\"> \r\n \r\n <div [class]=\"downloadContainerClass\"\r\n (click)=\"onDownload()\">\r\n<fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\"></fa-icon>\r\n<span [class]=\"downloadCountClass\">\r\n {{ doc.Attachments.length }}\r\n</span>\r\n</div>\r\n \r\n </div>\r\n }\r\n \r\n <div [class]=\"tabletBottomRowSpacingClass\"\r\n [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'IssueDate' | translate }}</p>\r\n<p [class]=\"valueClass\">\r\n {{ doc.IssueDate ? (doc.IssueDate | date:'dd/MM/yyyy') : '\u2014' }}\r\n</p>\r\n</div>\r\n \r\n <div [class]=\"tabletBottomRowSpacingClass\"\r\n [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'ExpiryDate' | translate }}</p>\r\n<p [class]=\"valueClass\">\r\n {{ doc.ExpiryDate ? (doc.ExpiryDate | date:'dd/MM/yyyy') : '\u2014' }}\r\n</p>\r\n</div>\r\n \r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: i2$2.DatePipe, name: "date" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }] });
5204
5234
  }
5205
5235
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HrDocumentTabletCardComponent, decorators: [{
5206
5236
  type: Component,
@@ -5604,6 +5634,243 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
5604
5634
  type: Output
5605
5635
  }] } });
5606
5636
 
5637
+ class EmployeeMainInfoCardComponent {
5638
+ employeeMainInfo = input(null, ...(ngDevMode ? [{ debugName: "employeeMainInfo" }] : /* istanbul ignore next */ []));
5639
+ searchValue = input('', ...(ngDevMode ? [{ debugName: "searchValue" }] : /* istanbul ignore next */ []));
5640
+ showPropertySymbol = input(true, ...(ngDevMode ? [{ debugName: "showPropertySymbol" }] : /* istanbul ignore next */ []));
5641
+ showChangeEmployeeButton = input(false, ...(ngDevMode ? [{ debugName: "showChangeEmployeeButton" }] : /* istanbul ignore next */ []));
5642
+ alignCenter = input(true, ...(ngDevMode ? [{ debugName: "alignCenter" }] : /* istanbul ignore next */ []));
5643
+ ChangeEmployeeButtonHandler = output();
5644
+ employeeBadge = {
5645
+ EmployeePhotoKey: null,
5646
+ EmployeePhotoFailed: false,
5647
+ EmployeeNameInitials: '',
5648
+ };
5649
+ dropDownIcon = faChevronDown;
5650
+ faildToLoadEmployeePhoto = false;
5651
+ constructor() {
5652
+ effect(() => {
5653
+ const info = this.employeeMainInfo();
5654
+ if (info) {
5655
+ this.employeeBadge.EmployeePhotoKey = info.PhotoKey || null;
5656
+ this.employeeBadge.EmployeeNameInitials = info.EmployeeNameInitials || '';
5657
+ this.employeeBadge.EmployeePhotoFailed = false;
5658
+ }
5659
+ });
5660
+ }
5661
+ convertEmployee() {
5662
+ this.ChangeEmployeeButtonHandler.emit();
5663
+ }
5664
+ handleEmployeePhotoError() {
5665
+ this.employeeBadge.EmployeePhotoFailed = true;
5666
+ }
5667
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: EmployeeMainInfoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5668
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: EmployeeMainInfoCardComponent, isStandalone: true, selector: "app-employee-main-info-card", inputs: { employeeMainInfo: { classPropertyName: "employeeMainInfo", publicName: "employeeMainInfo", isSignal: true, isRequired: false, transformFunction: null }, searchValue: { classPropertyName: "searchValue", publicName: "searchValue", isSignal: true, isRequired: false, transformFunction: null }, showPropertySymbol: { classPropertyName: "showPropertySymbol", publicName: "showPropertySymbol", isSignal: true, isRequired: false, transformFunction: null }, showChangeEmployeeButton: { classPropertyName: "showChangeEmployeeButton", publicName: "showChangeEmployeeButton", isSignal: true, isRequired: false, transformFunction: null }, alignCenter: { classPropertyName: "alignCenter", publicName: "alignCenter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ChangeEmployeeButtonHandler: "ChangeEmployeeButtonHandler" }, ngImport: i0, template: "@if (employeeMainInfo(); as info) {\r\n <div class=\"d-flex align-content-center\" [ngClass]=\"{ 'align-items-center': alignCenter }\">\r\n <bayan-employee-badge\r\n [badge]=\"employeeBadge\"\r\n badgeClass=\"badge employee-rounded-badge-xl fs-5\"\r\n imageClass=\"rounded-circle shadow-lg\"\r\n [width]=\"'50px'\"\r\n [height]=\"'50px'\"\r\n (employeePhotoError)=\"handleEmployeePhotoError()\"\r\n ></bayan-employee-badge>\r\n\r\n <div class=\"ms-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div\r\n class=\"fs-14 text-dark-gray fw-medium text-ellipsis-one-line\"\r\n data-bs-toggle=\"tooltip\"\r\n [title]=\"info.EmployeeNumber + ' | ' + info.EmployeeName\"\r\n [innerHTML]=\"info.EmployeeNumber + ' | ' + info.EmployeeName | highlight: searchValue()\"\r\n ></div>\r\n @if (showChangeEmployeeButton()) {\r\n <button type=\"button\" class=\"border-0 ms-2 bg-none\" (click)=\"convertEmployee()\">\r\n <fa-icon [icon]=\"dropDownIcon\" class=\"text-primary fs-5\"></fa-icon>\r\n </button>\r\n }\r\n </div>\r\n @if (info.PositionName != null && info.PositionName != '') {\r\n <div class=\"fs-12 fw-normal text-dark-gray text-ellipsis-one-line mb-1\" data-bs-toggle=\"tooltip\" [title]=\"info.PositionName\">\r\n <span [innerHTML]=\"info.PositionName | highlight: searchValue()\"></span>\r\n </div>\r\n }\r\n <div\r\n class=\"d-flex text-dark-gray mb-0\"\r\n data-bs-toggle=\"tooltip\"\r\n [title]=\"showPropertySymbol() ? info.PropertySymbol + ' | ' + info.AdminUnitName : info.AdminUnitName\"\r\n >\r\n <div class=\"fs-12\">\r\n @if (showPropertySymbol()) {\r\n <span class=\"property-badge cursor-pointer\" title=\"{{ info.PropertyName }}\">\r\n <span [innerHTML]=\"info.PropertySymbol | highlight: searchValue()\"></span>\r\n </span>\r\n }\r\n <span class=\"fw-normal ms-1\" [title]=\"info.AdminUnitName\" [innerHTML]=\"info.AdminUnitName | highlight: searchValue()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BayanEmployeeBadgeComponent, selector: "bayan-employee-badge", inputs: ["badge", "width", "height", "imageClass", "badgeClass"], outputs: ["employeePhotoError"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5669
+ }
5670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: EmployeeMainInfoCardComponent, decorators: [{
5671
+ type: Component,
5672
+ args: [{ selector: 'app-employee-main-info-card', standalone: true, imports: [FontAwesomeModule, NgClass, BayanEmployeeBadgeComponent, HighlightPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (employeeMainInfo(); as info) {\r\n <div class=\"d-flex align-content-center\" [ngClass]=\"{ 'align-items-center': alignCenter }\">\r\n <bayan-employee-badge\r\n [badge]=\"employeeBadge\"\r\n badgeClass=\"badge employee-rounded-badge-xl fs-5\"\r\n imageClass=\"rounded-circle shadow-lg\"\r\n [width]=\"'50px'\"\r\n [height]=\"'50px'\"\r\n (employeePhotoError)=\"handleEmployeePhotoError()\"\r\n ></bayan-employee-badge>\r\n\r\n <div class=\"ms-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div\r\n class=\"fs-14 text-dark-gray fw-medium text-ellipsis-one-line\"\r\n data-bs-toggle=\"tooltip\"\r\n [title]=\"info.EmployeeNumber + ' | ' + info.EmployeeName\"\r\n [innerHTML]=\"info.EmployeeNumber + ' | ' + info.EmployeeName | highlight: searchValue()\"\r\n ></div>\r\n @if (showChangeEmployeeButton()) {\r\n <button type=\"button\" class=\"border-0 ms-2 bg-none\" (click)=\"convertEmployee()\">\r\n <fa-icon [icon]=\"dropDownIcon\" class=\"text-primary fs-5\"></fa-icon>\r\n </button>\r\n }\r\n </div>\r\n @if (info.PositionName != null && info.PositionName != '') {\r\n <div class=\"fs-12 fw-normal text-dark-gray text-ellipsis-one-line mb-1\" data-bs-toggle=\"tooltip\" [title]=\"info.PositionName\">\r\n <span [innerHTML]=\"info.PositionName | highlight: searchValue()\"></span>\r\n </div>\r\n }\r\n <div\r\n class=\"d-flex text-dark-gray mb-0\"\r\n data-bs-toggle=\"tooltip\"\r\n [title]=\"showPropertySymbol() ? info.PropertySymbol + ' | ' + info.AdminUnitName : info.AdminUnitName\"\r\n >\r\n <div class=\"fs-12\">\r\n @if (showPropertySymbol()) {\r\n <span class=\"property-badge cursor-pointer\" title=\"{{ info.PropertyName }}\">\r\n <span [innerHTML]=\"info.PropertySymbol | highlight: searchValue()\"></span>\r\n </span>\r\n }\r\n <span class=\"fw-normal ms-1\" [title]=\"info.AdminUnitName\" [innerHTML]=\"info.AdminUnitName | highlight: searchValue()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n" }]
5673
+ }], ctorParameters: () => [], propDecorators: { employeeMainInfo: [{ type: i0.Input, args: [{ isSignal: true, alias: "employeeMainInfo", required: false }] }], searchValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchValue", required: false }] }], showPropertySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPropertySymbol", required: false }] }], showChangeEmployeeButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showChangeEmployeeButton", required: false }] }], alignCenter: [{ type: i0.Input, args: [{ isSignal: true, alias: "alignCenter", required: false }] }], ChangeEmployeeButtonHandler: [{ type: i0.Output, args: ["ChangeEmployeeButtonHandler"] }] } });
5674
+
5675
+ class WfSelfWidgetsService {
5676
+ http;
5677
+ headers = { 'api-version': '1' };
5678
+ constructor(http) {
5679
+ this.http = http;
5680
+ }
5681
+ getSubordinates(baseUrl, params) {
5682
+ const httpParams = new HttpParams()
5683
+ .set('p.showDirectSubordinatesOnly', params.showDirectSubordinatesOnly)
5684
+ .set('p.loadOptions.pageIndex', params.pageIndex + 1)
5685
+ .set('p.loadOptions.pageSize', params.pageSize)
5686
+ .set('p.loadOptions.searchValue', params.searchValue ?? '');
5687
+ return this.http.get(`${baseUrl}/hr/widgets/me/team/subordinates`, {
5688
+ params: httpParams,
5689
+ headers: this.headers,
5690
+ });
5691
+ }
5692
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WfSelfWidgetsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
5693
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WfSelfWidgetsService, providedIn: 'root' });
5694
+ }
5695
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WfSelfWidgetsService, decorators: [{
5696
+ type: Injectable,
5697
+ args: [{
5698
+ providedIn: 'root',
5699
+ }]
5700
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
5701
+
5702
+ const myTeamSubordinatesVisible = signal(false, ...(ngDevMode ? [{ debugName: "myTeamSubordinatesVisible" }] : /* istanbul ignore next */ []));
5703
+ function openMyTeamSubordinatesPopup() {
5704
+ myTeamSubordinatesVisible.set(true);
5705
+ }
5706
+ class MyTeamSubordinatesPopupComponent {
5707
+ wfSelfWidgetsService = inject(WfSelfWidgetsService);
5708
+ dataScrollView;
5709
+ baseUrl = input.required(...(ngDevMode ? [{ debugName: "baseUrl" }] : /* istanbul ignore next */ []));
5710
+ isLoadingChanged = output();
5711
+ errorOccurred = output();
5712
+ isPopupVisible = myTeamSubordinatesVisible;
5713
+ isLoading = signal(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : /* istanbul ignore next */ []));
5714
+ showAllSubordinates = signal(false, ...(ngDevMode ? [{ debugName: "showAllSubordinates" }] : /* istanbul ignore next */ []));
5715
+ searchValue = signal('', ...(ngDevMode ? [{ debugName: "searchValue" }] : /* istanbul ignore next */ []));
5716
+ items = signal([], ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
5717
+ isDataLoading = signal(false, ...(ngDevMode ? [{ debugName: "isDataLoading" }] : /* istanbul ignore next */ []));
5718
+ hasMoreData = signal(true, ...(ngDevMode ? [{ debugName: "hasMoreData" }] : /* istanbul ignore next */ []));
5719
+ phoneIcon = input(faPhone$1, ...(ngDevMode ? [{ debugName: "phoneIcon" }] : /* istanbul ignore next */ []));
5720
+ emailIcon = input(faEnvelope, ...(ngDevMode ? [{ debugName: "emailIcon" }] : /* istanbul ignore next */ []));
5721
+ headerRowClass = input('d-flex justify-content-between align-items-center mb-2', ...(ngDevMode ? [{ debugName: "headerRowClass" }] : /* istanbul ignore next */ []));
5722
+ switchContainerClass = input('form-check form-switch d-flex align-items-center custom-switch-dark ps-0', ...(ngDevMode ? [{ debugName: "switchContainerClass" }] : /* istanbul ignore next */ []));
5723
+ switchInputClass = input('form-check-input text-dark ms-0', ...(ngDevMode ? [{ debugName: "switchInputClass" }] : /* istanbul ignore next */ []));
5724
+ switchLabelClass = input('form-check-label mx-2 fs-13', ...(ngDevMode ? [{ debugName: "switchLabelClass" }] : /* istanbul ignore next */ []));
5725
+ scrollViewClass = input('position-relative', ...(ngDevMode ? [{ debugName: "scrollViewClass" }] : /* istanbul ignore next */ []));
5726
+ emptyStateClass = input('position-absolute top-50 start-50 translate-middle w-100 text-center text-dark-gray fs-14', ...(ngDevMode ? [{ debugName: "emptyStateClass" }] : /* istanbul ignore next */ []));
5727
+ groupHeaderClass = input('fs-16 text-dark pt-2 pb-1', ...(ngDevMode ? [{ debugName: "groupHeaderClass" }] : /* istanbul ignore next */ []));
5728
+ employeeCardClass = input('bg-light-gray rounded p-4 mb-2 d-flex align-items-center justify-content-between border-start border-4 border-start-primary', ...(ngDevMode ? [{ debugName: "employeeCardClass" }] : /* istanbul ignore next */ []));
5729
+ contactContainerClass = input('d-flex flex-column gap-1 border-start border-2 ps-3 w-100', ...(ngDevMode ? [{ debugName: "contactContainerClass" }] : /* istanbul ignore next */ []));
5730
+ contactTitleClass = input('fs-10 fw-medium mb-1 text-dark', ...(ngDevMode ? [{ debugName: "contactTitleClass" }] : /* istanbul ignore next */ []));
5731
+ contactRowClass = input('d-flex align-items-center gap-2 fs-12 fw-normal lh-21 text-dark', ...(ngDevMode ? [{ debugName: "contactRowClass" }] : /* istanbul ignore next */ []));
5732
+ contactIconClass = input('fs-10 text-light-gray', ...(ngDevMode ? [{ debugName: "contactIconClass" }] : /* istanbul ignore next */ []));
5733
+ emailTextClass = input('d-inline-block flex-grow-1 text-ellipsis-one-line', ...(ngDevMode ? [{ debugName: "emailTextClass" }] : /* istanbul ignore next */ []));
5734
+ groupedListClass = input('d-flex flex-column gap-2 pb-2', ...(ngDevMode ? [{ debugName: "groupedListClass" }] : /* istanbul ignore next */ []));
5735
+ loadingContainerClass = input('d-flex justify-content-center py-2', ...(ngDevMode ? [{ debugName: "loadingContainerClass" }] : /* istanbul ignore next */ []));
5736
+ loadingIndicatorClass = input('w-30 h-30', ...(ngDevMode ? [{ debugName: "loadingIndicatorClass" }] : /* istanbul ignore next */ []));
5737
+ employeeInfoColumnClass = input('col-8 overflow-hidden pe-2', ...(ngDevMode ? [{ debugName: "employeeInfoColumnClass" }] : /* istanbul ignore next */ []));
5738
+ contactColumnClass = input('col-4 d-flex justify-content-end', ...(ngDevMode ? [{ debugName: "contactColumnClass" }] : /* istanbul ignore next */ []));
5739
+ pageSize = input(100, ...(ngDevMode ? [{ debugName: "pageSize" }] : /* istanbul ignore next */ []));
5740
+ pageIndex = 0;
5741
+ totalCount = 0;
5742
+ loadedCount = 0;
5743
+ toEmployeeMainInfo(emp) {
5744
+ return {
5745
+ EmployeeNumber: emp.EmployeeNumber,
5746
+ EmployeeName: emp.EmployeeName,
5747
+ PhotoKey: emp.PhotoPath,
5748
+ PositionName: emp.PositionName,
5749
+ AdminUnitName: emp.AdminUnitName ?? '-',
5750
+ GradeName: null,
5751
+ PropertyName: emp.PropertyName ?? '-',
5752
+ PropertySymbol: emp.PropertySymbol ?? '-',
5753
+ EmployeeNameInitials: emp.EmployeeNameInitials,
5754
+ };
5755
+ }
5756
+ closePopup() {
5757
+ myTeamSubordinatesVisible.set(false);
5758
+ this.showAllSubordinates.set(false);
5759
+ this.searchValue.set('');
5760
+ this.resetState();
5761
+ }
5762
+ getEmployeeEmail(employee) {
5763
+ return employee.BusinessEmail ?? employee.PersonalEmail ?? '-';
5764
+ }
5765
+ onSearchChanged(value) {
5766
+ const nextSearchValue = value ?? '';
5767
+ if (nextSearchValue === this.searchValue()) {
5768
+ return;
5769
+ }
5770
+ this.searchValue.set(nextSearchValue);
5771
+ this.loadPage(true);
5772
+ }
5773
+ onToggleChange(event) {
5774
+ const checked = event.target.checked;
5775
+ this.showAllSubordinates.set(checked);
5776
+ this.loadPage(true);
5777
+ }
5778
+ onReachBottom(event) {
5779
+ if (!this.hasMoreData()) {
5780
+ event?.component?.release?.();
5781
+ return;
5782
+ }
5783
+ const scrollTop = event?.component?.scrollOffset?.().top ?? 0;
5784
+ if (scrollTop <= 0) {
5785
+ event?.component?.release?.();
5786
+ return;
5787
+ }
5788
+ this.loadPage(false).finally(() => {
5789
+ event?.component?.release?.();
5790
+ });
5791
+ }
5792
+ resetState() {
5793
+ this.items.set([]);
5794
+ this.hasMoreData.set(true);
5795
+ this.pageIndex = 0;
5796
+ this.totalCount = 0;
5797
+ this.loadedCount = 0;
5798
+ }
5799
+ resetScrollPosition() {
5800
+ this.dataScrollView?.instance?.scrollTo({ top: 0, left: 0 });
5801
+ }
5802
+ appendEmployees(pageData) {
5803
+ const groupedMap = new Map(this.items().map(group => [group.adminUnitName, [...group.employees]]));
5804
+ for (const employee of pageData) {
5805
+ const key = employee.AdminUnitName;
5806
+ const employees = groupedMap.get(key) ?? [];
5807
+ employees.push(employee);
5808
+ groupedMap.set(key, employees);
5809
+ }
5810
+ this.items.set(Array.from(groupedMap.entries()).map(([adminUnitName, employees]) => ({ adminUnitName, employees })));
5811
+ }
5812
+ async loadPage(reset) {
5813
+ if (this.isDataLoading() || (!reset && !this.hasMoreData())) {
5814
+ return;
5815
+ }
5816
+ if (reset) {
5817
+ this.resetState();
5818
+ }
5819
+ this.isDataLoading.set(true);
5820
+ if (reset) {
5821
+ this.isLoading.set(true);
5822
+ this.isLoadingChanged.emit(true);
5823
+ }
5824
+ try {
5825
+ const response = await firstValueFrom(this.wfSelfWidgetsService.getSubordinates(this.baseUrl(), {
5826
+ showDirectSubordinatesOnly: !this.showAllSubordinates(),
5827
+ pageIndex: this.pageIndex,
5828
+ pageSize: this.pageSize(),
5829
+ searchValue: this.searchValue(),
5830
+ }));
5831
+ this.totalCount = response.ResponseData.Pagination.TotalCount;
5832
+ const pageData = response.ResponseData.Data;
5833
+ if (reset) {
5834
+ this.resetScrollPosition();
5835
+ }
5836
+ this.appendEmployees(pageData);
5837
+ this.loadedCount += pageData.length;
5838
+ this.pageIndex += 1;
5839
+ const hasMore = this.loadedCount < this.totalCount && pageData.length > 0;
5840
+ this.hasMoreData.set(hasMore);
5841
+ }
5842
+ catch (err) {
5843
+ this.errorOccurred.emit(err?.error?.ResponseData?.Errors?.[0]?.Message);
5844
+ }
5845
+ finally {
5846
+ this.isDataLoading.set(false);
5847
+ if (reset) {
5848
+ this.isLoading.set(false);
5849
+ this.isLoadingChanged.emit(false);
5850
+ }
5851
+ }
5852
+ }
5853
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MyTeamSubordinatesPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5854
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: MyTeamSubordinatesPopupComponent, isStandalone: true, selector: "hr-my-team-subordinates-popup", inputs: { baseUrl: { classPropertyName: "baseUrl", publicName: "baseUrl", isSignal: true, isRequired: true, transformFunction: null }, phoneIcon: { classPropertyName: "phoneIcon", publicName: "phoneIcon", isSignal: true, isRequired: false, transformFunction: null }, emailIcon: { classPropertyName: "emailIcon", publicName: "emailIcon", isSignal: true, isRequired: false, transformFunction: null }, headerRowClass: { classPropertyName: "headerRowClass", publicName: "headerRowClass", isSignal: true, isRequired: false, transformFunction: null }, switchContainerClass: { classPropertyName: "switchContainerClass", publicName: "switchContainerClass", isSignal: true, isRequired: false, transformFunction: null }, switchInputClass: { classPropertyName: "switchInputClass", publicName: "switchInputClass", isSignal: true, isRequired: false, transformFunction: null }, switchLabelClass: { classPropertyName: "switchLabelClass", publicName: "switchLabelClass", isSignal: true, isRequired: false, transformFunction: null }, scrollViewClass: { classPropertyName: "scrollViewClass", publicName: "scrollViewClass", isSignal: true, isRequired: false, transformFunction: null }, emptyStateClass: { classPropertyName: "emptyStateClass", publicName: "emptyStateClass", isSignal: true, isRequired: false, transformFunction: null }, groupHeaderClass: { classPropertyName: "groupHeaderClass", publicName: "groupHeaderClass", isSignal: true, isRequired: false, transformFunction: null }, employeeCardClass: { classPropertyName: "employeeCardClass", publicName: "employeeCardClass", isSignal: true, isRequired: false, transformFunction: null }, contactContainerClass: { classPropertyName: "contactContainerClass", publicName: "contactContainerClass", isSignal: true, isRequired: false, transformFunction: null }, contactTitleClass: { classPropertyName: "contactTitleClass", publicName: "contactTitleClass", isSignal: true, isRequired: false, transformFunction: null }, contactRowClass: { classPropertyName: "contactRowClass", publicName: "contactRowClass", isSignal: true, isRequired: false, transformFunction: null }, contactIconClass: { classPropertyName: "contactIconClass", publicName: "contactIconClass", isSignal: true, isRequired: false, transformFunction: null }, emailTextClass: { classPropertyName: "emailTextClass", publicName: "emailTextClass", isSignal: true, isRequired: false, transformFunction: null }, groupedListClass: { classPropertyName: "groupedListClass", publicName: "groupedListClass", isSignal: true, isRequired: false, transformFunction: null }, loadingContainerClass: { classPropertyName: "loadingContainerClass", publicName: "loadingContainerClass", isSignal: true, isRequired: false, transformFunction: null }, loadingIndicatorClass: { classPropertyName: "loadingIndicatorClass", publicName: "loadingIndicatorClass", isSignal: true, isRequired: false, transformFunction: null }, employeeInfoColumnClass: { classPropertyName: "employeeInfoColumnClass", publicName: "employeeInfoColumnClass", isSignal: true, isRequired: false, transformFunction: null }, contactColumnClass: { classPropertyName: "contactColumnClass", publicName: "contactColumnClass", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isLoadingChanged: "isLoadingChanged", errorOccurred: "errorOccurred" }, providers: [HRTranslatePipe], viewQueries: [{ propertyName: "dataScrollView", first: true, predicate: ["dataScrollView"], descendants: true }], ngImport: i0, template: "<dx-popup\r\n [visible]=\"isPopupVisible()\"\r\n [width]=\"'755px'\"\r\n [height]=\"'680px'\"\r\n [showCloseButton]=\"true\"\r\n [showTitle]=\"true\"\r\n [title]=\"'MyTeam' | translate\"\r\n contentTemplate=\"popup-content\"\r\n shadingColor=\"rgba(0,0,0,0.4)\"\r\n (onShown)=\"loadPage(true)\"\r\n (onHiding)=\"closePopup()\"\r\n>\r\n <div *dxTemplate=\"let data of 'popup-content'\">\r\n <ng-template #employeeCardTemplate let-employee>\r\n <div [class]=\"employeeCardClass()\">\r\n <div class=\"row g-0 w-100 align-items-center flex-nowrap\">\r\n <div [class]=\"employeeInfoColumnClass()\">\r\n <app-employee-main-info-card\r\n [employeeMainInfo]=\"toEmployeeMainInfo(employee)\"\r\n [searchValue]=\"searchValue()\"\r\n [showPropertySymbol]=\"true\"\r\n [showChangeEmployeeButton]=\"false\"\r\n ></app-employee-main-info-card>\r\n </div>\r\n <div [class]=\"contactColumnClass()\">\r\n <div [class]=\"contactContainerClass()\">\r\n <span [class]=\"contactTitleClass()\">{{ 'ContactInfo' | translate }}:</span>\r\n <span [class]=\"contactRowClass()\">\r\n <fa-icon [icon]=\"phoneIcon()\" [class]=\"contactIconClass()\"></fa-icon>\r\n <span [innerHTML]=\"employee.MobileNumber ?? '-'\"></span>\r\n </span>\r\n <span [class]=\"contactRowClass()\">\r\n <fa-icon [icon]=\"emailIcon()\" [class]=\"contactIconClass()\"></fa-icon>\r\n <span [class]=\"emailTextClass()\" [title]=\"getEmployeeEmail(employee)\" [innerHTML]=\"getEmployeeEmail(employee)\"></span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div [class]=\"headerRowClass()\">\r\n <div [class]=\"switchContainerClass()\">\r\n <input\r\n [class]=\"switchInputClass()\"\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n id=\"myTeamDirectOnlySwitch\"\r\n [checked]=\"showAllSubordinates()\"\r\n (change)=\"onToggleChange($event)\"\r\n />\r\n <label [class]=\"switchLabelClass()\" for=\"myTeamDirectOnlySwitch\">\r\n {{ 'ShowAllSubordinates' | translate }}\r\n </label>\r\n </div>\r\n <dx-text-box\r\n [value]=\"searchValue()\"\r\n [placeholder]=\"'Search' | translate\"\r\n [width]=\"'250px'\"\r\n mode=\"search\"\r\n (onValueChanged)=\"onSearchChanged($event.value)\"\r\n ></dx-text-box>\r\n </div>\r\n\r\n <dx-scroll-view\r\n #dataScrollView\r\n [height]=\"500\"\r\n [width]=\"'100%'\"\r\n [elementAttr]=\"{ class: scrollViewClass() }\"\r\n [scrollByContent]=\"true\"\r\n [scrollByThumb]=\"true\"\r\n [showScrollbar]=\"'always'\"\r\n [bounceEnabled]=\"false\"\r\n (onReachBottom)=\"onReachBottom($event)\"\r\n >\r\n <div [class]=\"groupedListClass()\">\r\n @if (isDataLoading() && items().length === 0) {\r\n <div [class]=\"loadingContainerClass()\">\r\n <dx-load-indicator [visible]=\"true\" [class]=\"loadingIndicatorClass()\"></dx-load-indicator>\r\n </div>\r\n } @else if (items().length === 0) {\r\n <div [class]=\"emptyStateClass()\">\r\n {{ 'NoDataToDisplay' | translate }}\r\n </div>\r\n } @else {\r\n @for (group of items(); track group.adminUnitName) {\r\n @if (showAllSubordinates()) {\r\n <div [class]=\"groupHeaderClass()\" [innerHTML]=\"group.adminUnitName | highlight: searchValue()\"></div>\r\n }\r\n @for (emp of group.employees; track emp.EmployeeNumber) {\r\n <ng-container *ngTemplateOutlet=\"employeeCardTemplate; context: { $implicit: emp }\"></ng-container>\r\n }\r\n }\r\n @if (isDataLoading()) {\r\n <div [class]=\"loadingContainerClass()\">\r\n <dx-load-indicator [visible]=\"true\" [class]=\"loadingIndicatorClass()\"></dx-load-indicator>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popup>\r\n", dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "ngmodule", type: DxPopupModule }, { kind: "component", type: i2.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "container", "contentTemplate", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "ngmodule", type: DxTextBoxModule }, { kind: "component", type: i2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { kind: "ngmodule", type: DxLoadIndicatorModule }, { kind: "component", type: i2.DxLoadIndicatorComponent, selector: "dx-load-indicator", inputs: ["animationType", "elementAttr", "height", "hint", "indicatorSrc", "rtlEnabled", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "animationTypeChange", "elementAttrChange", "heightChange", "hintChange", "indicatorSrcChange", "rtlEnabledChange", "visibleChange", "widthChange"] }, { kind: "component", type: EmployeeMainInfoCardComponent, selector: "app-employee-main-info-card", inputs: ["employeeMainInfo", "searchValue", "showPropertySymbol", "showChangeEmployeeButton", "alignCenter"], outputs: ["ChangeEmployeeButtonHandler"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: HRTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5855
+ }
5856
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MyTeamSubordinatesPopupComponent, decorators: [{
5857
+ type: Component,
5858
+ args: [{ selector: 'hr-my-team-subordinates-popup', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
5859
+ FontAwesomeModule,
5860
+ DxPopupModule,
5861
+ DxTextBoxModule,
5862
+ DxScrollViewModule,
5863
+ DxLoadIndicatorModule,
5864
+ EmployeeMainInfoCardComponent,
5865
+ NgTemplateOutlet,
5866
+ HighlightPipe,
5867
+ HRTranslatePipe,
5868
+ ], providers: [HRTranslatePipe], template: "<dx-popup\r\n [visible]=\"isPopupVisible()\"\r\n [width]=\"'755px'\"\r\n [height]=\"'680px'\"\r\n [showCloseButton]=\"true\"\r\n [showTitle]=\"true\"\r\n [title]=\"'MyTeam' | translate\"\r\n contentTemplate=\"popup-content\"\r\n shadingColor=\"rgba(0,0,0,0.4)\"\r\n (onShown)=\"loadPage(true)\"\r\n (onHiding)=\"closePopup()\"\r\n>\r\n <div *dxTemplate=\"let data of 'popup-content'\">\r\n <ng-template #employeeCardTemplate let-employee>\r\n <div [class]=\"employeeCardClass()\">\r\n <div class=\"row g-0 w-100 align-items-center flex-nowrap\">\r\n <div [class]=\"employeeInfoColumnClass()\">\r\n <app-employee-main-info-card\r\n [employeeMainInfo]=\"toEmployeeMainInfo(employee)\"\r\n [searchValue]=\"searchValue()\"\r\n [showPropertySymbol]=\"true\"\r\n [showChangeEmployeeButton]=\"false\"\r\n ></app-employee-main-info-card>\r\n </div>\r\n <div [class]=\"contactColumnClass()\">\r\n <div [class]=\"contactContainerClass()\">\r\n <span [class]=\"contactTitleClass()\">{{ 'ContactInfo' | translate }}:</span>\r\n <span [class]=\"contactRowClass()\">\r\n <fa-icon [icon]=\"phoneIcon()\" [class]=\"contactIconClass()\"></fa-icon>\r\n <span [innerHTML]=\"employee.MobileNumber ?? '-'\"></span>\r\n </span>\r\n <span [class]=\"contactRowClass()\">\r\n <fa-icon [icon]=\"emailIcon()\" [class]=\"contactIconClass()\"></fa-icon>\r\n <span [class]=\"emailTextClass()\" [title]=\"getEmployeeEmail(employee)\" [innerHTML]=\"getEmployeeEmail(employee)\"></span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div [class]=\"headerRowClass()\">\r\n <div [class]=\"switchContainerClass()\">\r\n <input\r\n [class]=\"switchInputClass()\"\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n id=\"myTeamDirectOnlySwitch\"\r\n [checked]=\"showAllSubordinates()\"\r\n (change)=\"onToggleChange($event)\"\r\n />\r\n <label [class]=\"switchLabelClass()\" for=\"myTeamDirectOnlySwitch\">\r\n {{ 'ShowAllSubordinates' | translate }}\r\n </label>\r\n </div>\r\n <dx-text-box\r\n [value]=\"searchValue()\"\r\n [placeholder]=\"'Search' | translate\"\r\n [width]=\"'250px'\"\r\n mode=\"search\"\r\n (onValueChanged)=\"onSearchChanged($event.value)\"\r\n ></dx-text-box>\r\n </div>\r\n\r\n <dx-scroll-view\r\n #dataScrollView\r\n [height]=\"500\"\r\n [width]=\"'100%'\"\r\n [elementAttr]=\"{ class: scrollViewClass() }\"\r\n [scrollByContent]=\"true\"\r\n [scrollByThumb]=\"true\"\r\n [showScrollbar]=\"'always'\"\r\n [bounceEnabled]=\"false\"\r\n (onReachBottom)=\"onReachBottom($event)\"\r\n >\r\n <div [class]=\"groupedListClass()\">\r\n @if (isDataLoading() && items().length === 0) {\r\n <div [class]=\"loadingContainerClass()\">\r\n <dx-load-indicator [visible]=\"true\" [class]=\"loadingIndicatorClass()\"></dx-load-indicator>\r\n </div>\r\n } @else if (items().length === 0) {\r\n <div [class]=\"emptyStateClass()\">\r\n {{ 'NoDataToDisplay' | translate }}\r\n </div>\r\n } @else {\r\n @for (group of items(); track group.adminUnitName) {\r\n @if (showAllSubordinates()) {\r\n <div [class]=\"groupHeaderClass()\" [innerHTML]=\"group.adminUnitName | highlight: searchValue()\"></div>\r\n }\r\n @for (emp of group.employees; track emp.EmployeeNumber) {\r\n <ng-container *ngTemplateOutlet=\"employeeCardTemplate; context: { $implicit: emp }\"></ng-container>\r\n }\r\n }\r\n @if (isDataLoading()) {\r\n <div [class]=\"loadingContainerClass()\">\r\n <dx-load-indicator [visible]=\"true\" [class]=\"loadingIndicatorClass()\"></dx-load-indicator>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popup>\r\n" }]
5869
+ }], propDecorators: { dataScrollView: [{
5870
+ type: ViewChild,
5871
+ args: ['dataScrollView']
5872
+ }], baseUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseUrl", required: true }] }], isLoadingChanged: [{ type: i0.Output, args: ["isLoadingChanged"] }], errorOccurred: [{ type: i0.Output, args: ["errorOccurred"] }], phoneIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "phoneIcon", required: false }] }], emailIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "emailIcon", required: false }] }], headerRowClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerRowClass", required: false }] }], switchContainerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "switchContainerClass", required: false }] }], switchInputClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "switchInputClass", required: false }] }], switchLabelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "switchLabelClass", required: false }] }], scrollViewClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollViewClass", required: false }] }], emptyStateClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyStateClass", required: false }] }], groupHeaderClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupHeaderClass", required: false }] }], employeeCardClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "employeeCardClass", required: false }] }], contactContainerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contactContainerClass", required: false }] }], contactTitleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contactTitleClass", required: false }] }], contactRowClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contactRowClass", required: false }] }], contactIconClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contactIconClass", required: false }] }], emailTextClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "emailTextClass", required: false }] }], groupedListClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupedListClass", required: false }] }], loadingContainerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingContainerClass", required: false }] }], loadingIndicatorClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingIndicatorClass", required: false }] }], employeeInfoColumnClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "employeeInfoColumnClass", required: false }] }], contactColumnClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contactColumnClass", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }] } });
5873
+
5607
5874
  /*
5608
5875
  * Public API Surface of shared-ui
5609
5876
  */
@@ -5612,5 +5879,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
5612
5879
  * Generated bundle index. Do not edit.
5613
5880
  */
5614
5881
 
5615
- export { EventOption, EventTypeEnum, HRCardHeaderComponent, HRConstantsService, HREmployeeCalendarComponent, HRTranslatePipe, HRTranslateService, MainWidgetShortcut, MyCalendarWidgetComponent, MyDependentsWidgetComponent, MyMainDetailsWidgetComponent, MyNextWeekVacationInsightsWidgetComponent, MyProfileAddressWidgetComponent, MyProfileBankInfoWidgetComponent, MyProfileContactWidgetComponent, MyProfileContractWidgetComponent, MyProfileDegreesWidgetComponent, MyProfileDependentsDocumentsWidgetComponent, MyProfileEntitlementsOthersWidgetComponent, MyProfileExperiencesWidgetComponent, MyProfileIndemnityWidgetComponent, MyProfileJobInfoWidgetComponent, MyProfileLanguagesWidgetComponent, MyProfileMedicalInsuranceWidgetComponent, MyProfileOtherNationalitiesWidgetComponent, MyProfilePersonalDocumentsWidgetComponent, MyProfileSalaryWidgetComponent, MyProfileServiceChargeWidgetComponent, MyProfileTicketWidgetComponent, MyProfileVacationsWidgetComponent, MyUpcomingEventsWidgetComponent, ProfilePersonalInfoMainWidgetComponent, PublicHolidayWeekContext, RelativeDay, ScheduleVacationTypes, ServiceChargeEntitlementMode, VacationPopupType };
5882
+ export { EventOption, EventTypeEnum, HRCardHeaderComponent, HRConstantsService, HREmployeeCalendarComponent, HRTranslatePipe, HRTranslateService, MainWidgetShortcut, MyCalendarWidgetComponent, MyDependentsWidgetComponent, MyMainDetailsWidgetComponent, MyNextWeekVacationInsightsWidgetComponent, MyProfileAddressWidgetComponent, MyProfileBankInfoWidgetComponent, MyProfileContactWidgetComponent, MyProfileContractWidgetComponent, MyProfileDegreesWidgetComponent, MyProfileDependentsDocumentsWidgetComponent, MyProfileEntitlementsOthersWidgetComponent, MyProfileExperiencesWidgetComponent, MyProfileIndemnityWidgetComponent, MyProfileJobInfoWidgetComponent, MyProfileLanguagesWidgetComponent, MyProfileMedicalInsuranceWidgetComponent, MyProfileOtherNationalitiesWidgetComponent, MyProfilePersonalDocumentsWidgetComponent, MyProfileSalaryWidgetComponent, MyProfileServiceChargeWidgetComponent, MyProfileTicketWidgetComponent, MyProfileVacationsWidgetComponent, MyTeamSubordinatesPopupComponent, MyUpcomingEventsWidgetComponent, ProfilePersonalInfoMainWidgetComponent, PublicHolidayWeekContext, RelativeDay, ScheduleVacationTypes, ServiceChargeEntitlementMode, VacationPopupType, myTeamSubordinatesVisible, openMyTeamSubordinatesPopup };
5616
5883
  //# sourceMappingURL=skysoftware-co-bayan-hr-widgets-ui.mjs.map