@skysoftware-co/bayan-hr-widgets-ui 2.0.24 → 2.0.25
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skysoftware-co-bayan-hr-widgets-ui.mjs","sources":["../../../projects/shared-ui/src/lib/shared/services/bank-information-cache.service.ts","../../../projects/shared-ui/src/lib/shared/services/entitlements-cache.service.ts","../../../projects/shared-ui/src/lib/shared/services/job-information-cache.service.ts","../../../projects/shared-ui/src/lib/shared/services/personal-information-cache.service.ts","../../../projects/shared-ui/src/lib/shared/services/qualifications-cache.service.ts","../../../projects/shared-ui/src/lib/shared/services/profile-employee-dependents-cach.ts","../../../projects/shared-ui/src/lib/shared/services/profile-documents-cache-service.ts","../../../projects/shared-ui/src/lib/services/hr-self-widgets.service.ts","../../../projects/shared-ui/src/lib/shared/types/common.ts","../../../projects/shared-ui/src/lib/shared/services/constants.service.ts","../../../projects/shared-ui/src/lib/shared/services/translate.service.ts","../../../projects/shared-ui/src/lib/shared/pipes/translate.pipe.ts","../../../projects/shared-ui/src/lib/my-main-details-widget/my-main-details-widget.component.ts","../../../projects/shared-ui/src/lib/my-main-details-widget/my-main-details-widget.component.html","../../../projects/shared-ui/src/lib/shared/components/card-header/card-header.component.ts","../../../projects/shared-ui/src/lib/shared/components/card-header/card-header.component.html","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/event-item/event-item.component.ts","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/event-item/event-item.component.html","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/event-tab-bar/event-tab-bar.component.ts","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/event-tab-bar/event-tab-bar.component.html","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/events-popup/events-popup.component.ts","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/events-popup/events-popup.component.html","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/my-upcoming-events-widget.component.ts","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/my-upcoming-events-widget.component.html","../../../projects/shared-ui/src/lib/shared/services/common-methods.service.ts","../../../projects/shared-ui/src/lib/shared/components/hr-employee-calendar/hr-employee-calendar.component.ts","../../../projects/shared-ui/src/lib/shared/components/hr-employee-calendar/hr-employee-calendar.component.html","../../../projects/shared-ui/src/lib/my-calendar-widget/my-calendar-widget.component.ts","../../../projects/shared-ui/src/lib/my-calendar-widget/my-calendar-widget.component.html","../../../projects/shared-ui/src/lib/shared/components/info-field/info-field.component.ts","../../../projects/shared-ui/src/lib/shared/components/info-field/info-field.component.html","../../../projects/shared-ui/src/lib/my-profile/bank-info-widget/my-profile-bank-info-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/bank-info-widget/my-profile-bank-info-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/personal-info-main-widget/my-profile-personal-info-main-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/personal-info-main-widget/my-profile-personal-info-main-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/contact-widget/my-profile-contact-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/contact-widget/my-profile-contact-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/languages-widget/my-profile-languages-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/languages-widget/my-profile-languages-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/other-nationalities-widget/my-profile-other-nationalities-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/other-nationalities-widget/my-profile-other-nationalities-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/address-widget/my-profile-address-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/address-widget/my-profile-address-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/job-info-widget/my-profile-job-info-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/job-info-widget/my-profile-job-info-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/contract-widget/my-profile-contract-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/contract-widget/my-profile-contract-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/salary-widget/my-profile-salary-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/salary-widget/my-profile-salary-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/service-charge-widget/my-profile-service-charge-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/service-charge-widget/my-profile-service-charge-widget.component.html","../../../projects/shared-ui/src/lib/my-next-week-vacation-insights-widget/components/next-week-vacation-insights-popup/next-week-vacation-insights-popup.component.ts","../../../projects/shared-ui/src/lib/my-next-week-vacation-insights-widget/components/next-week-vacation-insights-popup/next-week-vacation-insights-popup.component.html","../../../projects/shared-ui/src/lib/my-next-week-vacation-insights-widget/my-next-week-vacation-insights-widget.component.ts","../../../projects/shared-ui/src/lib/my-next-week-vacation-insights-widget/my-next-week-vacation-insights-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/experiences-widget/my-profile-experiences-widget-component.ts","../../../projects/shared-ui/src/lib/my-profile/experiences-widget/my-profile-experiences-widget-component.html","../../../projects/shared-ui/src/lib/my-profile/degrees-widget/my-profile-degrees-widget-component.ts","../../../projects/shared-ui/src/lib/my-profile/degrees-widget/my-profile-degrees-widget-component.html","../../../projects/shared-ui/src/lib/shared/components/widget-card/widget-card-component.ts","../../../projects/shared-ui/src/lib/shared/components/widget-card/widget-card-component.html","../../../projects/shared-ui/src/lib/my-profile/employee-dependents-widget/my-profile-employee-dependents-component.ts","../../../projects/shared-ui/src/lib/my-profile/employee-dependents-widget/my-profile-employee-dependents-component.html","../../../projects/shared-ui/src/lib/my-profile/vacations-widget/my-profile-vacations-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/vacations-widget/my-profile-vacations-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/indemnity-widget/my-profile-indemnity-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/indemnity-widget/my-profile-indemnity-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/ticket-widget/components/ticket-card/ticket-card.component.ts","../../../projects/shared-ui/src/lib/my-profile/ticket-widget/components/ticket-card/ticket-card.component.html","../../../projects/shared-ui/src/lib/my-profile/ticket-widget/my-profile-ticket-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/ticket-widget/my-profile-ticket-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/medical-insurance-widget/components/medical-insurance-card/medical-insurance-card.component.ts","../../../projects/shared-ui/src/lib/my-profile/medical-insurance-widget/components/medical-insurance-card/medical-insurance-card.component.html","../../../projects/shared-ui/src/lib/my-profile/medical-insurance-widget/my-profile-medical-insurance-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/medical-insurance-widget/my-profile-medical-insurance-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/entitlements-others-widget/my-profile-entitlements-others-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/entitlements-others-widget/my-profile-entitlements-others-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-row/document-row.component.ts","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-row/document-row.component.html","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-card/document-card.component.ts","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-card/document-card.component.html","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-tablet-card/document-tablet-card.component.ts","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-tablet-card/document-tablet-card.component.html","../../../projects/shared-ui/src/lib/my-profile/dependents-documents-widget/my-profile-dependents-documents-widget.ts","../../../projects/shared-ui/src/lib/my-profile/dependents-documents-widget/my-profile-dependents-documents-widget.html","../../../projects/shared-ui/src/lib/my-profile/official-documents-widget/my-profile-official-documents-widget.ts","../../../projects/shared-ui/src/lib/my-profile/official-documents-widget/my-profile-official-documents-widget.html","../../../projects/shared-ui/src/lib/my-team-subordinates-popup-widget/components/employee-main-info-card/employee-information-card.component.ts","../../../projects/shared-ui/src/lib/my-team-subordinates-popup-widget/components/employee-main-info-card/employee-main-info-card.component.html","../../../projects/shared-ui/src/lib/shared/services/my-team-popup.service.ts","../../../projects/shared-ui/src/lib/my-team-subordinates-popup-widget/components/my-team-subordinates-popup/my-team-popup.component.ts","../../../projects/shared-ui/src/lib/my-team-subordinates-popup-widget/components/my-team-subordinates-popup/my-team-popup.component.html","../../../projects/shared-ui/src/public-api.ts","../../../projects/shared-ui/src/skysoftware-co-bayan-hr-widgets-ui.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { MyBankInfo } from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BankInformationCacheService {\n private bankInformationCache$: Observable<MyBankInfo[]> | null = null;\n private bankInformationCacheBaseUrl = '';\n\n get(baseUrl: string): Observable<MyBankInfo[]> | null {\n if (this.bankInformationCacheBaseUrl !== baseUrl) {\n return null;\n }\n\n return this.bankInformationCache$;\n }\n\n set(baseUrl: string, value: Observable<MyBankInfo[]>): void {\n this.bankInformationCacheBaseUrl = baseUrl;\n this.bankInformationCache$ = value;\n }\n\n clear(): void {\n this.bankInformationCache$ = null;\n this.bankInformationCacheBaseUrl = '';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n EntitlementsIndemnity,\n EntitlementsMedicalInsurance,\n EntitlementsTicket,\n EntitlementsVacation,\n} from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EntitlementsCacheService {\n private baseUrl = '';\n\n private vacationDetails$: Observable<EntitlementsVacation[] | null> | null = null;\n private indemnityDetails$: Observable<EntitlementsIndemnity | null> | null = null;\n private ticketDetails$: Observable<EntitlementsTicket | null> | null = null;\n private medicalInsuranceDetails$: Observable<EntitlementsMedicalInsurance | null> | null = null;\n private overtimeDetails$: Observable<any> | null = null;\n private socialSecurityDetails$: Observable<any> | null = null;\n\n getVacationDetails(baseUrl: string): Observable<EntitlementsVacation[] | null> | null {\n return this.baseUrl === baseUrl ? this.vacationDetails$ : null;\n }\n\n setVacationDetails(baseUrl: string, value: Observable<EntitlementsVacation[] | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.vacationDetails$ = value;\n }\n\n getIndemnityDetails(baseUrl: string): Observable<EntitlementsIndemnity | null> | null {\n return this.baseUrl === baseUrl ? this.indemnityDetails$ : null;\n }\n\n setIndemnityDetails(baseUrl: string, value: Observable<EntitlementsIndemnity | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.indemnityDetails$ = value;\n }\n\n getTicketDetails(baseUrl: string): Observable<EntitlementsTicket | null> | null {\n return this.baseUrl === baseUrl ? this.ticketDetails$ : null;\n }\n\n setTicketDetails(baseUrl: string, value: Observable<EntitlementsTicket | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.ticketDetails$ = value;\n }\n\n getMedicalInsuranceDetails(baseUrl: string): Observable<EntitlementsMedicalInsurance | null> | null {\n return this.baseUrl === baseUrl ? this.medicalInsuranceDetails$ : null;\n }\n\n setMedicalInsuranceDetails(baseUrl: string, value: Observable<EntitlementsMedicalInsurance | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.medicalInsuranceDetails$ = value;\n }\n\n getOvertimeDetails(baseUrl: string): Observable<any> | null {\n return this.baseUrl === baseUrl ? this.overtimeDetails$ : null;\n }\n\n setOvertimeDetails(baseUrl: string, value: Observable<any>): void {\n this.ensureBaseUrl(baseUrl);\n this.overtimeDetails$ = value;\n }\n\n getSocialSecurityDetails(baseUrl: string): Observable<any> | null {\n return this.baseUrl === baseUrl ? this.socialSecurityDetails$ : null;\n }\n\n setSocialSecurityDetails(baseUrl: string, value: Observable<any>): void {\n this.ensureBaseUrl(baseUrl);\n this.socialSecurityDetails$ = value;\n }\n\n clear(): void {\n this.baseUrl = '';\n this.vacationDetails$ = null;\n this.indemnityDetails$ = null;\n this.ticketDetails$ = null;\n this.medicalInsuranceDetails$ = null;\n this.overtimeDetails$ = null;\n this.socialSecurityDetails$ = null;\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n\n this.baseUrl = baseUrl;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n JobInformationContract,\n JobInformationMain,\n JobInformationSalary,\n JobInformationServiceCharge,\n} from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class JobInformationCacheService {\n private baseUrl = '';\n\n private mainDetails$: Observable<JobInformationMain | null> | null = null;\n private contractDetails$: Observable<JobInformationContract | null> | null = null;\n private salaryDetails$: Observable<JobInformationSalary | null> | null = null;\n private serviceChargeDetails$: Observable<JobInformationServiceCharge | null> | null = null;\n\n getMainDetails(baseUrl: string): Observable<JobInformationMain | null> | null {\n return this.baseUrl === baseUrl ? this.mainDetails$ : null;\n }\n\n setMainDetails(baseUrl: string, value: Observable<JobInformationMain | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.mainDetails$ = value;\n }\n\n getContractDetails(baseUrl: string): Observable<JobInformationContract | null> | null {\n return this.baseUrl === baseUrl ? this.contractDetails$ : null;\n }\n\n setContractDetails(baseUrl: string, value: Observable<JobInformationContract | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.contractDetails$ = value;\n }\n\n getSalaryDetails(baseUrl: string): Observable<JobInformationSalary | null> | null {\n return this.baseUrl === baseUrl ? this.salaryDetails$ : null;\n }\n\n setSalaryDetails(baseUrl: string, value: Observable<JobInformationSalary | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.salaryDetails$ = value;\n }\n\n getServiceChargeDetails(baseUrl: string): Observable<JobInformationServiceCharge | null> | null {\n return this.baseUrl === baseUrl ? this.serviceChargeDetails$ : null;\n }\n\n setServiceChargeDetails(baseUrl: string, value: Observable<JobInformationServiceCharge | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.serviceChargeDetails$ = value;\n }\n\n clear(): void {\n this.baseUrl = '';\n this.mainDetails$ = null;\n this.contractDetails$ = null;\n this.salaryDetails$ = null;\n this.serviceChargeDetails$ = null;\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n\n this.baseUrl = baseUrl;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { PersonalInfoAddressDetails, PersonalInfoContactDetails, PersonalInfoMainDetails } from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PersonalInformationCacheService {\n private baseUrl = '';\n\n private mainDetails$: Observable<PersonalInfoMainDetails> | null = null;\n private contactDetails$: Observable<PersonalInfoContactDetails> | null = null;\n private addressDetails$: Observable<PersonalInfoAddressDetails> | null = null;\n private languages$: Observable<string[]> | null = null;\n private otherNationalities$: Observable<string[]> | null = null;\n\n getMainDetails(baseUrl: string): Observable<PersonalInfoMainDetails> | null {\n return this.baseUrl === baseUrl ? this.mainDetails$ : null;\n }\n\n setMainDetails(baseUrl: string, value: Observable<PersonalInfoMainDetails>): void {\n this.ensureBaseUrl(baseUrl);\n this.mainDetails$ = value;\n }\n\n getContactDetails(baseUrl: string): Observable<PersonalInfoContactDetails> | null {\n return this.baseUrl === baseUrl ? this.contactDetails$ : null;\n }\n\n setContactDetails(baseUrl: string, value: Observable<PersonalInfoContactDetails>): void {\n this.ensureBaseUrl(baseUrl);\n this.contactDetails$ = value;\n }\n\n getAddressDetails(baseUrl: string): Observable<PersonalInfoAddressDetails> | null {\n return this.baseUrl === baseUrl ? this.addressDetails$ : null;\n }\n\n setAddressDetails(baseUrl: string, value: Observable<PersonalInfoAddressDetails>): void {\n this.ensureBaseUrl(baseUrl);\n this.addressDetails$ = value;\n }\n\n getLanguages(baseUrl: string): Observable<string[]> | null {\n return this.baseUrl === baseUrl ? this.languages$ : null;\n }\n\n setLanguages(baseUrl: string, value: Observable<string[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.languages$ = value;\n }\n\n getOtherNationalities(baseUrl: string): Observable<string[]> | null {\n return this.baseUrl === baseUrl ? this.otherNationalities$ : null;\n }\n\n setOtherNationalities(baseUrl: string, value: Observable<string[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.otherNationalities$ = value;\n }\n\n clear(): void {\n this.baseUrl = '';\n this.mainDetails$ = null;\n this.contactDetails$ = null;\n this.addressDetails$ = null;\n this.languages$ = null;\n this.otherNationalities$ = null;\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n this.baseUrl = baseUrl;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Degree, Experience } from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class QualificationsCacheService {\n private baseUrl = '';\n\n private degrees$: Observable<Degree[]> | null = null;\n private experiences$: Observable<Experience[]> | null = null;\n\n getDegrees(baseUrl: string): Observable<Degree[]> | null {\n return this.baseUrl === baseUrl ? this.degrees$ : null;\n }\n\n setDegrees(baseUrl: string, value: Observable<Degree[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.degrees$ = value;\n }\n\n getExperiences(baseUrl: string): Observable<Experience[]> | null {\n return this.baseUrl === baseUrl ? this.experiences$ : null;\n }\n\n setExperiences(baseUrl: string, value: Observable<Experience[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.experiences$ = value;\n }\n\n clear(): void {\n this.baseUrl = '';\n this.degrees$ = null;\n this.experiences$ = null;\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n\n this.baseUrl = baseUrl;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n Dependent,\n PersonalInfoAddressDetails,\n PersonalInfoContactDetails,\n PersonalInfoMainDetails,\n} from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileEmployeeDependentsCach {\n private baseUrl = '';\n\n private dependents$: Observable<Dependent[]> | null = null;\n\n clear(): void {\n this.baseUrl = '';\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n this.baseUrl = baseUrl;\n }\n\n setDependents(baseUrl: string, value: Observable<Dependent[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.dependents$ = value;\n }\n\n getDependents(baseUrl: string): Observable<Dependent[]> | null {\n return this.baseUrl === baseUrl ? this.dependents$ : null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { DependentDocumentGroup, PersonalDocument } from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileDocumentsCacheService {\n private baseUrl = '';\n\n private dependentDocuments$: Observable<DependentDocumentGroup[]> | null = null;\n private personalDocuments$: Observable<PersonalDocument[]> | null = null;\n\n getDependentDocuments(baseUrl: string): Observable<DependentDocumentGroup[]> | null {\n return this.baseUrl === baseUrl ? this.dependentDocuments$ : null;\n }\n\n setDependentDocuments(baseUrl: string, value: Observable<DependentDocumentGroup[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.dependentDocuments$ = value;\n }\n\n getPersonalDocuments(baseUrl: string): Observable<PersonalDocument[]> | null {\n return this.baseUrl === baseUrl ? this.personalDocuments$ : null;\n }\n\n setPersonalDocuments(baseUrl: string, value: Observable<PersonalDocument[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.personalDocuments$ = value;\n }\n\n clear(): void {\n this.baseUrl = '';\n this.dependentDocuments$ = null;\n this.personalDocuments$ = null;\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n this.baseUrl = baseUrl;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable, catchError, map, shareReplay, throwError } from 'rxjs';\nimport {\n Degree,\n Dependent,\n DependentDocumentGroup,\n DocumentRow,\n EntitlementsIndemnity,\n EntitlementsMedicalInsurance,\n EntitlementsTicket,\n EntitlementsVacation,\n EventOption,\n Experience,\n JobInformationContract,\n JobInformationMain,\n JobInformationSalary,\n JobInformationServiceCharge,\n MyBankInfo,\n PersonalInfoAddressDetails,\n PersonalInfoContactDetails,\n PersonalInfoMainDetails,\n} from '../shared/types/common';\nimport { BankInformationCacheService } from '../shared/services/bank-information-cache.service';\nimport { EntitlementsCacheService } from '../shared/services/entitlements-cache.service';\nimport { JobInformationCacheService } from '../shared/services/job-information-cache.service';\nimport { PersonalInformationCacheService } from '../shared/services/personal-information-cache.service';\nimport { QualificationsCacheService } from '../shared/services/qualifications-cache.service';\nimport { ProfileEmployeeDependentsCach } from '../shared/services/profile-employee-dependents-cach';\nimport { ProfileDocumentsCacheService } from '../shared/services/profile-documents-cache-service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HRSelfWidgetsService {\n private readonly headers = { 'api-version': '1' };\n\n constructor(\n private http: HttpClient,\n private readonly bankInformationCacheService: BankInformationCacheService,\n private readonly entitlementsCacheService: EntitlementsCacheService,\n private readonly jobInformationCacheService: JobInformationCacheService,\n private readonly personalInformationCacheService: PersonalInformationCacheService,\n private readonly qualificationsCacheService: QualificationsCacheService,\n private readonly profileEmployeeDependentsCachService: ProfileEmployeeDependentsCach,\n private readonly profileDocumentsCacheService: ProfileDocumentsCacheService,\n ) {}\n\n getMainDetails(baseUrl: string): Observable<any> {\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/main-details`, {\n headers: this.headers,\n });\n }\n\n getUpcomingEvents(baseUrl: string, eventOption: EventOption): Observable<any> {\n const params = new HttpParams().set('EventOption', eventOption);\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/upcoming-events`, {\n params,\n headers: this.headers,\n });\n }\n\n getCalendar(baseUrl: string, month: number, year: number, monthsCount: number): Observable<any> {\n const params = new HttpParams().set('Month', month).set('Year', year).set('MonthsCount', monthsCount);\n\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/calendar`, {\n params,\n headers: this.headers,\n });\n }\n\n getBankInformation(baseUrl: string, forceRefresh = false): Observable<MyBankInfo[]> {\n if (!forceRefresh) {\n const cachedRequest$ = this.bankInformationCacheService.get(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: MyBankInfo[] }>(`${baseUrl}/hr/widgets/me/profile/banks`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.bankInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.bankInformationCacheService.set(baseUrl, request$);\n return request$;\n }\n\n getPersonalInfoMainDetails(baseUrl: string, forceRefresh = false): Observable<PersonalInfoMainDetails> {\n if (!forceRefresh) {\n const cachedRequest$ = this.personalInformationCacheService.getMainDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: PersonalInfoMainDetails }>(`${baseUrl}/hr/widgets/me/profile/personal-information/main`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? (response as unknown as PersonalInfoMainDetails)),\n shareReplay(1),\n catchError(error => {\n this.personalInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.personalInformationCacheService.setMainDetails(baseUrl, request$);\n return request$;\n }\n\n getPersonalInfoContactDetails(baseUrl: string, forceRefresh = false): Observable<PersonalInfoContactDetails> {\n if (!forceRefresh) {\n const cachedRequest$ = this.personalInformationCacheService.getContactDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: PersonalInfoContactDetails }>(\n `${baseUrl}/hr/widgets/me/profile/personal-information/contact`,\n {\n headers: this.headers,\n },\n )\n .pipe(\n map(response => response?.ResponseData ?? (response as unknown as PersonalInfoContactDetails)),\n shareReplay(1),\n catchError(error => {\n this.personalInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.personalInformationCacheService.setContactDetails(baseUrl, request$);\n return request$;\n }\n\n getPersonalInfoAddressDetails(baseUrl: string, forceRefresh = false): Observable<PersonalInfoAddressDetails> {\n if (!forceRefresh) {\n const cachedRequest$ = this.personalInformationCacheService.getAddressDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: PersonalInfoAddressDetails }>(\n `${baseUrl}/hr/widgets/me/profile/personal-information/address`,\n {\n headers: this.headers,\n },\n )\n .pipe(\n map(response => response?.ResponseData ?? (response as unknown as PersonalInfoAddressDetails)),\n shareReplay(1),\n catchError(error => {\n this.personalInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.personalInformationCacheService.setAddressDetails(baseUrl, request$);\n return request$;\n }\n\n getPersonalInfoLanguages(baseUrl: string, forceRefresh = false): Observable<string[]> {\n if (!forceRefresh) {\n const cachedRequest$ = this.personalInformationCacheService.getLanguages(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: string[] }>(`${baseUrl}/hr/widgets/me/profile/personal-information/languages`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? (response as unknown as string[]) ?? []),\n shareReplay(1),\n catchError(error => {\n this.personalInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.personalInformationCacheService.setLanguages(baseUrl, request$);\n return request$;\n }\n\n getPersonalInfoOtherNationalities(baseUrl: string, forceRefresh = false): Observable<string[]> {\n if (!forceRefresh) {\n const cachedRequest$ = this.personalInformationCacheService.getOtherNationalities(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: string[] }>(`${baseUrl}/hr/widgets/me/profile/personal-information/other-nationalities`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? (response as unknown as string[]) ?? []),\n shareReplay(1),\n catchError(error => {\n this.personalInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.personalInformationCacheService.setOtherNationalities(baseUrl, request$);\n return request$;\n }\n\n getJobInformationMain(baseUrl: string, forceRefresh = false): Observable<JobInformationMain | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.jobInformationCacheService.getMainDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: JobInformationMain }>(`${baseUrl}/hr/widgets/me/profile/job-information/main`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.jobInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.jobInformationCacheService.setMainDetails(baseUrl, request$);\n return request$;\n }\n\n getJobInformationContract(baseUrl: string, forceRefresh = false): Observable<JobInformationContract | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.jobInformationCacheService.getContractDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: JobInformationContract }>(`${baseUrl}/hr/widgets/me/profile/job-information/contract`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.jobInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.jobInformationCacheService.setContractDetails(baseUrl, request$);\n return request$;\n }\n\n getJobInformationSalary(baseUrl: string, forceRefresh = false): Observable<JobInformationSalary | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.jobInformationCacheService.getSalaryDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: JobInformationSalary }>(`${baseUrl}/hr/widgets/me/profile/job-information/salary`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.jobInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.jobInformationCacheService.setSalaryDetails(baseUrl, request$);\n return request$;\n }\n\n getJobInformationServiceCharge(\n baseUrl: string,\n forceRefresh = false,\n ): Observable<JobInformationServiceCharge | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.jobInformationCacheService.getServiceChargeDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: JobInformationServiceCharge }>(\n `${baseUrl}/hr/widgets/me/profile/job-information/service-charge`,\n {\n headers: this.headers,\n },\n )\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.jobInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.jobInformationCacheService.setServiceChargeDetails(baseUrl, request$);\n return request$;\n }\n\n clearPersonalInformationCache(): void {\n this.personalInformationCacheService.clear();\n }\n\n clearJobInformationCache(): void {\n this.jobInformationCacheService.clear();\n }\n\n getVacationSummary(baseUrl: string): Observable<any> {\n const params = new HttpParams().set('ShowDirectSubordinatesOnly', 'false');\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/team/next-week-vacation-insights/summary`, {\n params,\n headers: this.headers,\n });\n }\n\n getEntitlementsVacations(baseUrl: string, forceRefresh = false): Observable<EntitlementsVacation[] | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getVacationDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: EntitlementsVacation[] | null }>(`${baseUrl}/hr/widgets/me/profile/entitlements/vacations`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setVacationDetails(baseUrl, request$);\n return request$;\n }\n\n getEntitlementsIndemnity(baseUrl: string, forceRefresh = false): Observable<EntitlementsIndemnity | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getIndemnityDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: EntitlementsIndemnity | null }>(`${baseUrl}/hr/widgets/me/profile/entitlements/indemnity`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setIndemnityDetails(baseUrl, request$);\n return request$;\n }\n\n getEntitlementsTicket(baseUrl: string, forceRefresh = false): Observable<EntitlementsTicket | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getTicketDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: EntitlementsTicket | null }>(`${baseUrl}/hr/widgets/me/profile/entitlements/ticket`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setTicketDetails(baseUrl, request$);\n return request$;\n }\n\n getEntitlementsMedicalInsurance(\n baseUrl: string,\n forceRefresh = false,\n ): Observable<EntitlementsMedicalInsurance | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getMedicalInsuranceDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: EntitlementsMedicalInsurance | null }>(\n `${baseUrl}/hr/widgets/me/profile/entitlements/medical-insurance`,\n {\n headers: this.headers,\n },\n )\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setMedicalInsuranceDetails(baseUrl, request$);\n return request$;\n }\n\n getEntitlementsOvertime(baseUrl: string, forceRefresh = false): Observable<any> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getOvertimeDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<any>(`${baseUrl}/hr/widgets/me/profile/entitlements/overtime`, {\n headers: this.headers,\n })\n .pipe(\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setOvertimeDetails(baseUrl, request$);\n return request$;\n }\n\n getEntitlementsSocialSecurity(baseUrl: string, forceRefresh = false): Observable<any> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getSocialSecurityDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<any>(`${baseUrl}/hr/widgets/me/profile/entitlements/social-security`, {\n headers: this.headers,\n })\n .pipe(\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setSocialSecurityDetails(baseUrl, request$);\n return request$;\n }\n\n getEmployeeDegrees(baseUrl: string, forceRefresh = false): Observable<Degree[]> {\n if (!forceRefresh) {\n const cachedRequest$ = this.qualificationsCacheService.getDegrees(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{\n ResponseData: Degree[];\n }>(`${baseUrl}/hr/widgets/me/profile/qualifications/degrees`, { headers: this.headers })\n .pipe(\n map(response => response?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.qualificationsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.qualificationsCacheService.setDegrees(baseUrl, request$);\n\n return request$;\n }\n\n getEmployeeDependents(baseUrl: string, forceRefresh = false): Observable<Dependent[]> {\n if (!forceRefresh) {\n const cachedRequest$ = this.profileEmployeeDependentsCachService.getDependents(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: Dependent[] }>(`${baseUrl}/hr/widgets/me/profile/dependents`, { headers: this.headers })\n .pipe(\n map(response => response?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.profileEmployeeDependentsCachService.clear();\n return throwError(() => error);\n }),\n );\n\n this.profileEmployeeDependentsCachService.setDependents(baseUrl, request$);\n\n return request$;\n }\n\n getEmployeeExperiences(baseUrl: string, forceRefresh = false): Observable<Experience[]> {\n if (!forceRefresh) {\n const cached = this.qualificationsCacheService.getExperiences(baseUrl);\n if (cached) return cached;\n }\n\n const request$ = this.http\n .get<{\n ResponseData: Experience[];\n }>(`${baseUrl}/hr/widgets/me/profile/qualifications/experiences`, { headers: this.headers })\n .pipe(\n map(res => res?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.qualificationsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.qualificationsCacheService.setExperiences(baseUrl, request$);\n\n return request$;\n }\n\n getDependentDocuments(baseUrl: string, forceRefresh = false): Observable<DependentDocumentGroup[]> {\n if (!forceRefresh) {\n const cached$ = this.profileDocumentsCacheService.getDependentDocuments(baseUrl);\n if (cached$) return cached$;\n }\n\n const request$ = this.http\n .get<{\n ResponseData: DependentDocumentGroup[];\n }>(`${baseUrl}/hr/widgets/me/profile/documents/dependents`, { headers: this.headers })\n .pipe(\n map(res => res?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.profileDocumentsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.profileDocumentsCacheService.setDependentDocuments(baseUrl, request$);\n\n return request$;\n }\n\n getPersonalDocuments(baseUrl: string, forceRefresh = false): Observable<DocumentRow[]> {\n if (!forceRefresh) {\n const cached$ = this.profileDocumentsCacheService.getPersonalDocuments(baseUrl);\n if (cached$) return cached$;\n }\n\n const request$ = this.http\n .get<{\n ResponseData: DocumentRow[];\n }>(`${baseUrl}/hr/widgets/me/profile/documents/personal`, { headers: this.headers })\n .pipe(\n map(res => res?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.profileDocumentsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.profileDocumentsCacheService.setPersonalDocuments(baseUrl, request$);\n return request$;\n }\n}\n","export type MyMainDetailsWidgetDetails = {\n EmployeeNumber: string;\n EmployeeName: string;\n EmployeeNameInitials: string;\n PositionName: string;\n GradeName: string | null;\n PhotoPath: string | null;\n ReportingTo: string | null;\n ServiceYears: string;\n VacationBalances: VacationBalance[];\n AttendanceUrl: string | null;\n VacationStatementUrl: string | null;\n};\n\nexport type VacationBalance = {\n VacationTypeName: string;\n VacationTypeColor: string;\n CurrentBalance: number | null;\n};\n\nexport enum MainWidgetShortcut {\n Profile,\n PaySlip,\n Attendance,\n VacationStatement,\n Loans,\n}\n\nexport enum EventOption {\n Birthday = 1,\n PublicHoliday = 2,\n All = 3,\n}\n\nexport enum RelativeDay {\n Today = 0,\n Tomorrow = 1,\n TwoDays = 2,\n}\n\nexport enum PublicHolidayWeekContext {\n ThisWeek = 0,\n NextWeek = 1,\n}\n\nexport type Birthday = {\n EmployeePropertySymbol: string;\n EmployeePropertyName: string;\n EmployeeShortName: string;\n Birthdate: Date;\n RelativeDay: RelativeDay;\n};\n\nexport type PublicHoliday = {\n StartDate: Date;\n EndDate: Date;\n Description: string;\n WeekContext: PublicHolidayWeekContext;\n};\n\nexport type UpcomingEventsV2 = {\n Birthdays: Birthday[];\n PublicHolidays: PublicHoliday[];\n IsWeekendConfigured: boolean;\n};\n\nexport enum EventTypeEnum {\n Birthdays = 1,\n PublicHolidays = 2,\n}\n\nexport type FilteredUpcomingEvent = {\n EventDate: Date;\n Name: string;\n EventType: EventTypeEnum;\n Description: string;\n StartDate?: Date;\n EndDate?: Date;\n IsIn2Days?: boolean;\n PropertyName?: string;\n PropertySymbol?: string;\n};\n\n// Calendar types\n\nexport type DatePeriod = {\n StartDate: Date;\n EndDate: Date;\n};\n\nexport type CalendarResponse = {\n OffDays: Date[];\n PublicHolidays: { Description: string; StartDate: Date; EndDate: Date }[];\n Vacations: { VacationTypeName: string; Color: string; StartDate: Date; EndDate: Date }[];\n Events: { Description: string; StartDate: Date; EndDate: Date }[];\n};\n\nexport type ScheduleCalenderVacation = {\n Color: string | null;\n VacationType: ScheduleVacationTypes;\n Description: string;\n VacationDays: DatePeriod;\n};\n\nexport enum ScheduleVacationTypes {\n DaysOff = 1,\n PublicHoliday = 2,\n Vacations = 3,\n AddedVacations = 4,\n Events = 5,\n}\n\nexport type PersonalInfoMainDetails = {\n EmployeeName: string | null;\n EmployeeNameAlternate: string | null;\n NationalityName: string | null;\n NationalNumber: string | null;\n SocialSecurityNumber: string | null;\n MaritalStateName: string | null;\n BirthDate: string | Date | null;\n BirthPlace: string | null;\n BloodTypeCode: string | null;\n ReligionName: string | null;\n MinistryOfLaborNumber: string | null;\n};\n\nexport type PersonalInfoContactEmergencyContact = {\n Name: string | null;\n Relation: string | null;\n PhoneNumber: string | null;\n};\n\nexport type PersonalInfoContactDetails = {\n MobileNumber: string | null;\n HomePhone: string | null;\n BusinessEmail: string | null;\n Email: string | null;\n EmergencyContactLegacy: string | null;\n EmergencyContact: PersonalInfoContactEmergencyContact | null;\n};\n\nexport type PersonalInfoAddressDetails = {\n Address: string | null;\n City: string | null;\n POBox: string | null;\n PostalCode: string | null;\n};\n\nexport type MyBankInfo = {\n IsMainBank: boolean;\n BankName: string | null;\n BranchName: string | null;\n IBAN: string | null;\n AccountNumber: string | null;\n Beneficiary: string | null;\n TransferAmount: number | null;\n};\n\nexport type JobInformationMain = {\n AdminUnitName: string | null;\n PositionName: string | null;\n GradeName: string | null;\n JoiningDate: Date | null;\n CorporateJoiningDate: Date | null;\n SponsorName: string | null;\n};\n\nexport type JobInformationContract = {\n ContractTypeName: string | null;\n ContractStartDate: Date | null;\n ContractEndDate: Date | null;\n ContractMaritalStateName: string | null;\n ContractDependentsCount: number | null;\n};\n\nexport type JobInformationSalary = {\n GrossSalary: number | null;\n BasicSalary: number | null;\n CurrentBasicSalary?: number | null;\n Allowances: Allowances[] | null;\n};\nexport type Allowances = {\n AllowanceName: string | null;\n AllowanceAmount: number | null;\n};\n\nexport enum ServiceChargeEntitlementMode {\n Points = 1,\n SalaryRatio = 2,\n FixedAmount = 3,\n FixedRate = 4,\n}\n\nexport type JobInformationServiceCharge = {\n ServiceChargeEntitlementMode: ServiceChargeEntitlementMode;\n ServiceChargeValue: number | null;\n};\n\nexport enum VacationPopupType {\n Upcoming = 1,\n ExpectedToReturn = 2,\n}\nexport type ScheduleRequestsResponse = {\n PendingVacationRequests: { VacationTypeName: string; Color: string; StartDate: Date; EndDate: Date }[];\n PendingEventRequests: { Description: string; StartDate: Date; EndDate: Date }[];\n};\n\nexport type EntitlementsVacation = {\n VacationTypeName: string | null;\n EntitlementDays: number | null;\n};\n\nexport type EntitlementsIndemnity = {\n IsEligibleForIndemnity: boolean | null;\n IndemnityServiceYears: number | null;\n IndemnityStartDate: string | Date | null;\n IndemnitySalary: number | null;\n};\n\nexport type EmployeeTicketDetails = {\n EmployeeFirstName: string | null;\n TicketSectorName: string | null;\n TicketClassName: string | null;\n MonthsPerTicketEntitlement: number | null;\n};\n\nexport type DependentTicketDetails = {\n DependentName: string | null;\n DependentTypeName: string | null;\n MonthsPerTicketEntitlement: number | null;\n};\n\nexport type EntitlementsTicket = {\n EmployeeTicketDetails: EmployeeTicketDetails | null;\n DependentTicketDetails: DependentTicketDetails[] | null;\n};\n\nexport type EmployeeMedicalInsurance = {\n EmployeeFirstName: string | null;\n MedicalInsuranceClassName: string | null;\n MedicalInsuranceNumber: string | null;\n CoverageDate: Date | null;\n};\n\nexport type DependentsMedicalInsurance = {\n DependentName: string | null;\n DependentTypeName: string | null;\n MedicalInsuranceClassName: string | null;\n MedicalInsuranceNumber: string | null;\n CoverageDate: Date | null;\n};\n\nexport type EntitlementsMedicalInsurance = {\n EmployeeMedicalInsurance: EmployeeMedicalInsurance | null;\n DependentsMedicalInsurance: DependentsMedicalInsurance[] | null;\n TotalEmployeeShare: number | null;\n TotalEmployerShare: number | null;\n};\n\nexport type Degree = {\n DegreeName: string;\n DegreeYear: string;\n CountryName: string;\n Specialty: string | null;\n Institute: string | null;\n Document: DocumentModel | null;\n};\n\nexport type Experience = {\n StartDate: string | Date;\n EndDate: string | Date;\n Employer: string;\n Position: string;\n TerminationReason: string;\n Document: DocumentModel | null;\n};\n\nexport type DocumentModel = {\n Key: string;\n ContentType: string;\n};\n\nexport type Dependent = {\n DependentName: string;\n DependentTypeName: string;\n BirthDate: string | Date;\n NationalNumber: string | null;\n};\n\nexport interface DependentDocumentsResponse {\n ResponseData: DependentDocumentGroup[];\n ApiVersion: string;\n}\n\nexport interface DependentDocumentGroup {\n DependentName: string;\n DependentTypeName: string;\n Documents: DocumentRow[];\n}\n\nexport interface DocumentRow {\n DocumentTypeName: string;\n DocumentNumber: string;\n IssueDate: string;\n ExpiryDate: string;\n Attachments: Attachment[];\n}\n\nexport interface Attachment {\n Key: string;\n ContentType: string;\n}\n\nexport interface PersonalDocument {\n DocumentTypeName: string;\n DocumentNumber: string;\n IssueDate: string;\n ExpiryDate: string;\n Attachments: Attachment[];\n}\n\nexport type SubordinateDTO = {\n EmployeeNumber: string;\n EmployeeName: string;\n EmployeeNameInitials: string;\n PositionName: string;\n GradeName: string;\n PhotoPath: string;\n PropertyName?: string;\n PropertySymbol?: string;\n AdminUnitName?: string;\n MobileNumber?: string;\n PersonalEmail?: string;\n BusinessEmail?: string;\n};\n\nexport type SubordinatesPaginationDTO = {\n PageIndex: number;\n PageSize: number;\n TotalPages: number;\n TotalCount: number;\n};\n\nexport type SubordinatesApiResponse = {\n Data: SubordinateDTO[];\n Pagination: SubordinatesPaginationDTO;\n};\n\nexport type EmployeeMainInfo = {\n EmployeeNumber: string;\n EmployeeName: string;\n PhotoKey: string;\n PositionName: string;\n AdminUnitName: string;\n GradeName: string | null;\n PropertyName: string;\n PropertySymbol: string;\n EmployeeNameInitials: string;\n};\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HRConstantsService {\n defaultVacationBalanceColor: string = '#727070';\n defaultVacationColor: string = '#DCDCDC';\n defaultPublicHolidayColor: string = '#249EA0';\n defaultDayOffColor: string = '#FCCF5A';\n defaultEventsColor: string = '#e67e0f';\n}\n","import { Injectable } from '@angular/core';\nimport en from '../../../assets/i18n/en.json';\nimport ar from '../../../assets/i18n/ar.json';\nimport fr from '../../../assets/i18n/fr.json';\n\nconst BUILT_IN_LEXICONS: Record<string, Record<string, string>> = { en, ar, fr };\n\n@Injectable({ providedIn: 'root' })\nexport class HRTranslateService {\n private currentLanguage: string = 'en';\n private lexicon: Record<string, string> = {};\n\n setLanguage(language: string): void {\n this.currentLanguage = language;\n }\n\n getLanguage(): string {\n return this.currentLanguage;\n }\n\n setLexicon(lexicon: Record<string, string>): void {\n this.lexicon = lexicon;\n }\n\n getLexicon(): Record<string, string> {\n return this.lexicon;\n }\n\n translateBuiltIn(key: string): string {\n if (!key) return '';\n const builtIn = BUILT_IN_LEXICONS[this.currentLanguage] || {};\n const foundKey = Object.keys(builtIn).find(k => k.toLowerCase() === key.toLowerCase());\n return foundKey ? builtIn[foundKey] : key;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { HRTranslateService } from '../services/translate.service';\n\n@Pipe({\n name: 'translate',\n standalone: true,\n})\nexport class HRTranslatePipe implements PipeTransform {\n constructor(private readonly payrollTranslateService: HRTranslateService) {}\n\n transform(key?: string): string {\n if (!key) return '';\n\n key = this.payrollTranslateService.translateBuiltIn(key);\n\n const lexicon = this.payrollTranslateService.getLexicon();\n let foundKey = Object.keys(lexicon).find(k => k.toLowerCase() === key!.toLowerCase());\n if (foundKey) return lexicon[foundKey];\n\n const arrKey = key.split(' ');\n let keyValue = '';\n for (let i = 0; i < arrKey.length; i++) {\n if (i !== 0) keyValue += ' ';\n foundKey = Object.keys(lexicon).find(k => k.toLowerCase() === arrKey[i].toLowerCase());\n if (foundKey) {\n keyValue += lexicon[foundKey];\n } else {\n keyValue += arrKey[i];\n }\n }\n\n return keyValue;\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit, computed, inject, input, output, signal } from '@angular/core';\nimport { DxTooltipModule } from 'devextreme-angular';\nimport { DecimalPipe, NgClass } from '@angular/common';\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\nimport { SkyShortcutIconComponent, ShortcutIconDTO } from '@skysoftware-co/sky-components-ui';\nimport { MyMainDetailsWidgetDetails, MainWidgetShortcut } from '../shared/types/common';\nimport { HRConstantsService } from '../shared/services/constants.service';\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\n\n@Component({\n selector: 'hr-my-main-details-widget',\n standalone: true,\n imports: [\n DxTooltipModule,\n NgClass,\n FontAwesomeModule,\n DecimalPipe,\n BayanEmployeeBadgeComponent,\n SkyShortcutIconComponent,\n HRTranslatePipe,\n ],\n providers: [HRTranslatePipe],\n templateUrl: './my-main-details-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyMainDetailsWidgetComponent implements OnInit {\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n private readonly constants = inject(HRConstantsService);\n private readonly translatePipe = inject(HRTranslatePipe);\n\n readonly employeeMainInfo = signal<MyMainDetailsWidgetDetails | null>(null);\n\n readonly onShortcutClicked = output<ShortcutIconDTO>();\n readonly isLoadingChanged = output<boolean>();\n\n readonly badgeClass = input<string>('badge employee-rounded-badge-xl fs-5');\n readonly badgeImageClass = input<string>('rounded-circle shadow-lg');\n readonly badgeWidth = input<string>('50px');\n readonly badgeHeight = input<string>('50px');\n readonly employeeInfoContainerClass = input<string>('d-flex align-content-center');\n readonly employeeDetailsClass = input<string>('ms-3');\n readonly employeeNameContainerClass = input<string>('d-flex align-items-center');\n readonly employeeNameClass = input<string>('fs-14 text-dark-gray fw-medium text-ellipsis-one-line');\n readonly employeePositionClass = input<string>('fs-12 fw-normal text-dark-gray text-ellipsis-one-line mb-1');\n readonly employeeGradeClass = input<string>('fs-12 text-dark-gray');\n\n readonly containerClass = input<string>('card rounded rounded-4 card-shadow p-16 border-top-0 mb-4');\n readonly cardBodyClass = input<string>('card-body p-4');\n readonly headerRowClass = input<string>('d-md-flex justify-content-between align-items-center mt-2 mb-3');\n\n readonly shortcutsContainerClass = input<string>(\n 'd-flex justify-content-md-end justify-content-sm-start fs-12 fw-normal text-secondary mt-3 mt-md-0',\n );\n readonly shortcutItemClass = input<string>('d-flex flex-column align-items-center mx-2 wp-60');\n readonly shortcutIconContainerClass = input<string>(\n 'd-flex justify-content-center align-items-center rounded-circle-40 cursor-pointer',\n );\n readonly shortcutIconClass = input<string>('fs-4');\n readonly shortcutTextClass = input<string>('text-center mt-1');\n\n readonly detailsRowClass = input<string>('d-flex mt-4');\n\n readonly reportingBlockClass = input<string>('d-flex text-secondary align-items-center mb-2 mx-2');\n readonly captionLabelClasses = input<string>('d-flex flex-column align-self-start fs-14 text-dark-gray');\n readonly captionLabelValueClass = input<string>('fw-medium mt-2');\n\n readonly vacationBalancesContainerClass = input<string>('d-flex text-secondary align-items-center mb-2');\n readonly vacationBalanceItemClass = input<string>('d-flex flex-column me-4');\n readonly vacationBalanceHeaderClass = input<string>('d-flex align-items-center');\n readonly vacationColorDotClass = input<string>('vacation-color-container-sm');\n readonly vacationTypeNameClass = input<string>('mx-2 fs-14 fw-normal text-dark-gray');\n readonly vacationBalanceValueRowClass = input<string>('d-flex mt-2');\n readonly vacationBalanceValueClass = input<string>('mx-2 fw-medium fs-14 text-dark-gray');\n\n readonly tooltipTriggerLinkClass = input<string>('d-flex align-items-center cursor-pointer');\n readonly tooltipTriggerTextClass = input<string>('mx-2 fs-14 text-dark-gray');\n\n readonly tooltipVacationRowClass = input<string>('d-flex align-items-center justify-content-around fs-12 mb-2');\n readonly tooltipVacationNameContainerClass = input<string>('d-flex flex-grow-1 align-items-center me-5');\n readonly tooltipVacationNameClass = input<string>('mx-2');\n\n readonly defaultVacationBalanceColor = input<string>(this.constants.defaultVacationBalanceColor);\n\n readonly defaultVacationColor = input<string>(this.constants.defaultVacationColor);\n\n readonly baseUrl = input<string>('');\n\n readonly employeeBadge = signal<BayanEmployeeBadgeDTO>({\n EmployeePhotoKey: null,\n EmployeePhotoFailed: false,\n EmployeeNameInitials: '',\n });\n\n readonly isMobile = input<boolean>(false);\n readonly isTablet = input<boolean>(false);\n readonly shortcuts = input<ShortcutIconDTO[]>([]);\n\n readonly shortcutsWithUrls = computed<ShortcutIconDTO[]>(() => {\n const employeeMainInfo = this.employeeMainInfo();\n return this.shortcuts().map(item => {\n const translated: ShortcutIconDTO = {\n ...item,\n title: this.translatePipe.transform(item.title),\n };\n\n if (translated.shortcutId === MainWidgetShortcut.Attendance && employeeMainInfo?.AttendanceUrl != null) {\n return { ...translated, navigateUrl: [employeeMainInfo.AttendanceUrl] };\n }\n\n if (\n translated.shortcutId === MainWidgetShortcut.VacationStatement &&\n employeeMainInfo?.VacationStatementUrl != null\n ) {\n return { ...translated, navigateUrl: [employeeMainInfo.VacationStatementUrl] };\n }\n\n return translated;\n });\n });\n\n ngOnInit(): void {\n this.loadEmployeeMainInfo();\n }\n\n loadEmployeeMainInfo() {\n this.isLoadingChanged.emit(true);\n\n this.getEmployeeMainDetails().subscribe({\n next: (data: any) => {\n const responses = data.ResponseData;\n const vacationBalances = responses.VacationBalances.map((v: any) => ({\n ...v,\n VacationTypeColor: v.VacationTypeColor ?? this.defaultVacationColor(),\n }));\n\n const employeeMainInfo: MyMainDetailsWidgetDetails = {\n EmployeeNumber: responses.EmployeeNumber,\n EmployeeName: responses.EmployeeName,\n EmployeeNameInitials: responses.EmployeeNameInitials,\n PositionName: responses.PositionName,\n GradeName: responses.GradeName,\n PhotoPath: responses.PhotoPath,\n ReportingTo: responses.ReportingToEmployeeName,\n ServiceYears: `${responses.ServicePeriod.Years} ${this.translatePipe.transform('Years')} ${responses.ServicePeriod.Months} ${this.translatePipe.transform('Months')}`,\n VacationBalances: vacationBalances,\n AttendanceUrl: responses.AttendanceReportUrl,\n VacationStatementUrl: responses.VacationStatementReportUrl,\n };\n this.employeeMainInfo.set(employeeMainInfo);\n\n this.employeeBadge.set({\n EmployeePhotoKey: employeeMainInfo.PhotoPath || null,\n EmployeeNameInitials: employeeMainInfo.EmployeeNameInitials || '',\n EmployeePhotoFailed: false,\n });\n\n this.isLoadingChanged.emit(false);\n },\n error: (error: any) => {\n this.isLoadingChanged.emit(false);\n if (error.status == 401) return;\n },\n });\n }\n\n shortcutClicked(icon: ShortcutIconDTO) {\n this.onShortcutClicked.emit(icon);\n }\n\n handleEmployeePhotoError() {\n this.employeeBadge.update(badge => ({ ...badge, EmployeePhotoFailed: true }));\n }\n\n getEmployeeMainDetails() {\n return this.selfWidgetsService.getMainDetails(this.baseUrl());\n }\n}\n","<div [class]=\"containerClass()\">\n <div [class]=\"cardBodyClass()\">\n <div [class]=\"headerRowClass()\">\n <div>\n @if (employeeMainInfo() != null) {\n <div [class]=\"employeeInfoContainerClass()\">\n <bayan-employee-badge\n [badge]=\"employeeBadge()\"\n [badgeClass]=\"badgeClass()\"\n [imageClass]=\"badgeImageClass()\"\n [width]=\"badgeWidth()\"\n [height]=\"badgeHeight()\"\n (employeePhotoError)=\"handleEmployeePhotoError()\"\n ></bayan-employee-badge>\n\n <div [class]=\"employeeDetailsClass()\">\n <div [class]=\"employeeNameContainerClass()\">\n <div\n [class]=\"employeeNameClass()\"\n data-bs-toggle=\"tooltip\"\n [title]=\"employeeMainInfo()!.EmployeeNumber + ' | ' + employeeMainInfo()!.EmployeeName\"\n >\n {{ employeeMainInfo()!.EmployeeNumber + ' | ' + employeeMainInfo()!.EmployeeName }}\n </div>\n </div>\n @if (employeeMainInfo()!.PositionName != null && employeeMainInfo()!.PositionName != '') {\n <div [class]=\"employeePositionClass()\" data-bs-toggle=\"tooltip\" [title]=\"employeeMainInfo()!.PositionName\">\n {{ employeeMainInfo()!.PositionName }}\n </div>\n }\n @if (employeeMainInfo()!.GradeName != null) {\n <div [class]=\"employeeGradeClass()\" [title]=\"employeeMainInfo()!.GradeName\">\n {{ employeeMainInfo()!.GradeName }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n <div [class]=\"shortcutsContainerClass()\">\n @for (Icon of shortcutsWithUrls(); track Icon; let i = $index) {\n <sky-shortcut-icon\n [shortcut]=\"Icon\"\n [itemClass]=\"shortcutItemClass()\"\n [iconContainerClass]=\"shortcutIconContainerClass()\"\n [iconClass]=\"shortcutIconClass()\"\n [textClass]=\"shortcutTextClass()\"\n (onClicked)=\"shortcutClicked($event)\"\n ></sky-shortcut-icon>\n }\n </div>\n </div>\n <div [class]=\"detailsRowClass()\" [ngClass]=\"{ 'flex-wrap': isMobile() || isTablet() }\">\n <div [class]=\"reportingBlockClass()\" [ngClass]=\"{ 'mb-3': isMobile() }\">\n <div [class]=\"captionLabelClasses() + ' me-5'\">\n <div>\n {{ 'ReportingTo' | translate }}\n </div>\n <div [class]=\"captionLabelValueClass()\">\n @if (employeeMainInfo()?.ReportingTo) {\n {{ employeeMainInfo()?.ReportingTo }}\n } @else {\n {{ 'NotAnknown' | translate }}\n }\n </div>\n </div>\n <div [class]=\"captionLabelClasses()\" [ngClass]=\"{ 'border-end border-1 pe-4': !isMobile() }\">\n <div>\n {{ 'ServiceYears' | translate }}\n </div>\n <div [class]=\"captionLabelValueClass()\">\n {{ employeeMainInfo()?.ServiceYears }}\n </div>\n </div>\n </div>\n\n <div class=\"flex-grow-1\" [ngClass]=\"{ ' ms-4': !isMobile() && !isTablet(), 'w-100': isTablet() }\">\n <div [class]=\"vacationBalancesContainerClass()\" [ngClass]=\"{ 'flex-wrap': isMobile(), 'w-100': isTablet() }\">\n @for (vacationBalance of employeeMainInfo()?.VacationBalances; track vacationBalance; let i = $index) {\n @if (i <= 2 || employeeMainInfo()?.VacationBalances?.length == 4) {\n <div [class]=\"vacationBalanceItemClass()\" [ngClass]=\"{ 'mb-2 w-40': isMobile() }\">\n <div [class]=\"vacationBalanceHeaderClass()\">\n <div [class]=\"vacationColorDotClass()\">\n <div\n class=\"rounded rounded-circle\"\n style=\"height: 11px; width: 11px\"\n [style.background-color]=\"vacationBalance.VacationTypeColor\"\n ></div>\n </div>\n <div [class]=\"vacationTypeNameClass()\">\n {{ vacationBalance.VacationTypeName }}\n </div>\n </div>\n <div [class]=\"vacationBalanceValueRowClass()\">\n <div [class]=\"vacationColorDotClass()\">\n <div class=\"rounded rounded-circle invisible\" style=\"height: 11px; width: 11px\"></div>\n </div>\n <div [class]=\"vacationBalanceValueClass()\">\n {{ vacationBalance.CurrentBalance | number: '1.2-2' }}\n {{ (vacationBalance.CurrentBalance! == 1 ? 'day' : 'days') | translate }}\n </div>\n </div>\n </div>\n }\n }\n\n @if (employeeMainInfo()?.VacationBalances && employeeMainInfo()!.VacationBalances!.length > 4) {\n <div [class]=\"vacationBalanceItemClass()\">\n <div [class]=\"tooltipTriggerLinkClass()\" id=\"otherVacationBalances\">\n <div [class]=\"vacationColorDotClass()\">\n <div\n class=\"rounded rounded-circle\"\n style=\"height: 11px; width: 11px\"\n [style.background-color]=\"defaultVacationBalanceColor()\"\n ></div>\n </div>\n <div [class]=\"tooltipTriggerTextClass()\">\n +{{ employeeMainInfo()!.VacationBalances!.length - 3 }} {{ 'More' | translate }}\n </div>\n </div>\n <div [class]=\"vacationBalanceValueRowClass()\" style=\"visibility: hidden\">\n <div [class]=\"vacationColorDotClass()\">\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px\"></div>\n </div>\n <div class=\"mx-1 fw-medium fs-14 text-dark-gray\">{{ 'More' | translate }}</div>\n </div>\n <dx-tooltip [target]=\"'#otherVacationBalances'\" [showEvent]=\"'mouseenter'\" [hideEvent]=\"'mouseleave'\">\n @for (vacationBalance of employeeMainInfo()!.VacationBalances!; track vacationBalance; let i = $index) {\n @if (i > 2) {\n <div [class]=\"tooltipVacationRowClass()\">\n <div [class]=\"tooltipVacationNameContainerClass()\">\n <div [class]=\"vacationColorDotClass()\">\n <div\n class=\"rounded rounded-circle\"\n style=\"height: 11px; width: 11px\"\n [style.background-color]=\"vacationBalance.VacationTypeColor\"\n ></div>\n </div>\n <div [class]=\"tooltipVacationNameClass()\">\n {{ vacationBalance.VacationTypeName }}\n </div>\n </div>\n <div>\n {{ vacationBalance.CurrentBalance | number: '1.2-2' }}\n {{ (vacationBalance.CurrentBalance! == 1 ? 'day' : 'days') | translate }}\n </div>\n </div>\n }\n }\n </dx-tooltip>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\n\n@Component({\n selector: 'hr-card-header',\n standalone: true,\n imports: [FontAwesomeModule],\n templateUrl: './card-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HRCardHeaderComponent {\n readonly icon = input.required<IconDefinition>();\n readonly title = input.required<string>();\n readonly containerClass = input<string>('d-flex align-items-center mb-2');\n readonly iconClass = input<string>('fs-6 text-primary pe-2');\n readonly titleClass = input<string>('text-center table-header-lg fw-medium');\n}\n","<div [class]=\"containerClass()\">\n <fa-icon [icon]=\"icon()\" [class]=\"iconClass()\"></fa-icon>\n <span [class]=\"titleClass()\">{{ title() }}</span>\n</div>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faCakeCandles, faTreePalm } from '@fortawesome/pro-light-svg-icons';\nimport { DatePipe, LowerCasePipe } from '@angular/common';\nimport { EventTypeEnum, FilteredUpcomingEvent } from '../../../shared/types/common';\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\n\n@Component({\n selector: 'hr-event-item',\n standalone: true,\n imports: [FontAwesomeModule, DatePipe, LowerCasePipe, HRTranslatePipe],\n templateUrl: './event-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HREventItemComponent {\n readonly events = input<FilteredUpcomingEvent[]>([]);\n readonly showDates = input<boolean>(false);\n readonly showProperty = input<boolean>(true);\n readonly selectedLanguage = input<string>('en');\n readonly selectedEventType = input<EventTypeEnum | null>(null);\n readonly weekendWarningDescription = input<string | null>(null);\n readonly eventIconClass = input<string>('fs-6 text-primary pe-2');\n readonly eventNameBoldClass = input<string>('fw-medium');\n readonly eventDescriptionClass = input<string>('text-primary fw-medium');\n readonly propertyBadgeClass = input<string>('property-badge cursor-pointer me-1');\n readonly noEventsTextClass = input<string>('text-center my-4 text-light-gray');\n readonly warningTextClass = input<string>('text-center my-2 text-light-gray');\n readonly dateFormat = input<string>('dd/MM/yyyy');\n\n eventTypeEnum = EventTypeEnum;\n cakeCandles = faCakeCandles;\n treePalm = faTreePalm;\n\n readonly isArabic = computed(() => this.selectedLanguage() === 'ar');\n\n isBirthday(event: FilteredUpcomingEvent): boolean {\n return event.EventType === EventTypeEnum.Birthdays;\n }\n hasPropertyBadge(event: FilteredUpcomingEvent): boolean {\n return this.showProperty() && !!event.PropertySymbol;\n }\n}\n","@if (events().length > 0) {\n <div>\n @for (event of events(); track event) {\n <div [class]=\"'d-flex lh-base ' + (showDates() ? 'my-3' : 'my-1')\">\n <fa-icon\n [icon]=\"isBirthday(event) ? cakeCandles : treePalm\"\n [class]=\"eventIconClass()\"\n [title]=\"isBirthday(event) ? ('Birthday' | translate) : ('PublicHoliday' | translate)\"\n ></fa-icon>\n\n <div>\n @if (isBirthday(event)) {\n @if (hasPropertyBadge(event)) {\n <span [class]=\"propertyBadgeClass()\" [title]=\"event.PropertyName!\">{{ event.PropertySymbol }}</span>\n }\n @if (isArabic()) {\n <span>{{ 'Birthday' | translate }}</span>\n <span [class]=\"eventNameBoldClass()\">{{ ' ' + event.Name + ' ' }}</span>\n @if (event.IsIn2Days) {\n <span>{{ 'During' | translate }}</span>\n }\n } @else {\n <span [class]=\"eventNameBoldClass()\">{{ event.Name }}'s</span>\n <span>\n {{ ('Birthday' | translate) + ' ' + ((event.IsIn2Days ? ('isIn' | translate) : ('is' | translate)) | lowercase) }}\n </span>\n }\n } @else {\n @if (isArabic()) {\n <span [class]=\"eventNameBoldClass()\">{{ event.Name }}</span>\n <span>{{ ('In' | translate) + ' ' }}</span>\n } @else {\n <span [class]=\"eventNameBoldClass()\">{{ event.Name }}</span>\n <span>{{ ' ' + ('is' | translate | lowercase) }}</span>\n }\n }\n\n <span [class]=\"eventDescriptionClass()\">{{ event.Description | translate }}</span>\n\n @if (!isBirthday(event) && showDates() && event.StartDate && event.EndDate) {\n <span>{{ ' (' + (event.StartDate | date: dateFormat()) + ' - ' + (event.EndDate | date: dateFormat()) + ')' }}</span>\n }\n </div>\n </div>\n }\n </div>\n} @else {\n @if (weekendWarningDescription()) {\n <div [class]=\"warningTextClass() + (showDates() ? ' pt-5 my-5' : '')\">{{ weekendWarningDescription() ?? undefined | translate }}</div>\n } @else {\n <div [class]=\"noEventsTextClass() + (showDates() ? ' pt-5 my-5' : '')\">{{ 'NoEvents' | translate }}</div>\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, input, output } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { NgClass } from '@angular/common';\nimport { EventTypeEnum } from '../../../shared/types/common';\nimport { faCakeCandles, faTreePalm } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\n\n@Component({\n selector: 'hr-event-tab-bar',\n standalone: true,\n imports: [FontAwesomeModule, NgClass],\n providers: [HRTranslatePipe],\n templateUrl: './event-tab-bar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HREventTabBarComponent {\n readonly selectedType = input<EventTypeEnum | null>(null);\n readonly selectedLanguage = input<string>('en');\n readonly tabSelectedClass = input<string>('selected-event-option');\n readonly tabNotSelectedClass = input<string>('not-selected-event-option');\n readonly tabTextSelectedClass = input<string>('text-white');\n readonly tabTextNotSelectedClass = input<string>('text-primary');\n readonly containerClass = input<string>('d-flex gap-2 mb-3');\n readonly tabItemClass = input<string>(\n 'col-1 align-items-center rounded rounded-3 cursor-pointer text-center d-flex justify-content-center py-2 px-3',\n );\n readonly tabTextClass = input<string>('fs-16');\n readonly tabIconClass = input<string>('fs-6');\n readonly tabSelected = output<EventTypeEnum | null>();\n\n private readonly translatePipe = inject(HRTranslatePipe);\n\n tabList = [\n { id: null, icon: null },\n { id: EventTypeEnum.Birthdays, icon: faCakeCandles },\n { id: EventTypeEnum.PublicHolidays, icon: faTreePalm },\n ];\n\n getTabText(tab: { id: EventTypeEnum | null }): string {\n if (tab.id === null) return this.translatePipe.transform('All');\n if (tab.id === EventTypeEnum.Birthdays) return this.translatePipe.transform('Birthday');\n return this.translatePipe.transform('PublicHoliday');\n }\n}\n","<div [class]=\"containerClass()\">\n @for (tab of tabList; track tab) {\n <div\n [class]=\"tabItemClass() + ' ' + (selectedType() == tab.id ? tabSelectedClass() : tabNotSelectedClass())\"\n [ngClass]=\"{ 'w-25': selectedLanguage() == 'fr' && !tab?.icon }\"\n (click)=\"tabSelected.emit(tab.id)\"\n >\n @if (!tab?.icon) {\n <span [class]=\"tabTextClass() + ' ' + (selectedType() == tab.id ? tabTextSelectedClass() : tabTextNotSelectedClass())\">\n {{ getTabText(tab) }}\n </span>\n } @else {\n <fa-icon\n [icon]=\"tab.icon!\"\n [class]=\"tabIconClass() + ' ' + (selectedType() == tab.id ? tabTextSelectedClass() : tabTextNotSelectedClass())\"\n [title]=\"getTabText(tab)\"\n ></fa-icon>\n }\n </div>\n }\n</div>\n","import { ChangeDetectionStrategy, Component, effect, input, output, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DxLoadPanelModule, DxPopupModule, DxScrollViewModule } from 'devextreme-angular';\nimport { EventTypeEnum, FilteredUpcomingEvent } from '../../../shared/types/common';\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\nimport { HREventItemComponent } from '../event-item/event-item.component';\nimport { HREventTabBarComponent } from '../event-tab-bar/event-tab-bar.component';\n\n@Component({\n selector: 'hr-upcoming-events-popup',\n standalone: true,\n imports: [\n CommonModule,\n DxPopupModule,\n DxScrollViewModule,\n DxLoadPanelModule,\n HREventItemComponent,\n HREventTabBarComponent,\n HRTranslatePipe,\n ],\n templateUrl: './events-popup.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HREventsPopupComponent {\n readonly visible = input<boolean>(false);\n readonly events = input<FilteredUpcomingEvent[]>([]);\n readonly hasBirthdays = input<boolean>(false);\n readonly hasHolidays = input<boolean>(false);\n readonly isLoading = input<boolean>(false);\n readonly selectedLanguage = input<string>('en');\n readonly showProperty = input<boolean>(true);\n readonly weekendWarningDescription = input<string | null>(null);\n readonly popupTitle = input<string>('');\n readonly selectedEventType = input<EventTypeEnum | null>(null);\n readonly tabSelectedClass = input<string>('selected-event-option');\n readonly tabNotSelectedClass = input<string>('not-selected-event-option');\n readonly tabTextSelectedClass = input<string>('text-white');\n readonly tabTextNotSelectedClass = input<string>('text-primary');\n readonly tabContainerClass = input<string>('d-flex gap-2 mb-3');\n readonly tabItemClass = input<string>(\n 'col-1 align-items-center rounded rounded-3 cursor-pointer text-center d-flex justify-content-center py-2 px-3',\n );\n readonly tabTextClass = input<string>('fs-16');\n readonly tabIconClass = input<string>('fs-6');\n readonly eventIconClass = input<string>('fs-6 text-primary pe-2');\n readonly eventNameBoldClass = input<string>('fw-medium');\n readonly eventDescriptionClass = input<string>('text-primary fw-medium');\n readonly propertyBadgeClass = input<string>('property-badge cursor-pointer me-1');\n readonly noEventsTextClass = input<string>('text-center my-4 text-light-gray');\n readonly warningTextClass = input<string>('text-center my-2 text-light-gray');\n readonly dateFormat = input<string>('dd/MM/yyyy');\n\n readonly visibleChange = output<boolean>();\n readonly tabSelected = output<EventTypeEnum | null>();\n readonly closed = output<void>();\n readonly popupVisible = signal<boolean>(false);\n\n private readonly syncVisibleEffect = effect(() => {\n this.popupVisible.set(this.visible());\n });\n\n onTabSelected(eventType: EventTypeEnum | null) {\n this.tabSelected.emit(eventType);\n }\n\n onPopupVisibleChanged(visible: boolean): void {\n this.popupVisible.set(visible);\n this.visibleChange.emit(visible);\n }\n\n onPopupClose() {\n this.closed.emit();\n }\n}\n","<dx-popup\n id=\"popup\"\n [visible]=\"popupVisible()\"\n [height]=\"'400'\"\n [maxHeight]=\"400\"\n [width]=\"'650'\"\n shadingColor=\"rgba(0,0,0,0.4)\"\n contentTemplate=\"popup-content\"\n [showCloseButton]=\"true\"\n [title]=\"popupTitle()\"\n (onHiding)=\"onPopupClose()\"\n (visibleChange)=\"onPopupVisibleChanged($event)\"\n>\n <div class=\"text-dark\" *dxTemplate=\"let data of 'popup-content'\">\n <dx-scroll-view\n #upcomingEventsScrollView\n id=\"upcomingEventsScrollView\"\n [scrollByContent]=\"true\"\n [scrollByThumb]=\"true\"\n [showScrollbar]=\"'onScroll'\"\n [bounceEnabled]=\"false\"\n >\n @if (hasBirthdays() || hasHolidays()) {\n <hr-event-tab-bar\n [selectedType]=\"selectedEventType()\"\n [selectedLanguage]=\"selectedLanguage()\"\n [tabSelectedClass]=\"tabSelectedClass()\"\n [tabNotSelectedClass]=\"tabNotSelectedClass()\"\n [tabTextSelectedClass]=\"tabTextSelectedClass()\"\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass()\"\n [containerClass]=\"tabContainerClass()\"\n [tabItemClass]=\"tabItemClass()\"\n [tabTextClass]=\"tabTextClass()\"\n [tabIconClass]=\"tabIconClass()\"\n (tabSelected)=\"onTabSelected($event)\"\n ></hr-event-tab-bar>\n\n <hr-event-item\n [events]=\"events()\"\n [showDates]=\"true\"\n [showProperty]=\"showProperty()\"\n [selectedLanguage]=\"selectedLanguage()\"\n [selectedEventType]=\"selectedEventType()\"\n [weekendWarningDescription]=\"weekendWarningDescription()\"\n [eventIconClass]=\"eventIconClass()\"\n [eventNameBoldClass]=\"eventNameBoldClass()\"\n [eventDescriptionClass]=\"eventDescriptionClass()\"\n [propertyBadgeClass]=\"propertyBadgeClass()\"\n [noEventsTextClass]=\"noEventsTextClass()\"\n [warningTextClass]=\"warningTextClass()\"\n [dateFormat]=\"dateFormat()\"\n ></hr-event-item>\n } @else {\n <div [class]=\"noEventsTextClass()\">{{ 'NoEvents' | translate }}</div>\n }\n </dx-scroll-view>\n </div>\n</dx-popup>\n\n<dx-load-panel\n shadingColor=\"rgba(0,0,0,0.4)\"\n [visible]=\"isLoading()\"\n [showIndicator]=\"true\"\n [showPane]=\"true\"\n [shading]=\"true\"\n [hideOnOutsideClick]=\"false\"\n></dx-load-panel>\n","import { ChangeDetectionStrategy, Component, effect, inject, input, output, signal } from '@angular/core';\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\nimport { faCalendarStar } from '@fortawesome/pro-light-svg-icons';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { HRCardHeaderComponent } from '../shared/components/card-header/card-header.component';\nimport { HREventItemComponent } from './components/event-item/event-item.component';\nimport { HREventTabBarComponent } from './components/event-tab-bar/event-tab-bar.component';\nimport { HREventsPopupComponent } from './components/events-popup/events-popup.component';\nimport {\n EventOption,\n RelativeDay,\n Birthday,\n PublicHoliday,\n UpcomingEventsV2,\n EventTypeEnum,\n FilteredUpcomingEvent,\n} from '../shared/types/common';\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\n\n@Component({\n selector: 'hr-my-upcoming-events-widget',\n standalone: true,\n imports: [\n FontAwesomeModule,\n HRCardHeaderComponent,\n HREventItemComponent,\n HREventTabBarComponent,\n HREventsPopupComponent,\n HRTranslatePipe,\n ],\n templateUrl: './my-upcoming-events-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyUpcomingEventsWidgetComponent {\n readonly baseUrl = input<string>('');\n readonly weekendWarningDescription = input<string>('WeekendDayNotDefined');\n readonly selectedLanguage = input<string>('en');\n readonly showProperty = input<boolean>(true);\n\n readonly cardClass = input<string>('bg-light-gray border-0 card p-3 card-shadow rounded rounded-4 mt-3');\n readonly noEventsTextClass = input<string>('text-center my-3 text-light-gray');\n readonly viewAllLinkClass = input<string>('fs-14 mt-2');\n readonly viewAllContainerClass = input<string>('d-flex justify-content-end cursor-pointer');\n readonly warningTextClass = input<string>('text-center my-2 text-light-gray');\n readonly tabSelectedClass = input<string>('selected-event-option');\n readonly tabNotSelectedClass = input<string>('not-selected-event-option');\n readonly tabTextSelectedClass = input<string>('text-white');\n readonly tabTextNotSelectedClass = input<string>('text-primary');\n readonly tabContainerClass = input<string>('d-flex gap-2 mb-3');\n readonly tabItemClass = input<string>(\n 'col-1 align-items-center rounded rounded-3 cursor-pointer text-center d-flex justify-content-center py-2 px-3',\n );\n readonly tabTextClass = input<string>('fs-16');\n readonly tabIconClass = input<string>('fs-6');\n readonly eventIconClass = input<string>('fs-6 text-primary pe-2');\n readonly eventNameBoldClass = input<string>('fw-medium');\n readonly eventDescriptionClass = input<string>('text-primary fw-medium');\n readonly propertyBadgeClass = input<string>('property-badge cursor-pointer me-1');\n readonly dateFormat = input<string>('dd/MM/yyyy');\n\n readonly isLoadingChanged = output<boolean>();\n readonly viewAllClicked = output<void>();\n\n readonly externalViewAll = input<boolean>(false);\n\n readonly selectedEventType = signal<EventTypeEnum | null>(null);\n readonly selectedPopupEventType = signal<EventTypeEnum | null>(null);\n\n readonly calendarStar = faCalendarStar;\n\n readonly filteredEvents = signal<FilteredUpcomingEvent[]>([]);\n readonly birthdays = signal<Birthday[]>([]);\n readonly holidays = signal<PublicHoliday[]>([]);\n\n readonly popupEvents = signal<FilteredUpcomingEvent[]>([]);\n readonly popupVisible = signal(false);\n\n readonly weekendWarning = signal<string | null>(null);\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n\n private readonly loadEventsEffect = effect(() => {\n this.loadEvents(EventOption.All);\n });\n\n onTabClick(eventType: EventTypeEnum | null) {\n this.selectedEventType.set(eventType);\n this.filteredEvents.set(this.buildEvents(this.cardData(), eventType, 2));\n }\n\n onPopupTabClick(eventType: EventTypeEnum | null) {\n this.selectedPopupEventType.set(eventType);\n this.popupEvents.set(this.buildEvents(this.cardData(), eventType));\n }\n\n showPopup() {\n if (this.externalViewAll()) {\n this.viewAllClicked.emit();\n return;\n }\n this.popupEvents.set(this.buildEvents(this.cardData(), this.selectedPopupEventType()));\n this.popupVisible.set(true);\n }\n\n onPopupClose() {\n this.popupVisible.set(false);\n this.selectedPopupEventType.set(null);\n }\n\n onPopupVisibleChange(visible: boolean) {\n this.popupVisible.set(visible);\n }\n\n // --- Private ---\n\n private readonly cardData = signal<UpcomingEventsV2 | null>(null);\n\n private getUpcomingEvents(eventOption: EventOption) {\n return this.selfWidgetsService.getUpcomingEvents(this.baseUrl(), eventOption);\n }\n\n private loadEvents(eventOption: EventOption) {\n this.isLoadingChanged.emit(true);\n this.getUpcomingEvents(eventOption).subscribe({\n next: (response: any) => {\n this.cardData.set(response.ResponseData);\n const currentData = this.cardData();\n this.birthdays.set(currentData?.Birthdays || []);\n this.holidays.set(currentData?.PublicHolidays || []);\n this.weekendWarning.set(currentData?.IsWeekendConfigured === false ? this.weekendWarningDescription() : null);\n this.filteredEvents.set(this.buildEvents(currentData, null, 2));\n this.isLoadingChanged.emit(false);\n },\n error: () => {\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n private buildEvents(\n source: UpcomingEventsV2 | null,\n eventType: EventTypeEnum | null,\n limit?: number,\n ): FilteredUpcomingEvent[] {\n const birthdays = source?.Birthdays || [];\n const holidays = source?.PublicHolidays || [];\n\n let filtered: FilteredUpcomingEvent[];\n\n if (eventType === EventTypeEnum.Birthdays) {\n filtered = birthdays\n .map(b => this.mapBirthday(b))\n .sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime());\n } else if (eventType === EventTypeEnum.PublicHolidays) {\n filtered = holidays\n .map(h => this.mapHoliday(h))\n .sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime());\n } else {\n if (limit) {\n filtered = [...birthdays.map(b => this.mapBirthday(b)), ...holidays.map(h => this.mapHoliday(h))]\n .sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime())\n .slice(0, 2);\n } else {\n filtered = [...birthdays.map(b => this.mapBirthday(b)), ...holidays.map(h => this.mapHoliday(h))];\n }\n }\n\n if (limit) {\n filtered = filtered.slice(0, limit);\n }\n\n return filtered.sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime());\n }\n\n private mapBirthday(b: Birthday): FilteredUpcomingEvent {\n const birthdate = new Date(b.Birthdate);\n const eventDate = new Date(new Date().getFullYear(), birthdate.getMonth(), birthdate.getDate());\n return {\n EventDate: eventDate,\n Name: b.EmployeeShortName,\n EventType: EventTypeEnum.Birthdays,\n Description: b.RelativeDay.toString(),\n IsIn2Days: RelativeDay[b.RelativeDay as unknown as keyof typeof RelativeDay] === RelativeDay.TwoDays,\n PropertyName: b.EmployeePropertyName,\n PropertySymbol: b.EmployeePropertySymbol,\n };\n }\n\n private mapHoliday(h: PublicHoliday): FilteredUpcomingEvent {\n return {\n EventDate: new Date(h.StartDate),\n StartDate: new Date(h.StartDate),\n EndDate: new Date(h.EndDate),\n Name: h.Description,\n EventType: EventTypeEnum.PublicHolidays,\n Description: h.WeekContext.toString(),\n };\n }\n}\n","<!-- Card View -->\n<div [class]=\"cardClass()\">\n <hr-card-header [icon]=\"calendarStar\" [title]=\"'UpcomingEvents' | translate\"></hr-card-header>\n\n @if (birthdays().length > 0 || holidays().length > 0) {\n <hr-event-tab-bar\n [selectedType]=\"selectedEventType()\"\n [selectedLanguage]=\"selectedLanguage()\"\n [tabSelectedClass]=\"tabSelectedClass()\"\n [tabNotSelectedClass]=\"tabNotSelectedClass()\"\n [tabTextSelectedClass]=\"tabTextSelectedClass()\"\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass()\"\n [containerClass]=\"tabContainerClass()\"\n [tabItemClass]=\"tabItemClass()\"\n [tabTextClass]=\"tabTextClass()\"\n [tabIconClass]=\"tabIconClass()\"\n (tabSelected)=\"onTabClick($event)\"\n ></hr-event-tab-bar>\n\n <hr-event-item\n [events]=\"filteredEvents()\"\n [showDates]=\"false\"\n [showProperty]=\"showProperty()\"\n [selectedLanguage]=\"selectedLanguage()\"\n [selectedEventType]=\"selectedEventType()\"\n [weekendWarningDescription]=\"weekendWarning()\"\n [eventIconClass]=\"eventIconClass()\"\n [eventNameBoldClass]=\"eventNameBoldClass()\"\n [eventDescriptionClass]=\"eventDescriptionClass()\"\n [propertyBadgeClass]=\"propertyBadgeClass()\"\n [noEventsTextClass]=\"noEventsTextClass()\"\n [warningTextClass]=\"warningTextClass()\"\n [dateFormat]=\"dateFormat()\"\n ></hr-event-item>\n\n <div [class]=\"viewAllContainerClass()\">\n <a [class]=\"viewAllLinkClass()\" (click)=\"showPopup()\">{{ 'ViewAll' | translate }}</a>\n </div>\n } @else {\n <div [class]=\"noEventsTextClass()\">{{ 'NoEvents' | translate }}</div>\n }\n</div>\n\n<!-- Popup -->\n<hr-upcoming-events-popup\n [visible]=\"popupVisible()\"\n [events]=\"popupEvents()\"\n [hasBirthdays]=\"birthdays().length > 0\"\n [hasHolidays]=\"holidays().length > 0\"\n [isLoading]=\"false\"\n [selectedLanguage]=\"selectedLanguage()\"\n [showProperty]=\"showProperty()\"\n [weekendWarningDescription]=\"weekendWarning()\"\n [popupTitle]=\"'UpcomingEvents' | translate\"\n [selectedEventType]=\"selectedPopupEventType()\"\n [tabSelectedClass]=\"tabSelectedClass()\"\n [tabNotSelectedClass]=\"tabNotSelectedClass()\"\n [tabTextSelectedClass]=\"tabTextSelectedClass()\"\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass()\"\n [tabContainerClass]=\"tabContainerClass()\"\n [tabItemClass]=\"tabItemClass()\"\n [tabTextClass]=\"tabTextClass()\"\n [tabIconClass]=\"tabIconClass()\"\n [eventIconClass]=\"eventIconClass()\"\n [eventNameBoldClass]=\"eventNameBoldClass()\"\n [eventDescriptionClass]=\"eventDescriptionClass()\"\n [propertyBadgeClass]=\"propertyBadgeClass()\"\n [noEventsTextClass]=\"noEventsTextClass()\"\n [warningTextClass]=\"warningTextClass()\"\n [dateFormat]=\"dateFormat()\"\n (visibleChange)=\"onPopupVisibleChange($event)\"\n (tabSelected)=\"onPopupTabClick($event)\"\n (closed)=\"onPopupClose()\"\n></hr-upcoming-events-popup>\n","import { DecimalPipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { HRTranslateService } from './translate.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HRCommonMethodsService {\n constructor(private readonly translateService: HRTranslateService) {}\n\n calculateDaysDifference(dateOne: string | Date, dateTwo: string | Date): number {\n const resetTime = (inputDate: Date): Date => {\n const newDate = new Date(inputDate);\n newDate.setHours(0, 0, 0, 0);\n return newDate;\n };\n const firstDate = resetTime(new Date(dateOne));\n const secondDate = resetTime(new Date(dateTwo));\n return (firstDate.getTime() - secondDate.getTime()) / (1000 * 60 * 60 * 24);\n }\n\n currencyDecimalFormat(value: number, currencyDecimalsNumber: number): string | null {\n const currencyDecimalsString = `1.${currencyDecimalsNumber}-${currencyDecimalsNumber}`;\n const languageCode = this.translateService.getLanguage() || 'en';\n const decimalPipe = new DecimalPipe(languageCode === 'fr' ? 'fr-FR' : 'en-US');\n\n if (languageCode === 'fr') {\n return decimalPipe.transform(value, currencyDecimalsString, 'fr-FR');\n }\n\n return decimalPipe.transform(value, currencyDecimalsString);\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewChild, inject, input } from '@angular/core';\nimport { DxCalendarComponent, DxCalendarModule } from 'devextreme-angular';\nimport { ScheduleCalenderVacation, ScheduleVacationTypes, DatePeriod } from '../../types/common';\nimport { HRCommonMethodsService } from '../../services/common-methods.service';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faCircle } from '@fortawesome/pro-regular-svg-icons';\nimport { HRTranslatePipe } from '../../pipes/translate.pipe';\n\n@Component({\n standalone: true,\n selector: 'hr-employee-calendar',\n templateUrl: './hr-employee-calendar.component.html',\n imports: [DxCalendarModule, HRTranslatePipe, FontAwesomeModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HREmployeeCalendarComponent {\n @ViewChild('calendar') calendar!: DxCalendarComponent;\n readonly showEvents = input<boolean>(false);\n readonly showUpComingVacations = input<boolean>(false);\n readonly scheduleCalenderVacation = input<ScheduleCalenderVacation[]>([]);\n readonly minDate = input<Date>(new Date());\n readonly maxDate = input<Date>(new Date());\n\n readonly legendContainerClass = input<string>('row mb-2');\n readonly legendRowClass = input<string>('d-flex');\n readonly legendItemClass = input<string>('d-flex align-items-center');\n readonly legendDotClass = input<string>('me-1 circle-sm');\n readonly legendLabelClass = input<string>('me-1 fs-12');\n readonly publicHolidayDotClass = input<string>('bg-accent');\n readonly dayOffDotClass = input<string>('bg-yellow');\n readonly eventsDotClass = input<string>('bg-primary');\n readonly vacationsContainerClass = input<string>('d-flex mt-3');\n readonly vacationsItemClass = input<string>('d-flex align-items-center');\n readonly vacationsIconClass = input<string>('fs-8 me-1');\n readonly calendarContainerClass = input<string>('row mt-2 col-12');\n readonly calendarClass = input<string>('button-boeder-none');\n\n squreCheckIcon = faCircle;\n DaysOffVacationTypes = ScheduleVacationTypes.DaysOff;\n PublicHolidaysVacationTypes = ScheduleVacationTypes.PublicHoliday;\n private commonMethods = inject(HRCommonMethodsService);\n\n customCellTemplate = (cellData: any): string | HTMLElement => {\n if (cellData.view != 'month') {\n return this.createDateSpan(cellData);\n }\n\n const cellDate = cellData.date;\n\n let matchedVacation = this.scheduleCalenderVacation().find(vacation =>\n this.isDateInPeriod(cellDate, vacation.VacationDays),\n );\n\n let matchedOffOrPublicHolidayBullet: ScheduleCalenderVacation | undefined = this.scheduleCalenderVacation().find(\n vacation =>\n this.isDateInPeriod(cellDate, vacation.VacationDays) &&\n vacation.VacationType != ScheduleVacationTypes.Vacations &&\n vacation.VacationType != ScheduleVacationTypes.AddedVacations,\n );\n\n if (matchedVacation) {\n if (\n this.commonMethods.calculateDaysDifference(\n matchedVacation.VacationDays.EndDate,\n matchedVacation.VacationDays.StartDate,\n ) === 0\n ) {\n return this.createDateSpan(cellData, matchedVacation, matchedOffOrPublicHolidayBullet, false, false, false);\n }\n\n let isStartRange =\n this.commonMethods.calculateDaysDifference(cellDate, matchedVacation.VacationDays.StartDate) === 0;\n let isEndRange = this.commonMethods.calculateDaysDifference(matchedVacation.VacationDays.EndDate, cellDate) === 0;\n\n return this.createDateSpan(\n cellData,\n matchedVacation,\n matchedOffOrPublicHolidayBullet,\n true,\n isStartRange,\n isEndRange,\n );\n }\n\n return this.createDateSpan(cellData);\n };\n\n private createDateSpan = (\n cellData: any,\n matchedVacation: ScheduleCalenderVacation | undefined = undefined,\n matchedOffOrPublicHolidayBullet: ScheduleCalenderVacation | undefined = undefined,\n isInRange: boolean = false,\n isStartRange: boolean = false,\n isEndRange: boolean = false,\n ) => {\n const offDayOrPublicHolidaySpan = document.createElement('span');\n const cellElement = document.createElement('span');\n cellElement.textContent = cellData.text;\n cellElement.style.backgroundColor = '';\n cellElement.style.borderRadius = '15px';\n cellElement.style.borderWidth = '0';\n cellElement.style.fontSize = '10px';\n cellElement.style.margin = '0';\n cellElement.style.padding = '0';\n cellElement.style.alignContent = 'center';\n cellElement.style.position = 'relative';\n\n if (matchedVacation) {\n cellElement.title = matchedVacation.Description;\n\n if (\n matchedVacation.VacationType != ScheduleVacationTypes.DaysOff &&\n matchedVacation.VacationType != ScheduleVacationTypes.PublicHoliday &&\n matchedVacation.VacationType != ScheduleVacationTypes.Events\n ) {\n if (matchedVacation.Color) {\n cellElement.style.backgroundColor = matchedVacation.Color + '99';\n cellElement.style.color = '#FFFFFF';\n } else {\n cellElement.style.backgroundColor = '#DCDCDC';\n cellElement.style.color = '#000000';\n }\n\n if (isInRange) {\n cellElement.style.width = '100%';\n cellElement.style.alignContent = 'start';\n\n if (isStartRange) {\n cellElement.style.borderEndEndRadius = '0px';\n cellElement.style.borderStartEndRadius = '0px';\n }\n\n if (isEndRange) {\n cellElement.style.borderStartStartRadius = '0px';\n cellElement.style.borderEndStartRadius = '0px';\n }\n\n if (!isStartRange && !isEndRange) cellElement.style.borderRadius = '0px';\n }\n }\n }\n\n if (matchedOffOrPublicHolidayBullet) {\n offDayOrPublicHolidaySpan.style.width = '8px';\n offDayOrPublicHolidaySpan.style.height = '8px';\n offDayOrPublicHolidaySpan.className = 'rounded rounded-circle';\n offDayOrPublicHolidaySpan.style.position = 'absolute';\n offDayOrPublicHolidaySpan.style.opacity = '1';\n offDayOrPublicHolidaySpan.style.top = '-5px';\n offDayOrPublicHolidaySpan.style.right = '0';\n offDayOrPublicHolidaySpan.title = matchedOffOrPublicHolidayBullet.Description;\n\n if (matchedVacation) {\n if (\n matchedVacation.VacationType != ScheduleVacationTypes.DaysOff &&\n matchedVacation.VacationType != ScheduleVacationTypes.PublicHoliday &&\n matchedVacation.VacationType != ScheduleVacationTypes.Events\n ) {\n if (isInRange) {\n offDayOrPublicHolidaySpan.style.right = '8px';\n }\n }\n }\n\n offDayOrPublicHolidaySpan.style.background = matchedOffOrPublicHolidayBullet.Color || '';\n offDayOrPublicHolidaySpan.style.marginTop = '2px';\n cellElement.appendChild(offDayOrPublicHolidaySpan);\n }\n\n return cellElement;\n };\n\n isDateInPeriod(date: Date, period: DatePeriod) {\n if (this.commonMethods.calculateDaysDifference(date, period.StartDate) == 0) return true;\n\n if (this.commonMethods.calculateDaysDifference(date, period.EndDate) == 0) return true;\n\n let daysDifferenceWithStartDate = this.commonMethods.calculateDaysDifference(date, period.StartDate);\n let daysDifferenceWithEndDate = this.commonMethods.calculateDaysDifference(period.EndDate, date);\n\n if (daysDifferenceWithStartDate < 0 || daysDifferenceWithEndDate < 0) return false;\n\n return true;\n }\n\n resetCalenderCurrentDate(currentDate: Date = new Date()) {\n this.calendar.instance.option('currentDate', currentDate);\n }\n\n preventInteraction(event: any): void {\n event.component.option('value', null);\n }\n}\n","<div [class]=\"legendContainerClass()\">\n <div [class]=\"legendRowClass()\">\n <div [class]=\"legendItemClass() + ' me-4'\">\n <div [class]=\"legendDotClass() + ' ' + publicHolidayDotClass()\"></div>\n <div [class]=\"legendLabelClass()\">\n <p>{{ 'PublicHoliday' | translate }}</p>\n </div>\n </div>\n <div [class]=\"legendItemClass()\">\n <div [class]=\"legendDotClass() + ' ' + dayOffDotClass()\"></div>\n <div [class]=\"legendLabelClass()\">\n <p>{{ 'DayOff' | translate }}</p>\n </div>\n </div>\n @if (showEvents()) {\n <div [class]=\"legendItemClass() + ' ms-4'\">\n <div [class]=\"legendDotClass() + ' ' + eventsDotClass()\"></div>\n <div [class]=\"legendLabelClass()\">\n <p>{{ 'Events' | translate }}</p>\n </div>\n </div>\n }\n </div>\n @if (showUpComingVacations()) {\n <div [class]=\"vacationsContainerClass()\">\n <div [class]=\"vacationsItemClass()\">\n <fa-icon [icon]=\"squreCheckIcon\" [class]=\"vacationsIconClass()\"></fa-icon>\n <div [class]=\"legendLabelClass()\">\n <p>{{ 'ScheduledVacations' | translate }}</p>\n </div>\n </div>\n </div>\n }\n</div>\n\n<div [class]=\"calendarContainerClass()\">\n <dx-calendar\n #calendar\n [class]=\"calendarClass()\"\n [selectionMode]=\"'multiple'\"\n [cellTemplate]=\"customCellTemplate\"\n [showWeekNumbers]=\"false\"\n [min]=\"minDate()\"\n [max]=\"maxDate()\"\n (onValueChanged)=\"preventInteraction($event)\"\n ></dx-calendar>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n ViewChild,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\nimport {\n CalendarResponse,\n ScheduleCalenderVacation,\n ScheduleRequestsResponse,\n ScheduleVacationTypes,\n} from '../shared/types/common';\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\nimport { HRConstantsService } from '../shared/services/constants.service';\nimport { HREmployeeCalendarComponent } from '../shared/components/hr-employee-calendar/hr-employee-calendar.component';\nimport { faCalendarDays } from '@fortawesome/pro-regular-svg-icons';\nimport { HRCardHeaderComponent } from '../shared/components/card-header/card-header.component';\nimport moment from 'moment';\n\n@Component({\n standalone: true,\n selector: 'hr-my-calendar-widget',\n templateUrl: './my-calendar-widget.component.html',\n imports: [HREmployeeCalendarComponent, HRCardHeaderComponent, HRTranslatePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyCalendarWidgetComponent implements OnInit {\n readonly baseUrl = input<string>('');\n readonly headerContainerClass = input<string>('');\n readonly datasource = input<ScheduleRequestsResponse | null>(null);\n readonly isLoadingChanged = output<boolean>();\n\n readonly calendarIcon = faCalendarDays;\n\n readonly legendContainerClass = input<string>('row mb-2');\n readonly legendRowClass = input<string>('d-flex');\n readonly legendItemClass = input<string>('d-flex align-items-center');\n readonly legendDotClass = input<string>('me-1 circle-sm');\n readonly legendLabelClass = input<string>('me-1 fs-12');\n readonly publicHolidayDotClass = input<string>('bg-accent');\n readonly dayOffDotClass = input<string>('bg-yellow');\n readonly eventsDotClass = input<string>('bg-primary');\n readonly vacationsContainerClass = input<string>('d-flex mt-3');\n readonly vacationsItemClass = input<string>('d-flex align-items-center');\n readonly vacationsIconClass = input<string>('fs-8 me-1');\n readonly calendarContainerClass = input<string>('row mt-2 col-12');\n readonly calendarClass = input<string>('button-boeder-none');\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n private readonly constants = inject(HRConstantsService);\n private readonly translatePipe = inject(HRTranslatePipe);\n\n readonly publicHolidayColor = input<string>(this.constants.defaultPublicHolidayColor);\n readonly dayOffColor = input<string>(this.constants.defaultDayOffColor);\n readonly eventsColor = input<string>(this.constants.defaultEventsColor);\n\n @ViewChild(HREmployeeCalendarComponent) hrCalendar!: HREmployeeCalendarComponent;\n\n readonly minDate: Date;\n readonly maxDate: Date;\n\n private readonly baseCalendarData = signal<ScheduleCalenderVacation[]>([]);\n private readonly hrVacations = signal<ScheduleCalenderVacation[]>([]);\n private readonly calendarLoaded = signal(false);\n\n readonly scheduleCalenderVacation = computed<ScheduleCalenderVacation[]>(() => {\n if (!this.calendarLoaded()) {\n return [];\n }\n\n const pendingVacations: ScheduleCalenderVacation[] =\n this.datasource()?.PendingVacationRequests?.map(v => ({\n VacationType: ScheduleVacationTypes.Vacations,\n Description: v.VacationTypeName,\n Color: v.Color,\n VacationDays: { StartDate: v.StartDate, EndDate: v.EndDate },\n })) ?? [];\n\n const mergedVacations = this.mergeConsecutiveVacations(\n [...this.hrVacations(), ...pendingVacations].sort(\n (a, b) => new Date(a.VacationDays.StartDate).getTime() - new Date(b.VacationDays.StartDate).getTime(),\n ),\n );\n\n const events: ScheduleCalenderVacation[] =\n this.datasource()?.PendingEventRequests?.map(ev => ({\n VacationType: ScheduleVacationTypes.Events,\n Description: ev.Description,\n Color: this.eventsColor(),\n VacationDays: { StartDate: ev.StartDate, EndDate: ev.EndDate },\n })) ?? [];\n\n return [...mergedVacations, ...this.baseCalendarData(), ...events];\n });\n\n private readonly refreshCalendarEffect = effect(() => {\n if (!this.calendarLoaded()) {\n return;\n }\n\n this.scheduleCalenderVacation();\n this.refreshCalendar();\n });\n\n constructor() {\n const currentDate = moment().date(1).subtract(1, 'month');\n this.minDate = new Date(currentDate.year(), currentDate.month(), currentDate.date());\n this.maxDate = new Date(this.minDate.getFullYear() + 1, this.minDate.getMonth() + 1, 0);\n }\n\n ngOnInit(): void {\n this.loadCalendar();\n }\n\n private getCalendar(month: number, year: number, monthsCount: number) {\n return this.selfWidgetsService.getCalendar(this.baseUrl(), month, year, monthsCount);\n }\n\n private loadCalendar(): void {\n const currentDate = moment().date(1).subtract(1, 'month');\n const month = currentDate.month() === 0 ? 1 : currentDate.month() + 1;\n const year = currentDate.year();\n\n this.isLoadingChanged.emit(true);\n this.getCalendar(month, year, 12).subscribe({\n next: (response: any) => {\n this.isLoadingChanged.emit(false);\n this.mapCalendarData(response.ResponseData as CalendarResponse);\n },\n error: () => {\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n private mapCalendarData(data: CalendarResponse): void {\n this.baseCalendarData.set([\n ...data.PublicHolidays.map(ph => ({\n VacationType: ScheduleVacationTypes.PublicHoliday,\n Description: ph.Description,\n Color: this.publicHolidayColor(),\n VacationDays: { StartDate: ph.StartDate, EndDate: ph.EndDate },\n })),\n ...data.OffDays.map(od => ({\n VacationType: ScheduleVacationTypes.DaysOff,\n Description: this.translatePipe.transform('DayOff'),\n Color: this.dayOffColor(),\n VacationDays: { StartDate: od, EndDate: od },\n })),\n ]);\n\n this.hrVacations.set(\n (data.Vacations ?? []).map(v => ({\n VacationType: ScheduleVacationTypes.Vacations,\n Description: v.VacationTypeName,\n Color: v.Color,\n VacationDays: { StartDate: v.StartDate, EndDate: v.EndDate },\n })),\n );\n\n this.calendarLoaded.set(true);\n }\n\n private refreshCalendar(): void {\n setTimeout(() => {\n if (this.hrCalendar?.calendar) {\n this.hrCalendar.calendar.instance._refresh();\n this.hrCalendar.resetCalenderCurrentDate();\n }\n }, 100);\n }\n\n private mergeConsecutiveVacations(vacations: ScheduleCalenderVacation[]): ScheduleCalenderVacation[] {\n if (vacations.length === 0) return [];\n\n const grouped = new Map<string, ScheduleCalenderVacation[]>();\n for (const v of vacations) {\n const key = `${v.Description}|${v.Color ?? ''}`;\n if (!grouped.has(key)) grouped.set(key, []);\n grouped.get(key)!.push(v);\n }\n\n const result: ScheduleCalenderVacation[] = [];\n\n grouped.forEach(items => {\n items.sort((a, b) => new Date(a.VacationDays.StartDate).getTime() - new Date(b.VacationDays.StartDate).getTime());\n\n let merged = { ...items[0], VacationDays: { ...items[0].VacationDays } };\n\n for (let i = 1; i < items.length; i++) {\n const current = items[i];\n const lastEnd = new Date(merged.VacationDays.EndDate);\n const currentStart = new Date(current.VacationDays.StartDate);\n const diffDays = (currentStart.getTime() - lastEnd.getTime()) / (1000 * 60 * 60 * 24);\n\n if (diffDays <= 1) {\n const currentEnd = new Date(current.VacationDays.EndDate);\n if (currentEnd.getTime() > lastEnd.getTime()) {\n merged.VacationDays.EndDate = current.VacationDays.EndDate;\n }\n } else {\n result.push(merged);\n merged = { ...current, VacationDays: { ...current.VacationDays } };\n }\n }\n result.push(merged);\n });\n\n return result.sort(\n (a, b) => new Date(a.VacationDays.StartDate).getTime() - new Date(b.VacationDays.StartDate).getTime(),\n );\n }\n}\n","<hr-card-header\n [icon]=\"calendarIcon\"\n [title]=\"'Calendar' | translate\"\n [containerClass]=\"'d-flex align-items-center mb-3 ' + headerContainerClass()\"\n></hr-card-header>\n<hr-employee-calendar\n [showEvents]=\"true\"\n [showUpComingVacations]=\"true\"\n [scheduleCalenderVacation]=\"scheduleCalenderVacation()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [legendContainerClass]=\"legendContainerClass()\"\n [legendRowClass]=\"legendRowClass()\"\n [legendItemClass]=\"legendItemClass()\"\n [legendDotClass]=\"legendDotClass()\"\n [legendLabelClass]=\"legendLabelClass()\"\n [publicHolidayDotClass]=\"publicHolidayDotClass()\"\n [dayOffDotClass]=\"dayOffDotClass()\"\n [eventsDotClass]=\"eventsDotClass()\"\n [vacationsContainerClass]=\"vacationsContainerClass()\"\n [vacationsItemClass]=\"vacationsItemClass()\"\n [vacationsIconClass]=\"vacationsIconClass()\"\n [calendarContainerClass]=\"calendarContainerClass()\"\n [calendarClass]=\"calendarClass()\"\n></hr-employee-calendar>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { HRTranslatePipe } from '../../pipes/translate.pipe';\n\n@Component({\n selector: 'hr-info-field',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe],\n templateUrl: './info-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HRInfoFieldComponent {\n readonly labelKey = input.required<string>();\n readonly value = input<string | null | undefined>(null);\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium');\n readonly fallbackValue = input<string>('—');\n\n readonly displayValue = computed(() => this.value() || this.fallbackValue());\n}\n","<div [ngClass]=\"labelClass()\">{{ labelKey() | translate }}</div>\n<div [ngClass]=\"valueClass()\" [title]=\"displayValue()\">{{ displayValue() }}</div>\n","import { ChangeDetectionStrategy, Component, OnInit, computed, inject, input, output, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { faMoneyCheckDollarPen } from '@fortawesome/pro-light-svg-icons';\nimport { MyBankInfo } from '../../shared/types/common';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRCommonMethodsService } from '../../shared/services/common-methods.service';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-bank-info-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-bank-info-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileBankInfoWidgetComponent implements OnInit {\n readonly isLoading = signal(true);\n\n private readonly commonMethodsService = inject(HRCommonMethodsService);\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n this.isLoadingChanged.emit(true);\n this.hrSelfWidgetsService.getBankInformation(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.employeeBankInformation.set(response ?? []);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.employeeBankInformation.set([]);\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n readonly employeeBankInformation = signal<MyBankInfo[]>([]);\n readonly currencyCode = input<string>('');\n readonly currencyDecimals = input<number>(2);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n\n readonly cardClass = input<string>('mt-4 card-shadow position-relative');\n readonly mainBadgeClass = input<string>('position-absolute text-center top-0 mt-3 start-0 bg-primary status-badge');\n readonly mainBadgeTextClass = input<string>('mx-1 fs-12 text-white');\n readonly triangleClass = input<string>('position-absolute start-0 top-0');\n readonly rowClass = input<string>('row px-4 pb-3');\n readonly rowMainPtClass = input<string>('pt-5');\n readonly rowNormalPtClass = input<string>('pt-3');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly responsiveTopSpacingColClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\n readonly topSpacingColClass = input<string>('col-md-4 col-6 mt-4');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('table-cell-md text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly bankInformationIcon = input(faMoneyCheckDollarPen);\n readonly sectionHeaderVisibility = input(true);\n readonly sectionTitle = input('BankInformation');\n readonly language = input('en');\n readonly baseUrl = input.required<string>();\n\n readonly errorOccurred = output<string>();\n\n readonly isRTL = computed(() => this.language() === 'ar');\n\n readonly isLoadingChanged = output<boolean>();\n\n formatAmount(value: number | null | undefined): string {\n if (value == null) {\n return '-';\n }\n return this.commonMethodsService.currencyDecimalFormat(value, this.currencyDecimals()) || '-';\n }\n}\n","@if (sectionHeaderVisibility()) {\n <sky-section-divider\n [fontAwesomeIcon]=\"bankInformationIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n ></sky-section-divider>\n}\n@if (employeeBankInformation().length > 0) {\n @for (bankInfo of employeeBankInformation(); track bankInfo) {\n <div [class]=\"cardClass()\">\n @if (bankInfo.IsMainBank && employeeBankInformation().length > 1) {\n <div [class]=\"mainBadgeClass()\" style=\"padding-top: 2px\" [style.margin-left]=\"!isRTL() ? '-6px' : 'unset'\">\n <span [class]=\"mainBadgeTextClass()\">{{ 'MainBank' | translate }}</span>\n </div>\n\n <div\n [class]=\"triangleClass()\"\n [style.margin-left]=\"!isRTL() ? '-6px' : 'unset'\"\n [style.margin-right]=\"isRTL() ? '-5px' : '20px'\"\n [style.margin-top]=\"!isRTL() ? '7px' : '4px'\"\n >\n <svg viewBox=\"4 2 16 16\" class=\"status-badge-triangle\" fill=\"#e67e0f\">\n <path\n d=\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"\n ></path>\n </svg>\n </div>\n }\n\n <div [ngClass]=\"[rowClass(), bankInfo.IsMainBank ? rowMainPtClass() : rowNormalPtClass()]\">\n <div [class]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'Bank'\"\n [value]=\"bankInfo.BankName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [class]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'Branch'\"\n [value]=\"bankInfo.BranchName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [class]=\"responsiveTopSpacingColClass()\">\n <hr-info-field\n [labelKey]=\"'IBAN'\"\n [value]=\"bankInfo.IBAN\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [class]=\"topSpacingColClass()\">\n <hr-info-field\n [labelKey]=\"'AccountNumber'\"\n [value]=\"bankInfo.AccountNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [class]=\"topSpacingColClass()\">\n <hr-info-field\n [labelKey]=\"'Beneficiary'\"\n [value]=\"bankInfo.Beneficiary\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n @if (bankInfo.TransferAmount != null) {\n <div [class]=\"topSpacingColClass()\">\n <hr-info-field\n [labelKey]=\"'TransferAmount'\"\n [value]=\"formatAmount(bankInfo.TransferAmount) + ' (' + currencyCode() + ')'\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n }\n </div>\n </div>\n }\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoBankYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faMemoCircleInfo } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { PersonalInfoMainDetails } from '../../shared/types/common';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-personal-info-main-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-personal-info-main-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProfilePersonalInfoMainWidgetComponent implements OnInit {\n readonly employeePersonalInformation = signal<PersonalInfoMainDetails | null>(null);\n readonly isLoading = signal(true);\n readonly baseUrl = input.required<string>();\n readonly alternateLanguage = input<string>('English');\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly hiddenSpacerColClass = input<string>('col-md-4 col-6 d-md-block d-none');\n readonly topSpacingColumnClass = input<string>('col-md-4 col-6 mt-4');\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly mainIcon = input(faMemoCircleInfo);\n readonly sectionTitle = input('main');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getPersonalInfoMainDetails(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.employeePersonalInformation.set(response);\n },\n error: error => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.employeePersonalInformation.set(null);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"mainIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (employeePersonalInformation()) {\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'Name'\"\n [value]=\"employeePersonalInformation()!.EmployeeName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"columnClass()\">\n <div [ngClass]=\"labelClass()\">{{ 'Name' | translate }} ({{ alternateLanguage() }})</div>\n @if (employeePersonalInformation()!.EmployeeNameAlternate) {\n <div [ngClass]=\"valueClass()\">{{ employeePersonalInformation()!.EmployeeNameAlternate }}</div>\n } @else {\n <div [ngClass]=\"valueClass()\">{{ '—' }}</div>\n }\n </div>\n\n <div [ngClass]=\"hiddenSpacerColClass()\"></div>\n\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Nationality'\"\n [value]=\"employeePersonalInformation()!.NationalityName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'NationalNumber'\"\n [value]=\"employeePersonalInformation()!.NationalNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'SocialSecurityNumber'\"\n [value]=\"employeePersonalInformation()!.SocialSecurityNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'MaritalStatus'\"\n [value]=\"employeePersonalInformation()!.MaritalStateName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'BirthDate'\"\n [value]=\"employeePersonalInformation()!.BirthDate ? (employeePersonalInformation()!.BirthDate | date: 'dd/MM/yyyy') : null\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'BirthPlace'\"\n [value]=\"employeePersonalInformation()!.BirthPlace\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'BloodType'\"\n [value]=\"employeePersonalInformation()!.BloodTypeCode\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Religion'\"\n [value]=\"employeePersonalInformation()!.ReligionName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'MinistryOfLaborNumber'\"\n [value]=\"employeePersonalInformation()!.MinistryOfLaborNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoMainYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faBolt, faPhone } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { PersonalInfoContactDetails } from '../../shared/types/common';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-contact-widget',\n standalone: true,\n imports: [\n CommonModule,\n FontAwesomeModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-contact-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileContactWidgetComponent implements OnInit {\n readonly employeePersonalInfoContactDetails = signal<PersonalInfoContactDetails | null>(null);\n readonly isLoading = signal(true);\n readonly baseUrl = input.required<string>();\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-4');\n readonly responsiveTopSpacingColumnClass = input<string>('col-6 mt-4');\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emergencyContactLabelClass = input<string>('fs-14 fw-semibold');\n readonly emergencyContactColumnClass = input<string>('col-md-4 col-6');\n readonly emergencyContactResponsiveColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly contactIcon = input(faPhone);\n readonly emergencyContactIcon = input(faBolt);\n readonly sectionTitle = input('contact');\n readonly showEmergencyContact = input(true);\n readonly emergencyContactRowClass = input('row mt-3 mb-4');\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getPersonalInfoContactDetails(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.employeePersonalInfoContactDetails.set(response);\n },\n error: error => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.employeePersonalInfoContactDetails.set(null);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"contactIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (employeePersonalInfoContactDetails()) {\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'MobileNumber'\"\n [value]=\"employeePersonalInfoContactDetails()!.MobileNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n <div class=\"mt-4\">\n <hr-info-field\n [labelKey]=\"'Email'\"\n [value]=\"employeePersonalInfoContactDetails()!.Email\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'HomePhone'\"\n [value]=\"employeePersonalInfoContactDetails()!.HomePhone\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n <div class=\"mt-4\">\n <hr-info-field\n [labelKey]=\"'BusinessEmail'\"\n [value]=\"employeePersonalInfoContactDetails()!.BusinessEmail\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n </div>\n @if (showEmergencyContact()) {\n <div [ngClass]=\"rowClass()\">\n <div class=\"col-12\">\n <div [ngClass]=\"emergencyContactLabelClass()\">• {{ 'EmergencyContact' | translate }}</div>\n </div>\n </div>\n <div [ngClass]=\"emergencyContactRowClass()\">\n <div [ngClass]=\"emergencyContactColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Name'\"\n [value]=\"\n employeePersonalInfoContactDetails()!.EmergencyContact?.Name || employeePersonalInfoContactDetails()!.EmergencyContactLegacy\n \"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"emergencyContactColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Relation'\"\n [value]=\"employeePersonalInfoContactDetails()!.EmergencyContact?.Relation\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"emergencyContactResponsiveColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Phone'\"\n [value]=\"employeePersonalInfoContactDetails()!.EmergencyContact?.PhoneNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n }\n} @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoContactYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faLanguage } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\n\n@Component({\n selector: 'hr-my-profile-languages-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent],\n templateUrl: './my-profile-languages-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileLanguagesWidgetComponent implements OnInit {\n readonly languages = signal<string[] | null>(null);\n readonly isLoading = signal(true);\n readonly baseUrl = input<string>('');\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly contentTextClass = input<string>('text-dark-gray fs-14 fw-medium mt-4');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n readonly hasDataChange = output<boolean>();\n\n readonly languagesIcon = input(faLanguage);\n readonly sectionTitle = input('languages');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n this.emitHasData();\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getPersonalInfoLanguages(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.languages.set(response ?? []);\n this.emitHasData();\n },\n error: error => {\n this.isLoading.set(false);\n this.languages.set([]);\n this.emitHasData();\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n\n private emitHasData(): void {\n this.hasDataChange.emit((this.languages()?.length ?? 0) > 0);\n }\n\n getLanguages(): string {\n return this.languages()?.join(', ') || '-';\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"languagesIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if ((languages()?.length ?? 0) > 0) {\n <div [ngClass]=\"contentTextClass()\">\n {{ getLanguages() }}\n </div>\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoLanguagesYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faEarthAfrica } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\n\n@Component({\n selector: 'hr-my-profile-other-nationalities-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent],\n templateUrl: './my-profile-other-nationalities-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileOtherNationalitiesWidgetComponent implements OnInit {\n readonly personalInfo = signal<string[] | null>(null);\n readonly isLoading = signal(true);\n readonly baseUrl = input.required<string>();\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly contentTextClass = input<string>('text-dark-gray fs-14 fw-medium mt-4');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n readonly emptyStateTextKey = input<string>('ThereIsNoOtherNationalitiesYet');\n readonly hasDataChange = output<boolean>();\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n readonly otherNationalitiesIcon = input(faEarthAfrica);\n readonly sectionTitle = input('otherNationalities');\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n this.emitHasData();\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getPersonalInfoOtherNationalities(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.personalInfo.set(response ?? []);\n this.emitHasData();\n },\n error: error => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.personalInfo.set([]);\n this.emitHasData();\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n\n private emitHasData(): void {\n this.hasDataChange.emit((this.personalInfo()?.length ?? 0) > 0);\n }\n\n getOtherNationalities(): string {\n return this.personalInfo()?.join(', ') || '-';\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"otherNationalitiesIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if ((personalInfo()?.length ?? 0) > 0) {\n <div [ngClass]=\"contentTextClass()\">\n {{ getOtherNationalities() }}\n </div>\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : (emptyStateTextKey() | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faHouse } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { PersonalInfoAddressDetails } from '../../shared/types/common';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-address-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-address-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileAddressWidgetComponent implements OnInit {\n readonly personalInfoAddressDetails = signal<PersonalInfoAddressDetails | null>(null);\n readonly isLoading = signal(true);\n readonly baseUrl = input.required<string>();\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly responsiveTopSpacingColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly addressIcon = input(faHouse);\n readonly sectionTitle = input('address');\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getPersonalInfoAddressDetails(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.personalInfoAddressDetails.set(response);\n },\n error: error => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.personalInfoAddressDetails.set(null);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"addressIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (personalInfoAddressDetails()) {\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'Address'\"\n [value]=\"personalInfoAddressDetails()!.Address\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'City'\"\n [value]=\"personalInfoAddressDetails()!.City\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"responsiveTopSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'P.OBox'\"\n [value]=\"personalInfoAddressDetails()!.POBox\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'PostalCode'\"\n [value]=\"personalInfoAddressDetails()!.PostalCode\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n} @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoAddressYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faFileSignature } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { JobInformationMain } from '../../shared/types/common';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-job-info-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-job-info-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileJobInfoWidgetComponent implements OnInit {\n readonly jobInformationMain = signal<JobInformationMain | null>(null);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input.required<string>();\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly responsiveTopSpacingColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly mainIcon = input(faFileSignature);\n readonly sectionTitle = input('JobInformation');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getJobInformationMain(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.jobInformationMain.set(response);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.jobInformationMain.set(null);\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"mainIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (jobInformationMain()) {\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'AdminUnit'\"\n [value]=\"jobInformationMain()!.AdminUnitName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'Position'\"\n [value]=\"jobInformationMain()!.PositionName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"responsiveTopSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Grade'\"\n [value]=\"jobInformationMain()!.GradeName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'JoiningDate'\"\n [value]=\"jobInformationMain()!.JoiningDate ? (jobInformationMain()!.JoiningDate | date: 'dd/MM/yyyy') : null\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'CorporateJoiningDate'\"\n [value]=\"jobInformationMain()!.CorporateJoiningDate ? (jobInformationMain()!.CorporateJoiningDate | date: 'dd/MM/yyyy') : null\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Sponsor'\"\n [value]=\"jobInformationMain()!.SponsorName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoJobMainYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faFileSignature } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { JobInformationContract } from '../../shared/types/common';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-contract-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-contract-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileContractWidgetComponent implements OnInit {\n readonly jobInformationContract = signal<JobInformationContract | null>(null);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input.required<string>();\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly responsiveTopSpacingColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly contractIcon = input(faFileSignature);\n readonly sectionTitle = input('Contract');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getJobInformationContract(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.jobInformationContract.set(response);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.jobInformationContract.set(null);\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"contractIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (jobInformationContract()) {\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'ContractType'\"\n [value]=\"jobInformationContract()!.ContractTypeName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'ContractStartDate'\"\n [value]=\"jobInformationContract()!.ContractStartDate ? (jobInformationContract()!.ContractStartDate | date: 'dd/MM/yyyy') : null\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"responsiveTopSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'ContractEndDate'\"\n [value]=\"jobInformationContract()!.ContractEndDate ? (jobInformationContract()!.ContractEndDate | date: 'dd/MM/yyyy') : null\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'ContractMaritalStatus'\"\n [value]=\"jobInformationContract()!.ContractMaritalStateName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'ContractDependentsCount'\"\n [value]=\"jobInformationContract()!.ContractDependentsCount?.toString()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoJobContractYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faSackDollar } from '@fortawesome/pro-light-svg-icons';\nimport { SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { HRCommonMethodsService } from '../../shared/services/common-methods.service';\nimport { Allowances, JobInformationSalary } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-salary-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent],\n templateUrl: './my-profile-salary-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileSalaryWidgetComponent implements OnInit {\n readonly jobInformationSalary = signal<JobInformationSalary | null>(null);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input.required<string>();\n readonly currencyCode = input<string>('');\n readonly currencyDecimals = input<number>(2);\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-md-4 col-6 mt-4');\n readonly grossSalaryColumnClass = input<string>('col-md-4 col-6 my-4');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly currencyClass = input<string>('fs-10 text-secondary fw-light');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly salaryIcon = input(faSackDollar);\n readonly sectionTitle = input('Salary');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n private readonly commonMethodsService = inject(HRCommonMethodsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getJobInformationSalary(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.jobInformationSalary.set(response);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.jobInformationSalary.set(null);\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n\n get basicSalary(): number | null {\n return this.jobInformationSalary()?.BasicSalary ?? this.jobInformationSalary()?.CurrentBasicSalary ?? null;\n }\n\n get allowances(): Allowances[] {\n return this.jobInformationSalary()?.Allowances ?? [];\n }\n\n formatAmount(value: number | null | undefined): string {\n if (value == null) {\n return '�';\n }\n\n return this.commonMethodsService.currencyDecimalFormat(value, this.currencyDecimals()) || '�';\n }\n}\n","@if (jobInformationSalary()) {\n <sky-section-divider\n [fontAwesomeIcon]=\"salaryIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n ></sky-section-divider>\n\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <div [ngClass]=\"labelClass()\">{{ 'BasicSalary' | translate }}</div>\n <div [ngClass]=\"valueClass()\">\n {{ formatAmount(basicSalary) }}\n <span [ngClass]=\"currencyClass()\">{{ currencyCode() }}</span>\n </div>\n </div>\n\n @for (allowance of allowances; track allowance) {\n <div [ngClass]=\"columnClass()\">\n <div [ngClass]=\"labelClass()\">{{ allowance.AllowanceName }}</div>\n <div [ngClass]=\"valueClass()\">\n {{ formatAmount(allowance.AllowanceAmount) }}\n <span [ngClass]=\"currencyClass()\">{{ currencyCode() }}</span>\n </div>\n </div>\n }\n\n <div [ngClass]=\"grossSalaryColumnClass()\">\n <div [ngClass]=\"labelClass()\">{{ 'GrossSalary' | translate }}</div>\n <div [ngClass]=\"valueClass()\">\n {{ formatAmount(jobInformationSalary()!.GrossSalary) }}\n <span [ngClass]=\"currencyClass()\">{{ currencyCode() }}</span>\n </div>\n </div>\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faEnvelopeOpenDollar } from '@fortawesome/pro-light-svg-icons';\nimport { SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { HRCommonMethodsService } from '../../shared/services/common-methods.service';\nimport { JobInformationServiceCharge, ServiceChargeEntitlementMode } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-charge-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent],\n templateUrl: './my-profile-service-charge-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileServiceChargeWidgetComponent implements OnInit {\n readonly jobInformationServiceCharge = signal<JobInformationServiceCharge | null>(null);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input.required<string>();\n readonly currencyCode = input<string>('');\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4 mb-5');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly serviceChargeIcon = input(faEnvelopeOpenDollar);\n readonly sectionTitle = input('ServiceCharge');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n private readonly commonMethodsService = inject(HRCommonMethodsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getJobInformationServiceCharge(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.jobInformationServiceCharge.set(response);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.jobInformationServiceCharge.set(null);\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n\n get modeLabelKey(): string {\n const mode = this.jobInformationServiceCharge()?.ServiceChargeEntitlementMode as unknown as string;\n\n switch (ServiceChargeEntitlementMode[mode as keyof typeof ServiceChargeEntitlementMode]) {\n case ServiceChargeEntitlementMode.Points:\n return 'Points';\n case ServiceChargeEntitlementMode.SalaryRatio:\n return 'SalaryRatio';\n case ServiceChargeEntitlementMode.FixedAmount:\n return 'FixedAmount';\n case ServiceChargeEntitlementMode.FixedRate:\n return 'FixedRate';\n default:\n return 'ServiceCharge';\n }\n }\n\n get value(): string {\n const data = this.jobInformationServiceCharge;\n const current = this.jobInformationServiceCharge();\n if (!current || current.ServiceChargeValue == null) {\n return '—';\n }\n\n if (\n ServiceChargeEntitlementMode[\n current.ServiceChargeEntitlementMode as unknown as keyof typeof ServiceChargeEntitlementMode\n ] === ServiceChargeEntitlementMode.FixedAmount\n ) {\n return `${this.commonMethodsService.currencyDecimalFormat(current.ServiceChargeValue, 4)} (${this.currencyCode()})`;\n }\n\n return this.commonMethodsService.currencyDecimalFormat(current.ServiceChargeValue, 2) || '—';\n }\n}\n","@if (jobInformationServiceCharge()) {\n <sky-section-divider\n [fontAwesomeIcon]=\"serviceChargeIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n ></sky-section-divider>\n\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <div [ngClass]=\"labelClass()\">{{ modeLabelKey | translate }}</div>\n <div [ngClass]=\"valueClass()\">{{ value }}</div>\n </div>\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewChild, effect, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\nimport { DxDataGridComponent, DxDataGridModule, DxPopupModule, DxTextBoxModule } from 'devextreme-angular';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faXmark } from '@fortawesome/pro-light-svg-icons';\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport CustomStore from 'devextreme/data/custom_store';\nimport { lastValueFrom } from 'rxjs';\nimport { VacationPopupType } from '../../../shared/types/common';\nimport { HighlightPipe } from '@skysoftware-co/sky-components-ui';\n\n@Component({\n selector: 'hr-next-week-vacation-insights-popup',\n standalone: true,\n imports: [\n DxPopupModule,\n HRTranslatePipe,\n CommonModule,\n FontAwesomeModule,\n DxDataGridModule,\n BayanEmployeeBadgeComponent,\n DxTextBoxModule,\n HighlightPipe,\n ],\n templateUrl: './next-week-vacation-insights-popup.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HRNextWeekVacationInsightsPopupComponent {\n @ViewChild(DxDataGridComponent, { static: false }) dataGrid!: DxDataGridComponent;\n\n readonly popupVisible = input<boolean>(false);\n readonly popupType = input<VacationPopupType>(VacationPopupType.Upcoming);\n readonly baseUrl = input<string>('');\n readonly width = input<string>('700px');\n readonly height = input<string>('480px');\n readonly gridHeight = input<string>('320px');\n readonly pageSize = input<number>(20);\n readonly showProperty = input<boolean>(false);\n\n readonly closePopupClickHandler = output<void>();\n\n popupTitle: string = '';\n popupSubTitle: string = '';\n keyExpr = 'EmployeeNumber';\n VacationPopupType = VacationPopupType;\n readonly dataSource = signal<CustomStore | null>(null);\n xMarkIcon = faXmark;\n readonly searchValue = signal('');\n\n private readonly http = inject(HttpClient);\n\n private readonly initDataSourceEffect = effect(() => {\n if (this.popupVisible()) {\n this.initDataSource();\n }\n });\n\n private initDataSource(): void {\n this.dataSource.set(\n new CustomStore({\n key: this.keyExpr,\n load: loadOptions => {\n const skip = loadOptions.skip ?? 0;\n const pageIndex = Math.floor(skip / this.pageSize()) + 1;\n\n let params = new HttpParams()\n .set('ShowDirectSubordinatesOnly', 'false')\n .set('LoadOptions.PageIndex', pageIndex.toString())\n .set('LoadOptions.PageSize', this.pageSize().toString());\n\n if (this.searchValue()) {\n params = params.set('LoadOptions.SearchValue', this.searchValue());\n }\n\n return lastValueFrom(this.http.get<any>(this.baseUrl(), { params })).then((response: any) => {\n const items = response.ResponseData?.Data ?? [];\n const totalCount = response.ResponseData?.TotalCount ?? 0;\n return { data: items, totalCount };\n });\n },\n }),\n );\n }\n\n onSearchValueChanged(e: any): void {\n this.searchValue.set(e.value ?? '');\n this.initDataSource();\n }\n\n getPopupTitle(): string {\n return (\n this.popupSubTitle || (this.popupType() === VacationPopupType.Upcoming ? 'UpcomingVacations' : 'ExpectedToReturn')\n );\n }\n\n onPopupClose() {\n this.searchValue.set('');\n this.dataSource.set(null);\n this.closePopupClickHandler.emit();\n }\n\n onHidden() {\n this.onPopupClose();\n }\n\n getEmployeeBadge(item: any): BayanEmployeeBadgeDTO {\n return {\n EmployeePhotoKey: item.PhotoPath || null,\n EmployeePhotoFailed: item.FailedToLoadPhoto || false,\n EmployeeNameInitials: item.EmployeeNameInitials || '',\n };\n }\n\n handleEmployeePhotoError(employee: any) {\n employee.FailedToLoadPhoto = true;\n }\n}\n","<dx-popup\n [visible]=\"popupVisible()\"\n [height]=\"height()\"\n [minHeight]=\"'40%'\"\n [maxHeight]=\"'70%'\"\n [width]=\"width()\"\n contentTemplate=\"popup-content\"\n [showCloseButton]=\"false\"\n shadingColor=\"rgba(0,0,0,0.4)\"\n titleTemplate=\"title\"\n [showTitle]=\"true\"\n (onHidden)=\"onHidden()\"\n>\n <div *dxTemplate=\"let data of 'title'\">\n <div class=\"d-flex justify-content-between align-items-center my-0\">\n <p class=\"fs-16 fw-meduim text-ellipsis-one-line\">\n <span class=\"text-dark-gray\">{{ popupTitle ? (popupTitle | translate) : ('NextWeekVacationInsights' | translate) }}</span>\n <span class=\"mx-2 text-primary\">({{ getPopupTitle() | translate }})</span>\n </p>\n <div class=\"py-2\" (click)=\"onPopupClose()\">\n <fa-icon [icon]=\"xMarkIcon\" class=\"fs-18 text-dark-gray cursor-pointer\"></fa-icon>\n </div>\n </div>\n </div>\n\n <div *dxTemplate=\"let d of 'popup-content'\">\n <div class=\"mb-2 d-flex justify-content-end\">\n <dx-text-box\n [width]=\"'250px'\"\n mode=\"search\"\n [value]=\"searchValue()\"\n [placeholder]=\"'Search...' | translate\"\n (onValueChanged)=\"onSearchValueChanged($event)\"\n ></dx-text-box>\n </div>\n @if (dataSource()) {\n <dx-data-grid\n class=\"popup-data-grid\"\n [dataSource]=\"dataSource()\"\n [showBorders]=\"false\"\n [showRowLines]=\"false\"\n [showColumnLines]=\"false\"\n [columnAutoWidth]=\"true\"\n [wordWrapEnabled]=\"true\"\n [height]=\"gridHeight()\"\n [allowColumnReordering]=\"false\"\n [remoteOperations]=\"{ paging: true }\"\n >\n <dxo-data-grid-sorting mode=\"none\"></dxo-data-grid-sorting>\n\n <dxo-data-grid-scrolling\n mode=\"infinite\"\n [useNative]=\"false\"\n [scrollByContent]=\"true\"\n [scrollByThumb]=\"true\"\n showScrollbar=\"always\"\n ></dxo-data-grid-scrolling>\n\n <dxo-data-grid-paging [enabled]=\"true\" [pageSize]=\"pageSize()\"></dxo-data-grid-paging>\n\n <dxi-data-grid-column\n caption=\"{{ 'Employee' | translate }}\"\n dataField=\"EmployeeName\"\n cellTemplate=\"employeeCellTemplate\"\n [minWidth]=\"250\"\n ></dxi-data-grid-column>\n\n @if (popupType() === VacationPopupType.Upcoming) {\n <dxi-data-grid-column\n caption=\"{{ 'StartDate' | translate }}\"\n dataField=\"VacationStartDate\"\n dataType=\"date\"\n format=\"dd/MM/yyyy\"\n [width]=\"120\"\n alignment=\"left\"\n ></dxi-data-grid-column>\n <dxi-data-grid-column\n caption=\"{{ 'EndDate' | translate }}\"\n dataField=\"VacationEndDate\"\n dataType=\"date\"\n format=\"dd/MM/yyyy\"\n [width]=\"120\"\n alignment=\"left\"\n ></dxi-data-grid-column>\n } @else {\n <dxi-data-grid-column\n caption=\"{{ 'ReturnDate' | translate }}\"\n dataField=\"ReturnDate\"\n dataType=\"date\"\n format=\"dd/MM/yyyy\"\n [width]=\"120\"\n alignment=\"left\"\n ></dxi-data-grid-column>\n }\n\n <div *dxTemplate=\"let cell of 'employeeCellTemplate'\">\n <div class=\"d-flex align-items-center\">\n <bayan-employee-badge\n [badge]=\"getEmployeeBadge(cell.data)\"\n badgeClass=\"badge employee-rounded-badge-xl fs-6\"\n imageClass=\"rounded-circle\"\n [width]=\"'40px'\"\n [height]=\"'40px'\"\n (employeePhotoError)=\"handleEmployeePhotoError(cell.data)\"\n ></bayan-employee-badge>\n <div class=\"d-flex flex-column ms-1\">\n <div class=\"d-flex flex-row ms-2\">\n @if (showProperty()) {\n <span\n class=\"property-badge cursor-pointer me-1\"\n [title]=\"cell.data.PropertyName\"\n [innerHTML]=\"cell.data.PropertySymbol\"\n ></span>\n }\n <span\n class=\"text-ellipsis-one-line fs-14 text-dark-gray fw-normal\"\n [title]=\"cell.data.EmployeeNumber + ' | ' + cell.data.EmployeeName\"\n [innerHTML]=\"cell.data.EmployeeNumber + ' | ' + cell.data.EmployeeName | highlight: searchValue()\"\n ></span>\n </div>\n <p\n class=\"ms-2 mt-1 text-ellipsis-one-line fs-12 text-dark-gray fw-normal mb-0\"\n [innerHTML]=\"cell.data.EmployeeAdminUnitName | highlight: searchValue()\"\n ></p>\n </div>\n </div>\n </div>\n </dx-data-grid>\n }\n </div>\n</dx-popup>\n","import { ChangeDetectionStrategy, Component, effect, inject, input, output, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\nimport { SkyWidgetSectionItemComponent, SkyWidgetSectionItem } from '@skysoftware-co/sky-components-ui';\nimport { faPlaneDeparture, faPlaneArrival } from '@fortawesome/pro-solid-svg-icons';\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\nimport { HRNextWeekVacationInsightsPopupComponent } from './components/next-week-vacation-insights-popup/next-week-vacation-insights-popup.component';\nimport { VacationPopupType } from '../shared/types/common';\n\n@Component({\n selector: 'hr-my-next-week-vacation-insights-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n FontAwesomeModule,\n SkyWidgetSectionItemComponent,\n HRNextWeekVacationInsightsPopupComponent,\n ],\n providers: [HRTranslatePipe],\n templateUrl: './my-next-week-vacation-insights-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyNextWeekVacationInsightsWidgetComponent {\n readonly baseUrl = input<string>('');\n readonly showProperty = input<boolean>(false);\n readonly cardClass = input<string>('card rounded rounded-4 card-shadow border-top-0 h-100 p-4');\n readonly titleClass = input<string>('table-header-lg fw-meduim mb-3 mt-2');\n readonly valueClass = input<string>('fs-24 mt-1 link-dark hover-primary text-decoration-none');\n readonly disabledValueClass = input<string>('fs-24 mt-1 text-muted pe-none text-decoration-none');\n readonly upcomingContainerClass = input<string>('border-start border-5 mb-4');\n readonly expectedContainerClass = input<string>('border-start border-5');\n readonly firstRowClass = input<string>('mb-4');\n readonly secondRowClass = input<string>('mt-3');\n readonly isLoadingChanged = output<boolean>();\n\n readonly popupVisible = signal(false);\n readonly popupType = signal<VacationPopupType>(VacationPopupType.Upcoming);\n readonly popupBaseUrl = signal('');\n VacationPopupType = VacationPopupType;\n\n readonly upcomingVacationsBadge = signal<SkyWidgetSectionItem>({\n Id: 1,\n Title: '',\n Value: 0,\n Icon: faPlaneDeparture,\n });\n readonly expectedToReturnBadge = signal<SkyWidgetSectionItem>({\n Id: 2,\n Title: '',\n Value: 0,\n Icon: faPlaneArrival,\n });\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n private readonly translatePipe = inject(HRTranslatePipe);\n\n private readonly loadVacationSummaryEffect = effect(() => {\n const baseUrl = this.baseUrl();\n this.initBadges(0, 0);\n this.loadVacationSummary(baseUrl);\n });\n\n private loadVacationSummary(baseUrl: string): void {\n this.isLoadingChanged.emit(true);\n this.selfWidgetsService.getVacationSummary(baseUrl).subscribe({\n next: response => {\n const data = response.ResponseData;\n this.initBadges(data.UpcomingVacationsCount, data.ExpectedToReturnCount);\n this.isLoadingChanged.emit(false);\n },\n error: () => {\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n openPopup(type: VacationPopupType): void {\n if (type === VacationPopupType.Upcoming && this.upcomingVacationsBadge()?.Value === 0) return;\n if (type === VacationPopupType.ExpectedToReturn && this.expectedToReturnBadge()?.Value === 0) return;\n\n this.popupType.set(type);\n if (type === VacationPopupType.Upcoming) {\n this.popupBaseUrl.set(`${this.baseUrl()}/hr/widgets/me/team/next-week-vacation-insights/upcoming-vacations`);\n } else {\n this.popupBaseUrl.set(`${this.baseUrl()}/hr/widgets/me/team/next-week-vacation-insights/expected-to-return`);\n }\n this.popupVisible.set(true);\n }\n\n closePopup(): void {\n this.popupVisible.set(false);\n }\n\n private initBadges(upcomingVacations: number, expectedToReturn: number): void {\n this.upcomingVacationsBadge.set({\n Id: 1,\n Title: this.translatePipe.transform('UpcomingVacations'),\n Value: upcomingVacations,\n Icon: faPlaneDeparture,\n });\n this.expectedToReturnBadge.set({\n Id: 2,\n Title: this.translatePipe.transform('ExpectedToReturn'),\n Value: expectedToReturn,\n Icon: faPlaneArrival,\n });\n }\n}\n","<div [class]=\"cardClass()\">\n <div class=\"card-body d-flex flex-column p-0 mb-3\">\n <div [class]=\"titleClass()\">\n {{ 'NextWeekVacationInsights' | translate | uppercase }}\n </div>\n <div class=\"d-flex flex-column mt-3\">\n <div [ngClass]=\"firstRowClass()\">\n <sky-widget-section-item\n [data]=\"upcomingVacationsBadge()\"\n [containerClass]=\"upcomingContainerClass()\"\n [valueClass]=\"upcomingVacationsBadge().Value === 0 ? disabledValueClass() : valueClass()\"\n [ngClass]=\"{ 'pe-none': upcomingVacationsBadge().Value === 0 }\"\n (OnWidgetSectionClick)=\"openPopup(VacationPopupType.Upcoming)\"\n ></sky-widget-section-item>\n </div>\n <div [ngClass]=\"secondRowClass()\">\n <sky-widget-section-item\n [data]=\"expectedToReturnBadge()\"\n [containerClass]=\"expectedContainerClass()\"\n [valueClass]=\"expectedToReturnBadge().Value === 0 ? disabledValueClass() : valueClass()\"\n [ngClass]=\"{ 'pe-none': expectedToReturnBadge().Value === 0 }\"\n (OnWidgetSectionClick)=\"openPopup(VacationPopupType.ExpectedToReturn)\"\n ></sky-widget-section-item>\n </div>\n </div>\n </div>\n</div>\n\n<hr-next-week-vacation-insights-popup\n [popupVisible]=\"popupVisible()\"\n [popupType]=\"popupType()\"\n [baseUrl]=\"popupBaseUrl()\"\n [showProperty]=\"showProperty()\"\n (closePopupClickHandler)=\"closePopup()\"\n></hr-next-week-vacation-insights-popup>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { faUsersRays, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { Experience } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-experiences-widget',\n standalone: true,\n imports: [CommonModule, SkySectionDividerComponent, HRTranslatePipe, SkyEmptyDesignCardComponent, FontAwesomeModule],\n templateUrl: './my-profile-experiences-widget-component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileExperiencesWidgetComponent implements OnInit {\n readonly experiences = signal<Experience[]>([]);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input<string>('');\n readonly sectionTitle = input<string>('experiences');\n\n readonly viewIcon = input<IconDefinition>(faEye);\n readonly downloadIcon = input(faFolderArrowDown);\n readonly experienceIcon = input(faUsersRays);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('mt-4');\n readonly headerRowClass = input<string>('row col-10');\n readonly actionsSpacerClass = input<string>('col-2');\n readonly labelClass = input<string>('field-secondary-label-sm text-ellipsis-one-line');\n readonly valueClass = input<string>('text-dark-gray fs-14 text-ellipsis-one-line');\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly downloadIconClass = input<string>('fs-15 mx-3 text-dark cursor-pointer');\n\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly itemRowClass = input<string>('row');\n readonly itemColumnsWrapperClass = input<string>('row col-10 mt-3');\n readonly itemColumnClass = input<string>('col-3');\n readonly actionsColumnClass = input<string>('col-2 align-items-end mt-3');\n\n readonly rowMarginBottomClass = input<string>('mb-5');\n readonly rowMarginBottomEmptyClass = input<string>('mb-4');\n\n readonly isLoadingChanged = output<boolean>();\n readonly attachmentViewed = output<any>();\n readonly attachmentDownloaded = output<any>();\n readonly errorOccurred = output<string>();\n\n private readonly service = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.service.getEmployeeExperiences(this.baseUrl()).subscribe({\n next: res => {\n this.experiences.set(res ?? []);\n this.isLoading.set(false);\n\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.experiences.set([]);\n this.isLoading.set(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n onAttachmentView(file: any) {\n this.attachmentViewed.emit(file);\n }\n\n onAttachmentDownload(file: any) {\n this.attachmentDownloaded.emit(file);\n }\n\n get wrapperClass(): string {\n const classes = [this.rowClass()];\n if (this.experiences().length > 0) {\n classes.push(this.rowMarginBottomClass());\n } else {\n classes.push(this.rowMarginBottomEmptyClass());\n }\n return classes.join(' ');\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"experienceIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div [class]=\"wrapperClass\">\n @if (experiences().length > 0) {\n <div class=\"row\">\n <div [class]=\"headerRowClass()\">\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Period' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Employer' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Position' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'TerminationReason' | translate }}</p>\n </div>\n </div>\n\n <div [class]=\"actionsSpacerClass()\"></div>\n\n @for (experience of experiences(); track experience) {\n <div [class]=\"itemColumnsWrapperClass()\">\n <div [class]=\"itemColumnClass()\">\n <p\n [class]=\"valueClass()\"\n [title]=\"(experience.StartDate | date: 'dd/MM/yyyy') + ' - ' + (experience.EndDate | date: 'dd/MM/yyyy')\"\n >\n {{ (experience.StartDate | date: 'dd/MM/yyyy') + ' - ' + (experience.EndDate | date: 'dd/MM/yyyy') }}\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"experience.Employer ? experience.Employer : ''\">\n @if (experience.Employer) {\n {{ experience.Employer }}\n } @else {\n {{ '—' }}\n }\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"experience.Position ? experience.Position : ''\">\n @if (experience.Position) {\n {{ experience.Position }}\n } @else {\n {{ '—' }}\n }\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"experience.TerminationReason ? experience.TerminationReason : ''\">\n @if (experience.TerminationReason) {\n {{ experience.TerminationReason }}\n } @else {\n {{ '—' }}\n }\n </p>\n </div>\n </div>\n\n @if (experience.Document) {\n <div [class]=\"actionsColumnClass()\">\n <fa-icon [icon]=\"viewIcon()\" [class]=\"viewIconClass()\" (click)=\"onAttachmentView(experience.Document)\"></fa-icon>\n <fa-icon [icon]=\"downloadIcon()\" [class]=\"downloadIconClass()\" (click)=\"onAttachmentDownload(experience.Document)\"></fa-icon>\n </div>\n }\n }\n </div>\n } @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoExperiencesYet' | translate)\"\n ></sky-empty-design-card>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { faFileCertificate, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { Degree } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-degrees-widget',\n standalone: true,\n imports: [CommonModule, SkySectionDividerComponent, HRTranslatePipe, SkyEmptyDesignCardComponent, FontAwesomeModule],\n templateUrl: './my-profile-degrees-widget-component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileDegreesWidgetComponent implements OnInit {\n readonly degrees = signal<Degree[]>([]);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input<string>('');\n readonly sectionTitle = input<string>('Degrees');\n\n readonly degreesIcon = input(faFileCertificate);\n readonly viewIcon = input<IconDefinition>(faEye);\n readonly downloadIcon = input(faFolderArrowDown);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('mt-4');\n readonly rowMarginBottomClass = input<string>('mb-5');\n readonly rowMarginBottomEmptyClass = input<string>('mb-4');\n readonly headerRowClass = input<string>('row col-10');\n readonly actionsSpacerClass = input<string>('col-2');\n readonly labelClass = input<string>('field-secondary-label-sm text-ellipsis-one-line');\n readonly valueClass = input<string>('text-dark-gray fs-14 text-ellipsis-one-line');\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly downloadIconClass = input<string>('fs-15 mx-3 text-dark cursor-pointer');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly itemRowClass = input<string>('row');\n readonly itemColumnsWrapperClass = input<string>('row col-10 mt-3');\n readonly itemColumnClass = input<string>('col-3');\n readonly actionsColumnClass = input<string>('col-2 align-items-end mt-3');\n\n readonly isLoadingChanged = output<boolean>();\n readonly attachmentViewed = output<any>();\n readonly attachmentDownloaded = output<any>();\n readonly errorOccurred = output<string>();\n private readonly service = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.service.getEmployeeDegrees(this.baseUrl()).subscribe({\n next: res => {\n this.degrees.set(res ?? []);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.degrees.set([]);\n this.isLoading.set(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n get wrapperClass(): string {\n const classes = [this.rowClass()];\n if (this.degrees().length > 0) {\n classes.push(this.rowMarginBottomClass());\n } else {\n classes.push(this.rowMarginBottomEmptyClass());\n }\n return classes.join(' ');\n }\n\n onAttachmentView(file: any) {\n this.attachmentViewed.emit(file);\n }\n\n onAttachmentDownload(file: any) {\n this.attachmentDownloaded.emit(file);\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"degreesIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div [class]=\"wrapperClass\">\n @if (degrees().length > 0) {\n <div class=\"row\">\n <div [class]=\"headerRowClass()\">\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Degree/Year' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Country' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Specialty' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Institute' | translate }}</p>\n </div>\n </div>\n\n <div [class]=\"actionsSpacerClass()\"></div>\n\n @for (qualification of degrees(); track qualification) {\n <div [class]=\"itemColumnsWrapperClass()\">\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"qualification.DegreeName + ' / ' + qualification.DegreeYear\">\n {{ qualification.DegreeName + ' / ' + qualification.DegreeYear }}\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"qualification.CountryName ? qualification.CountryName : ''\">\n {{ qualification.CountryName }}\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"qualification.Specialty ? qualification.Specialty : ''\">\n @if (qualification.Specialty) {\n {{ qualification.Specialty }}\n } @else {\n {{ '—' }}\n }\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"qualification.Institute ? qualification.Institute : ''\">\n @if (qualification.Institute) {\n {{ qualification.Institute }}\n } @else {\n {{ '—' }}\n }\n </p>\n </div>\n </div>\n\n @if (qualification.Document) {\n <div [class]=\"actionsColumnClass()\">\n <fa-icon [icon]=\"viewIcon()\" [class]=\"viewIconClass()\" (click)=\"onAttachmentView(qualification.Document)\"></fa-icon>\n <fa-icon [icon]=\"downloadIcon()\" [class]=\"downloadIconClass()\" (click)=\"onAttachmentDownload(qualification.Document)\"></fa-icon>\n </div>\n }\n }\n </div>\n } @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoDegreesYet' | translate)\"\n ></sky-empty-design-card>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, input } from '@angular/core';\n\n@Component({\n selector: 'hr-widget-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './widget-card-component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WidgetCardComponent {\n readonly cardClass = input<string>('bg-white shadow-sm p-3 border-1 border');\n readonly height = input<number>(110);\n\n readonly contentTemplate = input.required<TemplateRef<any>>();\n readonly context = input<any>(undefined);\n}\n","<div [class]=\"cardClass()\" [style.height.px]=\"height()\" style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"contentTemplate(); context: context()\"></ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { Dependent } from '../../shared/types/common';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { WidgetCardComponent } from '../../shared/components/widget-card/widget-card-component';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { faUsersLine } from '@fortawesome/pro-light-svg-icons';\n\n@Component({\n selector: 'hr-my-profile-dependents-widget',\n standalone: true,\n imports: [\n CommonModule,\n WidgetCardComponent,\n HRTranslatePipe,\n SkyEmptyDesignCardComponent,\n SkySectionDividerComponent,\n ],\n templateUrl: './my-profile-employee-dependents-component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyDependentsWidgetComponent implements OnInit {\n readonly baseUrl = input<string>('');\n readonly sectionTitle = input<string>('Dependents');\n readonly icon = input(faUsersLine);\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly dependents = signal<Dependent[]>([]);\n readonly isLoading = signal(true);\n\n readonly isLoadingChanged = output<boolean>();\n\n private readonly service = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.service.getEmployeeDependents(this.baseUrl()).subscribe({\n next: res => {\n this.dependents.set(res ?? []);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: () => {\n this.dependents.set([]);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"icon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div class=\"mt-4\">\n <div class=\"row mb-5\">\n @if (dependents().length) {\n @for (d of dependents(); track d) {\n <div class=\"col-lg-4 col-6 mt-4\">\n <hr-widget-card [contentTemplate]=\"dependentTemplate\" [context]=\"{ d: d }\" [height]=\"110\"></hr-widget-card>\n </div>\n }\n } @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereAreNoDependentsYet' | translate)\"\n ></sky-empty-design-card>\n }\n </div>\n</div>\n\n<ng-template #dependentTemplate let-d=\"d\">\n <p class=\"text-dark fs-16 mb-2 d-flex\">\n <span class=\"text-truncate cursor-pointer\" [title]=\"d.DependentName\">\n {{ d.DependentName }}\n </span>\n <span class=\"mx-1\">({{ d.DependentTypeName }})</span>\n </p>\n <p class=\"mb-2 fs-12\">\n <span class=\"text-muted\">{{ 'BirthDate' | translate }}:</span>\n <span class=\"text-secondary mx-1\">{{ d.BirthDate | date: 'dd/MM/yyyy' }}</span>\n </p>\n <p class=\"mb-0 fs-12\">\n <span class=\"text-muted\">{{ 'NationalNumber' | translate }}:</span>\n @if (d.NationalNumber) {\n <span class=\"text-secondary mx-1\">{{ d.NationalNumber }}</span>\n } @else {\n <span class=\"text-secondary mx-1\">—</span>\n }\n </p>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { faIslandTropical } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { EntitlementsVacation } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-vacations-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent],\n templateUrl: './my-profile-vacations-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileVacationsWidgetComponent implements OnInit {\n readonly baseUrl = input.required<string>();\n readonly sectionTitle = input<string>('Vacations');\n readonly vacationsIcon = input(faIslandTropical);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-meduim mt-2');\n readonly labelColumnClass = input<string>('col-6');\n readonly valueColumnClass = input<string>('col-6');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n readonly vacationEntitlements = signal<EntitlementsVacation[]>([]);\n readonly isLoading = signal(true);\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.loadData();\n }\n\n private loadData(): void {\n this.isLoadingChanged.emit(true);\n this.selfWidgetsService.getEntitlementsVacations(this.baseUrl()).subscribe({\n next: data => {\n this.vacationEntitlements.set(data ?? []);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.vacationEntitlements.set([]);\n this.isLoading.set(false);\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"vacationsIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (vacationEntitlements().length > 0) {\n <div [class]=\"rowClass()\">\n <div [class]=\"labelClass()\" [ngClass]=\"labelColumnClass()\">{{ 'Type' | translate }}</div>\n <div [class]=\"labelClass()\" [ngClass]=\"valueColumnClass()\">{{ 'Entitlement' | translate }}</div>\n @for (vacationEntitlement of vacationEntitlements(); track vacationEntitlement) {\n <div [class]=\"valueClass()\" [ngClass]=\"labelColumnClass()\">\n {{ vacationEntitlement.VacationTypeName }}\n </div>\n <div [class]=\"valueClass()\" [ngClass]=\"valueColumnClass()\">\n {{ vacationEntitlement.EntitlementDays }}\n </div>\n }\n </div>\n} @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"\n isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('There\\'sNoInformationInThisSectionYet' | translate)\n \"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { faFileSignature } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\nimport { EntitlementsIndemnity } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-indemnity-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-indemnity-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileIndemnityWidgetComponent implements OnInit {\n readonly baseUrl = input.required<string>();\n readonly currencyCode = input<string>('');\n readonly currencyDecimals = input<number>(0);\n readonly sectionTitle = input<string>('Indemnity');\n readonly indemnityIcon = input(faFileSignature);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-6');\n readonly topSpacingColumnClass = input<string>('col-6 mt-4');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-meduim');\n readonly dateFormat = input<string>('dd/MM/yyyy');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n readonly hasDataChanged = output<boolean>();\n\n readonly indemnityDetails = signal<EntitlementsIndemnity | null>(null);\n readonly isLoading = signal(true);\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.loadData();\n }\n\n private loadData(): void {\n this.isLoadingChanged.emit(true);\n this.selfWidgetsService.getEntitlementsIndemnity(this.baseUrl()).subscribe({\n next: data => {\n this.indemnityDetails.set(data);\n this.isLoading.set(false);\n this.hasDataChanged.emit(!!this.indemnityDetails());\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.indemnityDetails.set(null);\n this.isLoading.set(false);\n this.hasDataChanged.emit(false);\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"indemnityIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (indemnityDetails()) {\n <div [class]=\"rowClass()\">\n <div [class]=\"columnClass()\">\n <hr-info-field\n labelKey=\"IndemnityEligibility\"\n [value]=\"(indemnityDetails()!.IsEligibleForIndemnity ? 'Eligible' : 'NotEligible') | translate\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [class]=\"columnClass()\">\n <hr-info-field\n labelKey=\"ServiceYears\"\n [value]=\"'' + (indemnityDetails()!.IndemnityServiceYears ?? '')\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [class]=\"topSpacingColumnClass()\">\n <hr-info-field\n labelKey=\"StartDate\"\n [value]=\"indemnityDetails()!.IndemnityStartDate | date: dateFormat()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n} @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"\n isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('There\\'sNoInformationInThisSectionYet' | translate)\n \"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\nimport { WidgetCardComponent } from '../../../../shared/components/widget-card/widget-card-component';\n\n@Component({\n selector: 'hr-ticket-card',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, WidgetCardComponent],\n templateUrl: './ticket-card.component.html',\n})\nexport class HRTicketCardComponent {\n @Input({ required: true }) name: string | null = '';\n @Input() typeName: string | null = '';\n @Input() entitlementText: string = '';\n @Input() ticketClassName: string | null = '';\n @Input() ticketSectorName: string | null = '';\n @Input() isDependent: boolean = false;\n\n @Input() cardClass: string = 'p-3 card-shadow border border-1 h-100 rounded rounded-2';\n @Input() cardHeight: number = 135;\n @Input() nameClass: string = 'text-dark fs-16';\n @Input() subtitleClass: string = 'field-secondary-label-sm mb-3';\n @Input() labelClass: string = 'text-secondary';\n @Input() valueClass: string = 'text-dark-gray mx-1';\n}\n","<hr-widget-card [cardClass]=\"cardClass\" [height]=\"cardHeight\" [contentTemplate]=\"cardContent\"></hr-widget-card>\n\n<ng-template #cardContent>\n <p [class]=\"nameClass\" [ngClass]=\"isDependent ? 'd-flex' : ''\">\n @if (isDependent) {\n <span class=\"text-ellipsis-one-line cursor-pointer\" [title]=\"name\">{{ name }}</span>\n <span class=\"mx-1\">({{ typeName }})</span>\n } @else {\n {{ name }} ({{ 'Me' | translate }})\n }\n </p>\n <p [class]=\"subtitleClass\">{{ entitlementText }}</p>\n @if (!isDependent) {\n <p class=\"fs-12 mb-2\">\n <span [class]=\"labelClass\">{{ 'Class' | translate }}:</span>\n <span [class]=\"valueClass\">{{ ticketClassName }}</span>\n </p>\n <p class=\"fs-12\">\n <span [class]=\"labelClass\">{{ 'Sector' | translate }}:</span>\n <span [class]=\"valueClass\">{{ ticketSectorName }}</span>\n </p>\n }\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { faTicketsAirline } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTicketCardComponent } from './components/ticket-card/ticket-card.component';\nimport { EntitlementsTicket } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-ticket-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRTicketCardComponent,\n ],\n providers: [HRTranslatePipe],\n templateUrl: './my-profile-ticket-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileTicketWidgetComponent implements OnInit {\n readonly baseUrl = input.required<string>();\n readonly sectionTitle = input<string>('Tickets');\n readonly ticketsIcon = input(faTicketsAirline);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n readonly columnClass = input<string>('col-lg-4 col-6 mt-4');\n readonly cardHeight = input<number>(135);\n readonly cardClass = input<string>('p-3 card-shadow border border-1 h-100 rounded rounded-2');\n readonly nameClass = input<string>('text-dark fs-16');\n readonly subtitleClass = input<string>('field-secondary-label-sm mb-3');\n readonly labelClass = input<string>('fs-12 text-secondary');\n readonly valueClass = input<string>('fs-12 text-dark-gray mx-1');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n readonly ticketDetails = signal<EntitlementsTicket | null>(null);\n readonly isLoading = signal(true);\n readonly hasData = signal(true);\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n private readonly translatePipe = inject(HRTranslatePipe);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.loadData();\n }\n\n private loadData(): void {\n this.isLoadingChanged.emit(true);\n this.selfWidgetsService.getEntitlementsTicket(this.baseUrl()).subscribe({\n next: data => {\n this.ticketDetails.set(data);\n this.isLoading.set(false);\n const details = this.ticketDetails();\n this.hasData.set(!!details?.EmployeeTicketDetails || (details?.DependentTicketDetails?.length ?? 0) > 0);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.ticketDetails.set(null);\n this.isLoading.set(false);\n this.hasData.set(false);\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n getMonthsPerTicketEntitlement(monthsPerTicketEntitlement: number | null): string {\n if (monthsPerTicketEntitlement != null && monthsPerTicketEntitlement != 0) {\n if (monthsPerTicketEntitlement > 1) {\n const template = this.translatePipe.transform('TicketEvery{{value}}Months');\n return template.replace('{{value}}', String(monthsPerTicketEntitlement));\n } else {\n const template = this.translatePipe.transform('TicketEvery{{value}}Month');\n return template.replace('{{value}}', String(monthsPerTicketEntitlement));\n }\n } else return this.translatePipe.transform('NotEntitled');\n }\n}\n","@if (hasData()) {\n <sky-section-divider\n [fontAwesomeIcon]=\"ticketsIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n ></sky-section-divider>\n\n @let details = ticketDetails();\n @if (details) {\n @let employeeDetails = details.EmployeeTicketDetails;\n @if (!employeeDetails && details.DependentTicketDetails?.length == 0) {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"'NoTicketEntitlement' | translate\"\n ></sky-empty-design-card>\n } @else {\n <div class=\"row mb-5\">\n @if (employeeDetails) {\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\n <hr-ticket-card\n [name]=\"employeeDetails.EmployeeFirstName\"\n [entitlementText]=\"getMonthsPerTicketEntitlement(employeeDetails.MonthsPerTicketEntitlement)\"\n [ticketClassName]=\"employeeDetails.TicketClassName\"\n [ticketSectorName]=\"employeeDetails.TicketSectorName\"\n [cardClass]=\"cardClass()\"\n [cardHeight]=\"cardHeight()\"\n [nameClass]=\"nameClass()\"\n [subtitleClass]=\"subtitleClass()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-ticket-card>\n </div>\n }\n @for (dependent of details.DependentTicketDetails ?? []; track dependent) {\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\n <hr-ticket-card\n [name]=\"dependent.DependentName\"\n [typeName]=\"dependent.DependentTypeName\"\n [entitlementText]=\"getMonthsPerTicketEntitlement(dependent.MonthsPerTicketEntitlement)\"\n [isDependent]=\"true\"\n [cardClass]=\"cardClass()\"\n [cardHeight]=\"cardHeight()\"\n [nameClass]=\"nameClass()\"\n [subtitleClass]=\"subtitleClass()\"\n ></hr-ticket-card>\n </div>\n }\n </div>\n }\n } @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('NoTicketEntitlement' | translate)\"\n ></sky-empty-design-card>\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\nimport { WidgetCardComponent } from '../../../../shared/components/widget-card/widget-card-component';\n\nexport interface MedicalInsuranceField {\n labelKey: string;\n value: any;\n fallbackValue?: string;\n}\n\n@Component({\n selector: 'hr-medical-insurance-card',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, WidgetCardComponent],\n templateUrl: './medical-insurance-card.component.html',\n})\nexport class HRMedicalInsuranceCardComponent {\n @Input({ required: true }) name: string | null = '';\n @Input() typeName: string | null = '';\n @Input() isDependent: boolean = false;\n @Input() fields: MedicalInsuranceField[] = [];\n\n @Input() cardClass: string = 'p-3 card-shadow h-100 border border-1 rounded rounded-2';\n @Input() cardHeight: number = 185;\n @Input() nameClass: string = 'text-dark fs-16 mb-2';\n @Input() labelClass: string = 'field-secondary-label-sm';\n @Input() valueClass: string = 'text-dark-gray mx-1';\n}\n","<hr-widget-card [cardClass]=\"cardClass\" [height]=\"cardHeight\" [contentTemplate]=\"cardContent\"></hr-widget-card>\n\n<ng-template #cardContent>\n <p [class]=\"nameClass\" [ngClass]=\"isDependent ? 'd-flex' : ''\">\n @if (isDependent) {\n <span class=\"text-ellipsis-one-line cursor-pointer\" [title]=\"name\">{{ name }}</span>\n <span class=\"mx-1\">({{ typeName }})</span>\n } @else {\n {{ name }} ({{ 'Me' | translate }})\n }\n </p>\n @for (field of fields; track field.labelKey; let last = $last) {\n <p [class.mb-2]=\"!last\">\n <span [class]=\"labelClass\">{{ field.labelKey | translate }}:</span>\n <span [class]=\"valueClass\">{{ field.value || (field.fallbackValue ?? '—') }}</span>\n </p>\n }\n</ng-template>\n","import { CommonModule, DatePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { faNotesMedical } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport {\n HRMedicalInsuranceCardComponent,\n MedicalInsuranceField,\n} from './components/medical-insurance-card/medical-insurance-card.component';\nimport { EntitlementsMedicalInsurance, DependentsMedicalInsurance } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-medical-insurance-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRMedicalInsuranceCardComponent,\n ],\n templateUrl: './my-profile-medical-insurance-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileMedicalInsuranceWidgetComponent implements OnInit {\n readonly baseUrl = input.required<string>();\n readonly sectionTitle = input<string>('MedicalInsurance');\n readonly medicalInsuranceIcon = input(faNotesMedical);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('text-dark-gray mx-1');\n readonly columnClass = input<string>('col-lg-4 col-6 mt-4');\n readonly cardHeight = input<number>(185);\n readonly cardClass = input<string>('p-3 card-shadow h-100 border border-1 rounded rounded-2');\n readonly nameClass = input<string>('text-dark fs-16 mb-2');\n readonly dateFormat = input<string>('dd/MM/yyyy');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n readonly medicalInsuranceDetails = signal<EntitlementsMedicalInsurance | null>(null);\n readonly isLoading = signal(true);\n readonly employeeFields = signal<MedicalInsuranceField[]>([]);\n\n private datePipe = new DatePipe('en-US');\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.loadData();\n }\n\n private loadData(): void {\n this.isLoadingChanged.emit(true);\n this.selfWidgetsService.getEntitlementsMedicalInsurance(this.baseUrl()).subscribe({\n next: data => {\n this.medicalInsuranceDetails.set(data);\n this.buildEmployeeFields();\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.medicalInsuranceDetails.set(null);\n this.isLoading.set(false);\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n private buildEmployeeFields(): void {\n const details = this.medicalInsuranceDetails();\n if (!details?.EmployeeMedicalInsurance) return;\n const emp = details.EmployeeMedicalInsurance;\n this.employeeFields.set([\n { labelKey: 'Class', value: emp.MedicalInsuranceClassName },\n { labelKey: 'Number', value: emp.MedicalInsuranceNumber },\n { labelKey: 'CoverageDate', value: this.datePipe.transform(emp.CoverageDate, this.dateFormat()) },\n { labelKey: 'TotalEmployeeShare', value: details.TotalEmployeeShare },\n { labelKey: 'TotalEmployerShare', value: details.TotalEmployerShare },\n ]);\n }\n\n getDependentFields(dependent: DependentsMedicalInsurance): MedicalInsuranceField[] {\n return [\n { labelKey: 'Class', value: dependent.MedicalInsuranceClassName },\n { labelKey: 'Number', value: dependent.MedicalInsuranceNumber },\n { labelKey: 'CoverageDate', value: this.datePipe.transform(dependent.CoverageDate, this.dateFormat()) },\n ];\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"medicalInsuranceIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (medicalInsuranceDetails()) {\n <div class=\"row mb-5\">\n @if (medicalInsuranceDetails()!.EmployeeMedicalInsurance) {\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\n <hr-medical-insurance-card\n [name]=\"medicalInsuranceDetails()?.EmployeeMedicalInsurance?.EmployeeFirstName || ''\"\n [fields]=\"employeeFields()\"\n [cardClass]=\"cardClass()\"\n [cardHeight]=\"cardHeight()\"\n [nameClass]=\"nameClass()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-medical-insurance-card>\n </div>\n }\n @for (dependent of medicalInsuranceDetails()!.DependentsMedicalInsurance; track dependent) {\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\n <hr-medical-insurance-card\n [name]=\"dependent.DependentName\"\n [typeName]=\"dependent.DependentTypeName\"\n [isDependent]=\"true\"\n [fields]=\"getDependentFields(dependent)\"\n [cardClass]=\"cardClass()\"\n [cardHeight]=\"cardHeight()\"\n [nameClass]=\"nameClass()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-medical-insurance-card>\n </div>\n }\n </div>\n} @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"\n isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('NotCoveredByMedicalInsurance' | translate)\n \"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { faGrid2Plus } from '@fortawesome/pro-light-svg-icons';\nimport { SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\nimport { forkJoin } from 'rxjs';\n\n@Component({\n selector: 'hr-my-profile-entitlements-others-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, HRInfoFieldComponent],\n templateUrl: './my-profile-entitlements-others-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileEntitlementsOthersWidgetComponent implements OnInit {\n readonly baseUrl = input.required<string>();\n readonly sectionTitle = input<string>('Others');\n readonly othersIcon = input(faGrid2Plus);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4 mb-5');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-meduim');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n readonly isEligibleForOvertime = signal(false);\n readonly isSocialSecurityMember = signal(false);\n readonly isLoading = signal(true);\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.loadData();\n }\n\n private loadData(): void {\n this.isLoadingChanged.emit(true);\n forkJoin({\n overtime: this.selfWidgetsService.getEntitlementsOvertime(this.baseUrl()),\n socialSecurity: this.selfWidgetsService.getEntitlementsSocialSecurity(this.baseUrl()),\n }).subscribe({\n next: responses => {\n this.isEligibleForOvertime.set(responses.overtime.ResponseData?.IsEligibleForOvertime ?? false);\n this.isSocialSecurityMember.set(responses.socialSecurity.ResponseData?.IsSocialSecurityMember ?? false);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"othersIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div [class]=\"rowClass()\">\n <div [class]=\"columnClass()\">\n <hr-info-field\n labelKey=\"OvertimeEligibility\"\n [value]=\"(isEligibleForOvertime() ? 'Eligible' : 'NotEligible') | translate\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [class]=\"columnClass()\">\n <hr-info-field\n labelKey=\"SocialSecurityEligibility\"\n [value]=\"(isSocialSecurityMember() ? 'Member' : 'NotMember') | translate\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FontAwesomeModule, IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { DocumentRow } from '../../../../shared/types/common';\n\n@Component({\n selector: 'hr-document-row',\n standalone: true,\n imports: [CommonModule, FontAwesomeModule],\n templateUrl: './document-row.component.html',\n})\nexport class HRDocumentRowComponent {\n @Input() doc!: DocumentRow;\n @Input() valueClass: string = 'text-dark-gray fs-14';\n @Input() viewIcon: IconDefinition = faEye;\n @Input() downloadIcon: IconDefinition = faFolderArrowDown;\n @Input() viewIconClass: string = 'fs-15 text-dark cursor-pointer';\n @Input() downloadIconClass: string = 'fs-15 text-dark cursor-pointer';\n @Input() rowClass: string = 'row';\n @Input() dataColClass: string = 'col-10';\n @Input() dataColSpacingClass: string = 'mt-2';\n @Input() dataRowClass: string = 'row align-items-center py-1 gx-0';\n @Input() typeColClass: string = 'col-3';\n @Input() numberColClass: string = 'col-3';\n @Input() issueDateColClass: string = 'col-3';\n @Input() expiryDateColClass: string = 'col-3';\n @Input() actionsColClass: string = 'col-2 d-flex align-items-center';\n @Input() actionsWrapperClass: string = 'd-flex align-items-center gap-2';\n @Input() downloadContainerClass: string =\n 'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer';\n\n @Output() attachmentView = new EventEmitter<DocumentRow>();\n @Output() download = new EventEmitter<DocumentRow>();\n\n onAttachmentView(): void {\n this.attachmentView.emit(this.doc);\n }\n\n onDownload(): void {\n this.download.emit(this.doc);\n }\n}\n","<div [class]=\"rowClass\">\n <div [class]=\"dataColClass + ' ' + dataColSpacingClass\">\n <div [class]=\"dataRowClass\">\n <div [class]=\"typeColClass\">\n <p [class]=\"valueClass + ' mb-0 text-ellipsis-one-line'\" [title]=\"doc.DocumentTypeName\">\n {{ doc.DocumentTypeName }}\n </p>\n </div>\n\n <div [class]=\"numberColClass\">\n <p [class]=\"valueClass + ' mb-0'\">\n {{ doc.DocumentNumber || '—' }}\n </p>\n </div>\n\n <div [class]=\"issueDateColClass\">\n <p [class]=\"valueClass + ' mb-0'\">\n {{ doc.IssueDate ? (doc.IssueDate | date: 'dd/MM/yyyy') : '—' }}\n </p>\n </div>\n\n <div [class]=\"expiryDateColClass\">\n <p [class]=\"valueClass + ' mb-0'\">\n {{ doc.ExpiryDate ? (doc.ExpiryDate | date: 'dd/MM/yyyy') : '—' }}\n </p>\n </div>\n </div>\n </div>\n\n <div [class]=\"actionsColClass\">\n @if (doc.Attachments?.length) {\n <div [class]=\"actionsWrapperClass\">\n @if (doc.Attachments.length === 1) {\n <fa-icon [icon]=\"viewIcon\" [class]=\"viewIconClass\" (click)=\"onAttachmentView()\"></fa-icon>\n } @else {\n <div class=\"invisible\">\n <fa-icon [icon]=\"viewIcon\"></fa-icon>\n </div>\n }\n\n <div [class]=\"downloadContainerClass\" (click)=\"onDownload()\">\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\"></fa-icon>\n <span class=\"ps-1\">{{ doc.Attachments.length }}</span>\n </div>\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FontAwesomeModule, IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\nimport { HRDocumentRowComponent } from '../document-row/document-row.component';\nimport { DocumentRow } from '../../../../shared/types/common';\n\n@Component({\n selector: 'hr-document-card',\n standalone: true,\n imports: [CommonModule, FontAwesomeModule, HRTranslatePipe, HRDocumentRowComponent],\n templateUrl: './document-card.component.html',\n})\nexport class HRDocumentCardComponent {\n @Input() title: string = '';\n @Input() documents: DocumentRow[] = [];\n @Input() titleContainerClass: string = 'mb-3';\n @Input() titleClass: string = 'text-dark fs-16 mb-0';\n @Input() valueClass: string = 'text-dark-gray fs-14';\n @Input() viewIcon: IconDefinition = faEye;\n @Input() downloadIcon: IconDefinition = faFolderArrowDown;\n @Input() viewIconClass: string = 'fs-15 text-dark cursor-pointer';\n @Input() downloadIconClass: string = 'fs-15 text-dark cursor-pointer';\n @Input() labelClass: string = 'field-secondary-label-sm mb-1';\n @Input() rowClass: string = 'row';\n @Input() dataColClass: string = 'col-10';\n @Input() dataColSpacingClass: string = 'mt-2';\n @Input() dataRowClass: string = 'row align-items-center py-1 gx-0';\n @Input() typeColClass: string = 'col-3';\n @Input() numberColClass: string = 'col-3';\n @Input() issueDateColClass: string = 'col-3';\n @Input() expiryDateColClass: string = 'col-3';\n @Input() actionsColClass: string = 'col-2 d-flex align-items-center';\n @Input() actionsWrapperClass: string = 'd-flex align-items-center gap-2';\n @Input() downloadContainerClass: string =\n 'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer';\n\n @Output() attachmentView = new EventEmitter<DocumentRow>();\n @Output() download = new EventEmitter<DocumentRow>();\n\n onAttachmentView(doc: DocumentRow): void {\n this.attachmentView.emit(doc);\n }\n\n onDownload(doc: DocumentRow): void {\n this.download.emit(doc);\n }\n}\n","@if (title) {\n <div [class]=\"titleContainerClass\">\n <p [class]=\"titleClass\">{{ title }}</p>\n </div>\n}\n\n<div [class]=\"rowClass\">\n <div [class]=\"dataColClass\">\n <div class=\"row g-1\">\n <div [class]=\"typeColClass\">\n <p [class]=\"labelClass\">{{ 'Type' | translate }}</p>\n </div>\n\n <div [class]=\"numberColClass\">\n <p [class]=\"labelClass\">{{ 'DocumentNumber' | translate }}</p>\n </div>\n\n <div [class]=\"issueDateColClass\">\n <p [class]=\"labelClass\">{{ 'IssueDate' | translate }}</p>\n </div>\n\n <div [class]=\"expiryDateColClass\">\n <p [class]=\"labelClass\">{{ 'ExpiryDate' | translate }}</p>\n </div>\n </div>\n </div>\n\n <div [class]=\"actionsColClass\"></div>\n</div>\n\n@for (doc of documents; track doc) {\n <hr-document-row\n [doc]=\"doc\"\n [valueClass]=\"valueClass\"\n [viewIcon]=\"viewIcon\"\n [downloadIcon]=\"downloadIcon\"\n [viewIconClass]=\"viewIconClass\"\n [downloadIconClass]=\"downloadIconClass\"\n [rowClass]=\"rowClass\"\n [dataColClass]=\"dataColClass\"\n [dataColSpacingClass]=\"dataColSpacingClass\"\n [dataRowClass]=\"dataRowClass\"\n [typeColClass]=\"typeColClass\"\n [numberColClass]=\"numberColClass\"\n [issueDateColClass]=\"issueDateColClass\"\n [expiryDateColClass]=\"expiryDateColClass\"\n [actionsColClass]=\"actionsColClass\"\n [actionsWrapperClass]=\"actionsWrapperClass\"\n [downloadContainerClass]=\"downloadContainerClass\"\n (attachmentView)=\"onAttachmentView($event)\"\n (download)=\"onDownload($event)\"\n ></hr-document-row>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\nimport { DocumentRow } from '../../../../shared/types/common';\n\n@Component({\n selector: 'hr-document-tablet-card',\n standalone: true,\n imports: [CommonModule, FontAwesomeModule, HRTranslatePipe],\n templateUrl: './document-tablet-card.component.html',\n})\nexport class HrDocumentTabletCardComponent {\n @Input() doc!: DocumentRow;\n @Input() isOdd: boolean = false;\n\n @Input() downloadIcon: any;\n @Input() viewIcon: any;\n @Input() cardHeight = '175px';\n\n // Shared classes (same as large screen)\n @Input() labelClass: string = 'field-secondary-label-sm';\n @Input() valueClass: string = 'table-cell-md text-break';\n @Input() downloadIconClass: string = 'fs-6 text-dark';\n @Input() downloadContainerClass: string =\n 'bg-light-gray rounded-3 d-flex justify-content-center align-items-center cursor-pointer px-2';\n @Input() downloadCountClass: string = 'text-dark fs-12 fw-bold ps-2';\n\n // Tablet-specific classes\n @Input() tabletContainerClass: string = 'mt-3';\n @Input() tabletCardClass: string = 'row px-4 py-3 card-shadow';\n @Input() tabletColWithAttachmentClass: string = 'col-5';\n @Input() tabletColWithoutAttachmentClass: string = 'col-6';\n @Input() tabletActionsColClass: string = 'col-1 d-flex align-items-center';\n @Input() tabletBottomRowSpacingClass: string = 'mt-4';\n\n @Output() view = new EventEmitter<DocumentRow>();\n @Output() download = new EventEmitter<DocumentRow>();\n\n onView() {\n this.view.emit(this.doc);\n }\n\n onDownload() {\n this.download.emit(this.doc);\n }\n}\n","<div [class]=\"tabletContainerClass\">\n <div [class]=\"tabletCardClass\" [style.height]=\"cardHeight\" [ngClass]=\"{ 'me-1': !isOdd, 'ms-1': isOdd }\">\n <div [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\n <p [class]=\"labelClass\">{{ 'Type' | translate }}</p>\n <p [class]=\"valueClass\">{{ doc.DocumentTypeName }}</p>\n </div>\n\n <div [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\n <p [class]=\"labelClass\">{{ 'Number' | translate }}</p>\n <p [class]=\"valueClass\">\n {{ doc.DocumentNumber || '—' }}\n </p>\n </div>\n\n @if (doc.Attachments?.length) {\n <div [class]=\"tabletActionsColClass\">\n <div [class]=\"downloadContainerClass\" (click)=\"onDownload()\">\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\"></fa-icon>\n <span [class]=\"downloadCountClass\">\n {{ doc.Attachments.length }}\n </span>\n </div>\n </div>\n }\n\n <div\n [class]=\"tabletBottomRowSpacingClass\"\n [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\"\n >\n <p [class]=\"labelClass\">{{ 'IssueDate' | translate }}</p>\n <p [class]=\"valueClass\">\n {{ doc.IssueDate ? (doc.IssueDate | date: 'dd/MM/yyyy') : '—' }}\n </p>\n </div>\n\n <div\n [class]=\"tabletBottomRowSpacingClass\"\n [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\"\n >\n <p [class]=\"labelClass\">{{ 'ExpiryDate' | translate }}</p>\n <p [class]=\"valueClass\">\n {{ doc.ExpiryDate ? (doc.ExpiryDate | date: 'dd/MM/yyyy') : '—' }}\n </p>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { faFileLines, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { HRDocumentCardComponent } from '../documents-widgets/components/document-card/document-card.component';\nimport { HrDocumentTabletCardComponent } from '../documents-widgets/components/document-tablet-card/document-tablet-card.component';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { DependentDocumentGroup } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-dependents-documents-widget',\n standalone: true,\n imports: [\n CommonModule,\n SkySectionDividerComponent,\n HRTranslatePipe,\n SkyEmptyDesignCardComponent,\n FontAwesomeModule,\n HRDocumentCardComponent,\n HrDocumentTabletCardComponent,\n ],\n templateUrl: './my-profile-dependents-documents-widget.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileDependentsDocumentsWidgetComponent implements OnInit {\n documents: DependentDocumentGroup[] = [];\n groupedDocuments: DependentDocumentGroup[] = [];\n readonly isLoading = signal(true);\n\n readonly baseUrl = input<string>('');\n readonly sectionTitle = input<string>('DependentsDocuments');\n readonly icon = input(faFileLines);\n readonly viewIcon = input<IconDefinition>(faEye);\n readonly downloadIcon = input(faFolderArrowDown);\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly valueClass = input<string>('text-dark-gray fs-14 text-break');\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly downloadIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n readonly cardClass = input<string>('mt-4 card-shadow position-relative p-4');\n readonly topSpacingColClass = input<string>('col-md-3 col-6 mt-4');\n readonly titleContainerClass = input<string>('mb-3');\n readonly titleClass = input<string>('text-dark fs-16 mb-0');\n readonly labelClass = input<string>('field-secondary-label-sm mb-1');\n readonly actionsColumnClass = input<string>('col-2 d-flex flex-column mt-3');\n readonly rowClass = input<string>('row');\n readonly dataColClass = input<string>('col-10');\n readonly dataColSpacingClass = input<string>('mt-2');\n readonly dataRowClass = input<string>('row align-items-center py-1 gx-0');\n readonly typeColClass = input<string>('col-3');\n readonly numberColClass = input<string>('col-3');\n readonly issueDateColClass = input<string>('col-3');\n readonly expiryDateColClass = input<string>('col-3');\n readonly actionsColClass = input<string>('col-2 d-flex align-items-center');\n readonly actionsWrapperClass = input<string>('d-flex align-items-center gap-2');\n readonly downloadContainerClass = input<string>(\n 'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer',\n );\n\n readonly tabletContainerClass = input<string>('mt-3');\n readonly tabletCardClass = input<string>('row px-4 py-3 card-shadow');\n readonly tabletCardHeight = input<string>('175px');\n readonly tabletColWithAttachmentClass = input<string>('col-5');\n readonly tabletColWithoutAttachmentClass = input<string>('col-6');\n readonly tabletActionsColClass = input<string>('col-1 d-flex align-items-center');\n readonly tabletBottomRowSpacingClass = input<string>('mt-4');\n readonly tabletDownloadCountClass = input<string>('text-dark fs-12 fw-bold ps-2');\n\n readonly isMobile = input<boolean>(false);\n readonly isTablet = input<boolean>(false);\n\n readonly isLoadingChanged = output<boolean>();\n readonly attachmentViewed = output<any>();\n readonly attachmentDownloaded = output<any>();\n readonly errorOccurred = output<string>();\n\n private readonly service = inject(HRSelfWidgetsService);\n\n readonly groups = signal<any[]>([]);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.service.getDependentDocuments(this.baseUrl()).subscribe({\n next: (res: any) => {\n this.groups.set(res ?? []);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: (error: any) => {\n this.groups.set([]);\n this.isLoading.set(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n onAttachmentView(doc: any): void {\n if (doc.Attachments?.length) {\n this.attachmentViewed.emit(doc.Attachments[0]);\n }\n }\n\n onDownload(group: any): void {\n const attachments = group.Attachments;\n\n if (!attachments.length) return;\n\n this.attachmentDownloaded.emit(attachments);\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"icon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div class=\"mt-4\">\n @if (groups().length) {\n @for (group of groups(); track group; let first = $first) {\n <div [class]=\"!(isTablet() || isMobile()) ? cardClass() : ''\" [class.mt-3]=\"!first\">\n @if (!(isTablet() || isMobile())) {\n <hr-document-card\n [title]=\"group.DependentName + ' (' + group.DependentTypeName + ')'\"\n [documents]=\"group.Documents\"\n [valueClass]=\"valueClass()\"\n [viewIcon]=\"viewIcon()\"\n [downloadIcon]=\"downloadIcon()\"\n [viewIconClass]=\"viewIconClass()\"\n [downloadIconClass]=\"downloadIconClass()\"\n [titleContainerClass]=\"titleContainerClass()\"\n [titleClass]=\"titleClass()\"\n [labelClass]=\"labelClass()\"\n [rowClass]=\"rowClass()\"\n [dataColClass]=\"dataColClass()\"\n [dataColSpacingClass]=\"dataColSpacingClass()\"\n [dataRowClass]=\"dataRowClass()\"\n [typeColClass]=\"typeColClass()\"\n [numberColClass]=\"numberColClass()\"\n [issueDateColClass]=\"issueDateColClass()\"\n [expiryDateColClass]=\"expiryDateColClass()\"\n [actionsColClass]=\"actionsColClass()\"\n [actionsWrapperClass]=\"actionsWrapperClass()\"\n [downloadContainerClass]=\"downloadContainerClass()\"\n (attachmentView)=\"onAttachmentView($event)\"\n (download)=\"onDownload($event)\"\n ></hr-document-card>\n } @else {\n <div [class]=\"titleContainerClass()\">\n <p [class]=\"titleClass()\">{{ group.DependentName }} ({{ group.DependentTypeName }})</p>\n </div>\n <div class=\"row mx-1\">\n @for (doc of group.Documents; track doc; let odd = $odd) {\n <div class=\"col-6 mb-2\">\n <hr-document-tablet-card\n [doc]=\"doc\"\n [isOdd]=\"odd\"\n [viewIcon]=\"viewIcon()\"\n [downloadIcon]=\"downloadIcon()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n [downloadIconClass]=\"downloadIconClass()\"\n [downloadContainerClass]=\"downloadContainerClass()\"\n [downloadCountClass]=\"tabletDownloadCountClass()\"\n [tabletContainerClass]=\"tabletContainerClass()\"\n [tabletCardClass]=\"tabletCardClass()\"\n [cardHeight]=\"tabletCardHeight()\"\n [tabletColWithAttachmentClass]=\"tabletColWithAttachmentClass()\"\n [tabletColWithoutAttachmentClass]=\"tabletColWithoutAttachmentClass()\"\n [tabletActionsColClass]=\"tabletActionsColClass()\"\n [tabletBottomRowSpacingClass]=\"tabletBottomRowSpacingClass()\"\n (view)=\"onAttachmentView(doc)\"\n (download)=\"onDownload(doc)\"\n ></hr-document-tablet-card>\n </div>\n }\n </div>\n }\n </div>\n }\n } @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"\n isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereAreNoDependentsDocumentsYet' | translate)\n \"\n ></sky-empty-design-card>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { faFileLines, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { HRDocumentCardComponent } from '../documents-widgets/components/document-card/document-card.component';\nimport { HrDocumentTabletCardComponent } from '../documents-widgets/components/document-tablet-card/document-tablet-card.component';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\n\n@Component({\n selector: 'hr-my-profile-personal-documents-widget',\n standalone: true,\n imports: [\n CommonModule,\n SkySectionDividerComponent,\n HRTranslatePipe,\n SkyEmptyDesignCardComponent,\n FontAwesomeModule,\n HRDocumentCardComponent,\n HrDocumentTabletCardComponent,\n ],\n templateUrl: './my-profile-official-documents-widget.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfilePersonalDocumentsWidgetComponent implements OnInit {\n readonly documents = signal<any[]>([]);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input<string>('');\n readonly employeeName = input<string>('');\n readonly sectionTitle = input<string>('EmployeeDocuments');\n readonly icon = input(faFileLines);\n readonly viewIcon = input<IconDefinition>(faEye);\n readonly downloadIcon = input(faFolderArrowDown);\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly valueClass = input<string>('text-dark-gray fs-14 text-break');\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly downloadIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n readonly cardClass = input<string>('mt-4 card-shadow position-relative p-4');\n readonly topSpacingColClass = input<string>('col-md-3 col-6 mt-4');\n readonly titleContainerClass = input<string>('mb-3');\n readonly titleClass = input<string>('text-dark fs-16 mb-0');\n readonly labelClass = input<string>('field-secondary-label-sm mb-1');\n readonly actionsColumnClass = input<string>('col-2 d-flex flex-column mt-3');\n readonly rowClass = input<string>('row');\n readonly dataColClass = input<string>('col-10');\n readonly dataColSpacingClass = input<string>('mt-2');\n readonly dataRowClass = input<string>('row align-items-center py-1 gx-0');\n readonly typeColClass = input<string>('col-3');\n readonly numberColClass = input<string>('col-3');\n readonly issueDateColClass = input<string>('col-3');\n readonly expiryDateColClass = input<string>('col-3');\n readonly actionsColClass = input<string>('col-2 d-flex align-items-center');\n readonly actionsWrapperClass = input<string>('d-flex align-items-center gap-2');\n readonly downloadContainerClass = input<string>(\n 'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer',\n );\n\n readonly tabletContainerClass = input<string>('mt-3');\n readonly tabletCardClass = input<string>('row px-4 py-3 card-shadow');\n readonly tabletCardHeight = input<string>('175px');\n readonly tabletColWithAttachmentClass = input<string>('col-5');\n readonly tabletColWithoutAttachmentClass = input<string>('col-6');\n readonly tabletActionsColClass = input<string>('col-1 d-flex align-items-center');\n readonly tabletBottomRowSpacingClass = input<string>('mt-4');\n readonly tabletDownloadCountClass = input<string>('text-dark fs-12 fw-bold ps-2');\n\n readonly isMobile = input<boolean>(false);\n readonly isTablet = input<boolean>(false);\n\n readonly isLoadingChanged = output<boolean>();\n readonly attachmentViewed = output<any>();\n readonly attachmentDownloaded = output<any>();\n readonly errorOccurred = output<string>();\n\n private readonly service = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.isLoadingChanged.emit(true);\n this.service.getPersonalDocuments(this.baseUrl()).subscribe({\n next: (res: any) => {\n this.documents.set(res ?? []);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: (error: any) => {\n this.documents.set([]);\n this.isLoading.set(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n onAttachmentView(doc: any): void {\n if (doc.Attachments?.length) {\n this.attachmentViewed.emit(doc.Attachments[0]);\n }\n }\n\n onDownload(doc: any): void {\n const attachments = doc.Attachments ?? [];\n if (!attachments.length) return;\n this.attachmentDownloaded.emit(attachments);\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"icon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div class=\"mt-4\">\n @if (documents().length) {\n <div [class]=\"!(isTablet() || isMobile()) ? cardClass() : ''\">\n @if (!(isTablet() || isMobile())) {\n <hr-document-card\n [title]=\"employeeName() + ' (' + ('Me' | translate) + ')'\"\n [documents]=\"documents()\"\n [valueClass]=\"valueClass()\"\n [viewIcon]=\"viewIcon()\"\n [downloadIcon]=\"downloadIcon()\"\n [viewIconClass]=\"viewIconClass()\"\n [downloadIconClass]=\"downloadIconClass()\"\n [titleContainerClass]=\"titleContainerClass()\"\n [titleClass]=\"titleClass()\"\n [labelClass]=\"labelClass()\"\n [rowClass]=\"rowClass()\"\n [dataColClass]=\"dataColClass()\"\n [dataColSpacingClass]=\"dataColSpacingClass()\"\n [dataRowClass]=\"dataRowClass()\"\n [typeColClass]=\"typeColClass()\"\n [numberColClass]=\"numberColClass()\"\n [issueDateColClass]=\"issueDateColClass()\"\n [expiryDateColClass]=\"expiryDateColClass()\"\n [actionsColClass]=\"actionsColClass()\"\n [actionsWrapperClass]=\"actionsWrapperClass()\"\n [downloadContainerClass]=\"downloadContainerClass()\"\n (attachmentView)=\"onAttachmentView($event)\"\n (download)=\"onDownload($event)\"\n ></hr-document-card>\n } @else {\n <div [class]=\"titleContainerClass()\">\n <p [class]=\"titleClass()\">{{ employeeName() }} ({{ 'Me' | translate }})</p>\n </div>\n\n <div class=\"row mx-1\">\n @for (doc of documents(); track doc; let odd = $odd) {\n <div class=\"col-6 mb-2\">\n <hr-document-tablet-card\n [doc]=\"doc\"\n [isOdd]=\"odd\"\n [viewIcon]=\"viewIcon()\"\n [downloadIcon]=\"downloadIcon()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n [downloadIconClass]=\"downloadIconClass()\"\n [downloadContainerClass]=\"downloadContainerClass()\"\n [downloadCountClass]=\"tabletDownloadCountClass()\"\n [tabletContainerClass]=\"tabletContainerClass()\"\n [tabletCardClass]=\"tabletCardClass()\"\n [cardHeight]=\"tabletCardHeight()\"\n [tabletColWithAttachmentClass]=\"tabletColWithAttachmentClass()\"\n [tabletColWithoutAttachmentClass]=\"tabletColWithoutAttachmentClass()\"\n [tabletActionsColClass]=\"tabletActionsColClass()\"\n [tabletBottomRowSpacingClass]=\"tabletBottomRowSpacingClass()\"\n (view)=\"onAttachmentView(doc)\"\n (download)=\"onDownload(doc)\"\n ></hr-document-tablet-card>\n </div>\n }\n </div>\n }\n </div>\n } @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"\n isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereAreNoEmployeeDocumentsYet' | translate)\n \"\n ></sky-empty-design-card>\n }\n</div>\n","import { ChangeDetectionStrategy, Component, effect, input, output } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faChevronDown } from '@fortawesome/pro-solid-svg-icons';\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\nimport { HighlightPipe, isRTL } from '@skysoftware-co/sky-components-ui';\nimport { EmployeeMainInfo } from '../../../shared/types/common';\n\n@Component({\n selector: 'app-employee-main-info-card',\n standalone: true,\n imports: [FontAwesomeModule, NgClass, BayanEmployeeBadgeComponent, HighlightPipe],\n templateUrl: './employee-main-info-card.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EmployeeMainInfoCardComponent {\n readonly employeeMainInfo = input<EmployeeMainInfo | null>(null);\n readonly searchValue = input<string>('');\n\n readonly badgeClass = input<string>('badge employee-rounded-badge-xl fs-5');\n readonly badgeImageClass = input<string>('rounded-circle');\n readonly badgeWidth = input<string>('50px');\n readonly badgeHeight = input<string>('50px');\n readonly employeeInfoContainerClass = input<string>('d-flex align-content-center');\n readonly employeeDetailsClass = input<string>('ms-3');\n readonly employeeNameContainerClass = input<string>('d-flex align-items-center');\n readonly employeeNameClass = input<string>('fs-13 text-dark-gray fw-medium text-ellipsis-one-line');\n readonly employeePositionClass = input<string>('fs-12 fw-normal text-dark-gray text-ellipsis-one-line mb-1');\n readonly employeeGradeClass = input<string>('fs-12 text-dark-gray');\n\n readonly showGrade = input<boolean>(false);\n readonly showPropertySymbol = input<boolean>(true);\n readonly showChangeEmployeeButton = input<boolean>(false);\n readonly alignCenter = input<boolean>(true);\n\n readonly ChangeEmployeeButtonHandler = output<void>();\n readonly isRTL = isRTL();\n employeeBadge: BayanEmployeeBadgeDTO = {\n EmployeePhotoKey: null,\n EmployeePhotoFailed: false,\n EmployeeNameInitials: '',\n };\n\n dropDownIcon = faChevronDown;\n faildToLoadEmployeePhoto = false;\n\n constructor() {\n effect(() => {\n const info = this.employeeMainInfo();\n if (info) {\n this.employeeBadge.EmployeePhotoKey = info.PhotoKey || null;\n this.employeeBadge.EmployeeNameInitials = info.EmployeeNameInitials || '';\n this.employeeBadge.EmployeePhotoFailed = false;\n }\n });\n }\n\n convertEmployee() {\n this.ChangeEmployeeButtonHandler.emit();\n }\n\n handleEmployeePhotoError() {\n this.employeeBadge.EmployeePhotoFailed = true;\n }\n}\n","@if (employeeMainInfo(); as info) {\n <div [class]=\"employeeInfoContainerClass()\" [ngClass]=\"{ 'align-items-center': alignCenter() }\">\n <bayan-employee-badge\n [badge]=\"employeeBadge\"\n [badgeClass]=\"badgeClass()\"\n [imageClass]=\"badgeImageClass()\"\n [width]=\"badgeWidth()\"\n [height]=\"badgeHeight()\"\n (employeePhotoError)=\"handleEmployeePhotoError()\"\n ></bayan-employee-badge>\n\n <div [class]=\"employeeDetailsClass()\">\n <div [class]=\"employeeNameContainerClass()\">\n <div\n [class]=\"employeeNameClass()\"\n data-bs-toggle=\"tooltip\"\n [title]=\"info.EmployeeNumber + ' | ' + info.EmployeeName\"\n [innerHTML]=\"info.EmployeeNumber + ' | ' + info.EmployeeName | highlight: searchValue()\"\n ></div>\n @if (showChangeEmployeeButton()) {\n <button type=\"button\" class=\"border-0 ms-2 bg-none\" (click)=\"convertEmployee()\">\n <fa-icon [icon]=\"dropDownIcon\" class=\"text-primary fs-5\"></fa-icon>\n </button>\n }\n </div>\n @if (info.PositionName != null && info.PositionName != '') {\n <div [class]=\"employeePositionClass()\" data-bs-toggle=\"tooltip\" [title]=\"info.PositionName\">\n <span [innerHTML]=\"info.PositionName | highlight: searchValue()\"></span>\n </div>\n }\n @if (showGrade() && info.GradeName != null) {\n <div [class]=\"employeeGradeClass()\" [title]=\"info.GradeName\">\n <span [innerHTML]=\"info.GradeName\"></span>\n </div>\n }\n <div\n class=\"d-flex text-dark-gray mb-0\"\n data-bs-toggle=\"tooltip\"\n [title]=\"showPropertySymbol() ? info.PropertySymbol + ' | ' + info.AdminUnitName : info.AdminUnitName\"\n >\n <div class=\"fs-12\">\n @if (showPropertySymbol()) {\n <span class=\"property-badge cursor-pointer me-1\" title=\"{{ info.PropertyName }}\">\n <span [innerHTML]=\"info.PropertySymbol\"></span>\n </span>\n }\n <span\n class=\"fw-normal ms-1\"\n [ngClass]=\"{ 'me-1': isRTL && showPropertySymbol(), 'ms-1': !isRTL && showPropertySymbol() }\"\n [title]=\"info.AdminUnitName\"\n [innerHTML]=\"info.AdminUnitName | highlight: searchValue()\"\n ></span>\n </div>\n </div>\n </div>\n </div>\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SubordinatesApiResponse } from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MyTeamWidgetsService {\n private readonly headers = { 'api-version': '1' };\n\n constructor(private readonly http: HttpClient) {}\n\n getSubordinates(\n baseUrl: string,\n params: {\n showDirectSubordinatesOnly: boolean;\n pageIndex: number;\n pageSize: number;\n searchValue?: string;\n },\n ): Observable<{ ResponseData: SubordinatesApiResponse }> {\n const httpParams = new HttpParams()\n .set('p.showDirectSubordinatesOnly', params.showDirectSubordinatesOnly)\n .set('p.loadOptions.pageIndex', params.pageIndex + 1)\n .set('p.loadOptions.pageSize', params.pageSize)\n .set('p.loadOptions.searchValue', params.searchValue ?? '');\n\n return this.http.get<{ ResponseData: SubordinatesApiResponse }>(`${baseUrl}/hr/widgets/me/team/subordinates`, {\n params: httpParams,\n headers: this.headers,\n });\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, output, signal, ViewChild } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport {\n DxScrollViewComponent,\n DxLoadPanelModule,\n DxTextBoxModule,\n DxPopupModule,\n DxScrollViewModule,\n} from 'devextreme-angular';\nimport { firstValueFrom } from 'rxjs';\nimport { HighlightPipe } from '@skysoftware-co/sky-components-ui';\nimport { SubordinateDTO, EmployeeMainInfo } from '../../../shared/types/common';\nimport { EmployeeMainInfoCardComponent } from '../employee-main-info-card/employee-information-card.component';\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\nimport { faEnvelope, faPhone } from '@fortawesome/pro-solid-svg-icons';\nimport { MyTeamWidgetsService } from '../../../shared/services/my-team-popup.service';\n\nexport const myTeamSubordinatesVisible = signal(false);\nexport const myTeamSubordinatesInitialLoading = signal(false);\n\nexport function openMyTeamSubordinatesPopup(): void {\n myTeamSubordinatesInitialLoading.set(true);\n myTeamSubordinatesVisible.set(true);\n}\n\n@Component({\n selector: 'hr-my-team-popup',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FontAwesomeModule,\n DxPopupModule,\n DxTextBoxModule,\n DxScrollViewModule,\n DxLoadPanelModule,\n EmployeeMainInfoCardComponent,\n NgTemplateOutlet,\n HighlightPipe,\n HRTranslatePipe,\n ],\n templateUrl: './my-team-popup.component.html',\n})\nexport class MyTeamPopupComponent {\n private readonly myTeamWidgetsService = inject(MyTeamWidgetsService);\n @ViewChild('dataScrollView') dataScrollView?: DxScrollViewComponent;\n private shouldReloadAfterCurrentRequest = false;\n\n readonly baseUrl = input.required<string>();\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n readonly showGrade = input<boolean>(false);\n readonly showPropertySymbol = input<boolean>(true);\n\n readonly isPopupVisible = myTeamSubordinatesVisible;\n readonly isInitialLoading = myTeamSubordinatesInitialLoading;\n readonly showAllSubordinates = signal(false);\n readonly searchValue = signal('');\n readonly items = signal<{ adminUnitName: string; employees: SubordinateDTO[] }[]>([]);\n readonly isDataLoading = signal(false);\n readonly hasResolvedResetLoad = signal(true);\n readonly isLoadingVisible = computed(\n () => this.isPopupVisible() && (this.isInitialLoading() || this.isDataLoading() || !this.hasResolvedResetLoad()),\n );\n readonly hasMoreData = signal(true);\n\n readonly phoneIcon = input(faPhone);\n readonly emailIcon = input(faEnvelope);\n readonly headerRowClass = input('d-flex justify-content-between align-items-center mb-2 pe-2');\n readonly switchContainerClass = input('form-check form-switch d-flex align-items-center custom-switch-dark ps-0');\n readonly switchInputClass = input('form-check-input text-dark ms-0');\n readonly switchLabelClass = input('form-check-label mx-2 fs-13');\n readonly scrollViewClass = input('position-relative');\n readonly emptyStateClass = input(\n 'position-absolute top-50 start-50 translate-middle w-100 text-center text-dark-gray fs-14',\n );\n readonly groupHeaderClass = input('fs-13 text-dark pt-2 pb-1');\n readonly employeeCardClass = input(\n 'bg-light-gray rounded p-2 mb-2 d-flex align-items-center justify-content-between border-start border-4 border-start-primary',\n );\n readonly employeeCardHeight = input<string>('100px');\n readonly contactContainerClass = input('d-flex flex-column gap-1 border-start border-2 ps-3 w-100');\n readonly contactTitleClass = input('fs-10 fw-medium mb-1 text-dark');\n readonly contactRowClass = input('d-flex align-items-center gap-2 fs-12 fw-normal lh-21 text-dark');\n readonly emailRowClass = input('d-flex align-items-center gap-2 fs-12 fw-normal text-dark');\n readonly contactIconClass = input('fs-10 text-light-gray d-inline-flex align-items-center lh-1');\n readonly emailTextClass = input(\n 'd-inline-block w-100 text-truncate link-dark hover-primary text-decoration-none link-underline link-underline-opacity-0 link-underline-opacity-100-hover',\n );\n readonly emailPlaceholderClass = input('d-inline-block w-100');\n readonly groupedListClass = input('d-flex flex-column gap-2 pb-2');\n readonly employeeRowClass = input('row g-0 w-100 align-items-center flex-nowrap');\n readonly employeeInfoColumnClass = input('col-8 overflow-hidden pe-2');\n readonly contactColumnClass = input('col-4 d-flex justify-content-end');\n\n readonly pageSize = input(100);\n\n private pageIndex = 0;\n private totalCount = 0;\n private loadedCount = 0;\n\n toEmployeeMainInfo(emp: SubordinateDTO): EmployeeMainInfo {\n return {\n EmployeeNumber: emp.EmployeeNumber,\n EmployeeName: emp.EmployeeName,\n PhotoKey: emp.PhotoPath,\n PositionName: emp.PositionName,\n AdminUnitName: emp.AdminUnitName ?? '-',\n GradeName: emp.GradeName ?? null,\n PropertyName: emp.PropertyName ?? '-',\n PropertySymbol: emp.PropertySymbol ?? '-',\n EmployeeNameInitials: emp.EmployeeNameInitials,\n };\n }\n\n closePopup(): void {\n myTeamSubordinatesInitialLoading.set(false);\n this.hasResolvedResetLoad.set(true);\n myTeamSubordinatesVisible.set(false);\n this.showAllSubordinates.set(false);\n this.searchValue.set('');\n this.resetState();\n }\n\n private normalizeContactValue(value: string | null | undefined): string {\n const normalizedValue = value?.trim() ?? '';\n return normalizedValue && normalizedValue !== '-' ? normalizedValue : '';\n }\n\n private getEmployeeEmail(employee: SubordinateDTO): string {\n return this.normalizeContactValue(employee.BusinessEmail) || this.normalizeContactValue(employee.PersonalEmail);\n }\n\n private getEmployeePhone(employee: SubordinateDTO): string {\n return this.normalizeContactValue(employee.MobileNumber);\n }\n\n getEmployeeEmailDisplay(employee: SubordinateDTO): string {\n return this.getEmployeeEmail(employee) || '-';\n }\n\n getEmployeePhoneDisplay(employee: SubordinateDTO): string {\n return this.getEmployeePhone(employee) || '-';\n }\n\n hasEmployeeEmail(employee: SubordinateDTO): boolean {\n return !!this.getEmployeeEmail(employee);\n }\n\n hasEmployeePhone(employee: SubordinateDTO): boolean {\n return !!this.getEmployeePhone(employee);\n }\n\n hasAnyContactInfo(employee: SubordinateDTO): boolean {\n return this.hasEmployeeEmail(employee) || this.hasEmployeePhone(employee);\n }\n\n onSearchChanged(value: string): void {\n const nextSearchValue = (value ?? '').trim();\n if (nextSearchValue === this.searchValue()) {\n return;\n }\n\n myTeamSubordinatesInitialLoading.set(true);\n this.searchValue.set(nextSearchValue);\n this.loadPage(true);\n }\n\n onToggleChange(event: Event): void {\n const checked = (event.target as HTMLInputElement).checked;\n myTeamSubordinatesInitialLoading.set(true);\n this.showAllSubordinates.set(checked);\n this.searchValue.set('');\n this.loadPage(true);\n }\n\n onReachBottom(event: any): void {\n if (!this.hasMoreData()) {\n event?.component?.release?.();\n return;\n }\n\n this.loadPage(false).finally(() => {\n event?.component?.release?.();\n });\n }\n\n private isScrollContentScrollable(): boolean {\n const scrollableElement = this.dataScrollView?.instance?.element?.() as HTMLElement | undefined;\n const scrollableContainer = scrollableElement?.querySelector?.('.dx-scrollable-container') as\n | HTMLElement\n | undefined;\n const scrollableContent = scrollableElement?.querySelector?.('.dx-scrollable-content') as HTMLElement | undefined;\n\n if (!scrollableContainer || !scrollableContent) {\n return true;\n }\n\n return scrollableContent.scrollHeight > scrollableContainer.clientHeight;\n }\n\n private async loadRemainingPagesIfNeeded(): Promise<void> {\n while (this.hasMoreData() && !this.isScrollContentScrollable()) {\n await this.loadPage(false);\n }\n }\n\n private resetState(): void {\n this.items.set([]);\n this.hasMoreData.set(true);\n this.pageIndex = 0;\n this.totalCount = 0;\n this.loadedCount = 0;\n }\n\n private resetScrollPosition(): void {\n this.dataScrollView?.instance?.scrollTo({ top: 0, left: 0 });\n }\n\n private appendEmployees(pageData: SubordinateDTO[]): void {\n if (!this.showAllSubordinates()) {\n const existingEmployees = this.items().length > 0 ? this.items()[0].employees : [];\n const employees = [...existingEmployees, ...pageData];\n\n if (employees.length === 0) {\n this.items.set([]);\n return;\n }\n\n this.items.set([\n {\n adminUnitName: '',\n employees,\n },\n ]);\n\n return;\n }\n\n const groupedMap = new Map(this.items().map(group => [group.adminUnitName, [...group.employees]]));\n\n for (const employee of pageData) {\n const key = employee.AdminUnitName!;\n const employees = groupedMap.get(key) ?? [];\n employees.push(employee);\n groupedMap.set(key, employees);\n }\n\n const groups = Array.from(groupedMap.entries()).map(([adminUnitName, employees]) => ({\n adminUnitName,\n employees,\n }));\n\n this.items.set(groups);\n }\n\n async loadPage(reset: boolean): Promise<void> {\n if (this.isDataLoading()) {\n if (reset) {\n this.shouldReloadAfterCurrentRequest = true;\n myTeamSubordinatesInitialLoading.set(true);\n this.hasResolvedResetLoad.set(false);\n }\n\n return;\n }\n\n if (!reset && !this.hasMoreData()) {\n return;\n }\n\n if (reset) {\n myTeamSubordinatesInitialLoading.set(true);\n this.hasResolvedResetLoad.set(false);\n this.resetState();\n }\n\n this.isDataLoading.set(true);\n if (reset) {\n this.isLoadingChanged.emit(true);\n }\n\n try {\n const response = await firstValueFrom(\n this.myTeamWidgetsService.getSubordinates(this.baseUrl(), {\n showDirectSubordinatesOnly: !this.showAllSubordinates(),\n pageIndex: this.pageIndex,\n pageSize: this.pageSize(),\n searchValue: this.searchValue(),\n }),\n );\n\n this.totalCount = response.ResponseData.Pagination.TotalCount;\n const pageData = response.ResponseData.Data;\n\n if (reset) {\n this.resetScrollPosition();\n }\n\n this.appendEmployees(pageData);\n this.loadedCount += pageData.length;\n this.pageIndex += 1;\n this.dataScrollView?.instance?.update();\n\n const hasMore = this.loadedCount < this.totalCount && pageData.length > 0;\n this.hasMoreData.set(hasMore);\n } catch (err: any) {\n this.errorOccurred.emit(err?.error?.ResponseData?.Errors?.[0]?.Message);\n } finally {\n const shouldReloadAfterCurrentRequest = this.shouldReloadAfterCurrentRequest;\n this.shouldReloadAfterCurrentRequest = false;\n\n this.isDataLoading.set(false);\n if (reset && !shouldReloadAfterCurrentRequest) {\n myTeamSubordinatesInitialLoading.set(false);\n this.hasResolvedResetLoad.set(true);\n }\n if (reset) {\n this.isLoadingChanged.emit(false);\n }\n\n if (shouldReloadAfterCurrentRequest) {\n await this.loadPage(true);\n return;\n }\n\n if (!reset) {\n await this.loadRemainingPagesIfNeeded();\n }\n }\n }\n}\n","<dx-popup\n [visible]=\"isPopupVisible()\"\n [width]=\"'755px'\"\n [height]=\"'680px'\"\n [showCloseButton]=\"true\"\n [showTitle]=\"true\"\n [title]=\"'MyTeam' | translate\"\n shadingColor=\"rgba(0,0,0,0.4)\"\n (onShowing)=\"loadPage(true)\"\n (onHiding)=\"closePopup()\"\n>\n <ng-template #employeeCardTemplate let-employee>\n <div [class]=\"employeeCardClass()\" [style.height]=\"employeeCardHeight()\">\n <div [class]=\"employeeRowClass()\">\n <div [class]=\"employeeInfoColumnClass()\">\n <app-employee-main-info-card\n [employeeMainInfo]=\"toEmployeeMainInfo(employee)\"\n [searchValue]=\"searchValue()\"\n [showGrade]=\"showGrade()\"\n [showPropertySymbol]=\"showPropertySymbol()\"\n [showChangeEmployeeButton]=\"false\"\n ></app-employee-main-info-card>\n </div>\n <div [class]=\"contactColumnClass()\">\n <div [class]=\"contactContainerClass()\">\n <span [class]=\"contactTitleClass()\">{{ 'ContactInfo' | translate }}:</span>\n <span [class]=\"emailRowClass()\">\n <fa-icon [icon]=\"emailIcon()\" [class]=\"contactIconClass()\"></fa-icon>\n @if (hasEmployeeEmail(employee)) {\n <a\n [class]=\"emailTextClass()\"\n [href]=\"'mailto:' + getEmployeeEmailDisplay(employee)\"\n [title]=\"getEmployeeEmailDisplay(employee)\"\n [innerHTML]=\"getEmployeeEmailDisplay(employee)\"\n ></a>\n } @else {\n <span [class]=\"emailPlaceholderClass()\">-</span>\n }\n </span>\n <span [class]=\"contactRowClass()\">\n <fa-icon [icon]=\"phoneIcon()\" [class]=\"contactIconClass()\"></fa-icon>\n <span [title]=\"getEmployeePhoneDisplay(employee)\" [innerHTML]=\"getEmployeePhoneDisplay(employee)\"></span>\n </span>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div [class]=\"headerRowClass()\">\n <div [class]=\"switchContainerClass()\">\n <input\n [class]=\"switchInputClass()\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"myTeamDirectOnlySwitch\"\n [checked]=\"showAllSubordinates()\"\n (change)=\"onToggleChange($event)\"\n />\n <label [class]=\"switchLabelClass()\" for=\"myTeamDirectOnlySwitch\">\n {{ 'ShowAllSubordinates' | translate }}\n </label>\n </div>\n <dx-text-box\n [value]=\"searchValue()\"\n [placeholder]=\"'Search...' | translate\"\n [width]=\"'250px'\"\n mode=\"search\"\n (onValueChanged)=\"onSearchChanged($event.value)\"\n ></dx-text-box>\n </div>\n\n <dx-scroll-view\n #dataScrollView\n [height]=\"500\"\n [width]=\"'100%'\"\n [elementAttr]=\"{ class: scrollViewClass() }\"\n [scrollByContent]=\"true\"\n [scrollByThumb]=\"true\"\n [showScrollbar]=\"'always'\"\n [bounceEnabled]=\"false\"\n (onReachBottom)=\"onReachBottom($event)\"\n >\n <div [class]=\"groupedListClass()\">\n @if (items().length === 0 && !isLoadingVisible()) {\n <div [class]=\"emptyStateClass()\">\n {{ 'NoDataToDisplay' | translate }}\n </div>\n } @else if (items().length > 0) {\n @for (group of items(); track group.adminUnitName) {\n @if (showAllSubordinates()) {\n <div [class]=\"groupHeaderClass()\" [innerHTML]=\"group.adminUnitName | highlight: searchValue()\"></div>\n }\n @for (emp of group.employees; track emp.EmployeeNumber) {\n <ng-container *ngTemplateOutlet=\"employeeCardTemplate; context: { $implicit: emp }\"></ng-container>\n }\n }\n }\n </div>\n </dx-scroll-view>\n</dx-popup>\n\n<dx-load-panel\n shadingColor=\"rgba(0,0,0,0.4)\"\n [visible]=\"isLoadingVisible()\"\n [showIndicator]=\"true\"\n [showPane]=\"true\"\n [shading]=\"true\"\n [hideOnOutsideClick]=\"false\"\n></dx-load-panel>\n","/*\n * Public API Surface of shared-ui\n */\n\nexport * from './lib/my-main-details-widget/my-main-details-widget.component';\nexport * from './lib/my-upcoming-events-widget/my-upcoming-events-widget.component';\nexport * from './lib/shared/types/common';\nexport * from './lib/shared/services/constants.service';\nexport * from './lib/shared/components/card-header/card-header.component';\nexport * from './lib/my-calendar-widget/my-calendar-widget.component';\nexport * from './lib/shared/components/hr-employee-calendar/hr-employee-calendar.component';\nexport * from './lib/my-profile/bank-info-widget/my-profile-bank-info-widget.component';\nexport * from './lib/my-profile/personal-info-main-widget/my-profile-personal-info-main-widget.component';\nexport * from './lib/my-profile/contact-widget/my-profile-contact-widget.component';\nexport * from './lib/my-profile/languages-widget/my-profile-languages-widget.component';\nexport * from './lib/my-profile/other-nationalities-widget/my-profile-other-nationalities-widget.component';\nexport * from './lib/my-profile/address-widget/my-profile-address-widget.component';\nexport * from './lib/my-profile/job-info-widget/my-profile-job-info-widget.component';\nexport * from './lib/my-profile/contract-widget/my-profile-contract-widget.component';\nexport * from './lib/my-profile/salary-widget/my-profile-salary-widget.component';\nexport * from './lib/my-profile/service-charge-widget/my-profile-service-charge-widget.component';\nexport * from './lib/my-next-week-vacation-insights-widget/my-next-week-vacation-insights-widget.component';\nexport * from './lib/my-profile/experiences-widget/my-profile-experiences-widget-component';\nexport * from './lib/my-profile/degrees-widget/my-profile-degrees-widget-component';\nexport * from './lib/my-profile/employee-dependents-widget/my-profile-employee-dependents-component';\nexport * from './lib/my-profile/vacations-widget/my-profile-vacations-widget.component';\nexport * from './lib/my-profile/indemnity-widget/my-profile-indemnity-widget.component';\nexport * from './lib/my-profile/ticket-widget/my-profile-ticket-widget.component';\nexport * from './lib/my-profile/medical-insurance-widget/my-profile-medical-insurance-widget.component';\nexport * from './lib/my-profile/entitlements-others-widget/my-profile-entitlements-others-widget.component';\nexport * from './lib/my-profile/dependents-documents-widget/my-profile-dependents-documents-widget';\nexport * from './lib/my-profile/official-documents-widget/my-profile-official-documents-widget';\nexport * from './lib/shared/services/translate.service';\nexport * from './lib/shared/pipes/translate.pipe';\nexport * from './lib/my-team-subordinates-popup-widget/components/my-team-subordinates-popup/my-team-popup.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.BankInformationCacheService","i3.EntitlementsCacheService","i4.JobInformationCacheService","i5.PersonalInformationCacheService","i6.QualificationsCacheService","i7.ProfileEmployeeDependentsCach","i8.ProfileDocumentsCacheService","i1.HRTranslateService","i1","i3","i2","faPhone"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skysoftware-co-bayan-hr-widgets-ui.mjs","sources":["../../../projects/shared-ui/src/lib/shared/services/bank-information-cache.service.ts","../../../projects/shared-ui/src/lib/shared/services/entitlements-cache.service.ts","../../../projects/shared-ui/src/lib/shared/services/job-information-cache.service.ts","../../../projects/shared-ui/src/lib/shared/services/personal-information-cache.service.ts","../../../projects/shared-ui/src/lib/shared/services/qualifications-cache.service.ts","../../../projects/shared-ui/src/lib/shared/services/profile-employee-dependents-cach.ts","../../../projects/shared-ui/src/lib/shared/services/profile-documents-cache-service.ts","../../../projects/shared-ui/src/lib/services/hr-self-widgets.service.ts","../../../projects/shared-ui/src/lib/shared/types/common.ts","../../../projects/shared-ui/src/lib/shared/services/constants.service.ts","../../../projects/shared-ui/src/lib/shared/services/translate.service.ts","../../../projects/shared-ui/src/lib/shared/pipes/translate.pipe.ts","../../../projects/shared-ui/src/lib/my-main-details-widget/my-main-details-widget.component.ts","../../../projects/shared-ui/src/lib/my-main-details-widget/my-main-details-widget.component.html","../../../projects/shared-ui/src/lib/shared/components/card-header/card-header.component.ts","../../../projects/shared-ui/src/lib/shared/components/card-header/card-header.component.html","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/event-item/event-item.component.ts","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/event-item/event-item.component.html","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/event-tab-bar/event-tab-bar.component.ts","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/event-tab-bar/event-tab-bar.component.html","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/events-popup/events-popup.component.ts","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/components/events-popup/events-popup.component.html","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/my-upcoming-events-widget.component.ts","../../../projects/shared-ui/src/lib/my-upcoming-events-widget/my-upcoming-events-widget.component.html","../../../projects/shared-ui/src/lib/shared/services/common-methods.service.ts","../../../projects/shared-ui/src/lib/shared/components/hr-employee-calendar/hr-employee-calendar.component.ts","../../../projects/shared-ui/src/lib/shared/components/hr-employee-calendar/hr-employee-calendar.component.html","../../../projects/shared-ui/src/lib/my-calendar-widget/my-calendar-widget.component.ts","../../../projects/shared-ui/src/lib/my-calendar-widget/my-calendar-widget.component.html","../../../projects/shared-ui/src/lib/shared/components/info-field/info-field.component.ts","../../../projects/shared-ui/src/lib/shared/components/info-field/info-field.component.html","../../../projects/shared-ui/src/lib/my-profile/bank-info-widget/my-profile-bank-info-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/bank-info-widget/my-profile-bank-info-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/personal-info-main-widget/my-profile-personal-info-main-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/personal-info-main-widget/my-profile-personal-info-main-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/contact-widget/my-profile-contact-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/contact-widget/my-profile-contact-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/languages-widget/my-profile-languages-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/languages-widget/my-profile-languages-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/other-nationalities-widget/my-profile-other-nationalities-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/other-nationalities-widget/my-profile-other-nationalities-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/address-widget/my-profile-address-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/address-widget/my-profile-address-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/job-info-widget/my-profile-job-info-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/job-info-widget/my-profile-job-info-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/contract-widget/my-profile-contract-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/contract-widget/my-profile-contract-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/salary-widget/my-profile-salary-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/salary-widget/my-profile-salary-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/service-charge-widget/my-profile-service-charge-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/service-charge-widget/my-profile-service-charge-widget.component.html","../../../projects/shared-ui/src/lib/my-next-week-vacation-insights-widget/components/next-week-vacation-insights-popup/next-week-vacation-insights-popup.component.ts","../../../projects/shared-ui/src/lib/my-next-week-vacation-insights-widget/components/next-week-vacation-insights-popup/next-week-vacation-insights-popup.component.html","../../../projects/shared-ui/src/lib/my-next-week-vacation-insights-widget/my-next-week-vacation-insights-widget.component.ts","../../../projects/shared-ui/src/lib/my-next-week-vacation-insights-widget/my-next-week-vacation-insights-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/experiences-widget/my-profile-experiences-widget-component.ts","../../../projects/shared-ui/src/lib/my-profile/experiences-widget/my-profile-experiences-widget-component.html","../../../projects/shared-ui/src/lib/my-profile/degrees-widget/my-profile-degrees-widget-component.ts","../../../projects/shared-ui/src/lib/my-profile/degrees-widget/my-profile-degrees-widget-component.html","../../../projects/shared-ui/src/lib/shared/components/widget-card/widget-card-component.ts","../../../projects/shared-ui/src/lib/shared/components/widget-card/widget-card-component.html","../../../projects/shared-ui/src/lib/my-profile/employee-dependents-widget/my-profile-employee-dependents-component.ts","../../../projects/shared-ui/src/lib/my-profile/employee-dependents-widget/my-profile-employee-dependents-component.html","../../../projects/shared-ui/src/lib/my-profile/vacations-widget/my-profile-vacations-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/vacations-widget/my-profile-vacations-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/indemnity-widget/my-profile-indemnity-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/indemnity-widget/my-profile-indemnity-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/ticket-widget/components/ticket-card/ticket-card.component.ts","../../../projects/shared-ui/src/lib/my-profile/ticket-widget/components/ticket-card/ticket-card.component.html","../../../projects/shared-ui/src/lib/my-profile/ticket-widget/my-profile-ticket-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/ticket-widget/my-profile-ticket-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/medical-insurance-widget/components/medical-insurance-card/medical-insurance-card.component.ts","../../../projects/shared-ui/src/lib/my-profile/medical-insurance-widget/components/medical-insurance-card/medical-insurance-card.component.html","../../../projects/shared-ui/src/lib/my-profile/medical-insurance-widget/my-profile-medical-insurance-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/medical-insurance-widget/my-profile-medical-insurance-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/entitlements-others-widget/my-profile-entitlements-others-widget.component.ts","../../../projects/shared-ui/src/lib/my-profile/entitlements-others-widget/my-profile-entitlements-others-widget.component.html","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-row/document-row.component.ts","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-row/document-row.component.html","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-card/document-card.component.ts","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-card/document-card.component.html","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-tablet-card/document-tablet-card.component.ts","../../../projects/shared-ui/src/lib/my-profile/documents-widgets/components/document-tablet-card/document-tablet-card.component.html","../../../projects/shared-ui/src/lib/my-profile/dependents-documents-widget/my-profile-dependents-documents-widget.ts","../../../projects/shared-ui/src/lib/my-profile/dependents-documents-widget/my-profile-dependents-documents-widget.html","../../../projects/shared-ui/src/lib/my-profile/official-documents-widget/my-profile-official-documents-widget.ts","../../../projects/shared-ui/src/lib/my-profile/official-documents-widget/my-profile-official-documents-widget.html","../../../projects/shared-ui/src/lib/my-team-subordinates-popup-widget/components/employee-main-info-card/employee-information-card.component.ts","../../../projects/shared-ui/src/lib/my-team-subordinates-popup-widget/components/employee-main-info-card/employee-main-info-card.component.html","../../../projects/shared-ui/src/lib/shared/services/my-team-popup.service.ts","../../../projects/shared-ui/src/lib/my-team-subordinates-popup-widget/components/my-team-subordinates-popup/my-team-popup.component.ts","../../../projects/shared-ui/src/lib/my-team-subordinates-popup-widget/components/my-team-subordinates-popup/my-team-popup.component.html","../../../projects/shared-ui/src/public-api.ts","../../../projects/shared-ui/src/skysoftware-co-bayan-hr-widgets-ui.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { MyBankInfo } from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BankInformationCacheService {\n private bankInformationCache$: Observable<MyBankInfo[]> | null = null;\n private bankInformationCacheBaseUrl = '';\n\n get(baseUrl: string): Observable<MyBankInfo[]> | null {\n if (this.bankInformationCacheBaseUrl !== baseUrl) {\n return null;\n }\n\n return this.bankInformationCache$;\n }\n\n set(baseUrl: string, value: Observable<MyBankInfo[]>): void {\n this.bankInformationCacheBaseUrl = baseUrl;\n this.bankInformationCache$ = value;\n }\n\n clear(): void {\n this.bankInformationCache$ = null;\n this.bankInformationCacheBaseUrl = '';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n EntitlementsIndemnity,\n EntitlementsMedicalInsurance,\n EntitlementsTicket,\n EntitlementsVacation,\n} from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EntitlementsCacheService {\n private baseUrl = '';\n\n private vacationDetails$: Observable<EntitlementsVacation[] | null> | null = null;\n private indemnityDetails$: Observable<EntitlementsIndemnity | null> | null = null;\n private ticketDetails$: Observable<EntitlementsTicket | null> | null = null;\n private medicalInsuranceDetails$: Observable<EntitlementsMedicalInsurance | null> | null = null;\n private overtimeDetails$: Observable<any> | null = null;\n private socialSecurityDetails$: Observable<any> | null = null;\n\n getVacationDetails(baseUrl: string): Observable<EntitlementsVacation[] | null> | null {\n return this.baseUrl === baseUrl ? this.vacationDetails$ : null;\n }\n\n setVacationDetails(baseUrl: string, value: Observable<EntitlementsVacation[] | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.vacationDetails$ = value;\n }\n\n getIndemnityDetails(baseUrl: string): Observable<EntitlementsIndemnity | null> | null {\n return this.baseUrl === baseUrl ? this.indemnityDetails$ : null;\n }\n\n setIndemnityDetails(baseUrl: string, value: Observable<EntitlementsIndemnity | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.indemnityDetails$ = value;\n }\n\n getTicketDetails(baseUrl: string): Observable<EntitlementsTicket | null> | null {\n return this.baseUrl === baseUrl ? this.ticketDetails$ : null;\n }\n\n setTicketDetails(baseUrl: string, value: Observable<EntitlementsTicket | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.ticketDetails$ = value;\n }\n\n getMedicalInsuranceDetails(baseUrl: string): Observable<EntitlementsMedicalInsurance | null> | null {\n return this.baseUrl === baseUrl ? this.medicalInsuranceDetails$ : null;\n }\n\n setMedicalInsuranceDetails(baseUrl: string, value: Observable<EntitlementsMedicalInsurance | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.medicalInsuranceDetails$ = value;\n }\n\n getOvertimeDetails(baseUrl: string): Observable<any> | null {\n return this.baseUrl === baseUrl ? this.overtimeDetails$ : null;\n }\n\n setOvertimeDetails(baseUrl: string, value: Observable<any>): void {\n this.ensureBaseUrl(baseUrl);\n this.overtimeDetails$ = value;\n }\n\n getSocialSecurityDetails(baseUrl: string): Observable<any> | null {\n return this.baseUrl === baseUrl ? this.socialSecurityDetails$ : null;\n }\n\n setSocialSecurityDetails(baseUrl: string, value: Observable<any>): void {\n this.ensureBaseUrl(baseUrl);\n this.socialSecurityDetails$ = value;\n }\n\n clear(): void {\n this.baseUrl = '';\n this.vacationDetails$ = null;\n this.indemnityDetails$ = null;\n this.ticketDetails$ = null;\n this.medicalInsuranceDetails$ = null;\n this.overtimeDetails$ = null;\n this.socialSecurityDetails$ = null;\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n\n this.baseUrl = baseUrl;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n JobInformationContract,\n JobInformationMain,\n JobInformationSalary,\n JobInformationServiceCharge,\n} from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class JobInformationCacheService {\n private baseUrl = '';\n\n private mainDetails$: Observable<JobInformationMain | null> | null = null;\n private contractDetails$: Observable<JobInformationContract | null> | null = null;\n private salaryDetails$: Observable<JobInformationSalary | null> | null = null;\n private serviceChargeDetails$: Observable<JobInformationServiceCharge | null> | null = null;\n\n getMainDetails(baseUrl: string): Observable<JobInformationMain | null> | null {\n return this.baseUrl === baseUrl ? this.mainDetails$ : null;\n }\n\n setMainDetails(baseUrl: string, value: Observable<JobInformationMain | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.mainDetails$ = value;\n }\n\n getContractDetails(baseUrl: string): Observable<JobInformationContract | null> | null {\n return this.baseUrl === baseUrl ? this.contractDetails$ : null;\n }\n\n setContractDetails(baseUrl: string, value: Observable<JobInformationContract | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.contractDetails$ = value;\n }\n\n getSalaryDetails(baseUrl: string): Observable<JobInformationSalary | null> | null {\n return this.baseUrl === baseUrl ? this.salaryDetails$ : null;\n }\n\n setSalaryDetails(baseUrl: string, value: Observable<JobInformationSalary | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.salaryDetails$ = value;\n }\n\n getServiceChargeDetails(baseUrl: string): Observable<JobInformationServiceCharge | null> | null {\n return this.baseUrl === baseUrl ? this.serviceChargeDetails$ : null;\n }\n\n setServiceChargeDetails(baseUrl: string, value: Observable<JobInformationServiceCharge | null>): void {\n this.ensureBaseUrl(baseUrl);\n this.serviceChargeDetails$ = value;\n }\n\n clear(): void {\n this.baseUrl = '';\n this.mainDetails$ = null;\n this.contractDetails$ = null;\n this.salaryDetails$ = null;\n this.serviceChargeDetails$ = null;\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n\n this.baseUrl = baseUrl;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { PersonalInfoAddressDetails, PersonalInfoContactDetails, PersonalInfoMainDetails } from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PersonalInformationCacheService {\n private baseUrl = '';\n\n private mainDetails$: Observable<PersonalInfoMainDetails> | null = null;\n private contactDetails$: Observable<PersonalInfoContactDetails> | null = null;\n private addressDetails$: Observable<PersonalInfoAddressDetails> | null = null;\n private languages$: Observable<string[]> | null = null;\n private otherNationalities$: Observable<string[]> | null = null;\n\n getMainDetails(baseUrl: string): Observable<PersonalInfoMainDetails> | null {\n return this.baseUrl === baseUrl ? this.mainDetails$ : null;\n }\n\n setMainDetails(baseUrl: string, value: Observable<PersonalInfoMainDetails>): void {\n this.ensureBaseUrl(baseUrl);\n this.mainDetails$ = value;\n }\n\n getContactDetails(baseUrl: string): Observable<PersonalInfoContactDetails> | null {\n return this.baseUrl === baseUrl ? this.contactDetails$ : null;\n }\n\n setContactDetails(baseUrl: string, value: Observable<PersonalInfoContactDetails>): void {\n this.ensureBaseUrl(baseUrl);\n this.contactDetails$ = value;\n }\n\n getAddressDetails(baseUrl: string): Observable<PersonalInfoAddressDetails> | null {\n return this.baseUrl === baseUrl ? this.addressDetails$ : null;\n }\n\n setAddressDetails(baseUrl: string, value: Observable<PersonalInfoAddressDetails>): void {\n this.ensureBaseUrl(baseUrl);\n this.addressDetails$ = value;\n }\n\n getLanguages(baseUrl: string): Observable<string[]> | null {\n return this.baseUrl === baseUrl ? this.languages$ : null;\n }\n\n setLanguages(baseUrl: string, value: Observable<string[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.languages$ = value;\n }\n\n getOtherNationalities(baseUrl: string): Observable<string[]> | null {\n return this.baseUrl === baseUrl ? this.otherNationalities$ : null;\n }\n\n setOtherNationalities(baseUrl: string, value: Observable<string[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.otherNationalities$ = value;\n }\n\n clear(): void {\n this.baseUrl = '';\n this.mainDetails$ = null;\n this.contactDetails$ = null;\n this.addressDetails$ = null;\n this.languages$ = null;\n this.otherNationalities$ = null;\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n this.baseUrl = baseUrl;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Degree, Experience } from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class QualificationsCacheService {\n private baseUrl = '';\n\n private degrees$: Observable<Degree[]> | null = null;\n private experiences$: Observable<Experience[]> | null = null;\n\n getDegrees(baseUrl: string): Observable<Degree[]> | null {\n return this.baseUrl === baseUrl ? this.degrees$ : null;\n }\n\n setDegrees(baseUrl: string, value: Observable<Degree[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.degrees$ = value;\n }\n\n getExperiences(baseUrl: string): Observable<Experience[]> | null {\n return this.baseUrl === baseUrl ? this.experiences$ : null;\n }\n\n setExperiences(baseUrl: string, value: Observable<Experience[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.experiences$ = value;\n }\n\n clear(): void {\n this.baseUrl = '';\n this.degrees$ = null;\n this.experiences$ = null;\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n\n this.baseUrl = baseUrl;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n Dependent,\n PersonalInfoAddressDetails,\n PersonalInfoContactDetails,\n PersonalInfoMainDetails,\n} from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileEmployeeDependentsCach {\n private baseUrl = '';\n\n private dependents$: Observable<Dependent[]> | null = null;\n\n clear(): void {\n this.baseUrl = '';\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n this.baseUrl = baseUrl;\n }\n\n setDependents(baseUrl: string, value: Observable<Dependent[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.dependents$ = value;\n }\n\n getDependents(baseUrl: string): Observable<Dependent[]> | null {\n return this.baseUrl === baseUrl ? this.dependents$ : null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { DependentDocumentGroup, PersonalDocument } from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileDocumentsCacheService {\n private baseUrl = '';\n\n private dependentDocuments$: Observable<DependentDocumentGroup[]> | null = null;\n private personalDocuments$: Observable<PersonalDocument[]> | null = null;\n\n getDependentDocuments(baseUrl: string): Observable<DependentDocumentGroup[]> | null {\n return this.baseUrl === baseUrl ? this.dependentDocuments$ : null;\n }\n\n setDependentDocuments(baseUrl: string, value: Observable<DependentDocumentGroup[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.dependentDocuments$ = value;\n }\n\n getPersonalDocuments(baseUrl: string): Observable<PersonalDocument[]> | null {\n return this.baseUrl === baseUrl ? this.personalDocuments$ : null;\n }\n\n setPersonalDocuments(baseUrl: string, value: Observable<PersonalDocument[]>): void {\n this.ensureBaseUrl(baseUrl);\n this.personalDocuments$ = value;\n }\n\n clear(): void {\n this.baseUrl = '';\n this.dependentDocuments$ = null;\n this.personalDocuments$ = null;\n }\n\n private ensureBaseUrl(baseUrl: string): void {\n if (this.baseUrl && this.baseUrl !== baseUrl) {\n this.clear();\n }\n this.baseUrl = baseUrl;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable, catchError, map, shareReplay, throwError } from 'rxjs';\nimport {\n Degree,\n Dependent,\n DependentDocumentGroup,\n DocumentRow,\n EntitlementsIndemnity,\n EntitlementsMedicalInsurance,\n EntitlementsTicket,\n EntitlementsVacation,\n EventOption,\n Experience,\n JobInformationContract,\n JobInformationMain,\n JobInformationSalary,\n JobInformationServiceCharge,\n MyBankInfo,\n PersonalInfoAddressDetails,\n PersonalInfoContactDetails,\n PersonalInfoMainDetails,\n} from '../shared/types/common';\nimport { BankInformationCacheService } from '../shared/services/bank-information-cache.service';\nimport { EntitlementsCacheService } from '../shared/services/entitlements-cache.service';\nimport { JobInformationCacheService } from '../shared/services/job-information-cache.service';\nimport { PersonalInformationCacheService } from '../shared/services/personal-information-cache.service';\nimport { QualificationsCacheService } from '../shared/services/qualifications-cache.service';\nimport { ProfileEmployeeDependentsCach } from '../shared/services/profile-employee-dependents-cach';\nimport { ProfileDocumentsCacheService } from '../shared/services/profile-documents-cache-service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HRSelfWidgetsService {\n private readonly headers = { 'api-version': '1' };\n\n constructor(\n private http: HttpClient,\n private readonly bankInformationCacheService: BankInformationCacheService,\n private readonly entitlementsCacheService: EntitlementsCacheService,\n private readonly jobInformationCacheService: JobInformationCacheService,\n private readonly personalInformationCacheService: PersonalInformationCacheService,\n private readonly qualificationsCacheService: QualificationsCacheService,\n private readonly profileEmployeeDependentsCachService: ProfileEmployeeDependentsCach,\n private readonly profileDocumentsCacheService: ProfileDocumentsCacheService,\n ) {}\n\n getMainDetails(baseUrl: string): Observable<any> {\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/main-details`, {\n headers: this.headers,\n });\n }\n\n getUpcomingEvents(baseUrl: string, eventOption: EventOption): Observable<any> {\n const params = new HttpParams().set('EventOption', eventOption);\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/upcoming-events`, {\n params,\n headers: this.headers,\n });\n }\n\n getCalendar(baseUrl: string, month: number, year: number, monthsCount: number): Observable<any> {\n const params = new HttpParams().set('Month', month).set('Year', year).set('MonthsCount', monthsCount);\n\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/calendar`, {\n params,\n headers: this.headers,\n });\n }\n\n getBankInformation(baseUrl: string, forceRefresh = false): Observable<MyBankInfo[]> {\n if (!forceRefresh) {\n const cachedRequest$ = this.bankInformationCacheService.get(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: MyBankInfo[] }>(`${baseUrl}/hr/widgets/me/profile/banks`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.bankInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.bankInformationCacheService.set(baseUrl, request$);\n return request$;\n }\n\n getPersonalInfoMainDetails(baseUrl: string, forceRefresh = false): Observable<PersonalInfoMainDetails> {\n if (!forceRefresh) {\n const cachedRequest$ = this.personalInformationCacheService.getMainDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: PersonalInfoMainDetails }>(`${baseUrl}/hr/widgets/me/profile/personal-information/main`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? (response as unknown as PersonalInfoMainDetails)),\n shareReplay(1),\n catchError(error => {\n this.personalInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.personalInformationCacheService.setMainDetails(baseUrl, request$);\n return request$;\n }\n\n getPersonalInfoContactDetails(baseUrl: string, forceRefresh = false): Observable<PersonalInfoContactDetails> {\n if (!forceRefresh) {\n const cachedRequest$ = this.personalInformationCacheService.getContactDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: PersonalInfoContactDetails }>(\n `${baseUrl}/hr/widgets/me/profile/personal-information/contact`,\n {\n headers: this.headers,\n },\n )\n .pipe(\n map(response => response?.ResponseData ?? (response as unknown as PersonalInfoContactDetails)),\n shareReplay(1),\n catchError(error => {\n this.personalInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.personalInformationCacheService.setContactDetails(baseUrl, request$);\n return request$;\n }\n\n getPersonalInfoAddressDetails(baseUrl: string, forceRefresh = false): Observable<PersonalInfoAddressDetails> {\n if (!forceRefresh) {\n const cachedRequest$ = this.personalInformationCacheService.getAddressDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: PersonalInfoAddressDetails }>(\n `${baseUrl}/hr/widgets/me/profile/personal-information/address`,\n {\n headers: this.headers,\n },\n )\n .pipe(\n map(response => response?.ResponseData ?? (response as unknown as PersonalInfoAddressDetails)),\n shareReplay(1),\n catchError(error => {\n this.personalInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.personalInformationCacheService.setAddressDetails(baseUrl, request$);\n return request$;\n }\n\n getPersonalInfoLanguages(baseUrl: string, forceRefresh = false): Observable<string[]> {\n if (!forceRefresh) {\n const cachedRequest$ = this.personalInformationCacheService.getLanguages(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: string[] }>(`${baseUrl}/hr/widgets/me/profile/personal-information/languages`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? (response as unknown as string[]) ?? []),\n shareReplay(1),\n catchError(error => {\n this.personalInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.personalInformationCacheService.setLanguages(baseUrl, request$);\n return request$;\n }\n\n getPersonalInfoOtherNationalities(baseUrl: string, forceRefresh = false): Observable<string[]> {\n if (!forceRefresh) {\n const cachedRequest$ = this.personalInformationCacheService.getOtherNationalities(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: string[] }>(`${baseUrl}/hr/widgets/me/profile/personal-information/other-nationalities`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? (response as unknown as string[]) ?? []),\n shareReplay(1),\n catchError(error => {\n this.personalInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.personalInformationCacheService.setOtherNationalities(baseUrl, request$);\n return request$;\n }\n\n getJobInformationMain(baseUrl: string, forceRefresh = false): Observable<JobInformationMain | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.jobInformationCacheService.getMainDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: JobInformationMain }>(`${baseUrl}/hr/widgets/me/profile/job-information/main`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.jobInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.jobInformationCacheService.setMainDetails(baseUrl, request$);\n return request$;\n }\n\n getJobInformationContract(baseUrl: string, forceRefresh = false): Observable<JobInformationContract | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.jobInformationCacheService.getContractDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: JobInformationContract }>(`${baseUrl}/hr/widgets/me/profile/job-information/contract`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.jobInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.jobInformationCacheService.setContractDetails(baseUrl, request$);\n return request$;\n }\n\n getJobInformationSalary(baseUrl: string, forceRefresh = false): Observable<JobInformationSalary | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.jobInformationCacheService.getSalaryDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: JobInformationSalary }>(`${baseUrl}/hr/widgets/me/profile/job-information/salary`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.jobInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.jobInformationCacheService.setSalaryDetails(baseUrl, request$);\n return request$;\n }\n\n getJobInformationServiceCharge(\n baseUrl: string,\n forceRefresh = false,\n ): Observable<JobInformationServiceCharge | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.jobInformationCacheService.getServiceChargeDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: JobInformationServiceCharge }>(\n `${baseUrl}/hr/widgets/me/profile/job-information/service-charge`,\n {\n headers: this.headers,\n },\n )\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.jobInformationCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.jobInformationCacheService.setServiceChargeDetails(baseUrl, request$);\n return request$;\n }\n\n clearPersonalInformationCache(): void {\n this.personalInformationCacheService.clear();\n }\n\n clearJobInformationCache(): void {\n this.jobInformationCacheService.clear();\n }\n\n getVacationSummary(baseUrl: string): Observable<any> {\n const params = new HttpParams().set('ShowDirectSubordinatesOnly', 'false');\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/team/next-week-vacation-insights/summary`, {\n params,\n headers: this.headers,\n });\n }\n\n getEntitlementsVacations(baseUrl: string, forceRefresh = false): Observable<EntitlementsVacation[] | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getVacationDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: EntitlementsVacation[] | null }>(`${baseUrl}/hr/widgets/me/profile/entitlements/vacations`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setVacationDetails(baseUrl, request$);\n return request$;\n }\n\n getEntitlementsIndemnity(baseUrl: string, forceRefresh = false): Observable<EntitlementsIndemnity | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getIndemnityDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: EntitlementsIndemnity | null }>(`${baseUrl}/hr/widgets/me/profile/entitlements/indemnity`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setIndemnityDetails(baseUrl, request$);\n return request$;\n }\n\n getEntitlementsTicket(baseUrl: string, forceRefresh = false): Observable<EntitlementsTicket | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getTicketDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: EntitlementsTicket | null }>(`${baseUrl}/hr/widgets/me/profile/entitlements/ticket`, {\n headers: this.headers,\n })\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setTicketDetails(baseUrl, request$);\n return request$;\n }\n\n getEntitlementsMedicalInsurance(\n baseUrl: string,\n forceRefresh = false,\n ): Observable<EntitlementsMedicalInsurance | null> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getMedicalInsuranceDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: EntitlementsMedicalInsurance | null }>(\n `${baseUrl}/hr/widgets/me/profile/entitlements/medical-insurance`,\n {\n headers: this.headers,\n },\n )\n .pipe(\n map(response => response?.ResponseData ?? null),\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setMedicalInsuranceDetails(baseUrl, request$);\n return request$;\n }\n\n getEntitlementsOvertime(baseUrl: string, forceRefresh = false): Observable<any> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getOvertimeDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<any>(`${baseUrl}/hr/widgets/me/profile/entitlements/overtime`, {\n headers: this.headers,\n })\n .pipe(\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setOvertimeDetails(baseUrl, request$);\n return request$;\n }\n\n getEntitlementsSocialSecurity(baseUrl: string, forceRefresh = false): Observable<any> {\n if (!forceRefresh) {\n const cachedRequest$ = this.entitlementsCacheService.getSocialSecurityDetails(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<any>(`${baseUrl}/hr/widgets/me/profile/entitlements/social-security`, {\n headers: this.headers,\n })\n .pipe(\n shareReplay(1),\n catchError(error => {\n this.entitlementsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.entitlementsCacheService.setSocialSecurityDetails(baseUrl, request$);\n return request$;\n }\n\n getEmployeeDegrees(baseUrl: string, forceRefresh = false): Observable<Degree[]> {\n if (!forceRefresh) {\n const cachedRequest$ = this.qualificationsCacheService.getDegrees(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{\n ResponseData: Degree[];\n }>(`${baseUrl}/hr/widgets/me/profile/qualifications/degrees`, { headers: this.headers })\n .pipe(\n map(response => response?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.qualificationsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.qualificationsCacheService.setDegrees(baseUrl, request$);\n\n return request$;\n }\n\n getEmployeeDependents(baseUrl: string, forceRefresh = false): Observable<Dependent[]> {\n if (!forceRefresh) {\n const cachedRequest$ = this.profileEmployeeDependentsCachService.getDependents(baseUrl);\n if (cachedRequest$) {\n return cachedRequest$;\n }\n }\n\n const request$ = this.http\n .get<{ ResponseData: Dependent[] }>(`${baseUrl}/hr/widgets/me/profile/dependents`, { headers: this.headers })\n .pipe(\n map(response => response?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.profileEmployeeDependentsCachService.clear();\n return throwError(() => error);\n }),\n );\n\n this.profileEmployeeDependentsCachService.setDependents(baseUrl, request$);\n\n return request$;\n }\n\n getEmployeeExperiences(baseUrl: string, forceRefresh = false): Observable<Experience[]> {\n if (!forceRefresh) {\n const cached = this.qualificationsCacheService.getExperiences(baseUrl);\n if (cached) return cached;\n }\n\n const request$ = this.http\n .get<{\n ResponseData: Experience[];\n }>(`${baseUrl}/hr/widgets/me/profile/qualifications/experiences`, { headers: this.headers })\n .pipe(\n map(res => res?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.qualificationsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.qualificationsCacheService.setExperiences(baseUrl, request$);\n\n return request$;\n }\n\n getDependentDocuments(baseUrl: string, forceRefresh = false): Observable<DependentDocumentGroup[]> {\n if (!forceRefresh) {\n const cached$ = this.profileDocumentsCacheService.getDependentDocuments(baseUrl);\n if (cached$) return cached$;\n }\n\n const request$ = this.http\n .get<{\n ResponseData: DependentDocumentGroup[];\n }>(`${baseUrl}/hr/widgets/me/profile/documents/dependents`, { headers: this.headers })\n .pipe(\n map(res => res?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.profileDocumentsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.profileDocumentsCacheService.setDependentDocuments(baseUrl, request$);\n\n return request$;\n }\n\n getPersonalDocuments(baseUrl: string, forceRefresh = false): Observable<DocumentRow[]> {\n if (!forceRefresh) {\n const cached$ = this.profileDocumentsCacheService.getPersonalDocuments(baseUrl);\n if (cached$) return cached$;\n }\n\n const request$ = this.http\n .get<{\n ResponseData: DocumentRow[];\n }>(`${baseUrl}/hr/widgets/me/profile/documents/personal`, { headers: this.headers })\n .pipe(\n map(res => res?.ResponseData ?? []),\n shareReplay(1),\n catchError(error => {\n this.profileDocumentsCacheService.clear();\n return throwError(() => error);\n }),\n );\n\n this.profileDocumentsCacheService.setPersonalDocuments(baseUrl, request$);\n return request$;\n }\n}\n","export type MyMainDetailsWidgetDetails = {\n EmployeeNumber: string;\n EmployeeName: string;\n EmployeeNameInitials: string;\n PositionName: string;\n GradeName: string | null;\n PhotoPath: string | null;\n ReportingTo: string | null;\n ServiceYears: string;\n VacationBalances: VacationBalance[];\n AttendanceUrl: string | null;\n VacationStatementUrl: string | null;\n};\n\nexport type VacationBalance = {\n VacationTypeName: string;\n VacationTypeColor: string;\n CurrentBalance: number | null;\n};\n\nexport enum MainWidgetShortcut {\n Profile,\n PaySlip,\n Attendance,\n VacationStatement,\n Loans,\n}\n\nexport enum EventOption {\n Birthday = 1,\n PublicHoliday = 2,\n All = 3,\n}\n\nexport enum RelativeDay {\n Today = 0,\n Tomorrow = 1,\n TwoDays = 2,\n}\n\nexport enum PublicHolidayWeekContext {\n ThisWeek = 0,\n NextWeek = 1,\n}\n\nexport type Birthday = {\n EmployeePropertySymbol: string;\n EmployeePropertyName: string;\n EmployeeShortName: string;\n Birthdate: Date;\n RelativeDay: RelativeDay;\n};\n\nexport type PublicHoliday = {\n StartDate: Date;\n EndDate: Date;\n Description: string;\n WeekContext: PublicHolidayWeekContext;\n};\n\nexport type UpcomingEventsV2 = {\n Birthdays: Birthday[];\n PublicHolidays: PublicHoliday[];\n IsWeekendConfigured: boolean;\n};\n\nexport enum EventTypeEnum {\n Birthdays = 1,\n PublicHolidays = 2,\n}\n\nexport type FilteredUpcomingEvent = {\n EventDate: Date;\n Name: string;\n EventType: EventTypeEnum;\n Description: string;\n StartDate?: Date;\n EndDate?: Date;\n IsIn2Days?: boolean;\n PropertyName?: string;\n PropertySymbol?: string;\n};\n\n// Calendar types\n\nexport type DatePeriod = {\n StartDate: Date;\n EndDate: Date;\n};\n\nexport type CalendarResponse = {\n OffDays: Date[];\n PublicHolidays: { Description: string; StartDate: Date; EndDate: Date }[];\n Vacations: { VacationTypeName: string; Color: string; StartDate: Date; EndDate: Date }[];\n Events: { Description: string; StartDate: Date; EndDate: Date }[];\n};\n\nexport type ScheduleCalenderVacation = {\n Color: string | null;\n VacationType: ScheduleVacationTypes;\n Description: string;\n VacationDays: DatePeriod;\n};\n\nexport enum ScheduleVacationTypes {\n DaysOff = 1,\n PublicHoliday = 2,\n Vacations = 3,\n AddedVacations = 4,\n Events = 5,\n}\n\nexport type PersonalInfoMainDetails = {\n EmployeeName: string | null;\n EmployeeNameAlternate: string | null;\n NationalityName: string | null;\n NationalNumber: string | null;\n SocialSecurityNumber: string | null;\n MaritalStateName: string | null;\n BirthDate: string | Date | null;\n BirthPlace: string | null;\n BloodTypeCode: string | null;\n ReligionName: string | null;\n MinistryOfLaborNumber: string | null;\n};\n\nexport type PersonalInfoContactEmergencyContact = {\n Name: string | null;\n Relation: string | null;\n PhoneNumber: string | null;\n};\n\nexport type PersonalInfoContactDetails = {\n MobileNumber: string | null;\n HomePhone: string | null;\n BusinessEmail: string | null;\n Email: string | null;\n EmergencyContactLegacy: string | null;\n EmergencyContact: PersonalInfoContactEmergencyContact | null;\n};\n\nexport type PersonalInfoAddressDetails = {\n Address: string | null;\n City: string | null;\n POBox: string | null;\n PostalCode: string | null;\n};\n\nexport type MyBankInfo = {\n IsMainBank: boolean;\n BankName: string | null;\n BranchName: string | null;\n IBAN: string | null;\n AccountNumber: string | null;\n Beneficiary: string | null;\n TransferAmount: number | null;\n};\n\nexport type JobInformationMain = {\n AdminUnitName: string | null;\n PositionName: string | null;\n GradeName: string | null;\n JoiningDate: Date | null;\n CorporateJoiningDate: Date | null;\n SponsorName: string | null;\n};\n\nexport type JobInformationContract = {\n ContractTypeName: string | null;\n ContractStartDate: Date | null;\n ContractEndDate: Date | null;\n ContractMaritalStateName: string | null;\n ContractDependentsCount: number | null;\n};\n\nexport type JobInformationSalary = {\n GrossSalary: number | null;\n BasicSalary: number | null;\n CurrentBasicSalary?: number | null;\n Allowances: Allowances[] | null;\n};\nexport type Allowances = {\n AllowanceName: string | null;\n AllowanceAmount: number | null;\n};\n\nexport enum ServiceChargeEntitlementMode {\n Points = 1,\n SalaryRatio = 2,\n FixedAmount = 3,\n FixedRate = 4,\n}\n\nexport type JobInformationServiceCharge = {\n ServiceChargeEntitlementMode: ServiceChargeEntitlementMode;\n ServiceChargeValue: number | null;\n};\n\nexport enum VacationPopupType {\n Upcoming = 1,\n ExpectedToReturn = 2,\n}\nexport type ScheduleRequestsResponse = {\n PendingVacationRequests: { VacationTypeName: string; Color: string; StartDate: Date; EndDate: Date }[];\n PendingEventRequests: { Description: string; StartDate: Date; EndDate: Date }[];\n};\n\nexport type EntitlementsVacation = {\n VacationTypeName: string | null;\n EntitlementDays: number | null;\n};\n\nexport type EntitlementsIndemnity = {\n IsEligibleForIndemnity: boolean | null;\n IndemnityServiceYears: number | null;\n IndemnityStartDate: string | Date | null;\n IndemnitySalary: number | null;\n};\n\nexport type EmployeeTicketDetails = {\n EmployeeFirstName: string | null;\n TicketSectorName: string | null;\n TicketClassName: string | null;\n MonthsPerTicketEntitlement: number | null;\n};\n\nexport type DependentTicketDetails = {\n DependentName: string | null;\n DependentTypeName: string | null;\n MonthsPerTicketEntitlement: number | null;\n};\n\nexport type EntitlementsTicket = {\n EmployeeTicketDetails: EmployeeTicketDetails | null;\n DependentTicketDetails: DependentTicketDetails[] | null;\n};\n\nexport type EmployeeMedicalInsurance = {\n EmployeeFirstName: string | null;\n MedicalInsuranceClassName: string | null;\n MedicalInsuranceNumber: string | null;\n CoverageDate: Date | null;\n};\n\nexport type DependentsMedicalInsurance = {\n DependentName: string | null;\n DependentTypeName: string | null;\n MedicalInsuranceClassName: string | null;\n MedicalInsuranceNumber: string | null;\n CoverageDate: Date | null;\n};\n\nexport type EntitlementsMedicalInsurance = {\n EmployeeMedicalInsurance: EmployeeMedicalInsurance | null;\n DependentsMedicalInsurance: DependentsMedicalInsurance[] | null;\n TotalEmployeeShare: number | null;\n TotalEmployerShare: number | null;\n};\n\nexport type Degree = {\n DegreeName: string;\n DegreeYear: string;\n CountryName: string;\n Specialty: string | null;\n Institute: string | null;\n Document: DocumentModel | null;\n};\n\nexport type Experience = {\n StartDate: string | Date;\n EndDate: string | Date;\n Employer: string;\n Position: string;\n TerminationReason: string;\n Document: DocumentModel | null;\n};\n\nexport type DocumentModel = {\n Key: string;\n ContentType: string;\n};\n\nexport type Dependent = {\n DependentName: string;\n DependentTypeName: string;\n BirthDate: string | Date;\n NationalNumber: string | null;\n};\n\nexport interface DependentDocumentsResponse {\n ResponseData: DependentDocumentGroup[];\n ApiVersion: string;\n}\n\nexport interface DependentDocumentGroup {\n DependentName: string;\n DependentTypeName: string;\n Documents: DocumentRow[];\n}\n\nexport interface DocumentRow {\n DocumentTypeName: string;\n DocumentNumber: string;\n IssueDate: string;\n ExpiryDate: string;\n Attachments: Attachment[];\n}\n\nexport interface Attachment {\n Key: string;\n ContentType: string;\n}\n\nexport interface PersonalDocument {\n DocumentTypeName: string;\n DocumentNumber: string;\n IssueDate: string;\n ExpiryDate: string;\n Attachments: Attachment[];\n}\n\nexport type SubordinateDTO = {\n EmployeeNumber: string;\n EmployeeName: string;\n EmployeeNameInitials: string;\n PositionName: string;\n GradeName: string;\n PhotoPath: string;\n PropertyName?: string;\n PropertySymbol?: string;\n AdminUnitName?: string;\n MobileNumber?: string;\n PersonalEmail?: string;\n BusinessEmail?: string;\n};\n\nexport type SubordinatesPaginationDTO = {\n PageIndex: number;\n PageSize: number;\n TotalPages: number;\n TotalCount: number;\n};\n\nexport type SubordinatesApiResponse = {\n Data: SubordinateDTO[];\n Pagination: SubordinatesPaginationDTO;\n};\n\nexport type EmployeeMainInfo = {\n EmployeeNumber: string;\n EmployeeName: string;\n PhotoKey: string;\n PositionName: string;\n AdminUnitName: string;\n GradeName: string | null;\n PropertyName: string;\n PropertySymbol: string;\n EmployeeNameInitials: string;\n};\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HRConstantsService {\n defaultVacationBalanceColor: string = '#727070';\n defaultVacationColor: string = '#DCDCDC';\n defaultPublicHolidayColor: string = '#249EA0';\n defaultDayOffColor: string = '#FCCF5A';\n defaultEventsColor: string = '#e67e0f';\n}\n","import { Injectable } from '@angular/core';\nimport en from '../../../assets/i18n/en.json';\nimport ar from '../../../assets/i18n/ar.json';\nimport fr from '../../../assets/i18n/fr.json';\n\nconst BUILT_IN_LEXICONS: Record<string, Record<string, string>> = { en, ar, fr };\n\n@Injectable({ providedIn: 'root' })\nexport class HRTranslateService {\n private currentLanguage: string = 'en';\n private lexicon: Record<string, string> = {};\n\n setLanguage(language: string): void {\n this.currentLanguage = language;\n }\n\n getLanguage(): string {\n return this.currentLanguage;\n }\n\n setLexicon(lexicon: Record<string, string>): void {\n this.lexicon = lexicon;\n }\n\n getLexicon(): Record<string, string> {\n return this.lexicon;\n }\n\n translateBuiltIn(key: string): string {\n if (!key) return '';\n const builtIn = BUILT_IN_LEXICONS[this.currentLanguage] || {};\n const foundKey = Object.keys(builtIn).find(k => k.toLowerCase() === key.toLowerCase());\n return foundKey ? builtIn[foundKey] : key;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { HRTranslateService } from '../services/translate.service';\n\n@Pipe({\n name: 'translate',\n standalone: true,\n})\nexport class HRTranslatePipe implements PipeTransform {\n constructor(private readonly payrollTranslateService: HRTranslateService) {}\n\n transform(key?: string): string {\n if (!key) return '';\n\n key = this.payrollTranslateService.translateBuiltIn(key);\n\n const lexicon = this.payrollTranslateService.getLexicon();\n let foundKey = Object.keys(lexicon).find(k => k.toLowerCase() === key!.toLowerCase());\n if (foundKey) return lexicon[foundKey];\n\n const arrKey = key.split(' ');\n let keyValue = '';\n for (let i = 0; i < arrKey.length; i++) {\n if (i !== 0) keyValue += ' ';\n foundKey = Object.keys(lexicon).find(k => k.toLowerCase() === arrKey[i].toLowerCase());\n if (foundKey) {\n keyValue += lexicon[foundKey];\n } else {\n keyValue += arrKey[i];\n }\n }\n\n return keyValue;\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit, computed, inject, input, output, signal } from '@angular/core';\nimport { DxTooltipModule } from 'devextreme-angular';\nimport { DecimalPipe, NgClass } from '@angular/common';\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\nimport { SkyShortcutIconComponent, ShortcutIconDTO } from '@skysoftware-co/sky-components-ui';\nimport { MyMainDetailsWidgetDetails, MainWidgetShortcut } from '../shared/types/common';\nimport { HRConstantsService } from '../shared/services/constants.service';\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\n\n@Component({\n selector: 'hr-my-main-details-widget',\n standalone: true,\n imports: [\n DxTooltipModule,\n NgClass,\n FontAwesomeModule,\n DecimalPipe,\n BayanEmployeeBadgeComponent,\n SkyShortcutIconComponent,\n HRTranslatePipe,\n ],\n providers: [HRTranslatePipe],\n templateUrl: './my-main-details-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyMainDetailsWidgetComponent implements OnInit {\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n private readonly constants = inject(HRConstantsService);\n private readonly translatePipe = inject(HRTranslatePipe);\n\n readonly employeeMainInfo = signal<MyMainDetailsWidgetDetails | null>(null);\n\n readonly onShortcutClicked = output<ShortcutIconDTO>();\n readonly isLoadingChanged = output<boolean>();\n\n readonly badgeClass = input<string>('badge employee-rounded-badge-xl fs-5');\n readonly badgeImageClass = input<string>('rounded-circle shadow-lg');\n readonly badgeWidth = input<string>('50px');\n readonly badgeHeight = input<string>('50px');\n readonly employeeInfoContainerClass = input<string>('d-flex align-content-center');\n readonly employeeDetailsClass = input<string>('ms-3');\n readonly employeeNameContainerClass = input<string>('d-flex align-items-center');\n readonly employeeNameClass = input<string>('fs-14 text-dark-gray fw-medium text-ellipsis-one-line');\n readonly employeePositionClass = input<string>('fs-12 fw-normal text-dark-gray text-ellipsis-one-line mb-1');\n readonly employeeGradeClass = input<string>('fs-12 text-dark-gray');\n\n readonly containerClass = input<string>('card rounded rounded-4 card-shadow p-16 border-top-0 mb-4');\n readonly cardBodyClass = input<string>('card-body p-4');\n readonly headerRowClass = input<string>('d-md-flex justify-content-between align-items-center mt-2 mb-3');\n\n readonly shortcutsContainerClass = input<string>(\n 'd-flex justify-content-md-end justify-content-sm-start fs-12 fw-normal text-secondary mt-3 mt-md-0',\n );\n readonly shortcutItemClass = input<string>('d-flex flex-column align-items-center mx-2 wp-60');\n readonly shortcutIconContainerClass = input<string>(\n 'd-flex justify-content-center align-items-center rounded-circle-40 cursor-pointer',\n );\n readonly shortcutIconClass = input<string>('fs-4');\n readonly shortcutTextClass = input<string>('text-center mt-1');\n\n readonly detailsRowClass = input<string>('d-flex mt-4');\n\n readonly reportingBlockClass = input<string>('d-flex text-secondary align-items-center mb-2 mx-2');\n readonly captionLabelClasses = input<string>('d-flex flex-column align-self-start fs-14 text-dark-gray');\n readonly captionLabelValueClass = input<string>('fw-medium mt-2');\n\n readonly vacationBalancesContainerClass = input<string>('d-flex text-secondary align-items-center mb-2');\n readonly vacationBalanceItemClass = input<string>('d-flex flex-column me-4');\n readonly vacationBalanceHeaderClass = input<string>('d-flex align-items-center');\n readonly vacationColorDotClass = input<string>('vacation-color-container-sm');\n readonly vacationTypeNameClass = input<string>('mx-2 fs-14 fw-normal text-dark-gray');\n readonly vacationBalanceValueRowClass = input<string>('d-flex mt-2');\n readonly vacationBalanceValueClass = input<string>('mx-2 fw-medium fs-14 text-dark-gray');\n\n readonly tooltipTriggerLinkClass = input<string>('d-flex align-items-center cursor-pointer');\n readonly tooltipTriggerTextClass = input<string>('mx-2 fs-14 text-dark-gray');\n\n readonly tooltipVacationRowClass = input<string>('d-flex align-items-center justify-content-around fs-12 mb-2');\n readonly tooltipVacationNameContainerClass = input<string>('d-flex flex-grow-1 align-items-center me-5');\n readonly tooltipVacationNameClass = input<string>('mx-2');\n\n readonly defaultVacationBalanceColor = input<string>(this.constants.defaultVacationBalanceColor);\n\n readonly defaultVacationColor = input<string>(this.constants.defaultVacationColor);\n\n readonly baseUrl = input<string>('');\n\n readonly employeeBadge = signal<BayanEmployeeBadgeDTO>({\n EmployeePhotoKey: null,\n EmployeePhotoFailed: false,\n EmployeeNameInitials: '',\n });\n\n readonly isMobile = input<boolean>(false);\n readonly isTablet = input<boolean>(false);\n readonly shortcuts = input<ShortcutIconDTO[]>([]);\n\n readonly shortcutsWithUrls = computed<ShortcutIconDTO[]>(() => {\n const employeeMainInfo = this.employeeMainInfo();\n return this.shortcuts().map(item => {\n const translated: ShortcutIconDTO = {\n ...item,\n title: this.translatePipe.transform(item.title),\n };\n\n if (translated.shortcutId === MainWidgetShortcut.Attendance && employeeMainInfo?.AttendanceUrl != null) {\n return { ...translated, navigateUrl: [employeeMainInfo.AttendanceUrl] };\n }\n\n if (\n translated.shortcutId === MainWidgetShortcut.VacationStatement &&\n employeeMainInfo?.VacationStatementUrl != null\n ) {\n return { ...translated, navigateUrl: [employeeMainInfo.VacationStatementUrl] };\n }\n\n return translated;\n });\n });\n\n ngOnInit(): void {\n this.loadEmployeeMainInfo();\n }\n\n loadEmployeeMainInfo() {\n this.isLoadingChanged.emit(true);\n\n this.getEmployeeMainDetails().subscribe({\n next: (data: any) => {\n const responses = data.ResponseData;\n const vacationBalances = responses.VacationBalances.map((v: any) => ({\n ...v,\n VacationTypeColor: v.VacationTypeColor ?? this.defaultVacationColor(),\n }));\n\n const employeeMainInfo: MyMainDetailsWidgetDetails = {\n EmployeeNumber: responses.EmployeeNumber,\n EmployeeName: responses.EmployeeName,\n EmployeeNameInitials: responses.EmployeeNameInitials,\n PositionName: responses.PositionName,\n GradeName: responses.GradeName,\n PhotoPath: responses.PhotoPath,\n ReportingTo: responses.ReportingToEmployeeName,\n ServiceYears: `${responses.ServicePeriod.Years} ${this.translatePipe.transform('Years')} ${responses.ServicePeriod.Months} ${this.translatePipe.transform('Months')}`,\n VacationBalances: vacationBalances,\n AttendanceUrl: responses.AttendanceReportUrl,\n VacationStatementUrl: responses.VacationStatementReportUrl,\n };\n this.employeeMainInfo.set(employeeMainInfo);\n\n this.employeeBadge.set({\n EmployeePhotoKey: employeeMainInfo.PhotoPath || null,\n EmployeeNameInitials: employeeMainInfo.EmployeeNameInitials || '',\n EmployeePhotoFailed: false,\n });\n\n this.isLoadingChanged.emit(false);\n },\n error: (error: any) => {\n this.isLoadingChanged.emit(false);\n if (error.status == 401) return;\n },\n });\n }\n\n shortcutClicked(icon: ShortcutIconDTO) {\n this.onShortcutClicked.emit(icon);\n }\n\n handleEmployeePhotoError() {\n this.employeeBadge.update(badge => ({ ...badge, EmployeePhotoFailed: true }));\n }\n\n getEmployeeMainDetails() {\n return this.selfWidgetsService.getMainDetails(this.baseUrl());\n }\n}\n","<div [class]=\"containerClass()\">\n <div [class]=\"cardBodyClass()\">\n <div [class]=\"headerRowClass()\">\n <div>\n @if (employeeMainInfo() != null) {\n <div [class]=\"employeeInfoContainerClass()\">\n <bayan-employee-badge\n [badge]=\"employeeBadge()\"\n [badgeClass]=\"badgeClass()\"\n [imageClass]=\"badgeImageClass()\"\n [width]=\"badgeWidth()\"\n [height]=\"badgeHeight()\"\n (employeePhotoError)=\"handleEmployeePhotoError()\"\n ></bayan-employee-badge>\n\n <div [class]=\"employeeDetailsClass()\">\n <div [class]=\"employeeNameContainerClass()\">\n <div\n [class]=\"employeeNameClass()\"\n data-bs-toggle=\"tooltip\"\n [title]=\"employeeMainInfo()!.EmployeeNumber + ' | ' + employeeMainInfo()!.EmployeeName\"\n >\n {{ employeeMainInfo()!.EmployeeNumber + ' | ' + employeeMainInfo()!.EmployeeName }}\n </div>\n </div>\n @if (employeeMainInfo()!.PositionName != null && employeeMainInfo()!.PositionName != '') {\n <div [class]=\"employeePositionClass()\" data-bs-toggle=\"tooltip\" [title]=\"employeeMainInfo()!.PositionName\">\n {{ employeeMainInfo()!.PositionName }}\n </div>\n }\n @if (employeeMainInfo()!.GradeName != null) {\n <div [class]=\"employeeGradeClass()\" [title]=\"employeeMainInfo()!.GradeName\">\n {{ employeeMainInfo()!.GradeName }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n <div [class]=\"shortcutsContainerClass()\">\n @for (Icon of shortcutsWithUrls(); track Icon; let i = $index) {\n <sky-shortcut-icon\n [shortcut]=\"Icon\"\n [itemClass]=\"shortcutItemClass()\"\n [iconContainerClass]=\"shortcutIconContainerClass()\"\n [iconClass]=\"shortcutIconClass()\"\n [textClass]=\"shortcutTextClass()\"\n (onClicked)=\"shortcutClicked($event)\"\n ></sky-shortcut-icon>\n }\n </div>\n </div>\n <div [class]=\"detailsRowClass()\" [ngClass]=\"{ 'flex-wrap': isMobile() || isTablet() }\">\n <div [class]=\"reportingBlockClass()\" [ngClass]=\"{ 'mb-3': isMobile() }\">\n <div [class]=\"captionLabelClasses() + ' me-5'\">\n <div>\n {{ 'ReportingTo' | translate }}\n </div>\n <div [class]=\"captionLabelValueClass()\">\n @if (employeeMainInfo()?.ReportingTo) {\n {{ employeeMainInfo()?.ReportingTo }}\n } @else {\n {{ 'NotAnknown' | translate }}\n }\n </div>\n </div>\n <div [class]=\"captionLabelClasses()\" [ngClass]=\"{ 'border-end border-1 pe-4': !isMobile() }\">\n <div>\n {{ 'ServiceYears' | translate }}\n </div>\n <div [class]=\"captionLabelValueClass()\">\n {{ employeeMainInfo()?.ServiceYears }}\n </div>\n </div>\n </div>\n\n <div class=\"flex-grow-1\" [ngClass]=\"{ ' ms-4': !isMobile() && !isTablet(), 'w-100': isTablet() }\">\n <div [class]=\"vacationBalancesContainerClass()\" [ngClass]=\"{ 'flex-wrap': isMobile(), 'w-100': isTablet() }\">\n @for (vacationBalance of employeeMainInfo()?.VacationBalances; track vacationBalance; let i = $index) {\n @if (i <= 2 || employeeMainInfo()?.VacationBalances?.length == 4) {\n <div [class]=\"vacationBalanceItemClass()\" [ngClass]=\"{ 'mb-2 w-40': isMobile() }\">\n <div [class]=\"vacationBalanceHeaderClass()\">\n <div [class]=\"vacationColorDotClass()\">\n <div\n class=\"rounded rounded-circle\"\n style=\"height: 11px; width: 11px\"\n [style.background-color]=\"vacationBalance.VacationTypeColor\"\n ></div>\n </div>\n <div [class]=\"vacationTypeNameClass()\">\n {{ vacationBalance.VacationTypeName }}\n </div>\n </div>\n <div [class]=\"vacationBalanceValueRowClass()\">\n <div [class]=\"vacationColorDotClass()\">\n <div class=\"rounded rounded-circle invisible\" style=\"height: 11px; width: 11px\"></div>\n </div>\n <div [class]=\"vacationBalanceValueClass()\">\n {{ vacationBalance.CurrentBalance | number: '1.2-2' }}\n {{ (vacationBalance.CurrentBalance! == 1 ? 'day' : 'days') | translate }}\n </div>\n </div>\n </div>\n }\n }\n\n @if (employeeMainInfo()?.VacationBalances && employeeMainInfo()!.VacationBalances!.length > 4) {\n <div [class]=\"vacationBalanceItemClass()\">\n <div [class]=\"tooltipTriggerLinkClass()\" id=\"otherVacationBalances\">\n <div [class]=\"vacationColorDotClass()\">\n <div\n class=\"rounded rounded-circle\"\n style=\"height: 11px; width: 11px\"\n [style.background-color]=\"defaultVacationBalanceColor()\"\n ></div>\n </div>\n <div [class]=\"tooltipTriggerTextClass()\">\n +{{ employeeMainInfo()!.VacationBalances!.length - 3 }} {{ 'More' | translate }}\n </div>\n </div>\n <div [class]=\"vacationBalanceValueRowClass()\" style=\"visibility: hidden\">\n <div [class]=\"vacationColorDotClass()\">\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px\"></div>\n </div>\n <div class=\"mx-1 fw-medium fs-14 text-dark-gray\">{{ 'More' | translate }}</div>\n </div>\n <dx-tooltip [target]=\"'#otherVacationBalances'\" [showEvent]=\"'mouseenter'\" [hideEvent]=\"'mouseleave'\">\n @for (vacationBalance of employeeMainInfo()!.VacationBalances!; track vacationBalance; let i = $index) {\n @if (i > 2) {\n <div [class]=\"tooltipVacationRowClass()\">\n <div [class]=\"tooltipVacationNameContainerClass()\">\n <div [class]=\"vacationColorDotClass()\">\n <div\n class=\"rounded rounded-circle\"\n style=\"height: 11px; width: 11px\"\n [style.background-color]=\"vacationBalance.VacationTypeColor\"\n ></div>\n </div>\n <div [class]=\"tooltipVacationNameClass()\">\n {{ vacationBalance.VacationTypeName }}\n </div>\n </div>\n <div>\n {{ vacationBalance.CurrentBalance | number: '1.2-2' }}\n {{ (vacationBalance.CurrentBalance! == 1 ? 'day' : 'days') | translate }}\n </div>\n </div>\n }\n }\n </dx-tooltip>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\n\n@Component({\n selector: 'hr-card-header',\n standalone: true,\n imports: [FontAwesomeModule],\n templateUrl: './card-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HRCardHeaderComponent {\n readonly icon = input.required<IconDefinition>();\n readonly title = input.required<string>();\n readonly containerClass = input<string>('d-flex align-items-center mb-2');\n readonly iconClass = input<string>('fs-6 text-primary pe-2');\n readonly titleClass = input<string>('text-center table-header-lg fw-medium');\n}\n","<div [class]=\"containerClass()\">\n <fa-icon [icon]=\"icon()\" [class]=\"iconClass()\"></fa-icon>\n <span [class]=\"titleClass()\">{{ title() }}</span>\n</div>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faCakeCandles, faTreePalm } from '@fortawesome/pro-light-svg-icons';\nimport { DatePipe, LowerCasePipe } from '@angular/common';\nimport { EventTypeEnum, FilteredUpcomingEvent } from '../../../shared/types/common';\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\n\n@Component({\n selector: 'hr-event-item',\n standalone: true,\n imports: [FontAwesomeModule, DatePipe, LowerCasePipe, HRTranslatePipe],\n templateUrl: './event-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HREventItemComponent {\n readonly events = input<FilteredUpcomingEvent[]>([]);\n readonly showDates = input<boolean>(false);\n readonly showProperty = input<boolean>(true);\n readonly selectedLanguage = input<string>('en');\n readonly selectedEventType = input<EventTypeEnum | null>(null);\n readonly weekendWarningDescription = input<string | null>(null);\n readonly eventIconClass = input<string>('fs-6 text-primary pe-2');\n readonly eventNameBoldClass = input<string>('fw-medium');\n readonly eventDescriptionClass = input<string>('text-primary fw-medium');\n readonly propertyBadgeClass = input<string>('property-badge cursor-pointer me-1');\n readonly noEventsTextClass = input<string>('text-center my-4 text-light-gray');\n readonly warningTextClass = input<string>('text-center my-2 text-light-gray');\n readonly dateFormat = input<string>('dd/MM/yyyy');\n\n eventTypeEnum = EventTypeEnum;\n cakeCandles = faCakeCandles;\n treePalm = faTreePalm;\n\n readonly isArabic = computed(() => this.selectedLanguage() === 'ar');\n\n isBirthday(event: FilteredUpcomingEvent): boolean {\n return event.EventType === EventTypeEnum.Birthdays;\n }\n hasPropertyBadge(event: FilteredUpcomingEvent): boolean {\n return this.showProperty() && !!event.PropertySymbol;\n }\n}\n","@if (events().length > 0) {\n <div>\n @for (event of events(); track event) {\n <div [class]=\"'d-flex lh-base ' + (showDates() ? 'my-3' : 'my-1')\">\n <fa-icon\n [icon]=\"isBirthday(event) ? cakeCandles : treePalm\"\n [class]=\"eventIconClass()\"\n [title]=\"isBirthday(event) ? ('Birthday' | translate) : ('PublicHoliday' | translate)\"\n ></fa-icon>\n\n <div>\n @if (isBirthday(event)) {\n @if (hasPropertyBadge(event)) {\n <span [class]=\"propertyBadgeClass()\" [title]=\"event.PropertyName!\">{{ event.PropertySymbol }}</span>\n }\n @if (isArabic()) {\n <span>{{ 'Birthday' | translate }}</span>\n <span [class]=\"eventNameBoldClass()\">{{ ' ' + event.Name + ' ' }}</span>\n @if (event.IsIn2Days) {\n <span>{{ 'During' | translate }}</span>\n }\n } @else {\n <span [class]=\"eventNameBoldClass()\">{{ event.Name }}'s</span>\n <span>\n {{ ('Birthday' | translate) + ' ' + ((event.IsIn2Days ? ('isIn' | translate) : ('is' | translate)) | lowercase) }}\n </span>\n }\n } @else {\n @if (isArabic()) {\n <span [class]=\"eventNameBoldClass()\">{{ event.Name }}</span>\n <span>{{ ('In' | translate) + ' ' }}</span>\n } @else {\n <span [class]=\"eventNameBoldClass()\">{{ event.Name }}</span>\n <span>{{ ' ' + ('is' | translate | lowercase) }}</span>\n }\n }\n\n <span [class]=\"eventDescriptionClass()\">{{ event.Description | translate }}</span>\n\n @if (!isBirthday(event) && showDates() && event.StartDate && event.EndDate) {\n <span>{{ ' (' + (event.StartDate | date: dateFormat()) + ' - ' + (event.EndDate | date: dateFormat()) + ')' }}</span>\n }\n </div>\n </div>\n }\n </div>\n} @else {\n @if (weekendWarningDescription()) {\n <div [class]=\"warningTextClass() + (showDates() ? ' pt-5 my-5' : '')\">{{ weekendWarningDescription() ?? undefined | translate }}</div>\n } @else {\n <div [class]=\"noEventsTextClass() + (showDates() ? ' pt-5 my-5' : '')\">{{ 'NoEvents' | translate }}</div>\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, input, output } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { NgClass } from '@angular/common';\nimport { EventTypeEnum } from '../../../shared/types/common';\nimport { faCakeCandles, faTreePalm } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\n\n@Component({\n selector: 'hr-event-tab-bar',\n standalone: true,\n imports: [FontAwesomeModule, NgClass],\n providers: [HRTranslatePipe],\n templateUrl: './event-tab-bar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HREventTabBarComponent {\n readonly selectedType = input<EventTypeEnum | null>(null);\n readonly selectedLanguage = input<string>('en');\n readonly tabSelectedClass = input<string>('selected-event-option');\n readonly tabNotSelectedClass = input<string>('not-selected-event-option');\n readonly tabTextSelectedClass = input<string>('text-white');\n readonly tabTextNotSelectedClass = input<string>('text-primary');\n readonly containerClass = input<string>('d-flex gap-2 mb-3');\n readonly tabItemClass = input<string>(\n 'col-1 align-items-center rounded rounded-3 cursor-pointer text-center d-flex justify-content-center py-2 px-3',\n );\n readonly tabTextClass = input<string>('fs-16');\n readonly tabIconClass = input<string>('fs-6');\n readonly tabSelected = output<EventTypeEnum | null>();\n\n private readonly translatePipe = inject(HRTranslatePipe);\n\n tabList = [\n { id: null, icon: null },\n { id: EventTypeEnum.Birthdays, icon: faCakeCandles },\n { id: EventTypeEnum.PublicHolidays, icon: faTreePalm },\n ];\n\n getTabText(tab: { id: EventTypeEnum | null }): string {\n if (tab.id === null) return this.translatePipe.transform('All');\n if (tab.id === EventTypeEnum.Birthdays) return this.translatePipe.transform('Birthday');\n return this.translatePipe.transform('PublicHoliday');\n }\n}\n","<div [class]=\"containerClass()\">\n @for (tab of tabList; track tab) {\n <div\n [class]=\"tabItemClass() + ' ' + (selectedType() == tab.id ? tabSelectedClass() : tabNotSelectedClass())\"\n [ngClass]=\"{ 'w-25': selectedLanguage() == 'fr' && !tab?.icon }\"\n (click)=\"tabSelected.emit(tab.id)\"\n >\n @if (!tab?.icon) {\n <span [class]=\"tabTextClass() + ' ' + (selectedType() == tab.id ? tabTextSelectedClass() : tabTextNotSelectedClass())\">\n {{ getTabText(tab) }}\n </span>\n } @else {\n <fa-icon\n [icon]=\"tab.icon!\"\n [class]=\"tabIconClass() + ' ' + (selectedType() == tab.id ? tabTextSelectedClass() : tabTextNotSelectedClass())\"\n [title]=\"getTabText(tab)\"\n ></fa-icon>\n }\n </div>\n }\n</div>\n","import { ChangeDetectionStrategy, Component, effect, input, output, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DxLoadPanelModule, DxPopupModule, DxScrollViewModule } from 'devextreme-angular';\nimport { EventTypeEnum, FilteredUpcomingEvent } from '../../../shared/types/common';\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\nimport { HREventItemComponent } from '../event-item/event-item.component';\nimport { HREventTabBarComponent } from '../event-tab-bar/event-tab-bar.component';\n\n@Component({\n selector: 'hr-upcoming-events-popup',\n standalone: true,\n imports: [\n CommonModule,\n DxPopupModule,\n DxScrollViewModule,\n DxLoadPanelModule,\n HREventItemComponent,\n HREventTabBarComponent,\n HRTranslatePipe,\n ],\n templateUrl: './events-popup.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HREventsPopupComponent {\n readonly visible = input<boolean>(false);\n readonly events = input<FilteredUpcomingEvent[]>([]);\n readonly hasBirthdays = input<boolean>(false);\n readonly hasHolidays = input<boolean>(false);\n readonly isLoading = input<boolean>(false);\n readonly selectedLanguage = input<string>('en');\n readonly showProperty = input<boolean>(true);\n readonly weekendWarningDescription = input<string | null>(null);\n readonly popupTitle = input<string>('');\n readonly selectedEventType = input<EventTypeEnum | null>(null);\n readonly tabSelectedClass = input<string>('selected-event-option');\n readonly tabNotSelectedClass = input<string>('not-selected-event-option');\n readonly tabTextSelectedClass = input<string>('text-white');\n readonly tabTextNotSelectedClass = input<string>('text-primary');\n readonly tabContainerClass = input<string>('d-flex gap-2 mb-3');\n readonly tabItemClass = input<string>(\n 'col-1 align-items-center rounded rounded-3 cursor-pointer text-center d-flex justify-content-center py-2 px-3',\n );\n readonly tabTextClass = input<string>('fs-16');\n readonly tabIconClass = input<string>('fs-6');\n readonly eventIconClass = input<string>('fs-6 text-primary pe-2');\n readonly eventNameBoldClass = input<string>('fw-medium');\n readonly eventDescriptionClass = input<string>('text-primary fw-medium');\n readonly propertyBadgeClass = input<string>('property-badge cursor-pointer me-1');\n readonly noEventsTextClass = input<string>('text-center my-4 text-light-gray');\n readonly warningTextClass = input<string>('text-center my-2 text-light-gray');\n readonly dateFormat = input<string>('dd/MM/yyyy');\n\n readonly visibleChange = output<boolean>();\n readonly tabSelected = output<EventTypeEnum | null>();\n readonly closed = output<void>();\n readonly popupVisible = signal<boolean>(false);\n\n private readonly syncVisibleEffect = effect(() => {\n this.popupVisible.set(this.visible());\n });\n\n onTabSelected(eventType: EventTypeEnum | null) {\n this.tabSelected.emit(eventType);\n }\n\n onPopupVisibleChanged(visible: boolean): void {\n this.popupVisible.set(visible);\n this.visibleChange.emit(visible);\n }\n\n onPopupClose() {\n this.closed.emit();\n }\n}\n","<dx-popup\n id=\"popup\"\n [visible]=\"popupVisible()\"\n [height]=\"'400'\"\n [maxHeight]=\"400\"\n [width]=\"'650'\"\n shadingColor=\"rgba(0,0,0,0.4)\"\n contentTemplate=\"popup-content\"\n [showCloseButton]=\"true\"\n [title]=\"popupTitle()\"\n (onHiding)=\"onPopupClose()\"\n (visibleChange)=\"onPopupVisibleChanged($event)\"\n>\n <div class=\"text-dark\" *dxTemplate=\"let data of 'popup-content'\">\n <dx-scroll-view\n #upcomingEventsScrollView\n id=\"upcomingEventsScrollView\"\n [scrollByContent]=\"true\"\n [scrollByThumb]=\"true\"\n [showScrollbar]=\"'onScroll'\"\n [bounceEnabled]=\"false\"\n >\n @if (hasBirthdays() || hasHolidays()) {\n <hr-event-tab-bar\n [selectedType]=\"selectedEventType()\"\n [selectedLanguage]=\"selectedLanguage()\"\n [tabSelectedClass]=\"tabSelectedClass()\"\n [tabNotSelectedClass]=\"tabNotSelectedClass()\"\n [tabTextSelectedClass]=\"tabTextSelectedClass()\"\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass()\"\n [containerClass]=\"tabContainerClass()\"\n [tabItemClass]=\"tabItemClass()\"\n [tabTextClass]=\"tabTextClass()\"\n [tabIconClass]=\"tabIconClass()\"\n (tabSelected)=\"onTabSelected($event)\"\n ></hr-event-tab-bar>\n\n <hr-event-item\n [events]=\"events()\"\n [showDates]=\"true\"\n [showProperty]=\"showProperty()\"\n [selectedLanguage]=\"selectedLanguage()\"\n [selectedEventType]=\"selectedEventType()\"\n [weekendWarningDescription]=\"weekendWarningDescription()\"\n [eventIconClass]=\"eventIconClass()\"\n [eventNameBoldClass]=\"eventNameBoldClass()\"\n [eventDescriptionClass]=\"eventDescriptionClass()\"\n [propertyBadgeClass]=\"propertyBadgeClass()\"\n [noEventsTextClass]=\"noEventsTextClass()\"\n [warningTextClass]=\"warningTextClass()\"\n [dateFormat]=\"dateFormat()\"\n ></hr-event-item>\n } @else {\n <div [class]=\"noEventsTextClass()\">{{ 'NoEvents' | translate }}</div>\n }\n </dx-scroll-view>\n </div>\n</dx-popup>\n\n<dx-load-panel\n shadingColor=\"rgba(0,0,0,0.4)\"\n [visible]=\"isLoading()\"\n [showIndicator]=\"true\"\n [showPane]=\"true\"\n [shading]=\"true\"\n [hideOnOutsideClick]=\"false\"\n></dx-load-panel>\n","import { ChangeDetectionStrategy, Component, effect, inject, input, output, signal } from '@angular/core';\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\nimport { faCalendarStar } from '@fortawesome/pro-light-svg-icons';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { HRCardHeaderComponent } from '../shared/components/card-header/card-header.component';\nimport { HREventItemComponent } from './components/event-item/event-item.component';\nimport { HREventTabBarComponent } from './components/event-tab-bar/event-tab-bar.component';\nimport { HREventsPopupComponent } from './components/events-popup/events-popup.component';\nimport {\n EventOption,\n RelativeDay,\n Birthday,\n PublicHoliday,\n UpcomingEventsV2,\n EventTypeEnum,\n FilteredUpcomingEvent,\n} from '../shared/types/common';\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\n\n@Component({\n selector: 'hr-my-upcoming-events-widget',\n standalone: true,\n imports: [\n FontAwesomeModule,\n HRCardHeaderComponent,\n HREventItemComponent,\n HREventTabBarComponent,\n HREventsPopupComponent,\n HRTranslatePipe,\n ],\n templateUrl: './my-upcoming-events-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyUpcomingEventsWidgetComponent {\n readonly baseUrl = input<string>('');\n readonly weekendWarningDescription = input<string>('WeekendDayNotDefined');\n readonly selectedLanguage = input<string>('en');\n readonly showProperty = input<boolean>(true);\n\n readonly cardClass = input<string>('bg-light-gray border-0 card p-3 card-shadow rounded rounded-4 mt-3');\n readonly noEventsTextClass = input<string>('text-center my-3 text-light-gray');\n readonly viewAllLinkClass = input<string>('fs-14 mt-2');\n readonly viewAllContainerClass = input<string>('d-flex justify-content-end cursor-pointer');\n readonly warningTextClass = input<string>('text-center my-2 text-light-gray');\n readonly tabSelectedClass = input<string>('selected-event-option');\n readonly tabNotSelectedClass = input<string>('not-selected-event-option');\n readonly tabTextSelectedClass = input<string>('text-white');\n readonly tabTextNotSelectedClass = input<string>('text-primary');\n readonly tabContainerClass = input<string>('d-flex gap-2 mb-3');\n readonly tabItemClass = input<string>(\n 'col-1 align-items-center rounded rounded-3 cursor-pointer text-center d-flex justify-content-center py-2 px-3',\n );\n readonly tabTextClass = input<string>('fs-16');\n readonly tabIconClass = input<string>('fs-6');\n readonly eventIconClass = input<string>('fs-6 text-primary pe-2');\n readonly eventNameBoldClass = input<string>('fw-medium');\n readonly eventDescriptionClass = input<string>('text-primary fw-medium');\n readonly propertyBadgeClass = input<string>('property-badge cursor-pointer me-1');\n readonly dateFormat = input<string>('dd/MM/yyyy');\n\n readonly isLoadingChanged = output<boolean>();\n readonly viewAllClicked = output<void>();\n\n readonly externalViewAll = input<boolean>(false);\n\n readonly selectedEventType = signal<EventTypeEnum | null>(null);\n readonly selectedPopupEventType = signal<EventTypeEnum | null>(null);\n\n readonly calendarStar = faCalendarStar;\n\n readonly filteredEvents = signal<FilteredUpcomingEvent[]>([]);\n readonly birthdays = signal<Birthday[]>([]);\n readonly holidays = signal<PublicHoliday[]>([]);\n\n readonly popupEvents = signal<FilteredUpcomingEvent[]>([]);\n readonly popupVisible = signal(false);\n\n readonly weekendWarning = signal<string | null>(null);\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n\n private readonly loadEventsEffect = effect(() => {\n this.loadEvents(EventOption.All);\n });\n\n onTabClick(eventType: EventTypeEnum | null) {\n this.selectedEventType.set(eventType);\n this.filteredEvents.set(this.buildEvents(this.cardData(), eventType, 2));\n }\n\n onPopupTabClick(eventType: EventTypeEnum | null) {\n this.selectedPopupEventType.set(eventType);\n this.popupEvents.set(this.buildEvents(this.cardData(), eventType));\n }\n\n showPopup() {\n if (this.externalViewAll()) {\n this.viewAllClicked.emit();\n return;\n }\n this.popupEvents.set(this.buildEvents(this.cardData(), this.selectedPopupEventType()));\n this.popupVisible.set(true);\n }\n\n onPopupClose() {\n this.popupVisible.set(false);\n this.selectedPopupEventType.set(null);\n }\n\n onPopupVisibleChange(visible: boolean) {\n this.popupVisible.set(visible);\n }\n\n // --- Private ---\n\n private readonly cardData = signal<UpcomingEventsV2 | null>(null);\n\n private getUpcomingEvents(eventOption: EventOption) {\n return this.selfWidgetsService.getUpcomingEvents(this.baseUrl(), eventOption);\n }\n\n private loadEvents(eventOption: EventOption) {\n this.isLoadingChanged.emit(true);\n this.getUpcomingEvents(eventOption).subscribe({\n next: (response: any) => {\n this.cardData.set(response.ResponseData);\n const currentData = this.cardData();\n this.birthdays.set(currentData?.Birthdays || []);\n this.holidays.set(currentData?.PublicHolidays || []);\n this.weekendWarning.set(currentData?.IsWeekendConfigured === false ? this.weekendWarningDescription() : null);\n this.filteredEvents.set(this.buildEvents(currentData, null, 2));\n this.isLoadingChanged.emit(false);\n },\n error: () => {\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n private buildEvents(\n source: UpcomingEventsV2 | null,\n eventType: EventTypeEnum | null,\n limit?: number,\n ): FilteredUpcomingEvent[] {\n const birthdays = source?.Birthdays || [];\n const holidays = source?.PublicHolidays || [];\n\n let filtered: FilteredUpcomingEvent[];\n\n if (eventType === EventTypeEnum.Birthdays) {\n filtered = birthdays\n .map(b => this.mapBirthday(b))\n .sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime());\n } else if (eventType === EventTypeEnum.PublicHolidays) {\n filtered = holidays\n .map(h => this.mapHoliday(h))\n .sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime());\n } else {\n if (limit) {\n filtered = [...birthdays.map(b => this.mapBirthday(b)), ...holidays.map(h => this.mapHoliday(h))]\n .sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime())\n .slice(0, 2);\n } else {\n filtered = [...birthdays.map(b => this.mapBirthday(b)), ...holidays.map(h => this.mapHoliday(h))];\n }\n }\n\n if (limit) {\n filtered = filtered.slice(0, limit);\n }\n\n return filtered.sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime());\n }\n\n private mapBirthday(b: Birthday): FilteredUpcomingEvent {\n const birthdate = new Date(b.Birthdate);\n const eventDate = new Date(new Date().getFullYear(), birthdate.getMonth(), birthdate.getDate());\n return {\n EventDate: eventDate,\n Name: b.EmployeeShortName,\n EventType: EventTypeEnum.Birthdays,\n Description: b.RelativeDay.toString(),\n IsIn2Days: RelativeDay[b.RelativeDay as unknown as keyof typeof RelativeDay] === RelativeDay.TwoDays,\n PropertyName: b.EmployeePropertyName,\n PropertySymbol: b.EmployeePropertySymbol,\n };\n }\n\n private mapHoliday(h: PublicHoliday): FilteredUpcomingEvent {\n return {\n EventDate: new Date(h.StartDate),\n StartDate: new Date(h.StartDate),\n EndDate: new Date(h.EndDate),\n Name: h.Description,\n EventType: EventTypeEnum.PublicHolidays,\n Description: h.WeekContext.toString(),\n };\n }\n}\n","<!-- Card View -->\n<div [class]=\"cardClass()\">\n <hr-card-header [icon]=\"calendarStar\" [title]=\"'UpcomingEvents' | translate\"></hr-card-header>\n\n @if (birthdays().length > 0 || holidays().length > 0) {\n <hr-event-tab-bar\n [selectedType]=\"selectedEventType()\"\n [selectedLanguage]=\"selectedLanguage()\"\n [tabSelectedClass]=\"tabSelectedClass()\"\n [tabNotSelectedClass]=\"tabNotSelectedClass()\"\n [tabTextSelectedClass]=\"tabTextSelectedClass()\"\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass()\"\n [containerClass]=\"tabContainerClass()\"\n [tabItemClass]=\"tabItemClass()\"\n [tabTextClass]=\"tabTextClass()\"\n [tabIconClass]=\"tabIconClass()\"\n (tabSelected)=\"onTabClick($event)\"\n ></hr-event-tab-bar>\n\n <hr-event-item\n [events]=\"filteredEvents()\"\n [showDates]=\"false\"\n [showProperty]=\"showProperty()\"\n [selectedLanguage]=\"selectedLanguage()\"\n [selectedEventType]=\"selectedEventType()\"\n [weekendWarningDescription]=\"weekendWarning()\"\n [eventIconClass]=\"eventIconClass()\"\n [eventNameBoldClass]=\"eventNameBoldClass()\"\n [eventDescriptionClass]=\"eventDescriptionClass()\"\n [propertyBadgeClass]=\"propertyBadgeClass()\"\n [noEventsTextClass]=\"noEventsTextClass()\"\n [warningTextClass]=\"warningTextClass()\"\n [dateFormat]=\"dateFormat()\"\n ></hr-event-item>\n\n <div [class]=\"viewAllContainerClass()\">\n <a [class]=\"viewAllLinkClass()\" (click)=\"showPopup()\">{{ 'ViewAll' | translate }}</a>\n </div>\n } @else {\n <div [class]=\"noEventsTextClass()\">{{ 'NoEvents' | translate }}</div>\n }\n</div>\n\n<!-- Popup -->\n<hr-upcoming-events-popup\n [visible]=\"popupVisible()\"\n [events]=\"popupEvents()\"\n [hasBirthdays]=\"birthdays().length > 0\"\n [hasHolidays]=\"holidays().length > 0\"\n [isLoading]=\"false\"\n [selectedLanguage]=\"selectedLanguage()\"\n [showProperty]=\"showProperty()\"\n [weekendWarningDescription]=\"weekendWarning()\"\n [popupTitle]=\"'UpcomingEvents' | translate\"\n [selectedEventType]=\"selectedPopupEventType()\"\n [tabSelectedClass]=\"tabSelectedClass()\"\n [tabNotSelectedClass]=\"tabNotSelectedClass()\"\n [tabTextSelectedClass]=\"tabTextSelectedClass()\"\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass()\"\n [tabContainerClass]=\"tabContainerClass()\"\n [tabItemClass]=\"tabItemClass()\"\n [tabTextClass]=\"tabTextClass()\"\n [tabIconClass]=\"tabIconClass()\"\n [eventIconClass]=\"eventIconClass()\"\n [eventNameBoldClass]=\"eventNameBoldClass()\"\n [eventDescriptionClass]=\"eventDescriptionClass()\"\n [propertyBadgeClass]=\"propertyBadgeClass()\"\n [noEventsTextClass]=\"noEventsTextClass()\"\n [warningTextClass]=\"warningTextClass()\"\n [dateFormat]=\"dateFormat()\"\n (visibleChange)=\"onPopupVisibleChange($event)\"\n (tabSelected)=\"onPopupTabClick($event)\"\n (closed)=\"onPopupClose()\"\n></hr-upcoming-events-popup>\n","import { DecimalPipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { HRTranslateService } from './translate.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HRCommonMethodsService {\n constructor(private readonly translateService: HRTranslateService) {}\n\n calculateDaysDifference(dateOne: string | Date, dateTwo: string | Date): number {\n const resetTime = (inputDate: Date): Date => {\n const newDate = new Date(inputDate);\n newDate.setHours(0, 0, 0, 0);\n return newDate;\n };\n const firstDate = resetTime(new Date(dateOne));\n const secondDate = resetTime(new Date(dateTwo));\n return (firstDate.getTime() - secondDate.getTime()) / (1000 * 60 * 60 * 24);\n }\n\n currencyDecimalFormat(value: number, currencyDecimalsNumber: number): string | null {\n const currencyDecimalsString = `1.${currencyDecimalsNumber}-${currencyDecimalsNumber}`;\n const languageCode = this.translateService.getLanguage() || 'en';\n const decimalPipe = new DecimalPipe(languageCode === 'fr' ? 'fr-FR' : 'en-US');\n\n if (languageCode === 'fr') {\n return decimalPipe.transform(value, currencyDecimalsString, 'fr-FR');\n }\n\n return decimalPipe.transform(value, currencyDecimalsString);\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewChild, inject, input } from '@angular/core';\nimport { DxCalendarComponent, DxCalendarModule } from 'devextreme-angular';\nimport { ScheduleCalenderVacation, ScheduleVacationTypes, DatePeriod } from '../../types/common';\nimport { HRCommonMethodsService } from '../../services/common-methods.service';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faCircle } from '@fortawesome/pro-regular-svg-icons';\nimport { HRTranslatePipe } from '../../pipes/translate.pipe';\n\n@Component({\n standalone: true,\n selector: 'hr-employee-calendar',\n templateUrl: './hr-employee-calendar.component.html',\n imports: [DxCalendarModule, HRTranslatePipe, FontAwesomeModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HREmployeeCalendarComponent {\n @ViewChild('calendar') calendar!: DxCalendarComponent;\n readonly showEvents = input<boolean>(false);\n readonly showUpComingVacations = input<boolean>(false);\n readonly scheduleCalenderVacation = input<ScheduleCalenderVacation[]>([]);\n readonly minDate = input<Date>(new Date());\n readonly maxDate = input<Date>(new Date());\n\n readonly legendContainerClass = input<string>('row mb-2');\n readonly legendRowClass = input<string>('d-flex');\n readonly legendItemClass = input<string>('d-flex align-items-center');\n readonly legendDotClass = input<string>('me-1 circle-sm');\n readonly legendLabelClass = input<string>('me-1 fs-12');\n readonly publicHolidayDotClass = input<string>('bg-accent');\n readonly dayOffDotClass = input<string>('bg-yellow');\n readonly eventsDotClass = input<string>('bg-primary');\n readonly vacationsContainerClass = input<string>('d-flex mt-3');\n readonly vacationsItemClass = input<string>('d-flex align-items-center');\n readonly vacationsIconClass = input<string>('fs-8 me-1');\n readonly calendarContainerClass = input<string>('row mt-2 col-12');\n readonly calendarClass = input<string>('button-boeder-none');\n\n squreCheckIcon = faCircle;\n DaysOffVacationTypes = ScheduleVacationTypes.DaysOff;\n PublicHolidaysVacationTypes = ScheduleVacationTypes.PublicHoliday;\n private commonMethods = inject(HRCommonMethodsService);\n\n customCellTemplate = (cellData: any): string | HTMLElement => {\n if (cellData.view != 'month') {\n return this.createDateSpan(cellData);\n }\n\n const cellDate = cellData.date;\n\n let matchedVacation = this.scheduleCalenderVacation().find(vacation =>\n this.isDateInPeriod(cellDate, vacation.VacationDays),\n );\n\n let matchedOffOrPublicHolidayBullet: ScheduleCalenderVacation | undefined = this.scheduleCalenderVacation().find(\n vacation =>\n this.isDateInPeriod(cellDate, vacation.VacationDays) &&\n vacation.VacationType != ScheduleVacationTypes.Vacations &&\n vacation.VacationType != ScheduleVacationTypes.AddedVacations,\n );\n\n if (matchedVacation) {\n if (\n this.commonMethods.calculateDaysDifference(\n matchedVacation.VacationDays.EndDate,\n matchedVacation.VacationDays.StartDate,\n ) === 0\n ) {\n return this.createDateSpan(cellData, matchedVacation, matchedOffOrPublicHolidayBullet, false, false, false);\n }\n\n let isStartRange =\n this.commonMethods.calculateDaysDifference(cellDate, matchedVacation.VacationDays.StartDate) === 0;\n let isEndRange = this.commonMethods.calculateDaysDifference(matchedVacation.VacationDays.EndDate, cellDate) === 0;\n\n return this.createDateSpan(\n cellData,\n matchedVacation,\n matchedOffOrPublicHolidayBullet,\n true,\n isStartRange,\n isEndRange,\n );\n }\n\n return this.createDateSpan(cellData);\n };\n\n private createDateSpan = (\n cellData: any,\n matchedVacation: ScheduleCalenderVacation | undefined = undefined,\n matchedOffOrPublicHolidayBullet: ScheduleCalenderVacation | undefined = undefined,\n isInRange: boolean = false,\n isStartRange: boolean = false,\n isEndRange: boolean = false,\n ) => {\n const offDayOrPublicHolidaySpan = document.createElement('span');\n const cellElement = document.createElement('span');\n cellElement.textContent = cellData.text;\n cellElement.style.backgroundColor = '';\n cellElement.style.borderRadius = '15px';\n cellElement.style.borderWidth = '0';\n cellElement.style.fontSize = '10px';\n cellElement.style.margin = '0';\n cellElement.style.padding = '0';\n cellElement.style.alignContent = 'center';\n cellElement.style.position = 'relative';\n\n if (matchedVacation) {\n cellElement.title = matchedVacation.Description;\n\n if (\n matchedVacation.VacationType != ScheduleVacationTypes.DaysOff &&\n matchedVacation.VacationType != ScheduleVacationTypes.PublicHoliday &&\n matchedVacation.VacationType != ScheduleVacationTypes.Events\n ) {\n if (matchedVacation.Color) {\n cellElement.style.backgroundColor = matchedVacation.Color + '99';\n cellElement.style.color = '#FFFFFF';\n } else {\n cellElement.style.backgroundColor = '#DCDCDC';\n cellElement.style.color = '#000000';\n }\n\n if (isInRange) {\n cellElement.style.width = '100%';\n cellElement.style.alignContent = 'start';\n\n if (isStartRange) {\n cellElement.style.borderEndEndRadius = '0px';\n cellElement.style.borderStartEndRadius = '0px';\n }\n\n if (isEndRange) {\n cellElement.style.borderStartStartRadius = '0px';\n cellElement.style.borderEndStartRadius = '0px';\n }\n\n if (!isStartRange && !isEndRange) cellElement.style.borderRadius = '0px';\n }\n }\n }\n\n if (matchedOffOrPublicHolidayBullet) {\n offDayOrPublicHolidaySpan.style.width = '8px';\n offDayOrPublicHolidaySpan.style.height = '8px';\n offDayOrPublicHolidaySpan.className = 'rounded rounded-circle';\n offDayOrPublicHolidaySpan.style.position = 'absolute';\n offDayOrPublicHolidaySpan.style.opacity = '1';\n offDayOrPublicHolidaySpan.style.top = '-5px';\n offDayOrPublicHolidaySpan.style.right = '0';\n offDayOrPublicHolidaySpan.title = matchedOffOrPublicHolidayBullet.Description;\n\n if (matchedVacation) {\n if (\n matchedVacation.VacationType != ScheduleVacationTypes.DaysOff &&\n matchedVacation.VacationType != ScheduleVacationTypes.PublicHoliday &&\n matchedVacation.VacationType != ScheduleVacationTypes.Events\n ) {\n if (isInRange) {\n offDayOrPublicHolidaySpan.style.right = '8px';\n }\n }\n }\n\n offDayOrPublicHolidaySpan.style.background = matchedOffOrPublicHolidayBullet.Color || '';\n offDayOrPublicHolidaySpan.style.marginTop = '2px';\n cellElement.appendChild(offDayOrPublicHolidaySpan);\n }\n\n return cellElement;\n };\n\n isDateInPeriod(date: Date, period: DatePeriod) {\n if (this.commonMethods.calculateDaysDifference(date, period.StartDate) == 0) return true;\n\n if (this.commonMethods.calculateDaysDifference(date, period.EndDate) == 0) return true;\n\n let daysDifferenceWithStartDate = this.commonMethods.calculateDaysDifference(date, period.StartDate);\n let daysDifferenceWithEndDate = this.commonMethods.calculateDaysDifference(period.EndDate, date);\n\n if (daysDifferenceWithStartDate < 0 || daysDifferenceWithEndDate < 0) return false;\n\n return true;\n }\n\n resetCalenderCurrentDate(currentDate: Date = new Date()) {\n this.calendar.instance.option('currentDate', currentDate);\n }\n\n preventInteraction(event: any): void {\n event.component.option('value', null);\n }\n}\n","<div [class]=\"legendContainerClass()\">\n <div [class]=\"legendRowClass()\">\n <div [class]=\"legendItemClass() + ' me-4'\">\n <div [class]=\"legendDotClass() + ' ' + publicHolidayDotClass()\"></div>\n <div [class]=\"legendLabelClass()\">\n <p>{{ 'PublicHoliday' | translate }}</p>\n </div>\n </div>\n <div [class]=\"legendItemClass()\">\n <div [class]=\"legendDotClass() + ' ' + dayOffDotClass()\"></div>\n <div [class]=\"legendLabelClass()\">\n <p>{{ 'DayOff' | translate }}</p>\n </div>\n </div>\n @if (showEvents()) {\n <div [class]=\"legendItemClass() + ' ms-4'\">\n <div [class]=\"legendDotClass() + ' ' + eventsDotClass()\"></div>\n <div [class]=\"legendLabelClass()\">\n <p>{{ 'Events' | translate }}</p>\n </div>\n </div>\n }\n </div>\n @if (showUpComingVacations()) {\n <div [class]=\"vacationsContainerClass()\">\n <div [class]=\"vacationsItemClass()\">\n <fa-icon [icon]=\"squreCheckIcon\" [class]=\"vacationsIconClass()\"></fa-icon>\n <div [class]=\"legendLabelClass()\">\n <p>{{ 'ScheduledVacations' | translate }}</p>\n </div>\n </div>\n </div>\n }\n</div>\n\n<div [class]=\"calendarContainerClass()\">\n <dx-calendar\n #calendar\n [class]=\"calendarClass()\"\n [selectionMode]=\"'multiple'\"\n [cellTemplate]=\"customCellTemplate\"\n [showWeekNumbers]=\"false\"\n [min]=\"minDate()\"\n [max]=\"maxDate()\"\n (onValueChanged)=\"preventInteraction($event)\"\n ></dx-calendar>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n ViewChild,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\nimport {\n CalendarResponse,\n ScheduleCalenderVacation,\n ScheduleRequestsResponse,\n ScheduleVacationTypes,\n} from '../shared/types/common';\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\nimport { HRConstantsService } from '../shared/services/constants.service';\nimport { HREmployeeCalendarComponent } from '../shared/components/hr-employee-calendar/hr-employee-calendar.component';\nimport { faCalendarDays } from '@fortawesome/pro-regular-svg-icons';\nimport { HRCardHeaderComponent } from '../shared/components/card-header/card-header.component';\nimport moment from 'moment';\n\n@Component({\n standalone: true,\n selector: 'hr-my-calendar-widget',\n templateUrl: './my-calendar-widget.component.html',\n imports: [HREmployeeCalendarComponent, HRCardHeaderComponent, HRTranslatePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyCalendarWidgetComponent implements OnInit {\n readonly baseUrl = input<string>('');\n readonly headerContainerClass = input<string>('');\n readonly datasource = input<ScheduleRequestsResponse | null>(null);\n readonly isLoadingChanged = output<boolean>();\n\n readonly calendarIcon = faCalendarDays;\n\n readonly legendContainerClass = input<string>('row mb-2');\n readonly legendRowClass = input<string>('d-flex');\n readonly legendItemClass = input<string>('d-flex align-items-center');\n readonly legendDotClass = input<string>('me-1 circle-sm');\n readonly legendLabelClass = input<string>('me-1 fs-12');\n readonly publicHolidayDotClass = input<string>('bg-accent');\n readonly dayOffDotClass = input<string>('bg-yellow');\n readonly eventsDotClass = input<string>('bg-primary');\n readonly vacationsContainerClass = input<string>('d-flex mt-3');\n readonly vacationsItemClass = input<string>('d-flex align-items-center');\n readonly vacationsIconClass = input<string>('fs-8 me-1');\n readonly calendarContainerClass = input<string>('row mt-2 col-12');\n readonly calendarClass = input<string>('button-boeder-none');\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n private readonly constants = inject(HRConstantsService);\n private readonly translatePipe = inject(HRTranslatePipe);\n\n readonly publicHolidayColor = input<string>(this.constants.defaultPublicHolidayColor);\n readonly dayOffColor = input<string>(this.constants.defaultDayOffColor);\n readonly eventsColor = input<string>(this.constants.defaultEventsColor);\n\n @ViewChild(HREmployeeCalendarComponent) hrCalendar!: HREmployeeCalendarComponent;\n\n readonly minDate: Date;\n readonly maxDate: Date;\n\n private readonly baseCalendarData = signal<ScheduleCalenderVacation[]>([]);\n private readonly hrVacations = signal<ScheduleCalenderVacation[]>([]);\n private readonly calendarLoaded = signal(false);\n\n readonly scheduleCalenderVacation = computed<ScheduleCalenderVacation[]>(() => {\n if (!this.calendarLoaded()) {\n return [];\n }\n\n const pendingVacations: ScheduleCalenderVacation[] =\n this.datasource()?.PendingVacationRequests?.map(v => ({\n VacationType: ScheduleVacationTypes.Vacations,\n Description: v.VacationTypeName,\n Color: v.Color,\n VacationDays: { StartDate: v.StartDate, EndDate: v.EndDate },\n })) ?? [];\n\n const mergedVacations = this.mergeConsecutiveVacations(\n [...this.hrVacations(), ...pendingVacations].sort(\n (a, b) => new Date(a.VacationDays.StartDate).getTime() - new Date(b.VacationDays.StartDate).getTime(),\n ),\n );\n\n const events: ScheduleCalenderVacation[] =\n this.datasource()?.PendingEventRequests?.map(ev => ({\n VacationType: ScheduleVacationTypes.Events,\n Description: ev.Description,\n Color: this.eventsColor(),\n VacationDays: { StartDate: ev.StartDate, EndDate: ev.EndDate },\n })) ?? [];\n\n return [...mergedVacations, ...this.baseCalendarData(), ...events];\n });\n\n private readonly refreshCalendarEffect = effect(() => {\n if (!this.calendarLoaded()) {\n return;\n }\n\n this.scheduleCalenderVacation();\n this.refreshCalendar();\n });\n\n constructor() {\n const currentDate = moment().date(1).subtract(1, 'month');\n this.minDate = new Date(currentDate.year(), currentDate.month(), currentDate.date());\n this.maxDate = new Date(this.minDate.getFullYear() + 1, this.minDate.getMonth() + 1, 0);\n }\n\n ngOnInit(): void {\n this.loadCalendar();\n }\n\n private getCalendar(month: number, year: number, monthsCount: number) {\n return this.selfWidgetsService.getCalendar(this.baseUrl(), month, year, monthsCount);\n }\n\n private loadCalendar(): void {\n const currentDate = moment().date(1).subtract(1, 'month');\n const month = currentDate.month() === 0 ? 1 : currentDate.month() + 1;\n const year = currentDate.year();\n\n this.isLoadingChanged.emit(true);\n this.getCalendar(month, year, 12).subscribe({\n next: (response: any) => {\n this.isLoadingChanged.emit(false);\n this.mapCalendarData(response.ResponseData as CalendarResponse);\n },\n error: () => {\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n private mapCalendarData(data: CalendarResponse): void {\n this.baseCalendarData.set([\n ...data.PublicHolidays.map(ph => ({\n VacationType: ScheduleVacationTypes.PublicHoliday,\n Description: ph.Description,\n Color: this.publicHolidayColor(),\n VacationDays: { StartDate: ph.StartDate, EndDate: ph.EndDate },\n })),\n ...data.OffDays.map(od => ({\n VacationType: ScheduleVacationTypes.DaysOff,\n Description: this.translatePipe.transform('DayOff'),\n Color: this.dayOffColor(),\n VacationDays: { StartDate: od, EndDate: od },\n })),\n ]);\n\n this.hrVacations.set(\n (data.Vacations ?? []).map(v => ({\n VacationType: ScheduleVacationTypes.Vacations,\n Description: v.VacationTypeName,\n Color: v.Color,\n VacationDays: { StartDate: v.StartDate, EndDate: v.EndDate },\n })),\n );\n\n this.calendarLoaded.set(true);\n }\n\n private refreshCalendar(): void {\n setTimeout(() => {\n if (this.hrCalendar?.calendar) {\n this.hrCalendar.calendar.instance._refresh();\n this.hrCalendar.resetCalenderCurrentDate();\n }\n }, 100);\n }\n\n private mergeConsecutiveVacations(vacations: ScheduleCalenderVacation[]): ScheduleCalenderVacation[] {\n if (vacations.length === 0) return [];\n\n const grouped = new Map<string, ScheduleCalenderVacation[]>();\n for (const v of vacations) {\n const key = `${v.Description}|${v.Color ?? ''}`;\n if (!grouped.has(key)) grouped.set(key, []);\n grouped.get(key)!.push(v);\n }\n\n const result: ScheduleCalenderVacation[] = [];\n\n grouped.forEach(items => {\n items.sort((a, b) => new Date(a.VacationDays.StartDate).getTime() - new Date(b.VacationDays.StartDate).getTime());\n\n let merged = { ...items[0], VacationDays: { ...items[0].VacationDays } };\n\n for (let i = 1; i < items.length; i++) {\n const current = items[i];\n const lastEnd = new Date(merged.VacationDays.EndDate);\n const currentStart = new Date(current.VacationDays.StartDate);\n const diffDays = (currentStart.getTime() - lastEnd.getTime()) / (1000 * 60 * 60 * 24);\n\n if (diffDays <= 1) {\n const currentEnd = new Date(current.VacationDays.EndDate);\n if (currentEnd.getTime() > lastEnd.getTime()) {\n merged.VacationDays.EndDate = current.VacationDays.EndDate;\n }\n } else {\n result.push(merged);\n merged = { ...current, VacationDays: { ...current.VacationDays } };\n }\n }\n result.push(merged);\n });\n\n return result.sort(\n (a, b) => new Date(a.VacationDays.StartDate).getTime() - new Date(b.VacationDays.StartDate).getTime(),\n );\n }\n}\n","<hr-card-header\n [icon]=\"calendarIcon\"\n [title]=\"'Calendar' | translate\"\n [containerClass]=\"'d-flex align-items-center mb-3 ' + headerContainerClass()\"\n></hr-card-header>\n<hr-employee-calendar\n [showEvents]=\"true\"\n [showUpComingVacations]=\"true\"\n [scheduleCalenderVacation]=\"scheduleCalenderVacation()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [legendContainerClass]=\"legendContainerClass()\"\n [legendRowClass]=\"legendRowClass()\"\n [legendItemClass]=\"legendItemClass()\"\n [legendDotClass]=\"legendDotClass()\"\n [legendLabelClass]=\"legendLabelClass()\"\n [publicHolidayDotClass]=\"publicHolidayDotClass()\"\n [dayOffDotClass]=\"dayOffDotClass()\"\n [eventsDotClass]=\"eventsDotClass()\"\n [vacationsContainerClass]=\"vacationsContainerClass()\"\n [vacationsItemClass]=\"vacationsItemClass()\"\n [vacationsIconClass]=\"vacationsIconClass()\"\n [calendarContainerClass]=\"calendarContainerClass()\"\n [calendarClass]=\"calendarClass()\"\n></hr-employee-calendar>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { HRTranslatePipe } from '../../pipes/translate.pipe';\n\n@Component({\n selector: 'hr-info-field',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe],\n templateUrl: './info-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HRInfoFieldComponent {\n readonly labelKey = input.required<string>();\n readonly value = input<string | null | undefined>(null);\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium');\n readonly fallbackValue = input<string>('—');\n\n readonly displayValue = computed(() => this.value() || this.fallbackValue());\n}\n","<div [ngClass]=\"labelClass()\">{{ labelKey() | translate }}</div>\n<div [ngClass]=\"valueClass()\" [title]=\"displayValue()\">{{ displayValue() }}</div>\n","import { ChangeDetectionStrategy, Component, OnInit, computed, inject, input, output, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { faMoneyCheckDollarPen } from '@fortawesome/pro-light-svg-icons';\nimport { MyBankInfo } from '../../shared/types/common';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRCommonMethodsService } from '../../shared/services/common-methods.service';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-bank-info-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-bank-info-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileBankInfoWidgetComponent implements OnInit {\n readonly isLoading = signal(true);\n\n private readonly commonMethodsService = inject(HRCommonMethodsService);\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n this.isLoadingChanged.emit(true);\n this.hrSelfWidgetsService.getBankInformation(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.employeeBankInformation.set(response ?? []);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.employeeBankInformation.set([]);\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n readonly employeeBankInformation = signal<MyBankInfo[]>([]);\n readonly currencyCode = input<string>('');\n readonly currencyDecimals = input<number>(2);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n\n readonly cardClass = input<string>('mt-4 card-shadow position-relative');\n readonly mainBadgeClass = input<string>('position-absolute text-center top-0 mt-3 start-0 bg-primary status-badge');\n readonly mainBadgeTextClass = input<string>('mx-1 fs-12 text-white');\n readonly triangleClass = input<string>('position-absolute start-0 top-0');\n readonly rowClass = input<string>('row px-4 pb-3');\n readonly rowMainPtClass = input<string>('pt-5');\n readonly rowNormalPtClass = input<string>('pt-3');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly responsiveTopSpacingColClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\n readonly topSpacingColClass = input<string>('col-md-4 col-6 mt-4');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('table-cell-md text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly bankInformationIcon = input(faMoneyCheckDollarPen);\n readonly sectionHeaderVisibility = input(true);\n readonly sectionTitle = input('BankInformation');\n readonly language = input('en');\n readonly baseUrl = input.required<string>();\n\n readonly errorOccurred = output<string>();\n\n readonly isRTL = computed(() => this.language() === 'ar');\n\n readonly isLoadingChanged = output<boolean>();\n\n formatAmount(value: number | null | undefined): string {\n if (value == null) {\n return '-';\n }\n return this.commonMethodsService.currencyDecimalFormat(value, this.currencyDecimals()) || '-';\n }\n}\n","@if (sectionHeaderVisibility()) {\n <sky-section-divider\n [fontAwesomeIcon]=\"bankInformationIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n ></sky-section-divider>\n}\n@if (employeeBankInformation().length > 0) {\n @for (bankInfo of employeeBankInformation(); track bankInfo) {\n <div [class]=\"cardClass()\">\n @if (bankInfo.IsMainBank && employeeBankInformation().length > 1) {\n <div [class]=\"mainBadgeClass()\" style=\"padding-top: 2px\" [style.margin-left]=\"!isRTL() ? '-6px' : 'unset'\">\n <span [class]=\"mainBadgeTextClass()\">{{ 'MainBank' | translate }}</span>\n </div>\n\n <div\n [class]=\"triangleClass()\"\n [style.margin-left]=\"!isRTL() ? '-6px' : 'unset'\"\n [style.margin-right]=\"isRTL() ? '-5px' : '20px'\"\n [style.margin-top]=\"!isRTL() ? '7px' : '4px'\"\n >\n <svg viewBox=\"4 2 16 16\" class=\"status-badge-triangle\" fill=\"#e67e0f\">\n <path\n d=\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"\n ></path>\n </svg>\n </div>\n }\n\n <div [ngClass]=\"[rowClass(), bankInfo.IsMainBank ? rowMainPtClass() : rowNormalPtClass()]\">\n <div [class]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'Bank'\"\n [value]=\"bankInfo.BankName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [class]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'Branch'\"\n [value]=\"bankInfo.BranchName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [class]=\"responsiveTopSpacingColClass()\">\n <hr-info-field\n [labelKey]=\"'IBAN'\"\n [value]=\"bankInfo.IBAN\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [class]=\"topSpacingColClass()\">\n <hr-info-field\n [labelKey]=\"'AccountNumber'\"\n [value]=\"bankInfo.AccountNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [class]=\"topSpacingColClass()\">\n <hr-info-field\n [labelKey]=\"'Beneficiary'\"\n [value]=\"bankInfo.Beneficiary\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n @if (bankInfo.TransferAmount != null) {\n <div [class]=\"topSpacingColClass()\">\n <hr-info-field\n [labelKey]=\"'TransferAmount'\"\n [value]=\"formatAmount(bankInfo.TransferAmount) + ' (' + currencyCode() + ')'\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n }\n </div>\n </div>\n }\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoBankYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faMemoCircleInfo } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { PersonalInfoMainDetails } from '../../shared/types/common';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-personal-info-main-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-personal-info-main-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProfilePersonalInfoMainWidgetComponent implements OnInit {\n readonly employeePersonalInformation = signal<PersonalInfoMainDetails | null>(null);\n readonly isLoading = signal(true);\n readonly baseUrl = input.required<string>();\n readonly alternateLanguage = input<string>('English');\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly hiddenSpacerColClass = input<string>('col-md-4 col-6 d-md-block d-none');\n readonly topSpacingColumnClass = input<string>('col-md-4 col-6 mt-4');\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly mainIcon = input(faMemoCircleInfo);\n readonly sectionTitle = input('main');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getPersonalInfoMainDetails(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.employeePersonalInformation.set(response);\n },\n error: error => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.employeePersonalInformation.set(null);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"mainIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (employeePersonalInformation()) {\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'Name'\"\n [value]=\"employeePersonalInformation()!.EmployeeName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"columnClass()\">\n <div [ngClass]=\"labelClass()\">{{ 'Name' | translate }} ({{ alternateLanguage() }})</div>\n @if (employeePersonalInformation()!.EmployeeNameAlternate) {\n <div [ngClass]=\"valueClass()\">{{ employeePersonalInformation()!.EmployeeNameAlternate }}</div>\n } @else {\n <div [ngClass]=\"valueClass()\">{{ '—' }}</div>\n }\n </div>\n\n <div [ngClass]=\"hiddenSpacerColClass()\"></div>\n\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Nationality'\"\n [value]=\"employeePersonalInformation()!.NationalityName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'NationalNumber'\"\n [value]=\"employeePersonalInformation()!.NationalNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'SocialSecurityNumber'\"\n [value]=\"employeePersonalInformation()!.SocialSecurityNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'MaritalStatus'\"\n [value]=\"employeePersonalInformation()!.MaritalStateName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'BirthDate'\"\n [value]=\"employeePersonalInformation()!.BirthDate ? (employeePersonalInformation()!.BirthDate | date: 'dd/MM/yyyy') : null\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'BirthPlace'\"\n [value]=\"employeePersonalInformation()!.BirthPlace\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'BloodType'\"\n [value]=\"employeePersonalInformation()!.BloodTypeCode\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Religion'\"\n [value]=\"employeePersonalInformation()!.ReligionName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'MinistryOfLaborNumber'\"\n [value]=\"employeePersonalInformation()!.MinistryOfLaborNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoMainYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faBolt, faPhone } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { PersonalInfoContactDetails } from '../../shared/types/common';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-contact-widget',\n standalone: true,\n imports: [\n CommonModule,\n FontAwesomeModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-contact-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileContactWidgetComponent implements OnInit {\n readonly employeePersonalInfoContactDetails = signal<PersonalInfoContactDetails | null>(null);\n readonly isLoading = signal(true);\n readonly baseUrl = input.required<string>();\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-4');\n readonly responsiveTopSpacingColumnClass = input<string>('col-6 mt-4');\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emergencyContactLabelClass = input<string>('fs-14 fw-semibold');\n readonly emergencyContactColumnClass = input<string>('col-md-4 col-6');\n readonly emergencyContactResponsiveColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly contactIcon = input(faPhone);\n readonly emergencyContactIcon = input(faBolt);\n readonly sectionTitle = input('contact');\n readonly showEmergencyContact = input(true);\n readonly emergencyContactRowClass = input('row mt-3 mb-4');\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getPersonalInfoContactDetails(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.employeePersonalInfoContactDetails.set(response);\n },\n error: error => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.employeePersonalInfoContactDetails.set(null);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"contactIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (employeePersonalInfoContactDetails()) {\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'MobileNumber'\"\n [value]=\"employeePersonalInfoContactDetails()!.MobileNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n <div class=\"mt-4\">\n <hr-info-field\n [labelKey]=\"'Email'\"\n [value]=\"employeePersonalInfoContactDetails()!.Email\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'HomePhone'\"\n [value]=\"employeePersonalInfoContactDetails()!.HomePhone\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n <div class=\"mt-4\">\n <hr-info-field\n [labelKey]=\"'BusinessEmail'\"\n [value]=\"employeePersonalInfoContactDetails()!.BusinessEmail\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n </div>\n @if (showEmergencyContact()) {\n <div [ngClass]=\"rowClass()\">\n <div class=\"col-12\">\n <div [ngClass]=\"emergencyContactLabelClass()\">• {{ 'EmergencyContact' | translate }}</div>\n </div>\n </div>\n <div [ngClass]=\"emergencyContactRowClass()\">\n <div [ngClass]=\"emergencyContactColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Name'\"\n [value]=\"\n employeePersonalInfoContactDetails()!.EmergencyContact?.Name || employeePersonalInfoContactDetails()!.EmergencyContactLegacy\n \"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"emergencyContactColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Relation'\"\n [value]=\"employeePersonalInfoContactDetails()!.EmergencyContact?.Relation\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"emergencyContactResponsiveColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Phone'\"\n [value]=\"employeePersonalInfoContactDetails()!.EmergencyContact?.PhoneNumber\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n }\n} @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoContactYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faLanguage } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\n\n@Component({\n selector: 'hr-my-profile-languages-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent],\n templateUrl: './my-profile-languages-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileLanguagesWidgetComponent implements OnInit {\n readonly languages = signal<string[] | null>(null);\n readonly isLoading = signal(true);\n readonly baseUrl = input<string>('');\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly contentTextClass = input<string>('text-dark-gray fs-14 fw-medium mt-4');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n readonly hasDataChange = output<boolean>();\n\n readonly languagesIcon = input(faLanguage);\n readonly sectionTitle = input('languages');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n this.emitHasData();\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getPersonalInfoLanguages(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.languages.set(response ?? []);\n this.emitHasData();\n },\n error: error => {\n this.isLoading.set(false);\n this.languages.set([]);\n this.emitHasData();\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n\n private emitHasData(): void {\n this.hasDataChange.emit((this.languages()?.length ?? 0) > 0);\n }\n\n getLanguages(): string {\n return this.languages()?.join(', ') || '-';\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"languagesIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if ((languages()?.length ?? 0) > 0) {\n <div [ngClass]=\"contentTextClass()\">\n {{ getLanguages() }}\n </div>\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoLanguagesYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faEarthAfrica } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\n\n@Component({\n selector: 'hr-my-profile-other-nationalities-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent],\n templateUrl: './my-profile-other-nationalities-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileOtherNationalitiesWidgetComponent implements OnInit {\n readonly personalInfo = signal<string[] | null>(null);\n readonly isLoading = signal(true);\n readonly baseUrl = input.required<string>();\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly contentTextClass = input<string>('text-dark-gray fs-14 fw-medium mt-4');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n readonly emptyStateTextKey = input<string>('ThereIsNoOtherNationalitiesYet');\n readonly hasDataChange = output<boolean>();\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n readonly otherNationalitiesIcon = input(faEarthAfrica);\n readonly sectionTitle = input('otherNationalities');\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n this.emitHasData();\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getPersonalInfoOtherNationalities(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.personalInfo.set(response ?? []);\n this.emitHasData();\n },\n error: error => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.personalInfo.set([]);\n this.emitHasData();\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n\n private emitHasData(): void {\n this.hasDataChange.emit((this.personalInfo()?.length ?? 0) > 0);\n }\n\n getOtherNationalities(): string {\n return this.personalInfo()?.join(', ') || '-';\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"otherNationalitiesIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if ((personalInfo()?.length ?? 0) > 0) {\n <div [ngClass]=\"contentTextClass()\">\n {{ getOtherNationalities() }}\n </div>\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : (emptyStateTextKey() | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faHouse } from '@fortawesome/pro-light-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { PersonalInfoAddressDetails } from '../../shared/types/common';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-address-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-address-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileAddressWidgetComponent implements OnInit {\n readonly personalInfoAddressDetails = signal<PersonalInfoAddressDetails | null>(null);\n readonly isLoading = signal(true);\n readonly baseUrl = input.required<string>();\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly responsiveTopSpacingColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly addressIcon = input(faHouse);\n readonly sectionTitle = input('address');\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getPersonalInfoAddressDetails(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.personalInfoAddressDetails.set(response);\n },\n error: error => {\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n this.personalInfoAddressDetails.set(null);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"addressIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (personalInfoAddressDetails()) {\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'Address'\"\n [value]=\"personalInfoAddressDetails()!.Address\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'City'\"\n [value]=\"personalInfoAddressDetails()!.City\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"responsiveTopSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'P.OBox'\"\n [value]=\"personalInfoAddressDetails()!.POBox\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'PostalCode'\"\n [value]=\"personalInfoAddressDetails()!.PostalCode\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n} @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoAddressYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faFileSignature } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { JobInformationMain } from '../../shared/types/common';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-job-info-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-job-info-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileJobInfoWidgetComponent implements OnInit {\n readonly jobInformationMain = signal<JobInformationMain | null>(null);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input.required<string>();\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly responsiveTopSpacingColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly mainIcon = input(faFileSignature);\n readonly sectionTitle = input('JobInformation');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getJobInformationMain(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.jobInformationMain.set(response);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.jobInformationMain.set(null);\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"mainIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (jobInformationMain()) {\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'AdminUnit'\"\n [value]=\"jobInformationMain()!.AdminUnitName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'Position'\"\n [value]=\"jobInformationMain()!.PositionName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"responsiveTopSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Grade'\"\n [value]=\"jobInformationMain()!.GradeName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'JoiningDate'\"\n [value]=\"jobInformationMain()!.JoiningDate ? (jobInformationMain()!.JoiningDate | date: 'dd/MM/yyyy') : null\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'CorporateJoiningDate'\"\n [value]=\"jobInformationMain()!.CorporateJoiningDate ? (jobInformationMain()!.CorporateJoiningDate | date: 'dd/MM/yyyy') : null\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'Sponsor'\"\n [value]=\"jobInformationMain()!.SponsorName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoJobMainYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faFileSignature } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { JobInformationContract } from '../../shared/types/common';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\n\n@Component({\n selector: 'hr-my-profile-contract-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-contract-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileContractWidgetComponent implements OnInit {\n readonly jobInformationContract = signal<JobInformationContract | null>(null);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input.required<string>();\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly responsiveTopSpacingColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly contractIcon = input(faFileSignature);\n readonly sectionTitle = input('Contract');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getJobInformationContract(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.jobInformationContract.set(response);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.jobInformationContract.set(null);\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"contractIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (jobInformationContract()) {\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'ContractType'\"\n [value]=\"jobInformationContract()!.ContractTypeName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"columnClass()\">\n <hr-info-field\n [labelKey]=\"'ContractStartDate'\"\n [value]=\"jobInformationContract()!.ContractStartDate ? (jobInformationContract()!.ContractStartDate | date: 'dd/MM/yyyy') : null\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"responsiveTopSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'ContractEndDate'\"\n [value]=\"jobInformationContract()!.ContractEndDate ? (jobInformationContract()!.ContractEndDate | date: 'dd/MM/yyyy') : null\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'ContractMaritalStatus'\"\n [value]=\"jobInformationContract()!.ContractMaritalStateName\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\n <hr-info-field\n [labelKey]=\"'ContractDependentsCount'\"\n [value]=\"jobInformationContract()!.ContractDependentsCount?.toString()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n} @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoJobContractYet' | translate)\"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faSackDollar } from '@fortawesome/pro-light-svg-icons';\nimport { SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { HRCommonMethodsService } from '../../shared/services/common-methods.service';\nimport { Allowances, JobInformationSalary } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-salary-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent],\n templateUrl: './my-profile-salary-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileSalaryWidgetComponent implements OnInit {\n readonly jobInformationSalary = signal<JobInformationSalary | null>(null);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input.required<string>();\n readonly currencyCode = input<string>('');\n readonly currencyDecimals = input<number>(2);\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-md-4 col-6 mt-4');\n readonly grossSalaryColumnClass = input<string>('col-md-4 col-6 my-4');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly currencyClass = input<string>('fs-10 text-secondary fw-light');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly salaryIcon = input(faSackDollar);\n readonly sectionTitle = input('Salary');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n private readonly commonMethodsService = inject(HRCommonMethodsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getJobInformationSalary(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.jobInformationSalary.set(response);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.jobInformationSalary.set(null);\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n\n get basicSalary(): number | null {\n return this.jobInformationSalary()?.BasicSalary ?? this.jobInformationSalary()?.CurrentBasicSalary ?? null;\n }\n\n get allowances(): Allowances[] {\n return this.jobInformationSalary()?.Allowances ?? [];\n }\n\n formatAmount(value: number | null | undefined): string {\n if (value == null) {\n return '�';\n }\n\n return this.commonMethodsService.currencyDecimalFormat(value, this.currencyDecimals()) || '�';\n }\n}\n","@if (jobInformationSalary()) {\n <sky-section-divider\n [fontAwesomeIcon]=\"salaryIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n ></sky-section-divider>\n\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <div [ngClass]=\"labelClass()\">{{ 'BasicSalary' | translate }}</div>\n <div [ngClass]=\"valueClass()\">\n {{ formatAmount(basicSalary) }}\n <span [ngClass]=\"currencyClass()\">{{ currencyCode() }}</span>\n </div>\n </div>\n\n @for (allowance of allowances; track allowance) {\n <div [ngClass]=\"columnClass()\">\n <div [ngClass]=\"labelClass()\">{{ allowance.AllowanceName }}</div>\n <div [ngClass]=\"valueClass()\">\n {{ formatAmount(allowance.AllowanceAmount) }}\n <span [ngClass]=\"currencyClass()\">{{ currencyCode() }}</span>\n </div>\n </div>\n }\n\n <div [ngClass]=\"grossSalaryColumnClass()\">\n <div [ngClass]=\"labelClass()\">{{ 'GrossSalary' | translate }}</div>\n <div [ngClass]=\"valueClass()\">\n {{ formatAmount(jobInformationSalary()!.GrossSalary) }}\n <span [ngClass]=\"currencyClass()\">{{ currencyCode() }}</span>\n </div>\n </div>\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { faEnvelopeOpenDollar } from '@fortawesome/pro-light-svg-icons';\nimport { SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { HRCommonMethodsService } from '../../shared/services/common-methods.service';\nimport { JobInformationServiceCharge, ServiceChargeEntitlementMode } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-charge-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent],\n templateUrl: './my-profile-service-charge-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileServiceChargeWidgetComponent implements OnInit {\n readonly jobInformationServiceCharge = signal<JobInformationServiceCharge | null>(null);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input.required<string>();\n readonly currencyCode = input<string>('');\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4 mb-5');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly serviceChargeIcon = input(faEnvelopeOpenDollar);\n readonly sectionTitle = input('ServiceCharge');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\n private readonly commonMethodsService = inject(HRCommonMethodsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.hrSelfWidgetsService.getJobInformationServiceCharge(this.baseUrl()).subscribe({\n next: response => {\n this.isLoading.set(false);\n this.jobInformationServiceCharge.set(response);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.jobInformationServiceCharge.set(null);\n this.isLoadingChanged.emit(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n },\n });\n }\n\n get modeLabelKey(): string {\n const mode = this.jobInformationServiceCharge()?.ServiceChargeEntitlementMode as unknown as string;\n\n switch (ServiceChargeEntitlementMode[mode as keyof typeof ServiceChargeEntitlementMode]) {\n case ServiceChargeEntitlementMode.Points:\n return 'Points';\n case ServiceChargeEntitlementMode.SalaryRatio:\n return 'SalaryRatio';\n case ServiceChargeEntitlementMode.FixedAmount:\n return 'FixedAmount';\n case ServiceChargeEntitlementMode.FixedRate:\n return 'FixedRate';\n default:\n return 'ServiceCharge';\n }\n }\n\n get value(): string {\n const data = this.jobInformationServiceCharge;\n const current = this.jobInformationServiceCharge();\n if (!current || current.ServiceChargeValue == null) {\n return '—';\n }\n\n if (\n ServiceChargeEntitlementMode[\n current.ServiceChargeEntitlementMode as unknown as keyof typeof ServiceChargeEntitlementMode\n ] === ServiceChargeEntitlementMode.FixedAmount\n ) {\n return `${this.commonMethodsService.currencyDecimalFormat(current.ServiceChargeValue, 4)} (${this.currencyCode()})`;\n }\n\n return this.commonMethodsService.currencyDecimalFormat(current.ServiceChargeValue, 2) || '—';\n }\n}\n","@if (jobInformationServiceCharge()) {\n <sky-section-divider\n [fontAwesomeIcon]=\"serviceChargeIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n ></sky-section-divider>\n\n <div [ngClass]=\"rowClass()\">\n <div [ngClass]=\"columnClass()\">\n <div [ngClass]=\"labelClass()\">{{ modeLabelKey | translate }}</div>\n <div [ngClass]=\"valueClass()\">{{ value }}</div>\n </div>\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewChild, effect, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\nimport { DxDataGridComponent, DxDataGridModule, DxPopupModule, DxTextBoxModule } from 'devextreme-angular';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faXmark } from '@fortawesome/pro-light-svg-icons';\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport CustomStore from 'devextreme/data/custom_store';\nimport { lastValueFrom } from 'rxjs';\nimport { VacationPopupType } from '../../../shared/types/common';\nimport { HighlightPipe } from '@skysoftware-co/sky-components-ui';\n\n@Component({\n selector: 'hr-next-week-vacation-insights-popup',\n standalone: true,\n imports: [\n DxPopupModule,\n HRTranslatePipe,\n CommonModule,\n FontAwesomeModule,\n DxDataGridModule,\n BayanEmployeeBadgeComponent,\n DxTextBoxModule,\n HighlightPipe,\n ],\n templateUrl: './next-week-vacation-insights-popup.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HRNextWeekVacationInsightsPopupComponent {\n @ViewChild(DxDataGridComponent, { static: false }) dataGrid!: DxDataGridComponent;\n\n readonly popupVisible = input<boolean>(false);\n readonly popupType = input<VacationPopupType>(VacationPopupType.Upcoming);\n readonly baseUrl = input<string>('');\n readonly width = input<string>('700px');\n readonly height = input<string>('480px');\n readonly gridHeight = input<string>('320px');\n readonly pageSize = input<number>(20);\n readonly showProperty = input<boolean>(false);\n\n readonly closePopupClickHandler = output<void>();\n\n popupTitle: string = '';\n popupSubTitle: string = '';\n keyExpr = 'EmployeeNumber';\n VacationPopupType = VacationPopupType;\n readonly dataSource = signal<CustomStore | null>(null);\n xMarkIcon = faXmark;\n readonly searchValue = signal('');\n\n private readonly http = inject(HttpClient);\n\n private readonly initDataSourceEffect = effect(() => {\n if (this.popupVisible()) {\n this.initDataSource();\n }\n });\n\n private initDataSource(): void {\n this.dataSource.set(\n new CustomStore({\n key: this.keyExpr,\n load: loadOptions => {\n const skip = loadOptions.skip ?? 0;\n const pageIndex = Math.floor(skip / this.pageSize()) + 1;\n\n let params = new HttpParams()\n .set('ShowDirectSubordinatesOnly', 'false')\n .set('LoadOptions.PageIndex', pageIndex.toString())\n .set('LoadOptions.PageSize', this.pageSize().toString());\n\n if (this.searchValue()) {\n params = params.set('LoadOptions.SearchValue', this.searchValue());\n }\n\n return lastValueFrom(this.http.get<any>(this.baseUrl(), { params })).then((response: any) => {\n const items = response.ResponseData?.Data ?? [];\n const totalCount = response.ResponseData?.TotalCount ?? 0;\n return { data: items, totalCount };\n });\n },\n }),\n );\n }\n\n onSearchValueChanged(e: any): void {\n this.searchValue.set(e.value ?? '');\n this.initDataSource();\n }\n\n getPopupTitle(): string {\n return (\n this.popupSubTitle || (this.popupType() === VacationPopupType.Upcoming ? 'UpcomingVacations' : 'ExpectedToReturn')\n );\n }\n\n onPopupClose() {\n this.searchValue.set('');\n this.dataSource.set(null);\n this.closePopupClickHandler.emit();\n }\n\n onHidden() {\n this.onPopupClose();\n }\n\n getEmployeeBadge(item: any): BayanEmployeeBadgeDTO {\n return {\n EmployeePhotoKey: item.PhotoPath || null,\n EmployeePhotoFailed: item.FailedToLoadPhoto || false,\n EmployeeNameInitials: item.EmployeeNameInitials || '',\n };\n }\n\n handleEmployeePhotoError(employee: any) {\n employee.FailedToLoadPhoto = true;\n }\n}\n","<dx-popup\n [visible]=\"popupVisible()\"\n [height]=\"height()\"\n [minHeight]=\"'40%'\"\n [maxHeight]=\"'70%'\"\n [width]=\"width()\"\n contentTemplate=\"popup-content\"\n [showCloseButton]=\"false\"\n shadingColor=\"rgba(0,0,0,0.4)\"\n titleTemplate=\"title\"\n [showTitle]=\"true\"\n (onHidden)=\"onHidden()\"\n>\n <div *dxTemplate=\"let data of 'title'\">\n <div class=\"d-flex justify-content-between align-items-center my-0\">\n <p class=\"fs-16 fw-meduim text-ellipsis-one-line\">\n <span class=\"text-dark-gray\">{{ popupTitle ? (popupTitle | translate) : ('NextWeekVacationInsights' | translate) }}</span>\n <span class=\"mx-2 text-primary\">({{ getPopupTitle() | translate }})</span>\n </p>\n <div class=\"py-2\" (click)=\"onPopupClose()\">\n <fa-icon [icon]=\"xMarkIcon\" class=\"fs-18 text-dark-gray cursor-pointer\"></fa-icon>\n </div>\n </div>\n </div>\n\n <div *dxTemplate=\"let d of 'popup-content'\">\n <div class=\"mb-2 d-flex justify-content-end\">\n <dx-text-box\n [width]=\"'250px'\"\n mode=\"search\"\n [value]=\"searchValue()\"\n [placeholder]=\"'Search...' | translate\"\n (onValueChanged)=\"onSearchValueChanged($event)\"\n ></dx-text-box>\n </div>\n @if (dataSource()) {\n <dx-data-grid\n class=\"popup-data-grid\"\n [dataSource]=\"dataSource()\"\n [showBorders]=\"false\"\n [showRowLines]=\"false\"\n [showColumnLines]=\"false\"\n [columnAutoWidth]=\"true\"\n [wordWrapEnabled]=\"true\"\n [height]=\"gridHeight()\"\n [allowColumnReordering]=\"false\"\n [remoteOperations]=\"{ paging: true }\"\n >\n <dxo-data-grid-sorting mode=\"none\"></dxo-data-grid-sorting>\n\n <dxo-data-grid-scrolling\n mode=\"infinite\"\n [useNative]=\"false\"\n [scrollByContent]=\"true\"\n [scrollByThumb]=\"true\"\n showScrollbar=\"always\"\n ></dxo-data-grid-scrolling>\n\n <dxo-data-grid-paging [enabled]=\"true\" [pageSize]=\"pageSize()\"></dxo-data-grid-paging>\n\n <dxi-data-grid-column\n caption=\"{{ 'Employee' | translate }}\"\n dataField=\"EmployeeName\"\n cellTemplate=\"employeeCellTemplate\"\n [minWidth]=\"250\"\n ></dxi-data-grid-column>\n\n @if (popupType() === VacationPopupType.Upcoming) {\n <dxi-data-grid-column\n caption=\"{{ 'StartDate' | translate }}\"\n dataField=\"VacationStartDate\"\n dataType=\"date\"\n format=\"dd/MM/yyyy\"\n [width]=\"120\"\n alignment=\"left\"\n ></dxi-data-grid-column>\n <dxi-data-grid-column\n caption=\"{{ 'EndDate' | translate }}\"\n dataField=\"VacationEndDate\"\n dataType=\"date\"\n format=\"dd/MM/yyyy\"\n [width]=\"120\"\n alignment=\"left\"\n ></dxi-data-grid-column>\n } @else {\n <dxi-data-grid-column\n caption=\"{{ 'ReturnDate' | translate }}\"\n dataField=\"ReturnDate\"\n dataType=\"date\"\n format=\"dd/MM/yyyy\"\n [width]=\"120\"\n alignment=\"left\"\n ></dxi-data-grid-column>\n }\n\n <div *dxTemplate=\"let cell of 'employeeCellTemplate'\">\n <div class=\"d-flex align-items-center\">\n <bayan-employee-badge\n [badge]=\"getEmployeeBadge(cell.data)\"\n badgeClass=\"badge employee-rounded-badge-xl fs-6\"\n imageClass=\"rounded-circle\"\n [width]=\"'40px'\"\n [height]=\"'40px'\"\n (employeePhotoError)=\"handleEmployeePhotoError(cell.data)\"\n ></bayan-employee-badge>\n <div class=\"d-flex flex-column ms-1\">\n <div class=\"d-flex flex-row ms-2\">\n @if (showProperty()) {\n <span\n class=\"property-badge cursor-pointer me-1\"\n [title]=\"cell.data.PropertyName\"\n [innerHTML]=\"cell.data.PropertySymbol\"\n ></span>\n }\n <span\n class=\"text-ellipsis-one-line fs-14 text-dark-gray fw-normal\"\n [title]=\"cell.data.EmployeeNumber + ' | ' + cell.data.EmployeeName\"\n [innerHTML]=\"cell.data.EmployeeNumber + ' | ' + cell.data.EmployeeName | highlight: searchValue()\"\n ></span>\n </div>\n <p\n class=\"ms-2 mt-1 text-ellipsis-one-line fs-12 text-dark-gray fw-normal mb-0\"\n [innerHTML]=\"cell.data.EmployeeAdminUnitName | highlight: searchValue()\"\n ></p>\n </div>\n </div>\n </div>\n </dx-data-grid>\n }\n </div>\n</dx-popup>\n","import { ChangeDetectionStrategy, Component, effect, inject, input, output, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\nimport { SkyWidgetSectionItemComponent, SkyWidgetSectionItem } from '@skysoftware-co/sky-components-ui';\nimport { faPlaneDeparture, faPlaneArrival } from '@fortawesome/pro-solid-svg-icons';\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\nimport { HRNextWeekVacationInsightsPopupComponent } from './components/next-week-vacation-insights-popup/next-week-vacation-insights-popup.component';\nimport { VacationPopupType } from '../shared/types/common';\n\n@Component({\n selector: 'hr-my-next-week-vacation-insights-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n FontAwesomeModule,\n SkyWidgetSectionItemComponent,\n HRNextWeekVacationInsightsPopupComponent,\n ],\n providers: [HRTranslatePipe],\n templateUrl: './my-next-week-vacation-insights-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyNextWeekVacationInsightsWidgetComponent {\n readonly baseUrl = input<string>('');\n readonly showProperty = input<boolean>(false);\n readonly cardClass = input<string>('card rounded rounded-4 card-shadow border-top-0 h-100 p-4');\n readonly titleClass = input<string>('table-header-lg fw-meduim mb-3 mt-2');\n readonly valueClass = input<string>('fs-24 mt-1 link-dark hover-primary text-decoration-none');\n readonly disabledValueClass = input<string>('fs-24 mt-1 text-muted pe-none text-decoration-none');\n readonly upcomingContainerClass = input<string>('border-start border-5 mb-4');\n readonly expectedContainerClass = input<string>('border-start border-5');\n readonly firstRowClass = input<string>('mb-4');\n readonly secondRowClass = input<string>('mt-3');\n readonly isLoadingChanged = output<boolean>();\n\n readonly popupVisible = signal(false);\n readonly popupType = signal<VacationPopupType>(VacationPopupType.Upcoming);\n readonly popupBaseUrl = signal('');\n VacationPopupType = VacationPopupType;\n\n readonly upcomingVacationsBadge = signal<SkyWidgetSectionItem>({\n Id: 1,\n Title: '',\n Value: 0,\n Icon: faPlaneDeparture,\n });\n readonly expectedToReturnBadge = signal<SkyWidgetSectionItem>({\n Id: 2,\n Title: '',\n Value: 0,\n Icon: faPlaneArrival,\n });\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n private readonly translatePipe = inject(HRTranslatePipe);\n\n private readonly loadVacationSummaryEffect = effect(() => {\n const baseUrl = this.baseUrl();\n this.initBadges(0, 0);\n this.loadVacationSummary(baseUrl);\n });\n\n private loadVacationSummary(baseUrl: string): void {\n this.isLoadingChanged.emit(true);\n this.selfWidgetsService.getVacationSummary(baseUrl).subscribe({\n next: response => {\n const data = response.ResponseData;\n this.initBadges(data.UpcomingVacationsCount, data.ExpectedToReturnCount);\n this.isLoadingChanged.emit(false);\n },\n error: () => {\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n openPopup(type: VacationPopupType): void {\n if (type === VacationPopupType.Upcoming && this.upcomingVacationsBadge()?.Value === 0) return;\n if (type === VacationPopupType.ExpectedToReturn && this.expectedToReturnBadge()?.Value === 0) return;\n\n this.popupType.set(type);\n if (type === VacationPopupType.Upcoming) {\n this.popupBaseUrl.set(`${this.baseUrl()}/hr/widgets/me/team/next-week-vacation-insights/upcoming-vacations`);\n } else {\n this.popupBaseUrl.set(`${this.baseUrl()}/hr/widgets/me/team/next-week-vacation-insights/expected-to-return`);\n }\n this.popupVisible.set(true);\n }\n\n closePopup(): void {\n this.popupVisible.set(false);\n }\n\n private initBadges(upcomingVacations: number, expectedToReturn: number): void {\n this.upcomingVacationsBadge.set({\n Id: 1,\n Title: this.translatePipe.transform('UpcomingVacations'),\n Value: upcomingVacations,\n Icon: faPlaneDeparture,\n });\n this.expectedToReturnBadge.set({\n Id: 2,\n Title: this.translatePipe.transform('ExpectedToReturn'),\n Value: expectedToReturn,\n Icon: faPlaneArrival,\n });\n }\n}\n","<div [class]=\"cardClass()\">\n <div class=\"card-body d-flex flex-column p-0 mb-3\">\n <div [class]=\"titleClass()\">\n {{ 'NextWeekVacationInsights' | translate | uppercase }}\n </div>\n <div class=\"d-flex flex-column mt-3\">\n <div [ngClass]=\"firstRowClass()\">\n <sky-widget-section-item\n [data]=\"upcomingVacationsBadge()\"\n [containerClass]=\"upcomingContainerClass()\"\n [valueClass]=\"upcomingVacationsBadge().Value === 0 ? disabledValueClass() : valueClass()\"\n [ngClass]=\"{ 'pe-none': upcomingVacationsBadge().Value === 0 }\"\n (OnWidgetSectionClick)=\"openPopup(VacationPopupType.Upcoming)\"\n ></sky-widget-section-item>\n </div>\n <div [ngClass]=\"secondRowClass()\">\n <sky-widget-section-item\n [data]=\"expectedToReturnBadge()\"\n [containerClass]=\"expectedContainerClass()\"\n [valueClass]=\"expectedToReturnBadge().Value === 0 ? disabledValueClass() : valueClass()\"\n [ngClass]=\"{ 'pe-none': expectedToReturnBadge().Value === 0 }\"\n (OnWidgetSectionClick)=\"openPopup(VacationPopupType.ExpectedToReturn)\"\n ></sky-widget-section-item>\n </div>\n </div>\n </div>\n</div>\n\n<hr-next-week-vacation-insights-popup\n [popupVisible]=\"popupVisible()\"\n [popupType]=\"popupType()\"\n [baseUrl]=\"popupBaseUrl()\"\n [showProperty]=\"showProperty()\"\n (closePopupClickHandler)=\"closePopup()\"\n></hr-next-week-vacation-insights-popup>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { faUsersRays, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { Experience } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-experiences-widget',\n standalone: true,\n imports: [CommonModule, SkySectionDividerComponent, HRTranslatePipe, SkyEmptyDesignCardComponent, FontAwesomeModule],\n templateUrl: './my-profile-experiences-widget-component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileExperiencesWidgetComponent implements OnInit {\n readonly experiences = signal<Experience[]>([]);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input<string>('');\n readonly sectionTitle = input<string>('experiences');\n\n readonly viewIcon = input<IconDefinition>(faEye);\n readonly downloadIcon = input(faFolderArrowDown);\n readonly experienceIcon = input(faUsersRays);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('mt-4');\n readonly headerRowClass = input<string>('row col-10');\n readonly actionsSpacerClass = input<string>('col-2');\n readonly labelClass = input<string>('field-secondary-label-sm text-ellipsis-one-line');\n readonly valueClass = input<string>('text-dark-gray fs-14 text-ellipsis-one-line');\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly downloadIconClass = input<string>('fs-15 mx-3 text-dark cursor-pointer');\n\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly itemRowClass = input<string>('row');\n readonly itemColumnsWrapperClass = input<string>('row col-10 mt-3');\n readonly itemColumnClass = input<string>('col-3');\n readonly actionsColumnClass = input<string>('col-2 align-items-end mt-3');\n\n readonly rowMarginBottomClass = input<string>('mb-5');\n readonly rowMarginBottomEmptyClass = input<string>('mb-4');\n\n readonly isLoadingChanged = output<boolean>();\n readonly attachmentViewed = output<any>();\n readonly attachmentDownloaded = output<any>();\n readonly errorOccurred = output<string>();\n\n private readonly service = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.service.getEmployeeExperiences(this.baseUrl()).subscribe({\n next: res => {\n this.experiences.set(res ?? []);\n this.isLoading.set(false);\n\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.experiences.set([]);\n this.isLoading.set(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n onAttachmentView(file: any) {\n this.attachmentViewed.emit(file);\n }\n\n onAttachmentDownload(file: any) {\n this.attachmentDownloaded.emit(file);\n }\n\n get wrapperClass(): string {\n const classes = [this.rowClass()];\n if (this.experiences().length > 0) {\n classes.push(this.rowMarginBottomClass());\n } else {\n classes.push(this.rowMarginBottomEmptyClass());\n }\n return classes.join(' ');\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"experienceIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div [class]=\"wrapperClass\">\n @if (experiences().length > 0) {\n <div class=\"row\">\n <div [class]=\"headerRowClass()\">\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Period' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Employer' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Position' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'TerminationReason' | translate }}</p>\n </div>\n </div>\n\n <div [class]=\"actionsSpacerClass()\"></div>\n\n @for (experience of experiences(); track experience) {\n <div [class]=\"itemColumnsWrapperClass()\">\n <div [class]=\"itemColumnClass()\">\n <p\n [class]=\"valueClass()\"\n [title]=\"(experience.StartDate | date: 'dd/MM/yyyy') + ' - ' + (experience.EndDate | date: 'dd/MM/yyyy')\"\n >\n {{ (experience.StartDate | date: 'dd/MM/yyyy') + ' - ' + (experience.EndDate | date: 'dd/MM/yyyy') }}\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"experience.Employer ? experience.Employer : ''\">\n @if (experience.Employer) {\n {{ experience.Employer }}\n } @else {\n {{ '—' }}\n }\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"experience.Position ? experience.Position : ''\">\n @if (experience.Position) {\n {{ experience.Position }}\n } @else {\n {{ '—' }}\n }\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"experience.TerminationReason ? experience.TerminationReason : ''\">\n @if (experience.TerminationReason) {\n {{ experience.TerminationReason }}\n } @else {\n {{ '—' }}\n }\n </p>\n </div>\n </div>\n\n @if (experience.Document) {\n <div [class]=\"actionsColumnClass()\">\n <fa-icon [icon]=\"viewIcon()\" [class]=\"viewIconClass()\" (click)=\"onAttachmentView(experience.Document)\"></fa-icon>\n <fa-icon [icon]=\"downloadIcon()\" [class]=\"downloadIconClass()\" (click)=\"onAttachmentDownload(experience.Document)\"></fa-icon>\n </div>\n }\n }\n </div>\n } @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoExperiencesYet' | translate)\"\n ></sky-empty-design-card>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { faFileCertificate, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { Degree } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-degrees-widget',\n standalone: true,\n imports: [CommonModule, SkySectionDividerComponent, HRTranslatePipe, SkyEmptyDesignCardComponent, FontAwesomeModule],\n templateUrl: './my-profile-degrees-widget-component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileDegreesWidgetComponent implements OnInit {\n readonly degrees = signal<Degree[]>([]);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input<string>('');\n readonly sectionTitle = input<string>('Degrees');\n\n readonly degreesIcon = input(faFileCertificate);\n readonly viewIcon = input<IconDefinition>(faEye);\n readonly downloadIcon = input(faFolderArrowDown);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('mt-4');\n readonly rowMarginBottomClass = input<string>('mb-5');\n readonly rowMarginBottomEmptyClass = input<string>('mb-4');\n readonly headerRowClass = input<string>('row col-10');\n readonly actionsSpacerClass = input<string>('col-2');\n readonly labelClass = input<string>('field-secondary-label-sm text-ellipsis-one-line');\n readonly valueClass = input<string>('text-dark-gray fs-14 text-ellipsis-one-line');\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly downloadIconClass = input<string>('fs-15 mx-3 text-dark cursor-pointer');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly itemRowClass = input<string>('row');\n readonly itemColumnsWrapperClass = input<string>('row col-10 mt-3');\n readonly itemColumnClass = input<string>('col-3');\n readonly actionsColumnClass = input<string>('col-2 align-items-end mt-3');\n\n readonly isLoadingChanged = output<boolean>();\n readonly attachmentViewed = output<any>();\n readonly attachmentDownloaded = output<any>();\n readonly errorOccurred = output<string>();\n private readonly service = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.service.getEmployeeDegrees(this.baseUrl()).subscribe({\n next: res => {\n this.degrees.set(res ?? []);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.degrees.set([]);\n this.isLoading.set(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n get wrapperClass(): string {\n const classes = [this.rowClass()];\n if (this.degrees().length > 0) {\n classes.push(this.rowMarginBottomClass());\n } else {\n classes.push(this.rowMarginBottomEmptyClass());\n }\n return classes.join(' ');\n }\n\n onAttachmentView(file: any) {\n this.attachmentViewed.emit(file);\n }\n\n onAttachmentDownload(file: any) {\n this.attachmentDownloaded.emit(file);\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"degreesIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div [class]=\"wrapperClass\">\n @if (degrees().length > 0) {\n <div class=\"row\">\n <div [class]=\"headerRowClass()\">\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Degree/Year' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Country' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Specialty' | translate }}</p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"labelClass()\">{{ 'Institute' | translate }}</p>\n </div>\n </div>\n\n <div [class]=\"actionsSpacerClass()\"></div>\n\n @for (qualification of degrees(); track qualification) {\n <div [class]=\"itemColumnsWrapperClass()\">\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"qualification.DegreeName + ' / ' + qualification.DegreeYear\">\n {{ qualification.DegreeName + ' / ' + qualification.DegreeYear }}\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"qualification.CountryName ? qualification.CountryName : ''\">\n {{ qualification.CountryName }}\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"qualification.Specialty ? qualification.Specialty : ''\">\n @if (qualification.Specialty) {\n {{ qualification.Specialty }}\n } @else {\n {{ '—' }}\n }\n </p>\n </div>\n\n <div [class]=\"itemColumnClass()\">\n <p [class]=\"valueClass()\" [title]=\"qualification.Institute ? qualification.Institute : ''\">\n @if (qualification.Institute) {\n {{ qualification.Institute }}\n } @else {\n {{ '—' }}\n }\n </p>\n </div>\n </div>\n\n @if (qualification.Document) {\n <div [class]=\"actionsColumnClass()\">\n <fa-icon [icon]=\"viewIcon()\" [class]=\"viewIconClass()\" (click)=\"onAttachmentView(qualification.Document)\"></fa-icon>\n <fa-icon [icon]=\"downloadIcon()\" [class]=\"downloadIconClass()\" (click)=\"onAttachmentDownload(qualification.Document)\"></fa-icon>\n </div>\n }\n }\n </div>\n } @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereIsNoDegreesYet' | translate)\"\n ></sky-empty-design-card>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, input } from '@angular/core';\n\n@Component({\n selector: 'hr-widget-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './widget-card-component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WidgetCardComponent {\n readonly cardClass = input<string>('bg-white shadow-sm p-3 border-1 border');\n readonly height = input<number>(110);\n\n readonly contentTemplate = input.required<TemplateRef<any>>();\n readonly context = input<any>(undefined);\n}\n","<div [class]=\"cardClass()\" [style.height.px]=\"height()\" style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"contentTemplate(); context: context()\"></ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { Dependent } from '../../shared/types/common';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { WidgetCardComponent } from '../../shared/components/widget-card/widget-card-component';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { faUsersLine } from '@fortawesome/pro-light-svg-icons';\n\n@Component({\n selector: 'hr-my-profile-dependents-widget',\n standalone: true,\n imports: [\n CommonModule,\n WidgetCardComponent,\n HRTranslatePipe,\n SkyEmptyDesignCardComponent,\n SkySectionDividerComponent,\n ],\n templateUrl: './my-profile-employee-dependents-component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyDependentsWidgetComponent implements OnInit {\n readonly baseUrl = input<string>('');\n readonly sectionTitle = input<string>('Dependents');\n readonly icon = input(faUsersLine);\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly dependents = signal<Dependent[]>([]);\n readonly isLoading = signal(true);\n\n readonly isLoadingChanged = output<boolean>();\n\n private readonly service = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.service.getEmployeeDependents(this.baseUrl()).subscribe({\n next: res => {\n this.dependents.set(res ?? []);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: () => {\n this.dependents.set([]);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"icon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div class=\"mt-4\">\n <div class=\"row mb-5\">\n @if (dependents().length) {\n @for (d of dependents(); track d) {\n <div class=\"col-lg-4 col-6 mt-4\">\n <hr-widget-card [contentTemplate]=\"dependentTemplate\" [context]=\"{ d: d }\" [height]=\"110\"></hr-widget-card>\n </div>\n }\n } @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereAreNoDependentsYet' | translate)\"\n ></sky-empty-design-card>\n }\n </div>\n</div>\n\n<ng-template #dependentTemplate let-d=\"d\">\n <p class=\"text-dark fs-16 mb-2 d-flex\">\n <span class=\"text-truncate cursor-pointer\" [title]=\"d.DependentName\">\n {{ d.DependentName }}\n </span>\n <span class=\"mx-1\">({{ d.DependentTypeName }})</span>\n </p>\n <p class=\"mb-2 fs-12\">\n <span class=\"text-muted\">{{ 'BirthDate' | translate }}:</span>\n <span class=\"text-secondary mx-1\">{{ d.BirthDate | date: 'dd/MM/yyyy' }}</span>\n </p>\n <p class=\"mb-0 fs-12\">\n <span class=\"text-muted\">{{ 'NationalNumber' | translate }}:</span>\n @if (d.NationalNumber) {\n <span class=\"text-secondary mx-1\">{{ d.NationalNumber }}</span>\n } @else {\n <span class=\"text-secondary mx-1\">—</span>\n }\n </p>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { faIslandTropical } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { EntitlementsVacation } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-vacations-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent],\n templateUrl: './my-profile-vacations-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileVacationsWidgetComponent implements OnInit {\n readonly baseUrl = input.required<string>();\n readonly sectionTitle = input<string>('Vacations');\n readonly vacationsIcon = input(faIslandTropical);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-meduim mt-2');\n readonly labelColumnClass = input<string>('col-6');\n readonly valueColumnClass = input<string>('col-6');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n readonly vacationEntitlements = signal<EntitlementsVacation[]>([]);\n readonly isLoading = signal(true);\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.loadData();\n }\n\n private loadData(): void {\n this.isLoadingChanged.emit(true);\n this.selfWidgetsService.getEntitlementsVacations(this.baseUrl()).subscribe({\n next: data => {\n this.vacationEntitlements.set(data ?? []);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.vacationEntitlements.set([]);\n this.isLoading.set(false);\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"vacationsIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (vacationEntitlements().length > 0) {\n <div [class]=\"rowClass()\">\n <div [class]=\"labelClass()\" [ngClass]=\"labelColumnClass()\">{{ 'Type' | translate }}</div>\n <div [class]=\"labelClass()\" [ngClass]=\"valueColumnClass()\">{{ 'Entitlement' | translate }}</div>\n @for (vacationEntitlement of vacationEntitlements(); track vacationEntitlement) {\n <div [class]=\"valueClass()\" [ngClass]=\"labelColumnClass()\">\n {{ vacationEntitlement.VacationTypeName }}\n </div>\n <div [class]=\"valueClass()\" [ngClass]=\"valueColumnClass()\">\n {{ vacationEntitlement.EntitlementDays }}\n </div>\n }\n </div>\n} @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"\n isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('There\\'sNoInformationInThisSectionYet' | translate)\n \"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { faFileSignature } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\nimport { EntitlementsIndemnity } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-indemnity-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRInfoFieldComponent,\n ],\n templateUrl: './my-profile-indemnity-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileIndemnityWidgetComponent implements OnInit {\n readonly baseUrl = input.required<string>();\n readonly currencyCode = input<string>('');\n readonly currencyDecimals = input<number>(0);\n readonly sectionTitle = input<string>('Indemnity');\n readonly indemnityIcon = input(faFileSignature);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4');\n readonly columnClass = input<string>('col-6');\n readonly topSpacingColumnClass = input<string>('col-6 mt-4');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-meduim');\n readonly dateFormat = input<string>('dd/MM/yyyy');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n readonly hasDataChanged = output<boolean>();\n\n readonly indemnityDetails = signal<EntitlementsIndemnity | null>(null);\n readonly isLoading = signal(true);\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.loadData();\n }\n\n private loadData(): void {\n this.isLoadingChanged.emit(true);\n this.selfWidgetsService.getEntitlementsIndemnity(this.baseUrl()).subscribe({\n next: data => {\n this.indemnityDetails.set(data);\n this.isLoading.set(false);\n this.hasDataChanged.emit(!!this.indemnityDetails());\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.indemnityDetails.set(null);\n this.isLoading.set(false);\n this.hasDataChanged.emit(false);\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"indemnityIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (indemnityDetails()) {\n <div [class]=\"rowClass()\">\n <div [class]=\"columnClass()\">\n <hr-info-field\n labelKey=\"IndemnityEligibility\"\n [value]=\"(indemnityDetails()!.IsEligibleForIndemnity ? 'Eligible' : 'NotEligible') | translate\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [class]=\"columnClass()\">\n <hr-info-field\n labelKey=\"ServiceYears\"\n [value]=\"'' + (indemnityDetails()!.IndemnityServiceYears ?? '')\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n\n <div [class]=\"topSpacingColumnClass()\">\n <hr-info-field\n labelKey=\"StartDate\"\n [value]=\"indemnityDetails()!.IndemnityStartDate | date: dateFormat()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n </div>\n} @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"\n isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('There\\'sNoInformationInThisSectionYet' | translate)\n \"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\nimport { WidgetCardComponent } from '../../../../shared/components/widget-card/widget-card-component';\n\n@Component({\n selector: 'hr-ticket-card',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, WidgetCardComponent],\n templateUrl: './ticket-card.component.html',\n})\nexport class HRTicketCardComponent {\n @Input({ required: true }) name: string | null = '';\n @Input() typeName: string | null = '';\n @Input() entitlementText: string = '';\n @Input() ticketClassName: string | null = '';\n @Input() ticketSectorName: string | null = '';\n @Input() isDependent: boolean = false;\n\n @Input() cardClass: string = 'p-3 card-shadow border border-1 h-100 rounded rounded-2';\n @Input() cardHeight: number = 135;\n @Input() nameClass: string = 'text-dark fs-16';\n @Input() subtitleClass: string = 'field-secondary-label-sm mb-3';\n @Input() labelClass: string = 'text-secondary';\n @Input() valueClass: string = 'text-dark-gray mx-1';\n}\n","<hr-widget-card [cardClass]=\"cardClass\" [height]=\"cardHeight\" [contentTemplate]=\"cardContent\"></hr-widget-card>\n\n<ng-template #cardContent>\n <p [class]=\"nameClass\" [ngClass]=\"isDependent ? 'd-flex' : ''\">\n @if (isDependent) {\n <span class=\"text-ellipsis-one-line cursor-pointer\" [title]=\"name\">{{ name }}</span>\n <span class=\"mx-1\">({{ typeName }})</span>\n } @else {\n {{ name }} ({{ 'Me' | translate }})\n }\n </p>\n <p [class]=\"subtitleClass\">{{ entitlementText }}</p>\n @if (!isDependent) {\n <p class=\"fs-12 mb-2\">\n <span [class]=\"labelClass\">{{ 'Class' | translate }}:</span>\n <span [class]=\"valueClass\">{{ ticketClassName }}</span>\n </p>\n <p class=\"fs-12\">\n <span [class]=\"labelClass\">{{ 'Sector' | translate }}:</span>\n <span [class]=\"valueClass\">{{ ticketSectorName }}</span>\n </p>\n }\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { faTicketsAirline } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRTicketCardComponent } from './components/ticket-card/ticket-card.component';\nimport { EntitlementsTicket } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-ticket-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRTicketCardComponent,\n ],\n providers: [HRTranslatePipe],\n templateUrl: './my-profile-ticket-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileTicketWidgetComponent implements OnInit {\n readonly baseUrl = input.required<string>();\n readonly sectionTitle = input<string>('Tickets');\n readonly ticketsIcon = input(faTicketsAirline);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n readonly columnClass = input<string>('col-lg-4 col-6 mt-4');\n readonly cardHeight = input<number>(135);\n readonly cardClass = input<string>('p-3 card-shadow border border-1 h-100 rounded rounded-2');\n readonly nameClass = input<string>('text-dark fs-16');\n readonly subtitleClass = input<string>('field-secondary-label-sm mb-3');\n readonly labelClass = input<string>('fs-12 text-secondary');\n readonly valueClass = input<string>('fs-12 text-dark-gray mx-1');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n readonly ticketDetails = signal<EntitlementsTicket | null>(null);\n readonly isLoading = signal(true);\n readonly hasData = signal(true);\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n private readonly translatePipe = inject(HRTranslatePipe);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.loadData();\n }\n\n private loadData(): void {\n this.isLoadingChanged.emit(true);\n this.selfWidgetsService.getEntitlementsTicket(this.baseUrl()).subscribe({\n next: data => {\n this.ticketDetails.set(data);\n this.isLoading.set(false);\n const details = this.ticketDetails();\n this.hasData.set(!!details?.EmployeeTicketDetails || (details?.DependentTicketDetails?.length ?? 0) > 0);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.ticketDetails.set(null);\n this.isLoading.set(false);\n this.hasData.set(false);\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n getMonthsPerTicketEntitlement(monthsPerTicketEntitlement: number | null): string {\n if (monthsPerTicketEntitlement != null && monthsPerTicketEntitlement != 0) {\n if (monthsPerTicketEntitlement > 1) {\n const template = this.translatePipe.transform('TicketEvery{{value}}Months');\n return template.replace('{{value}}', String(monthsPerTicketEntitlement));\n } else {\n const template = this.translatePipe.transform('TicketEvery{{value}}Month');\n return template.replace('{{value}}', String(monthsPerTicketEntitlement));\n }\n } else return this.translatePipe.transform('NotEntitled');\n }\n}\n","@if (hasData()) {\n <sky-section-divider\n [fontAwesomeIcon]=\"ticketsIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n ></sky-section-divider>\n\n @let details = ticketDetails();\n @if (details) {\n @let employeeDetails = details.EmployeeTicketDetails;\n @if (!employeeDetails && details.DependentTicketDetails?.length == 0) {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"'NoTicketEntitlement' | translate\"\n ></sky-empty-design-card>\n } @else {\n <div class=\"row mb-5\">\n @if (employeeDetails) {\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\n <hr-ticket-card\n [name]=\"employeeDetails.EmployeeFirstName\"\n [entitlementText]=\"getMonthsPerTicketEntitlement(employeeDetails.MonthsPerTicketEntitlement)\"\n [ticketClassName]=\"employeeDetails.TicketClassName\"\n [ticketSectorName]=\"employeeDetails.TicketSectorName\"\n [cardClass]=\"cardClass()\"\n [cardHeight]=\"cardHeight()\"\n [nameClass]=\"nameClass()\"\n [subtitleClass]=\"subtitleClass()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-ticket-card>\n </div>\n }\n @for (dependent of details.DependentTicketDetails ?? []; track dependent) {\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\n <hr-ticket-card\n [name]=\"dependent.DependentName\"\n [typeName]=\"dependent.DependentTypeName\"\n [entitlementText]=\"getMonthsPerTicketEntitlement(dependent.MonthsPerTicketEntitlement)\"\n [isDependent]=\"true\"\n [cardClass]=\"cardClass()\"\n [cardHeight]=\"cardHeight()\"\n [nameClass]=\"nameClass()\"\n [subtitleClass]=\"subtitleClass()\"\n ></hr-ticket-card>\n </div>\n }\n </div>\n }\n } @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('NoTicketEntitlement' | translate)\"\n ></sky-empty-design-card>\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\nimport { WidgetCardComponent } from '../../../../shared/components/widget-card/widget-card-component';\n\nexport interface MedicalInsuranceField {\n labelKey: string;\n value: any;\n fallbackValue?: string;\n}\n\n@Component({\n selector: 'hr-medical-insurance-card',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, WidgetCardComponent],\n templateUrl: './medical-insurance-card.component.html',\n})\nexport class HRMedicalInsuranceCardComponent {\n @Input({ required: true }) name: string | null = '';\n @Input() typeName: string | null = '';\n @Input() isDependent: boolean = false;\n @Input() fields: MedicalInsuranceField[] = [];\n\n @Input() cardClass: string = 'p-3 card-shadow h-100 border border-1 rounded rounded-2';\n @Input() cardHeight: number = 185;\n @Input() nameClass: string = 'text-dark fs-16 mb-2';\n @Input() labelClass: string = 'field-secondary-label-sm';\n @Input() valueClass: string = 'text-dark-gray mx-1';\n}\n","<hr-widget-card [cardClass]=\"cardClass\" [height]=\"cardHeight\" [contentTemplate]=\"cardContent\"></hr-widget-card>\n\n<ng-template #cardContent>\n <p [class]=\"nameClass\" [ngClass]=\"isDependent ? 'd-flex' : ''\">\n @if (isDependent) {\n <span class=\"text-ellipsis-one-line cursor-pointer\" [title]=\"name\">{{ name }}</span>\n <span class=\"mx-1\">({{ typeName }})</span>\n } @else {\n {{ name }} ({{ 'Me' | translate }})\n }\n </p>\n @for (field of fields; track field.labelKey; let last = $last) {\n <p [class.mb-2]=\"!last\">\n <span [class]=\"labelClass\">{{ field.labelKey | translate }}:</span>\n <span [class]=\"valueClass\">{{ field.value || (field.fallbackValue ?? '—') }}</span>\n </p>\n }\n</ng-template>\n","import { CommonModule, DatePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { faNotesMedical } from '@fortawesome/pro-light-svg-icons';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport {\n HRMedicalInsuranceCardComponent,\n MedicalInsuranceField,\n} from './components/medical-insurance-card/medical-insurance-card.component';\nimport { EntitlementsMedicalInsurance, DependentsMedicalInsurance } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-medical-insurance-widget',\n standalone: true,\n imports: [\n CommonModule,\n HRTranslatePipe,\n SkySectionDividerComponent,\n SkyEmptyDesignCardComponent,\n HRMedicalInsuranceCardComponent,\n ],\n templateUrl: './my-profile-medical-insurance-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileMedicalInsuranceWidgetComponent implements OnInit {\n readonly baseUrl = input.required<string>();\n readonly sectionTitle = input<string>('MedicalInsurance');\n readonly medicalInsuranceIcon = input(faNotesMedical);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('text-dark-gray mx-1');\n readonly columnClass = input<string>('col-lg-4 col-6 mt-4');\n readonly cardHeight = input<number>(185);\n readonly cardClass = input<string>('p-3 card-shadow h-100 border border-1 rounded rounded-2');\n readonly nameClass = input<string>('text-dark fs-16 mb-2');\n readonly dateFormat = input<string>('dd/MM/yyyy');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n readonly medicalInsuranceDetails = signal<EntitlementsMedicalInsurance | null>(null);\n readonly isLoading = signal(true);\n readonly employeeFields = signal<MedicalInsuranceField[]>([]);\n\n private datePipe = new DatePipe('en-US');\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.loadData();\n }\n\n private loadData(): void {\n this.isLoadingChanged.emit(true);\n this.selfWidgetsService.getEntitlementsMedicalInsurance(this.baseUrl()).subscribe({\n next: data => {\n this.medicalInsuranceDetails.set(data);\n this.buildEmployeeFields();\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.medicalInsuranceDetails.set(null);\n this.isLoading.set(false);\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n private buildEmployeeFields(): void {\n const details = this.medicalInsuranceDetails();\n if (!details?.EmployeeMedicalInsurance) return;\n const emp = details.EmployeeMedicalInsurance;\n this.employeeFields.set([\n { labelKey: 'Class', value: emp.MedicalInsuranceClassName },\n { labelKey: 'Number', value: emp.MedicalInsuranceNumber },\n { labelKey: 'CoverageDate', value: this.datePipe.transform(emp.CoverageDate, this.dateFormat()) },\n { labelKey: 'TotalEmployeeShare', value: details.TotalEmployeeShare },\n { labelKey: 'TotalEmployerShare', value: details.TotalEmployerShare },\n ]);\n }\n\n getDependentFields(dependent: DependentsMedicalInsurance): MedicalInsuranceField[] {\n return [\n { labelKey: 'Class', value: dependent.MedicalInsuranceClassName },\n { labelKey: 'Number', value: dependent.MedicalInsuranceNumber },\n { labelKey: 'CoverageDate', value: this.datePipe.transform(dependent.CoverageDate, this.dateFormat()) },\n ];\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"medicalInsuranceIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n@if (medicalInsuranceDetails()) {\n <div class=\"row mb-5\">\n @if (medicalInsuranceDetails()!.EmployeeMedicalInsurance) {\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\n <hr-medical-insurance-card\n [name]=\"medicalInsuranceDetails()?.EmployeeMedicalInsurance?.EmployeeFirstName || ''\"\n [fields]=\"employeeFields()\"\n [cardClass]=\"cardClass()\"\n [cardHeight]=\"cardHeight()\"\n [nameClass]=\"nameClass()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-medical-insurance-card>\n </div>\n }\n @for (dependent of medicalInsuranceDetails()!.DependentsMedicalInsurance; track dependent) {\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\n <hr-medical-insurance-card\n [name]=\"dependent.DependentName\"\n [typeName]=\"dependent.DependentTypeName\"\n [isDependent]=\"true\"\n [fields]=\"getDependentFields(dependent)\"\n [cardClass]=\"cardClass()\"\n [cardHeight]=\"cardHeight()\"\n [nameClass]=\"nameClass()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-medical-insurance-card>\n </div>\n }\n </div>\n} @else {\n <sky-empty-design-card\n [containerClass]=\"emptyStateContainerClass()\"\n [cardBodyClass]=\"''\"\n [cardBodyContainerClass]=\"''\"\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"\n isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('NotCoveredByMedicalInsurance' | translate)\n \"\n ></sky-empty-design-card>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { faGrid2Plus } from '@fortawesome/pro-light-svg-icons';\nimport { SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\nimport { forkJoin } from 'rxjs';\n\n@Component({\n selector: 'hr-my-profile-entitlements-others-widget',\n standalone: true,\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, HRInfoFieldComponent],\n templateUrl: './my-profile-entitlements-others-widget.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileEntitlementsOthersWidgetComponent implements OnInit {\n readonly baseUrl = input.required<string>();\n readonly sectionTitle = input<string>('Others');\n readonly othersIcon = input(faGrid2Plus);\n\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly rowClass = input<string>('row mt-4 mb-5');\n readonly columnClass = input<string>('col-md-4 col-6');\n readonly labelClass = input<string>('field-secondary-label-sm');\n readonly valueClass = input<string>('fs-14 fw-meduim');\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n\n readonly isEligibleForOvertime = signal(false);\n readonly isSocialSecurityMember = signal(false);\n readonly isLoading = signal(true);\n\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.loadData();\n }\n\n private loadData(): void {\n this.isLoadingChanged.emit(true);\n forkJoin({\n overtime: this.selfWidgetsService.getEntitlementsOvertime(this.baseUrl()),\n socialSecurity: this.selfWidgetsService.getEntitlementsSocialSecurity(this.baseUrl()),\n }).subscribe({\n next: responses => {\n this.isEligibleForOvertime.set(responses.overtime.ResponseData?.IsEligibleForOvertime ?? false);\n this.isSocialSecurityMember.set(responses.socialSecurity.ResponseData?.IsSocialSecurityMember ?? false);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: error => {\n this.isLoading.set(false);\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"othersIcon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div [class]=\"rowClass()\">\n <div [class]=\"columnClass()\">\n <hr-info-field\n labelKey=\"OvertimeEligibility\"\n [value]=\"(isEligibleForOvertime() ? 'Eligible' : 'NotEligible') | translate\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n <div [class]=\"columnClass()\">\n <hr-info-field\n labelKey=\"SocialSecurityEligibility\"\n [value]=\"(isSocialSecurityMember() ? 'Member' : 'NotMember') | translate\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n ></hr-info-field>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FontAwesomeModule, IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { DocumentRow } from '../../../../shared/types/common';\n\n@Component({\n selector: 'hr-document-row',\n standalone: true,\n imports: [CommonModule, FontAwesomeModule],\n templateUrl: './document-row.component.html',\n})\nexport class HRDocumentRowComponent {\n @Input() doc!: DocumentRow;\n @Input() valueClass: string = 'text-dark-gray fs-14';\n @Input() viewIcon: IconDefinition = faEye;\n @Input() downloadIcon: IconDefinition = faFolderArrowDown;\n @Input() viewIconClass: string = 'fs-15 text-dark cursor-pointer';\n @Input() downloadIconClass: string = 'fs-15 text-dark cursor-pointer';\n @Input() rowClass: string = 'row';\n @Input() dataColClass: string = 'col-10';\n @Input() dataColSpacingClass: string = 'mt-2';\n @Input() dataRowClass: string = 'row align-items-center py-1 gx-0';\n @Input() typeColClass: string = 'col-3';\n @Input() numberColClass: string = 'col-3';\n @Input() issueDateColClass: string = 'col-3';\n @Input() expiryDateColClass: string = 'col-3';\n @Input() actionsColClass: string = 'col-2 d-flex align-items-center';\n @Input() actionsWrapperClass: string = 'd-flex align-items-center gap-2';\n @Input() downloadContainerClass: string =\n 'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer';\n\n @Output() attachmentView = new EventEmitter<DocumentRow>();\n @Output() download = new EventEmitter<DocumentRow>();\n\n onAttachmentView(): void {\n this.attachmentView.emit(this.doc);\n }\n\n onDownload(): void {\n this.download.emit(this.doc);\n }\n}\n","<div [class]=\"rowClass\">\n <div [class]=\"dataColClass + ' ' + dataColSpacingClass\">\n <div [class]=\"dataRowClass\">\n <div [class]=\"typeColClass\">\n <p [class]=\"valueClass + ' mb-0 text-ellipsis-one-line'\" [title]=\"doc.DocumentTypeName\">\n {{ doc.DocumentTypeName }}\n </p>\n </div>\n\n <div [class]=\"numberColClass\">\n <p [class]=\"valueClass + ' mb-0'\">\n {{ doc.DocumentNumber || '—' }}\n </p>\n </div>\n\n <div [class]=\"issueDateColClass\">\n <p [class]=\"valueClass + ' mb-0'\">\n {{ doc.IssueDate ? (doc.IssueDate | date: 'dd/MM/yyyy') : '—' }}\n </p>\n </div>\n\n <div [class]=\"expiryDateColClass\">\n <p [class]=\"valueClass + ' mb-0'\">\n {{ doc.ExpiryDate ? (doc.ExpiryDate | date: 'dd/MM/yyyy') : '—' }}\n </p>\n </div>\n </div>\n </div>\n\n <div [class]=\"actionsColClass\">\n @if (doc.Attachments?.length) {\n <div [class]=\"actionsWrapperClass\">\n @if (doc.Attachments.length === 1) {\n <fa-icon [icon]=\"viewIcon\" [class]=\"viewIconClass\" (click)=\"onAttachmentView()\"></fa-icon>\n } @else {\n <div class=\"invisible\">\n <fa-icon [icon]=\"viewIcon\"></fa-icon>\n </div>\n }\n\n <div [class]=\"downloadContainerClass\" (click)=\"onDownload()\">\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\"></fa-icon>\n <span class=\"ps-1\">{{ doc.Attachments.length }}</span>\n </div>\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FontAwesomeModule, IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\nimport { HRDocumentRowComponent } from '../document-row/document-row.component';\nimport { DocumentRow } from '../../../../shared/types/common';\n\n@Component({\n selector: 'hr-document-card',\n standalone: true,\n imports: [CommonModule, FontAwesomeModule, HRTranslatePipe, HRDocumentRowComponent],\n templateUrl: './document-card.component.html',\n})\nexport class HRDocumentCardComponent {\n @Input() title: string = '';\n @Input() documents: DocumentRow[] = [];\n @Input() titleContainerClass: string = 'mb-3';\n @Input() titleClass: string = 'text-dark fs-16 mb-0';\n @Input() valueClass: string = 'text-dark-gray fs-14';\n @Input() viewIcon: IconDefinition = faEye;\n @Input() downloadIcon: IconDefinition = faFolderArrowDown;\n @Input() viewIconClass: string = 'fs-15 text-dark cursor-pointer';\n @Input() downloadIconClass: string = 'fs-15 text-dark cursor-pointer';\n @Input() labelClass: string = 'field-secondary-label-sm mb-1';\n @Input() rowClass: string = 'row';\n @Input() dataColClass: string = 'col-10';\n @Input() dataColSpacingClass: string = 'mt-2';\n @Input() dataRowClass: string = 'row align-items-center py-1 gx-0';\n @Input() typeColClass: string = 'col-3';\n @Input() numberColClass: string = 'col-3';\n @Input() issueDateColClass: string = 'col-3';\n @Input() expiryDateColClass: string = 'col-3';\n @Input() actionsColClass: string = 'col-2 d-flex align-items-center';\n @Input() actionsWrapperClass: string = 'd-flex align-items-center gap-2';\n @Input() downloadContainerClass: string =\n 'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer';\n\n @Output() attachmentView = new EventEmitter<DocumentRow>();\n @Output() download = new EventEmitter<DocumentRow>();\n\n onAttachmentView(doc: DocumentRow): void {\n this.attachmentView.emit(doc);\n }\n\n onDownload(doc: DocumentRow): void {\n this.download.emit(doc);\n }\n}\n","@if (title) {\n <div [class]=\"titleContainerClass\">\n <p [class]=\"titleClass\">{{ title }}</p>\n </div>\n}\n\n<div [class]=\"rowClass\">\n <div [class]=\"dataColClass\">\n <div class=\"row g-1\">\n <div [class]=\"typeColClass\">\n <p [class]=\"labelClass\">{{ 'Type' | translate }}</p>\n </div>\n\n <div [class]=\"numberColClass\">\n <p [class]=\"labelClass\">{{ 'DocumentNumber' | translate }}</p>\n </div>\n\n <div [class]=\"issueDateColClass\">\n <p [class]=\"labelClass\">{{ 'IssueDate' | translate }}</p>\n </div>\n\n <div [class]=\"expiryDateColClass\">\n <p [class]=\"labelClass\">{{ 'ExpiryDate' | translate }}</p>\n </div>\n </div>\n </div>\n\n <div [class]=\"actionsColClass\"></div>\n</div>\n\n@for (doc of documents; track doc) {\n <hr-document-row\n [doc]=\"doc\"\n [valueClass]=\"valueClass\"\n [viewIcon]=\"viewIcon\"\n [downloadIcon]=\"downloadIcon\"\n [viewIconClass]=\"viewIconClass\"\n [downloadIconClass]=\"downloadIconClass\"\n [rowClass]=\"rowClass\"\n [dataColClass]=\"dataColClass\"\n [dataColSpacingClass]=\"dataColSpacingClass\"\n [dataRowClass]=\"dataRowClass\"\n [typeColClass]=\"typeColClass\"\n [numberColClass]=\"numberColClass\"\n [issueDateColClass]=\"issueDateColClass\"\n [expiryDateColClass]=\"expiryDateColClass\"\n [actionsColClass]=\"actionsColClass\"\n [actionsWrapperClass]=\"actionsWrapperClass\"\n [downloadContainerClass]=\"downloadContainerClass\"\n (attachmentView)=\"onAttachmentView($event)\"\n (download)=\"onDownload($event)\"\n ></hr-document-row>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\nimport { DocumentRow } from '../../../../shared/types/common';\n\n@Component({\n selector: 'hr-document-tablet-card',\n standalone: true,\n imports: [CommonModule, FontAwesomeModule, HRTranslatePipe],\n templateUrl: './document-tablet-card.component.html',\n})\nexport class HrDocumentTabletCardComponent {\n @Input() doc!: DocumentRow;\n @Input() isOdd: boolean = false;\n\n @Input() downloadIcon: any;\n @Input() viewIcon: any;\n @Input() cardHeight = '175px';\n\n // Shared classes (same as large screen)\n @Input() labelClass: string = 'field-secondary-label-sm';\n @Input() valueClass: string = 'table-cell-md text-break';\n @Input() downloadIconClass: string = 'fs-6 text-dark';\n @Input() downloadContainerClass: string =\n 'bg-light-gray rounded-3 d-flex justify-content-center align-items-center cursor-pointer px-2';\n @Input() downloadCountClass: string = 'text-dark fs-12 fw-bold ps-2';\n\n // Tablet-specific classes\n @Input() tabletContainerClass: string = 'mt-3';\n @Input() tabletCardClass: string = 'row px-4 py-3 card-shadow';\n @Input() tabletColWithAttachmentClass: string = 'col-5';\n @Input() tabletColWithoutAttachmentClass: string = 'col-6';\n @Input() tabletActionsColClass: string = 'col-1 d-flex align-items-center';\n @Input() tabletBottomRowSpacingClass: string = 'mt-4';\n\n @Output() view = new EventEmitter<DocumentRow>();\n @Output() download = new EventEmitter<DocumentRow>();\n\n onView() {\n this.view.emit(this.doc);\n }\n\n onDownload() {\n this.download.emit(this.doc);\n }\n}\n","<div [class]=\"tabletContainerClass\">\n <div [class]=\"tabletCardClass\" [style.height]=\"cardHeight\" [ngClass]=\"{ 'me-1': !isOdd, 'ms-1': isOdd }\">\n <div [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\n <p [class]=\"labelClass\">{{ 'Type' | translate }}</p>\n <p [class]=\"valueClass\">{{ doc.DocumentTypeName }}</p>\n </div>\n\n <div [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\n <p [class]=\"labelClass\">{{ 'Number' | translate }}</p>\n <p [class]=\"valueClass\">\n {{ doc.DocumentNumber || '—' }}\n </p>\n </div>\n\n @if (doc.Attachments?.length) {\n <div [class]=\"tabletActionsColClass\">\n <div [class]=\"downloadContainerClass\" (click)=\"onDownload()\">\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\"></fa-icon>\n <span [class]=\"downloadCountClass\">\n {{ doc.Attachments.length }}\n </span>\n </div>\n </div>\n }\n\n <div\n [class]=\"tabletBottomRowSpacingClass\"\n [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\"\n >\n <p [class]=\"labelClass\">{{ 'IssueDate' | translate }}</p>\n <p [class]=\"valueClass\">\n {{ doc.IssueDate ? (doc.IssueDate | date: 'dd/MM/yyyy') : '—' }}\n </p>\n </div>\n\n <div\n [class]=\"tabletBottomRowSpacingClass\"\n [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\"\n >\n <p [class]=\"labelClass\">{{ 'ExpiryDate' | translate }}</p>\n <p [class]=\"valueClass\">\n {{ doc.ExpiryDate ? (doc.ExpiryDate | date: 'dd/MM/yyyy') : '—' }}\n </p>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { faFileLines, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { HRDocumentCardComponent } from '../documents-widgets/components/document-card/document-card.component';\nimport { HrDocumentTabletCardComponent } from '../documents-widgets/components/document-tablet-card/document-tablet-card.component';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\nimport { DependentDocumentGroup } from '../../shared/types/common';\n\n@Component({\n selector: 'hr-my-profile-dependents-documents-widget',\n standalone: true,\n imports: [\n CommonModule,\n SkySectionDividerComponent,\n HRTranslatePipe,\n SkyEmptyDesignCardComponent,\n FontAwesomeModule,\n HRDocumentCardComponent,\n HrDocumentTabletCardComponent,\n ],\n templateUrl: './my-profile-dependents-documents-widget.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfileDependentsDocumentsWidgetComponent implements OnInit {\n documents: DependentDocumentGroup[] = [];\n groupedDocuments: DependentDocumentGroup[] = [];\n readonly isLoading = signal(true);\n\n readonly baseUrl = input<string>('');\n readonly sectionTitle = input<string>('DependentsDocuments');\n readonly icon = input(faFileLines);\n readonly viewIcon = input<IconDefinition>(faEye);\n readonly downloadIcon = input(faFolderArrowDown);\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly valueClass = input<string>('text-dark-gray fs-14 text-break');\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly downloadIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n readonly cardClass = input<string>('mt-4 card-shadow position-relative p-4');\n readonly topSpacingColClass = input<string>('col-md-3 col-6 mt-4');\n readonly titleContainerClass = input<string>('mb-3');\n readonly titleClass = input<string>('text-dark fs-16 mb-0');\n readonly labelClass = input<string>('field-secondary-label-sm mb-1');\n readonly actionsColumnClass = input<string>('col-2 d-flex flex-column mt-3');\n readonly rowClass = input<string>('row');\n readonly dataColClass = input<string>('col-10');\n readonly dataColSpacingClass = input<string>('mt-2');\n readonly dataRowClass = input<string>('row align-items-center py-1 gx-0');\n readonly typeColClass = input<string>('col-3');\n readonly numberColClass = input<string>('col-3');\n readonly issueDateColClass = input<string>('col-3');\n readonly expiryDateColClass = input<string>('col-3');\n readonly actionsColClass = input<string>('col-2 d-flex align-items-center');\n readonly actionsWrapperClass = input<string>('d-flex align-items-center gap-2');\n readonly downloadContainerClass = input<string>(\n 'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer',\n );\n\n readonly tabletContainerClass = input<string>('mt-3');\n readonly tabletCardClass = input<string>('row px-4 py-3 card-shadow');\n readonly tabletCardHeight = input<string>('175px');\n readonly tabletColWithAttachmentClass = input<string>('col-5');\n readonly tabletColWithoutAttachmentClass = input<string>('col-6');\n readonly tabletActionsColClass = input<string>('col-1 d-flex align-items-center');\n readonly tabletBottomRowSpacingClass = input<string>('mt-4');\n readonly tabletDownloadCountClass = input<string>('text-dark fs-12 fw-bold ps-2');\n\n readonly isMobile = input<boolean>(false);\n readonly isTablet = input<boolean>(false);\n\n readonly isLoadingChanged = output<boolean>();\n readonly attachmentViewed = output<any>();\n readonly attachmentDownloaded = output<any>();\n readonly errorOccurred = output<string>();\n\n private readonly service = inject(HRSelfWidgetsService);\n\n readonly groups = signal<any[]>([]);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n\n this.isLoadingChanged.emit(true);\n\n this.service.getDependentDocuments(this.baseUrl()).subscribe({\n next: (res: any) => {\n this.groups.set(res ?? []);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: (error: any) => {\n this.groups.set([]);\n this.isLoading.set(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n onAttachmentView(doc: any): void {\n if (doc.Attachments?.length) {\n this.attachmentViewed.emit(doc.Attachments[0]);\n }\n }\n\n onDownload(group: any): void {\n const attachments = group.Attachments;\n\n if (!attachments.length) return;\n\n this.attachmentDownloaded.emit(attachments);\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"icon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div class=\"mt-4\">\n @if (groups().length) {\n @for (group of groups(); track group; let first = $first) {\n <div [class]=\"!(isTablet() || isMobile()) ? cardClass() : ''\" [class.mt-3]=\"!first\">\n @if (!(isTablet() || isMobile())) {\n <hr-document-card\n [title]=\"group.DependentName + ' (' + group.DependentTypeName + ')'\"\n [documents]=\"group.Documents\"\n [valueClass]=\"valueClass()\"\n [viewIcon]=\"viewIcon()\"\n [downloadIcon]=\"downloadIcon()\"\n [viewIconClass]=\"viewIconClass()\"\n [downloadIconClass]=\"downloadIconClass()\"\n [titleContainerClass]=\"titleContainerClass()\"\n [titleClass]=\"titleClass()\"\n [labelClass]=\"labelClass()\"\n [rowClass]=\"rowClass()\"\n [dataColClass]=\"dataColClass()\"\n [dataColSpacingClass]=\"dataColSpacingClass()\"\n [dataRowClass]=\"dataRowClass()\"\n [typeColClass]=\"typeColClass()\"\n [numberColClass]=\"numberColClass()\"\n [issueDateColClass]=\"issueDateColClass()\"\n [expiryDateColClass]=\"expiryDateColClass()\"\n [actionsColClass]=\"actionsColClass()\"\n [actionsWrapperClass]=\"actionsWrapperClass()\"\n [downloadContainerClass]=\"downloadContainerClass()\"\n (attachmentView)=\"onAttachmentView($event)\"\n (download)=\"onDownload($event)\"\n ></hr-document-card>\n } @else {\n <div [class]=\"titleContainerClass()\">\n <p [class]=\"titleClass()\">{{ group.DependentName }} ({{ group.DependentTypeName }})</p>\n </div>\n <div class=\"row mx-1\">\n @for (doc of group.Documents; track doc; let odd = $odd) {\n <div class=\"col-6 mb-2\">\n <hr-document-tablet-card\n [doc]=\"doc\"\n [isOdd]=\"odd\"\n [viewIcon]=\"viewIcon()\"\n [downloadIcon]=\"downloadIcon()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n [downloadIconClass]=\"downloadIconClass()\"\n [downloadContainerClass]=\"downloadContainerClass()\"\n [downloadCountClass]=\"tabletDownloadCountClass()\"\n [tabletContainerClass]=\"tabletContainerClass()\"\n [tabletCardClass]=\"tabletCardClass()\"\n [cardHeight]=\"tabletCardHeight()\"\n [tabletColWithAttachmentClass]=\"tabletColWithAttachmentClass()\"\n [tabletColWithoutAttachmentClass]=\"tabletColWithoutAttachmentClass()\"\n [tabletActionsColClass]=\"tabletActionsColClass()\"\n [tabletBottomRowSpacingClass]=\"tabletBottomRowSpacingClass()\"\n (view)=\"onAttachmentView(doc)\"\n (download)=\"onDownload(doc)\"\n ></hr-document-tablet-card>\n </div>\n }\n </div>\n }\n </div>\n }\n } @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"\n isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereAreNoDependentsDocumentsYet' | translate)\n \"\n ></sky-empty-design-card>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\nimport { faFileLines, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { HRDocumentCardComponent } from '../documents-widgets/components/document-card/document-card.component';\nimport { HrDocumentTabletCardComponent } from '../documents-widgets/components/document-tablet-card/document-tablet-card.component';\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\n\n@Component({\n selector: 'hr-my-profile-personal-documents-widget',\n standalone: true,\n imports: [\n CommonModule,\n SkySectionDividerComponent,\n HRTranslatePipe,\n SkyEmptyDesignCardComponent,\n FontAwesomeModule,\n HRDocumentCardComponent,\n HrDocumentTabletCardComponent,\n ],\n templateUrl: './my-profile-official-documents-widget.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MyProfilePersonalDocumentsWidgetComponent implements OnInit {\n readonly documents = signal<any[]>([]);\n readonly isLoading = signal(true);\n\n readonly baseUrl = input<string>('');\n readonly employeeName = input<string>('');\n readonly sectionTitle = input<string>('EmployeeDocuments');\n readonly icon = input(faFileLines);\n readonly viewIcon = input<IconDefinition>(faEye);\n readonly downloadIcon = input(faFolderArrowDown);\n readonly headerIconClass = input<string>('primary-icon-xl');\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\n readonly valueClass = input<string>('text-dark-gray fs-14 text-break');\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly downloadIconClass = input<string>('fs-15 text-dark cursor-pointer');\n readonly emptyStateContainerClass = input<string>(\n 'd-flex flex-column justify-content-center align-items-center my-5',\n );\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\n readonly cardClass = input<string>('mt-4 card-shadow position-relative p-4');\n readonly topSpacingColClass = input<string>('col-md-3 col-6 mt-4');\n readonly titleContainerClass = input<string>('mb-3');\n readonly titleClass = input<string>('text-dark fs-16 mb-0');\n readonly labelClass = input<string>('field-secondary-label-sm mb-1');\n readonly actionsColumnClass = input<string>('col-2 d-flex flex-column mt-3');\n readonly rowClass = input<string>('row');\n readonly dataColClass = input<string>('col-10');\n readonly dataColSpacingClass = input<string>('mt-2');\n readonly dataRowClass = input<string>('row align-items-center py-1 gx-0');\n readonly typeColClass = input<string>('col-3');\n readonly numberColClass = input<string>('col-3');\n readonly issueDateColClass = input<string>('col-3');\n readonly expiryDateColClass = input<string>('col-3');\n readonly actionsColClass = input<string>('col-2 d-flex align-items-center');\n readonly actionsWrapperClass = input<string>('d-flex align-items-center gap-2');\n readonly downloadContainerClass = input<string>(\n 'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer',\n );\n\n readonly tabletContainerClass = input<string>('mt-3');\n readonly tabletCardClass = input<string>('row px-4 py-3 card-shadow');\n readonly tabletCardHeight = input<string>('175px');\n readonly tabletColWithAttachmentClass = input<string>('col-5');\n readonly tabletColWithoutAttachmentClass = input<string>('col-6');\n readonly tabletActionsColClass = input<string>('col-1 d-flex align-items-center');\n readonly tabletBottomRowSpacingClass = input<string>('mt-4');\n readonly tabletDownloadCountClass = input<string>('text-dark fs-12 fw-bold ps-2');\n\n readonly isMobile = input<boolean>(false);\n readonly isTablet = input<boolean>(false);\n\n readonly isLoadingChanged = output<boolean>();\n readonly attachmentViewed = output<any>();\n readonly attachmentDownloaded = output<any>();\n readonly errorOccurred = output<string>();\n\n private readonly service = inject(HRSelfWidgetsService);\n\n ngOnInit(): void {\n if (!this.baseUrl()) {\n this.isLoading.set(false);\n return;\n }\n this.isLoadingChanged.emit(true);\n this.service.getPersonalDocuments(this.baseUrl()).subscribe({\n next: (res: any) => {\n this.documents.set(res ?? []);\n this.isLoading.set(false);\n this.isLoadingChanged.emit(false);\n },\n error: (error: any) => {\n this.documents.set([]);\n this.isLoading.set(false);\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\n this.isLoadingChanged.emit(false);\n },\n });\n }\n\n onAttachmentView(doc: any): void {\n if (doc.Attachments?.length) {\n this.attachmentViewed.emit(doc.Attachments[0]);\n }\n }\n\n onDownload(doc: any): void {\n const attachments = doc.Attachments ?? [];\n if (!attachments.length) return;\n this.attachmentDownloaded.emit(attachments);\n }\n}\n","<sky-section-divider\n [fontAwesomeIcon]=\"icon()\"\n [text]=\"sectionTitle() | translate | uppercase\"\n [iconClass]=\"headerIconClass()\"\n [textClass]=\"headerTextClass()\"\n [dividerClass]=\"headerDividerClass()\"\n></sky-section-divider>\n\n<div class=\"mt-4\">\n @if (documents().length) {\n <div [class]=\"!(isTablet() || isMobile()) ? cardClass() : ''\">\n @if (!(isTablet() || isMobile())) {\n <hr-document-card\n [title]=\"employeeName() + ' (' + ('Me' | translate) + ')'\"\n [documents]=\"documents()\"\n [valueClass]=\"valueClass()\"\n [viewIcon]=\"viewIcon()\"\n [downloadIcon]=\"downloadIcon()\"\n [viewIconClass]=\"viewIconClass()\"\n [downloadIconClass]=\"downloadIconClass()\"\n [titleContainerClass]=\"titleContainerClass()\"\n [titleClass]=\"titleClass()\"\n [labelClass]=\"labelClass()\"\n [rowClass]=\"rowClass()\"\n [dataColClass]=\"dataColClass()\"\n [dataColSpacingClass]=\"dataColSpacingClass()\"\n [dataRowClass]=\"dataRowClass()\"\n [typeColClass]=\"typeColClass()\"\n [numberColClass]=\"numberColClass()\"\n [issueDateColClass]=\"issueDateColClass()\"\n [expiryDateColClass]=\"expiryDateColClass()\"\n [actionsColClass]=\"actionsColClass()\"\n [actionsWrapperClass]=\"actionsWrapperClass()\"\n [downloadContainerClass]=\"downloadContainerClass()\"\n (attachmentView)=\"onAttachmentView($event)\"\n (download)=\"onDownload($event)\"\n ></hr-document-card>\n } @else {\n <div [class]=\"titleContainerClass()\">\n <p [class]=\"titleClass()\">{{ employeeName() }} ({{ 'Me' | translate }})</p>\n </div>\n\n <div class=\"row mx-1\">\n @for (doc of documents(); track doc; let odd = $odd) {\n <div class=\"col-6 mb-2\">\n <hr-document-tablet-card\n [doc]=\"doc\"\n [isOdd]=\"odd\"\n [viewIcon]=\"viewIcon()\"\n [downloadIcon]=\"downloadIcon()\"\n [labelClass]=\"labelClass()\"\n [valueClass]=\"valueClass()\"\n [downloadIconClass]=\"downloadIconClass()\"\n [downloadContainerClass]=\"downloadContainerClass()\"\n [downloadCountClass]=\"tabletDownloadCountClass()\"\n [tabletContainerClass]=\"tabletContainerClass()\"\n [tabletCardClass]=\"tabletCardClass()\"\n [cardHeight]=\"tabletCardHeight()\"\n [tabletColWithAttachmentClass]=\"tabletColWithAttachmentClass()\"\n [tabletColWithoutAttachmentClass]=\"tabletColWithoutAttachmentClass()\"\n [tabletActionsColClass]=\"tabletActionsColClass()\"\n [tabletBottomRowSpacingClass]=\"tabletBottomRowSpacingClass()\"\n (view)=\"onAttachmentView(doc)\"\n (download)=\"onDownload(doc)\"\n ></hr-document-tablet-card>\n </div>\n }\n </div>\n }\n </div>\n } @else {\n <sky-empty-design-card\n [visibleIcon]=\"false\"\n [visibleQuickAction]=\"false\"\n [containerClass]=\"emptyStateContainerClass()\"\n [emptyTextClass]=\"emptyStateTextClass()\"\n [emptyText]=\"\n isLoading() ? (sectionTitle() | translate) + ' ' + ('IsLoading' | translate) : ('ThereAreNoEmployeeDocumentsYet' | translate)\n \"\n ></sky-empty-design-card>\n }\n</div>\n","import { ChangeDetectionStrategy, Component, effect, input, output } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faChevronDown } from '@fortawesome/pro-solid-svg-icons';\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\nimport { HighlightPipe, isRTL } from '@skysoftware-co/sky-components-ui';\nimport { EmployeeMainInfo } from '../../../shared/types/common';\n\n@Component({\n selector: 'app-employee-main-info-card',\n standalone: true,\n imports: [FontAwesomeModule, NgClass, BayanEmployeeBadgeComponent, HighlightPipe],\n templateUrl: './employee-main-info-card.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EmployeeMainInfoCardComponent {\n readonly employeeMainInfo = input<EmployeeMainInfo | null>(null);\n readonly searchValue = input<string>('');\n\n readonly badgeClass = input<string>('badge employee-rounded-badge-xl fs-5');\n readonly badgeImageClass = input<string>('rounded-circle');\n readonly badgeWidth = input<string>('50px');\n readonly badgeHeight = input<string>('50px');\n readonly employeeInfoContainerClass = input<string>('d-flex align-content-center');\n readonly employeeDetailsClass = input<string>('ms-3');\n readonly employeeNameContainerClass = input<string>('d-flex align-items-center');\n readonly employeeNameClass = input<string>('fs-13 text-dark-gray fw-medium text-ellipsis-one-line');\n readonly employeePositionClass = input<string>('fs-12 fw-normal text-dark-gray text-ellipsis-one-line mb-1');\n readonly employeeGradeClass = input<string>('fs-12 text-dark-gray');\n\n readonly showGrade = input<boolean>(false);\n readonly showPropertySymbol = input<boolean>(true);\n readonly showChangeEmployeeButton = input<boolean>(false);\n readonly alignCenter = input<boolean>(true);\n\n readonly ChangeEmployeeButtonHandler = output<void>();\n readonly isRTL = isRTL();\n employeeBadge: BayanEmployeeBadgeDTO = {\n EmployeePhotoKey: null,\n EmployeePhotoFailed: false,\n EmployeeNameInitials: '',\n };\n\n dropDownIcon = faChevronDown;\n faildToLoadEmployeePhoto = false;\n\n constructor() {\n effect(() => {\n const info = this.employeeMainInfo();\n if (info) {\n this.employeeBadge.EmployeePhotoKey = info.PhotoKey || null;\n this.employeeBadge.EmployeeNameInitials = info.EmployeeNameInitials || '';\n this.employeeBadge.EmployeePhotoFailed = false;\n }\n });\n }\n\n convertEmployee() {\n this.ChangeEmployeeButtonHandler.emit();\n }\n\n handleEmployeePhotoError() {\n this.employeeBadge.EmployeePhotoFailed = true;\n }\n}\n","@if (employeeMainInfo(); as info) {\n <div [class]=\"employeeInfoContainerClass()\" [ngClass]=\"{ 'align-items-center': alignCenter() }\">\n <bayan-employee-badge\n [badge]=\"employeeBadge\"\n [badgeClass]=\"badgeClass()\"\n [imageClass]=\"badgeImageClass()\"\n [width]=\"badgeWidth()\"\n [height]=\"badgeHeight()\"\n (employeePhotoError)=\"handleEmployeePhotoError()\"\n ></bayan-employee-badge>\n\n <div [class]=\"employeeDetailsClass()\">\n <div [class]=\"employeeNameContainerClass()\">\n <div\n [class]=\"employeeNameClass()\"\n data-bs-toggle=\"tooltip\"\n [title]=\"info.EmployeeNumber + ' | ' + info.EmployeeName\"\n [innerHTML]=\"info.EmployeeNumber + ' | ' + info.EmployeeName | highlight: searchValue()\"\n ></div>\n @if (showChangeEmployeeButton()) {\n <button type=\"button\" class=\"border-0 ms-2 bg-none\" (click)=\"convertEmployee()\">\n <fa-icon [icon]=\"dropDownIcon\" class=\"text-primary fs-5\"></fa-icon>\n </button>\n }\n </div>\n @if (info.PositionName != null && info.PositionName != '') {\n <div [class]=\"employeePositionClass()\" data-bs-toggle=\"tooltip\" [title]=\"info.PositionName\">\n <span [innerHTML]=\"info.PositionName | highlight: searchValue()\"></span>\n </div>\n }\n @if (showGrade() && info.GradeName != null) {\n <div [class]=\"employeeGradeClass()\" [title]=\"info.GradeName\">\n <span [innerHTML]=\"info.GradeName\"></span>\n </div>\n }\n <div\n class=\"d-flex text-dark-gray mb-0\"\n data-bs-toggle=\"tooltip\"\n [title]=\"showPropertySymbol() ? info.PropertySymbol + ' | ' + info.AdminUnitName : info.AdminUnitName\"\n >\n <div class=\"fs-12\">\n @if (showPropertySymbol()) {\n <span class=\"property-badge cursor-pointer me-1\" title=\"{{ info.PropertyName }}\">\n <span [innerHTML]=\"info.PropertySymbol\"></span>\n </span>\n }\n <span\n class=\"fw-normal ms-1\"\n [ngClass]=\"{ 'me-1': isRTL && showPropertySymbol(), 'ms-1': !isRTL && showPropertySymbol() }\"\n [title]=\"info.AdminUnitName\"\n [innerHTML]=\"info.AdminUnitName | highlight: searchValue()\"\n ></span>\n </div>\n </div>\n </div>\n </div>\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SubordinatesApiResponse } from '../types/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MyTeamWidgetsService {\n private readonly headers = { 'api-version': '1' };\n\n constructor(private readonly http: HttpClient) {}\n\n getSubordinates(\n baseUrl: string,\n params: {\n showDirectSubordinatesOnly: boolean;\n pageIndex: number;\n pageSize: number;\n searchValue?: string;\n },\n ): Observable<{ ResponseData: SubordinatesApiResponse }> {\n const httpParams = new HttpParams()\n .set('p.showDirectSubordinatesOnly', params.showDirectSubordinatesOnly)\n .set('p.loadOptions.pageIndex', params.pageIndex + 1)\n .set('p.loadOptions.pageSize', params.pageSize)\n .set('p.loadOptions.searchValue', params.searchValue ?? '');\n\n return this.http.get<{ ResponseData: SubordinatesApiResponse }>(`${baseUrl}/hr/widgets/me/team/subordinates`, {\n params: httpParams,\n headers: this.headers,\n });\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, output, signal, ViewChild } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport {\n DxScrollViewComponent,\n DxLoadPanelModule,\n DxTextBoxModule,\n DxPopupModule,\n DxScrollViewModule,\n} from 'devextreme-angular';\nimport { firstValueFrom } from 'rxjs';\nimport { HighlightPipe } from '@skysoftware-co/sky-components-ui';\nimport { SubordinateDTO, EmployeeMainInfo } from '../../../shared/types/common';\nimport { EmployeeMainInfoCardComponent } from '../employee-main-info-card/employee-information-card.component';\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\nimport { faEnvelope, faPhone } from '@fortawesome/pro-solid-svg-icons';\nimport { MyTeamWidgetsService } from '../../../shared/services/my-team-popup.service';\n\nexport const myTeamSubordinatesVisible = signal(false);\nexport const myTeamSubordinatesInitialLoading = signal(false);\n\nexport function openMyTeamSubordinatesPopup(): void {\n myTeamSubordinatesInitialLoading.set(true);\n myTeamSubordinatesVisible.set(true);\n}\n\n@Component({\n selector: 'hr-my-team-popup',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FontAwesomeModule,\n DxPopupModule,\n DxTextBoxModule,\n DxScrollViewModule,\n DxLoadPanelModule,\n EmployeeMainInfoCardComponent,\n NgTemplateOutlet,\n HighlightPipe,\n HRTranslatePipe,\n ],\n templateUrl: './my-team-popup.component.html',\n})\nexport class MyTeamPopupComponent {\n private readonly myTeamWidgetsService = inject(MyTeamWidgetsService);\n @ViewChild('dataScrollView') dataScrollView?: DxScrollViewComponent;\n private shouldReloadAfterCurrentRequest = false;\n\n readonly baseUrl = input.required<string>();\n\n readonly isLoadingChanged = output<boolean>();\n readonly errorOccurred = output<string>();\n readonly showGrade = input<boolean>(false);\n readonly showPropertySymbol = input<boolean>(true);\n\n readonly isPopupVisible = myTeamSubordinatesVisible;\n readonly isInitialLoading = myTeamSubordinatesInitialLoading;\n readonly showAllSubordinates = signal(false);\n readonly searchValue = signal('');\n readonly items = signal<{ adminUnitName: string; employees: SubordinateDTO[] }[]>([]);\n readonly isDataLoading = signal(false);\n readonly hasResolvedResetLoad = signal(true);\n readonly isLoadingVisible = computed(\n () => this.isPopupVisible() && (this.isInitialLoading() || this.isDataLoading() || !this.hasResolvedResetLoad()),\n );\n readonly hasMoreData = signal(true);\n\n readonly phoneIcon = input(faPhone);\n readonly emailIcon = input(faEnvelope);\n readonly headerRowClass = input('d-flex justify-content-between align-items-center mb-2 pe-2');\n readonly switchContainerClass = input('form-check form-switch d-flex align-items-center custom-switch-dark ps-0');\n readonly switchInputClass = input('form-check-input text-dark ms-0');\n readonly switchLabelClass = input('form-check-label mx-2 fs-13');\n readonly scrollViewClass = input('position-relative');\n readonly emptyStateClass = input(\n 'position-absolute top-50 start-50 translate-middle w-100 text-center text-dark-gray fs-14',\n );\n readonly groupHeaderClass = input('fs-13 text-dark pt-2 pb-1');\n readonly employeeCardClass = input(\n 'bg-light-gray rounded p-2 mb-2 d-flex align-items-center justify-content-between border-start border-4 border-start-primary',\n );\n readonly employeeCardHeight = input<string>('100px');\n readonly contactContainerClass = input('d-flex flex-column gap-1 border-start border-2 ps-3 w-100');\n readonly contactTitleClass = input('fs-10 fw-medium mb-1 text-dark');\n readonly contactRowClass = input('d-flex align-items-center gap-2 fs-12 fw-normal lh-21 text-dark');\n readonly emailRowClass = input('d-flex align-items-center gap-2 fs-12 fw-normal text-dark');\n readonly contactIconClass = input('fs-10 text-light-gray d-inline-flex align-items-center lh-1');\n readonly emailTextClass = input(\n 'd-inline-block w-100 text-truncate link-dark hover-primary text-decoration-none link-underline link-underline-opacity-0 link-underline-opacity-100-hover',\n );\n readonly emailPlaceholderClass = input('d-inline-block w-100');\n readonly groupedListClass = input('d-flex flex-column gap-2 pb-2');\n readonly employeeRowClass = input('row g-0 w-100 align-items-center flex-nowrap');\n readonly employeeInfoColumnClass = input('col-8 overflow-hidden pe-2');\n readonly contactColumnClass = input('col-4 d-flex justify-content-end');\n\n readonly pageSize = input(100);\n\n private pageIndex = 0;\n private totalCount = 0;\n private loadedCount = 0;\n\n toEmployeeMainInfo(emp: SubordinateDTO): EmployeeMainInfo {\n return {\n EmployeeNumber: emp.EmployeeNumber,\n EmployeeName: emp.EmployeeName,\n PhotoKey: emp.PhotoPath,\n PositionName: emp.PositionName,\n AdminUnitName: emp.AdminUnitName ?? '-',\n GradeName: emp.GradeName ?? null,\n PropertyName: emp.PropertyName ?? '-',\n PropertySymbol: emp.PropertySymbol ?? '-',\n EmployeeNameInitials: emp.EmployeeNameInitials,\n };\n }\n\n closePopup(): void {\n myTeamSubordinatesInitialLoading.set(false);\n this.hasResolvedResetLoad.set(true);\n myTeamSubordinatesVisible.set(false);\n this.showAllSubordinates.set(false);\n this.searchValue.set('');\n this.resetState();\n }\n\n private normalizeContactValue(value: string | null | undefined): string {\n const normalizedValue = value?.trim() ?? '';\n return normalizedValue && normalizedValue !== '-' ? normalizedValue : '';\n }\n\n private getEmployeeEmail(employee: SubordinateDTO): string {\n return this.normalizeContactValue(employee.BusinessEmail) || this.normalizeContactValue(employee.PersonalEmail);\n }\n\n private getEmployeePhone(employee: SubordinateDTO): string {\n return this.normalizeContactValue(employee.MobileNumber);\n }\n\n getEmployeeEmailDisplay(employee: SubordinateDTO): string {\n return this.getEmployeeEmail(employee) || '-';\n }\n\n getEmployeePhoneDisplay(employee: SubordinateDTO): string {\n return this.getEmployeePhone(employee) || '-';\n }\n\n hasEmployeeEmail(employee: SubordinateDTO): boolean {\n return !!this.getEmployeeEmail(employee);\n }\n\n hasEmployeePhone(employee: SubordinateDTO): boolean {\n return !!this.getEmployeePhone(employee);\n }\n\n hasAnyContactInfo(employee: SubordinateDTO): boolean {\n return this.hasEmployeeEmail(employee) || this.hasEmployeePhone(employee);\n }\n\n onSearchChanged(value: string): void {\n const nextSearchValue = (value ?? '').trim();\n if (nextSearchValue === this.searchValue()) {\n return;\n }\n\n myTeamSubordinatesInitialLoading.set(true);\n this.searchValue.set(nextSearchValue);\n this.loadPage(true);\n }\n\n onToggleChange(event: Event): void {\n const checked = (event.target as HTMLInputElement).checked;\n myTeamSubordinatesInitialLoading.set(true);\n this.showAllSubordinates.set(checked);\n this.searchValue.set('');\n this.loadPage(true);\n }\n\n onReachBottom(event: any): void {\n if (!this.hasMoreData()) {\n event?.component?.release?.();\n return;\n }\n\n this.loadPage(false).finally(() => {\n event?.component?.release?.();\n });\n }\n\n private isScrollContentScrollable(): boolean {\n const scrollableElement = this.dataScrollView?.instance?.element?.() as HTMLElement | undefined;\n const scrollableContainer = scrollableElement?.querySelector?.('.dx-scrollable-container') as\n | HTMLElement\n | undefined;\n const scrollableContent = scrollableElement?.querySelector?.('.dx-scrollable-content') as HTMLElement | undefined;\n\n if (!scrollableContainer || !scrollableContent) {\n return true;\n }\n\n return scrollableContent.scrollHeight > scrollableContainer.clientHeight;\n }\n\n private async loadRemainingPagesIfNeeded(): Promise<void> {\n while (this.hasMoreData() && !this.isScrollContentScrollable()) {\n await this.loadPage(false);\n }\n }\n\n private resetState(): void {\n this.items.set([]);\n this.hasMoreData.set(true);\n this.pageIndex = 0;\n this.totalCount = 0;\n this.loadedCount = 0;\n }\n\n private resetScrollPosition(): void {\n this.dataScrollView?.instance?.scrollTo({ top: 0, left: 0 });\n }\n\n private appendEmployees(pageData: SubordinateDTO[]): void {\n if (!this.showAllSubordinates()) {\n const existingEmployees = this.items().length > 0 ? this.items()[0].employees : [];\n const employees = [...existingEmployees, ...pageData];\n\n if (employees.length === 0) {\n this.items.set([]);\n return;\n }\n\n this.items.set([\n {\n adminUnitName: '',\n employees,\n },\n ]);\n\n return;\n }\n\n const groupedMap = new Map(this.items().map(group => [group.adminUnitName, [...group.employees]]));\n\n for (const employee of pageData) {\n const key = employee.AdminUnitName!;\n const employees = groupedMap.get(key) ?? [];\n employees.push(employee);\n groupedMap.set(key, employees);\n }\n\n const groups = Array.from(groupedMap.entries()).map(([adminUnitName, employees]) => ({\n adminUnitName,\n employees,\n }));\n\n this.items.set(groups);\n }\n\n async loadPage(reset: boolean): Promise<void> {\n if (this.isDataLoading()) {\n if (reset) {\n this.shouldReloadAfterCurrentRequest = true;\n myTeamSubordinatesInitialLoading.set(true);\n this.hasResolvedResetLoad.set(false);\n }\n\n return;\n }\n\n if (!reset && !this.hasMoreData()) {\n return;\n }\n\n if (reset) {\n myTeamSubordinatesInitialLoading.set(true);\n this.hasResolvedResetLoad.set(false);\n this.resetState();\n }\n\n this.isDataLoading.set(true);\n if (reset) {\n this.isLoadingChanged.emit(true);\n }\n\n try {\n const response = await firstValueFrom(\n this.myTeamWidgetsService.getSubordinates(this.baseUrl(), {\n showDirectSubordinatesOnly: !this.showAllSubordinates(),\n pageIndex: this.pageIndex,\n pageSize: this.pageSize(),\n searchValue: this.searchValue(),\n }),\n );\n\n this.totalCount = response.ResponseData.Pagination.TotalCount;\n const pageData = response.ResponseData.Data;\n\n if (reset) {\n this.resetScrollPosition();\n }\n\n this.appendEmployees(pageData);\n this.loadedCount += pageData.length;\n this.pageIndex += 1;\n this.dataScrollView?.instance?.update();\n\n const hasMore = this.loadedCount < this.totalCount && pageData.length > 0;\n this.hasMoreData.set(hasMore);\n } catch (err: any) {\n this.errorOccurred.emit(err?.error?.ResponseData?.Errors?.[0]?.Message);\n } finally {\n const shouldReloadAfterCurrentRequest = this.shouldReloadAfterCurrentRequest;\n this.shouldReloadAfterCurrentRequest = false;\n\n this.isDataLoading.set(false);\n if (reset && !shouldReloadAfterCurrentRequest) {\n myTeamSubordinatesInitialLoading.set(false);\n this.hasResolvedResetLoad.set(true);\n }\n if (reset) {\n this.isLoadingChanged.emit(false);\n }\n\n if (shouldReloadAfterCurrentRequest) {\n await this.loadPage(true);\n return;\n }\n\n if (!reset) {\n await this.loadRemainingPagesIfNeeded();\n }\n }\n }\n}\n","<dx-popup\n [visible]=\"isPopupVisible()\"\n [width]=\"'755px'\"\n [height]=\"'680px'\"\n [showCloseButton]=\"true\"\n [showTitle]=\"true\"\n [title]=\"'MyTeam' | translate\"\n shadingColor=\"rgba(0,0,0,0.4)\"\n (onShowing)=\"loadPage(true)\"\n (onHiding)=\"closePopup()\"\n>\n <ng-template #employeeCardTemplate let-employee>\n <div [class]=\"employeeCardClass()\" [style.height]=\"employeeCardHeight()\">\n <div [class]=\"employeeRowClass()\">\n <div [class]=\"employeeInfoColumnClass()\">\n <app-employee-main-info-card\n [employeeMainInfo]=\"toEmployeeMainInfo(employee)\"\n [searchValue]=\"searchValue()\"\n [showGrade]=\"showGrade()\"\n [showPropertySymbol]=\"showPropertySymbol()\"\n [showChangeEmployeeButton]=\"false\"\n ></app-employee-main-info-card>\n </div>\n <div [class]=\"contactColumnClass()\">\n <div [class]=\"contactContainerClass()\">\n <span [class]=\"contactTitleClass()\">{{ 'ContactInfo' | translate }}:</span>\n <span [class]=\"emailRowClass()\">\n <fa-icon [icon]=\"emailIcon()\" [class]=\"contactIconClass()\"></fa-icon>\n @if (hasEmployeeEmail(employee)) {\n <a\n [class]=\"emailTextClass()\"\n [href]=\"'mailto:' + getEmployeeEmailDisplay(employee)\"\n [title]=\"getEmployeeEmailDisplay(employee)\"\n [innerHTML]=\"getEmployeeEmailDisplay(employee)\"\n ></a>\n } @else {\n <span [class]=\"emailPlaceholderClass()\">-</span>\n }\n </span>\n <span [class]=\"contactRowClass()\">\n <fa-icon [icon]=\"phoneIcon()\" [class]=\"contactIconClass()\"></fa-icon>\n <span [title]=\"getEmployeePhoneDisplay(employee)\" [innerHTML]=\"getEmployeePhoneDisplay(employee)\"></span>\n </span>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div [class]=\"headerRowClass()\">\n <div [class]=\"switchContainerClass()\">\n <input\n [class]=\"switchInputClass()\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"myTeamDirectOnlySwitch\"\n [checked]=\"showAllSubordinates()\"\n (change)=\"onToggleChange($event)\"\n />\n <label [class]=\"switchLabelClass()\" for=\"myTeamDirectOnlySwitch\">\n {{ 'ShowAllSubordinates' | translate }}\n </label>\n </div>\n <dx-text-box\n [value]=\"searchValue()\"\n [placeholder]=\"'Search...' | translate\"\n [width]=\"'250px'\"\n mode=\"search\"\n (onValueChanged)=\"onSearchChanged($event.value)\"\n ></dx-text-box>\n </div>\n\n <dx-scroll-view\n #dataScrollView\n [height]=\"500\"\n [width]=\"'100%'\"\n [elementAttr]=\"{ class: scrollViewClass(), id: 'my-team-popup-scroll-view' }\"\n [scrollByContent]=\"true\"\n [scrollByThumb]=\"true\"\n [showScrollbar]=\"'always'\"\n [bounceEnabled]=\"false\"\n (onReachBottom)=\"onReachBottom($event)\"\n >\n <div [class]=\"groupedListClass()\">\n @if (items().length === 0 && !isLoadingVisible()) {\n <div [class]=\"emptyStateClass()\">\n {{ 'NoDataToDisplay' | translate }}\n </div>\n } @else if (items().length > 0) {\n @for (group of items(); track group.adminUnitName) {\n @if (showAllSubordinates()) {\n <div [class]=\"groupHeaderClass()\" [innerHTML]=\"group.adminUnitName | highlight: searchValue()\"></div>\n }\n @for (emp of group.employees; track emp.EmployeeNumber) {\n <ng-container *ngTemplateOutlet=\"employeeCardTemplate; context: { $implicit: emp }\"></ng-container>\n }\n }\n }\n </div>\n </dx-scroll-view>\n</dx-popup>\n\n<dx-load-panel\n [container]=\"'#my-team-popup-scroll-view'\"\n [position]=\"{ of: '#my-team-popup-scroll-view' }\"\n shadingColor=\"rgba(0,0,0,0.4)\"\n [visible]=\"isLoadingVisible()\"\n [showIndicator]=\"true\"\n [showPane]=\"true\"\n [shading]=\"true\"\n [hideOnOutsideClick]=\"false\"\n></dx-load-panel>\n","/*\n * Public API Surface of shared-ui\n */\n\nexport * from './lib/my-main-details-widget/my-main-details-widget.component';\nexport * from './lib/my-upcoming-events-widget/my-upcoming-events-widget.component';\nexport * from './lib/shared/types/common';\nexport * from './lib/shared/services/constants.service';\nexport * from './lib/shared/components/card-header/card-header.component';\nexport * from './lib/my-calendar-widget/my-calendar-widget.component';\nexport * from './lib/shared/components/hr-employee-calendar/hr-employee-calendar.component';\nexport * from './lib/my-profile/bank-info-widget/my-profile-bank-info-widget.component';\nexport * from './lib/my-profile/personal-info-main-widget/my-profile-personal-info-main-widget.component';\nexport * from './lib/my-profile/contact-widget/my-profile-contact-widget.component';\nexport * from './lib/my-profile/languages-widget/my-profile-languages-widget.component';\nexport * from './lib/my-profile/other-nationalities-widget/my-profile-other-nationalities-widget.component';\nexport * from './lib/my-profile/address-widget/my-profile-address-widget.component';\nexport * from './lib/my-profile/job-info-widget/my-profile-job-info-widget.component';\nexport * from './lib/my-profile/contract-widget/my-profile-contract-widget.component';\nexport * from './lib/my-profile/salary-widget/my-profile-salary-widget.component';\nexport * from './lib/my-profile/service-charge-widget/my-profile-service-charge-widget.component';\nexport * from './lib/my-next-week-vacation-insights-widget/my-next-week-vacation-insights-widget.component';\nexport * from './lib/my-profile/experiences-widget/my-profile-experiences-widget-component';\nexport * from './lib/my-profile/degrees-widget/my-profile-degrees-widget-component';\nexport * from './lib/my-profile/employee-dependents-widget/my-profile-employee-dependents-component';\nexport * from './lib/my-profile/vacations-widget/my-profile-vacations-widget.component';\nexport * from './lib/my-profile/indemnity-widget/my-profile-indemnity-widget.component';\nexport * from './lib/my-profile/ticket-widget/my-profile-ticket-widget.component';\nexport * from './lib/my-profile/medical-insurance-widget/my-profile-medical-insurance-widget.component';\nexport * from './lib/my-profile/entitlements-others-widget/my-profile-entitlements-others-widget.component';\nexport * from './lib/my-profile/dependents-documents-widget/my-profile-dependents-documents-widget';\nexport * from './lib/my-profile/official-documents-widget/my-profile-official-documents-widget';\nexport * from './lib/shared/services/translate.service';\nexport * from './lib/shared/pipes/translate.pipe';\nexport * from './lib/my-team-subordinates-popup-widget/components/my-team-subordinates-popup/my-team-popup.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.BankInformationCacheService","i3.EntitlementsCacheService","i4.JobInformationCacheService","i5.PersonalInformationCacheService","i6.QualificationsCacheService","i7.ProfileEmployeeDependentsCach","i8.ProfileDocumentsCacheService","i1.HRTranslateService","i1","i3","i2","faPhone"],"mappings":"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"}
|