@skysoftware-co/bayan-hr-widgets-ui 2.0.15 → 2.0.17
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';\r\nimport { Observable } from 'rxjs';\r\nimport { MyBankInfo } from '../types/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BankInformationCacheService {\r\n private bankInformationCache$: Observable<MyBankInfo[]> | null = null;\r\n private bankInformationCacheBaseUrl = '';\r\n\r\n get(baseUrl: string): Observable<MyBankInfo[]> | null {\r\n if (this.bankInformationCacheBaseUrl !== baseUrl) {\r\n return null;\r\n }\r\n\r\n return this.bankInformationCache$;\r\n }\r\n\r\n set(baseUrl: string, value: Observable<MyBankInfo[]>): void {\r\n this.bankInformationCacheBaseUrl = baseUrl;\r\n this.bankInformationCache$ = value;\r\n }\r\n\r\n clear(): void {\r\n this.bankInformationCache$ = null;\r\n this.bankInformationCacheBaseUrl = '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n EntitlementsIndemnity,\r\n EntitlementsMedicalInsurance,\r\n EntitlementsTicket,\r\n EntitlementsVacation\r\n} from '../types/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EntitlementsCacheService {\r\n private baseUrl = '';\r\n\r\n private vacationDetails$: Observable<EntitlementsVacation[]| null> | null = null;\r\n private indemnityDetails$: Observable<EntitlementsIndemnity | null> | null = null;\r\n private ticketDetails$: Observable<EntitlementsTicket | null> | null = null;\r\n private medicalInsuranceDetails$: Observable<EntitlementsMedicalInsurance | null> | null = null;\r\n private overtimeDetails$: Observable<any> | null = null;\r\n private socialSecurityDetails$: Observable<any> | null = null;\r\n\r\n getVacationDetails(baseUrl: string): Observable<EntitlementsVacation[] | null> | null {\r\n return this.baseUrl === baseUrl ? this.vacationDetails$ : null;\r\n }\r\n\r\n setVacationDetails(baseUrl: string, value: Observable<EntitlementsVacation[] | null>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.vacationDetails$ = value;\r\n }\r\n\r\n getIndemnityDetails(baseUrl: string): Observable<EntitlementsIndemnity | null> | null {\r\n return this.baseUrl === baseUrl ? this.indemnityDetails$ : null;\r\n }\r\n\r\n setIndemnityDetails(baseUrl: string, value: Observable<EntitlementsIndemnity | null>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.indemnityDetails$ = value;\r\n }\r\n\r\n getTicketDetails(baseUrl: string): Observable<EntitlementsTicket | null> | null {\r\n return this.baseUrl === baseUrl ? this.ticketDetails$ : null;\r\n }\r\n\r\n setTicketDetails(baseUrl: string, value: Observable<EntitlementsTicket | null>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.ticketDetails$ = value;\r\n }\r\n\r\n getMedicalInsuranceDetails(baseUrl: string): Observable<EntitlementsMedicalInsurance | null> | null {\r\n return this.baseUrl === baseUrl ? this.medicalInsuranceDetails$ : null;\r\n }\r\n\r\n setMedicalInsuranceDetails(baseUrl: string, value: Observable<EntitlementsMedicalInsurance | null>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.medicalInsuranceDetails$ = value;\r\n }\r\n\r\n getOvertimeDetails(baseUrl: string): Observable<any> | null {\r\n return this.baseUrl === baseUrl ? this.overtimeDetails$ : null;\r\n }\r\n\r\n setOvertimeDetails(baseUrl: string, value: Observable<any>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.overtimeDetails$ = value;\r\n }\r\n\r\n getSocialSecurityDetails(baseUrl: string): Observable<any> | null {\r\n return this.baseUrl === baseUrl ? this.socialSecurityDetails$ : null;\r\n }\r\n\r\n setSocialSecurityDetails(baseUrl: string, value: Observable<any>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.socialSecurityDetails$ = value;\r\n }\r\n\r\n clear(): void {\r\n this.baseUrl = '';\r\n this.vacationDetails$ = null;\r\n this.indemnityDetails$ = null;\r\n this.ticketDetails$ = null;\r\n this.medicalInsuranceDetails$ = null;\r\n this.overtimeDetails$ = null;\r\n this.socialSecurityDetails$ = null;\r\n }\r\n\r\n private ensureBaseUrl(baseUrl: string): void {\r\n if (this.baseUrl && this.baseUrl !== baseUrl) {\r\n this.clear();\r\n }\r\n\r\n this.baseUrl = baseUrl;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n JobInformationContract,\r\n JobInformationMain,\r\n JobInformationSalary,\r\n JobInformationServiceCharge\r\n} from '../types/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JobInformationCacheService {\r\n private baseUrl = '';\r\n\r\n private mainDetails$: Observable<JobInformationMain | null> | null = null;\r\n private contractDetails$: Observable<JobInformationContract | null> | null = null;\r\n private salaryDetails$: Observable<JobInformationSalary | null> | null = null;\r\n private serviceChargeDetails$: Observable<JobInformationServiceCharge | null> | null = null;\r\n\r\n getMainDetails(baseUrl: string): Observable<JobInformationMain | null> | null {\r\n return this.baseUrl === baseUrl ? this.mainDetails$ : null;\r\n }\r\n\r\n setMainDetails(baseUrl: string, value: Observable<JobInformationMain | null>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.mainDetails$ = value;\r\n }\r\n\r\n getContractDetails(baseUrl: string): Observable<JobInformationContract | null> | null {\r\n return this.baseUrl === baseUrl ? this.contractDetails$ : null;\r\n }\r\n\r\n setContractDetails(baseUrl: string, value: Observable<JobInformationContract | null>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.contractDetails$ = value;\r\n }\r\n\r\n getSalaryDetails(baseUrl: string): Observable<JobInformationSalary | null> | null {\r\n return this.baseUrl === baseUrl ? this.salaryDetails$ : null;\r\n }\r\n\r\n setSalaryDetails(baseUrl: string, value: Observable<JobInformationSalary | null>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.salaryDetails$ = value;\r\n }\r\n\r\n getServiceChargeDetails(baseUrl: string): Observable<JobInformationServiceCharge | null> | null {\r\n return this.baseUrl === baseUrl ? this.serviceChargeDetails$ : null;\r\n }\r\n\r\n setServiceChargeDetails(baseUrl: string, value: Observable<JobInformationServiceCharge | null>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.serviceChargeDetails$ = value;\r\n }\r\n\r\n clear(): void {\r\n this.baseUrl = '';\r\n this.mainDetails$ = null;\r\n this.contractDetails$ = null;\r\n this.salaryDetails$ = null;\r\n this.serviceChargeDetails$ = null;\r\n }\r\n\r\n private ensureBaseUrl(baseUrl: string): void {\r\n if (this.baseUrl && this.baseUrl !== baseUrl) {\r\n this.clear();\r\n }\r\n\r\n this.baseUrl = baseUrl;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n PersonalInfoAddressDetails,\r\n PersonalInfoContactDetails,\r\n PersonalInfoMainDetails\r\n} from '../types/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PersonalInformationCacheService {\r\n private baseUrl = '';\r\n\r\n private mainDetails$: Observable<PersonalInfoMainDetails> | null = null;\r\n private contactDetails$: Observable<PersonalInfoContactDetails> | null = null;\r\n private addressDetails$: Observable<PersonalInfoAddressDetails> | null = null;\r\n private languages$: Observable<string[]> | null = null;\r\n private otherNationalities$: Observable<string[]> | null = null;\r\n\r\n getMainDetails(baseUrl: string): Observable<PersonalInfoMainDetails> | null {\r\n return this.baseUrl === baseUrl ? this.mainDetails$ : null;\r\n }\r\n\r\n setMainDetails(baseUrl: string, value: Observable<PersonalInfoMainDetails>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.mainDetails$ = value;\r\n }\r\n\r\n getContactDetails(baseUrl: string): Observable<PersonalInfoContactDetails> | null {\r\n return this.baseUrl === baseUrl ? this.contactDetails$ : null;\r\n }\r\n\r\n setContactDetails(baseUrl: string, value: Observable<PersonalInfoContactDetails>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.contactDetails$ = value;\r\n }\r\n\r\n getAddressDetails(baseUrl: string): Observable<PersonalInfoAddressDetails> | null {\r\n return this.baseUrl === baseUrl ? this.addressDetails$ : null;\r\n }\r\n\r\n setAddressDetails(baseUrl: string, value: Observable<PersonalInfoAddressDetails>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.addressDetails$ = value;\r\n }\r\n\r\n getLanguages(baseUrl: string): Observable<string[]> | null {\r\n return this.baseUrl === baseUrl ? this.languages$ : null;\r\n }\r\n\r\n setLanguages(baseUrl: string, value: Observable<string[]>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.languages$ = value;\r\n }\r\n\r\n getOtherNationalities(baseUrl: string): Observable<string[]> | null {\r\n return this.baseUrl === baseUrl ? this.otherNationalities$ : null;\r\n }\r\n\r\n setOtherNationalities(baseUrl: string, value: Observable<string[]>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.otherNationalities$ = value;\r\n }\r\n\r\n clear(): void {\r\n this.baseUrl = '';\r\n this.mainDetails$ = null;\r\n this.contactDetails$ = null;\r\n this.addressDetails$ = null;\r\n this.languages$ = null;\r\n this.otherNationalities$ = null;\r\n }\r\n\r\n private ensureBaseUrl(baseUrl: string): void {\r\n if (this.baseUrl && this.baseUrl !== baseUrl) {\r\n this.clear();\r\n }\r\n this.baseUrl = baseUrl;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Degree, Experience } from '../types/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QualificationsCacheService {\r\n private baseUrl = '';\r\n\r\n private degrees$: Observable<Degree[]> | null = null;\r\n private experiences$: Observable<Experience[]> | null = null;\r\n\r\n getDegrees(baseUrl: string): Observable<Degree[]> | null {\r\n return this.baseUrl === baseUrl ? this.degrees$ : null;\r\n }\r\n\r\n setDegrees(baseUrl: string, value: Observable<Degree[]>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.degrees$ = value;\r\n }\r\n\r\n getExperiences(baseUrl: string): Observable<Experience[]> | null {\r\n return this.baseUrl === baseUrl ? this.experiences$ : null;\r\n }\r\n\r\n setExperiences(baseUrl: string, value: Observable<Experience[]>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.experiences$ = value;\r\n }\r\n\r\n clear(): void {\r\n this.baseUrl = '';\r\n this.degrees$ = null;\r\n this.experiences$ = null;\r\n }\r\n\r\n private ensureBaseUrl(baseUrl: string): void {\r\n if (this.baseUrl && this.baseUrl !== baseUrl) {\r\n this.clear();\r\n }\r\n\r\n this.baseUrl = baseUrl;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n Dependent,\r\n PersonalInfoAddressDetails,\r\n PersonalInfoContactDetails,\r\n PersonalInfoMainDetails\r\n} from '../types/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProfileEmployeeDependentsCach {\r\n private baseUrl = '';\r\n\r\n private dependents$: Observable<Dependent[]> | null = null;\r\n\r\n clear(): void {\r\n this.baseUrl = '';\r\n }\r\n\r\n\r\n private ensureBaseUrl(baseUrl: string): void {\r\n if (this.baseUrl && this.baseUrl !== baseUrl) {\r\n this.clear();\r\n }\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n setDependents(baseUrl: string, value: Observable<Dependent[]>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.dependents$ = value;\r\n }\r\n\r\n getDependents(baseUrl: string): Observable<Dependent[]> | null {\r\n return this.baseUrl === baseUrl ? this.dependents$ : null;\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DependentDocumentGroup, PersonalDocument } from '../types/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProfileDocumentsCacheService {\r\n private baseUrl = '';\r\n\r\n private dependentDocuments$: Observable<DependentDocumentGroup[]> | null = null;\r\n private personalDocuments$: Observable<PersonalDocument[]> | null = null;\r\n\r\n\r\n getDependentDocuments(baseUrl: string): Observable<DependentDocumentGroup[]> | null {\r\n return this.baseUrl === baseUrl ? this.dependentDocuments$ : null;\r\n }\r\n\r\n setDependentDocuments(baseUrl: string, value: Observable<DependentDocumentGroup[]>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.dependentDocuments$ = value;\r\n }\r\n\r\n getPersonalDocuments(baseUrl: string): Observable<PersonalDocument[]> | null {\r\n return this.baseUrl === baseUrl ? this.personalDocuments$ : null;\r\n }\r\n\r\n setPersonalDocuments(baseUrl: string, value: Observable<PersonalDocument[]>): void {\r\n this.ensureBaseUrl(baseUrl);\r\n this.personalDocuments$ = value;\r\n }\r\n\r\n clear(): void {\r\n this.baseUrl = '';\r\n this.dependentDocuments$ = null;\r\n this.personalDocuments$ = null;\r\n }\r\n\r\n private ensureBaseUrl(baseUrl: string): void {\r\n if (this.baseUrl && this.baseUrl !== baseUrl) {\r\n this.clear();\r\n }\r\n this.baseUrl = baseUrl;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable, catchError, map, shareReplay, throwError } from 'rxjs';\r\nimport {\r\n Degree,\r\n Dependent,\r\n DependentDocumentGroup,\r\n DocumentRow,\r\n EntitlementsIndemnity,\r\n EntitlementsMedicalInsurance,\r\n EntitlementsTicket,\r\n EntitlementsVacation,\r\n EventOption,\r\n Experience,\r\n JobInformationContract,\r\n JobInformationMain,\r\n JobInformationSalary,\r\n JobInformationServiceCharge,\r\n MyBankInfo,\r\n PersonalInfoAddressDetails,\r\n PersonalInfoContactDetails,\r\n PersonalInfoMainDetails\r\n} from '../shared/types/common';\r\nimport { BankInformationCacheService } from '../shared/services/bank-information-cache.service';\r\nimport { EntitlementsCacheService } from '../shared/services/entitlements-cache.service';\r\nimport { JobInformationCacheService } from '../shared/services/job-information-cache.service';\r\nimport { PersonalInformationCacheService } from '../shared/services/personal-information-cache.service';\r\nimport { QualificationsCacheService } from '../shared/services/qualifications-cache.service';\r\nimport { ProfileEmployeeDependentsCach } from '../shared/services/profile-employee-dependents-cach';\r\nimport { ProfileDocumentsCacheService } from '../shared/services/profile-documents-cache-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HRSelfWidgetsService {\r\n\r\n private readonly headers = { 'api-version': '1' };\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private readonly bankInformationCacheService: BankInformationCacheService,\r\n private readonly entitlementsCacheService: EntitlementsCacheService,\r\n private readonly jobInformationCacheService: JobInformationCacheService,\r\n private readonly personalInformationCacheService: PersonalInformationCacheService,\r\n private readonly qualificationsCacheService: QualificationsCacheService,\r\n private readonly profileEmployeeDependentsCachService: ProfileEmployeeDependentsCach,\r\n private readonly profileDocumentsCacheService: ProfileDocumentsCacheService\r\n\r\n\r\n ) { }\r\n\r\n getMainDetails(baseUrl: string): Observable<any> {\r\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/main-details`, {\r\n headers: this.headers\r\n });\r\n }\r\n\r\n getUpcomingEvents(baseUrl: string, eventOption: EventOption): Observable<any> {\r\n const params = new HttpParams().set('EventOption', eventOption);\r\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/upcoming-events`, {\r\n params,\r\n headers: this.headers\r\n });\r\n }\r\n\r\n getCalendar(baseUrl: string, month: number, year: number, monthsCount: number): Observable<any> {\r\n const params = new HttpParams()\r\n .set('Month', month)\r\n .set('Year', year)\r\n .set('MonthsCount', monthsCount);\r\n\r\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/calendar`, {\r\n params,\r\n headers: this.headers\r\n });\r\n }\r\n\r\n getBankInformation(baseUrl: string, forceRefresh = false): Observable<MyBankInfo[]> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.bankInformationCacheService.get(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: MyBankInfo[] }>(`${baseUrl}/hr/widgets/me/profile/banks`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? []),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.bankInformationCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.bankInformationCacheService.set(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getPersonalInfoMainDetails(baseUrl: string, forceRefresh = false): Observable<PersonalInfoMainDetails> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.personalInformationCacheService.getMainDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: PersonalInfoMainDetails }>(`${baseUrl}/hr/widgets/me/profile/personal-information/main`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? (response as unknown as PersonalInfoMainDetails)),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.personalInformationCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.personalInformationCacheService.setMainDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getPersonalInfoContactDetails(baseUrl: string, forceRefresh = false): Observable<PersonalInfoContactDetails> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.personalInformationCacheService.getContactDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: PersonalInfoContactDetails }>(`${baseUrl}/hr/widgets/me/profile/personal-information/contact`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? (response as unknown as PersonalInfoContactDetails)),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.personalInformationCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.personalInformationCacheService.setContactDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getPersonalInfoAddressDetails(baseUrl: string, forceRefresh = false): Observable<PersonalInfoAddressDetails> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.personalInformationCacheService.getAddressDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: PersonalInfoAddressDetails }>(`${baseUrl}/hr/widgets/me/profile/personal-information/address`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? (response as unknown as PersonalInfoAddressDetails)),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.personalInformationCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.personalInformationCacheService.setAddressDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getPersonalInfoLanguages(baseUrl: string, forceRefresh = false): Observable<string[]> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.personalInformationCacheService.getLanguages(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: string[] }>(`${baseUrl}/hr/widgets/me/profile/personal-information/languages`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? (response as unknown as string[]) ?? []),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.personalInformationCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.personalInformationCacheService.setLanguages(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getPersonalInfoOtherNationalities(baseUrl: string, forceRefresh = false): Observable<string[]> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.personalInformationCacheService.getOtherNationalities(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: string[] }>(`${baseUrl}/hr/widgets/me/profile/personal-information/other-nationalities`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? (response as unknown as string[]) ?? []),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.personalInformationCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.personalInformationCacheService.setOtherNationalities(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getJobInformationMain(baseUrl: string, forceRefresh = false): Observable<JobInformationMain | null> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.jobInformationCacheService.getMainDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: JobInformationMain }>(`${baseUrl}/hr/widgets/me/profile/job-information/main`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? null),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.jobInformationCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.jobInformationCacheService.setMainDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getJobInformationContract(baseUrl: string, forceRefresh = false): Observable<JobInformationContract | null> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.jobInformationCacheService.getContractDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: JobInformationContract }>(`${baseUrl}/hr/widgets/me/profile/job-information/contract`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? null),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.jobInformationCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.jobInformationCacheService.setContractDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getJobInformationSalary(baseUrl: string, forceRefresh = false): Observable<JobInformationSalary | null> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.jobInformationCacheService.getSalaryDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: JobInformationSalary }>(`${baseUrl}/hr/widgets/me/profile/job-information/salary`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? null),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.jobInformationCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.jobInformationCacheService.setSalaryDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getJobInformationServiceCharge(baseUrl: string, forceRefresh = false): Observable<JobInformationServiceCharge | null> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.jobInformationCacheService.getServiceChargeDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: JobInformationServiceCharge }>(`${baseUrl}/hr/widgets/me/profile/job-information/service-charge`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? null),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.jobInformationCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.jobInformationCacheService.setServiceChargeDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n clearPersonalInformationCache(): void {\r\n this.personalInformationCacheService.clear();\r\n }\r\n\r\n clearJobInformationCache(): void {\r\n this.jobInformationCacheService.clear();\r\n }\r\n\r\n getVacationSummary(baseUrl: string): Observable<any> {\r\n const params = new HttpParams().set('ShowDirectSubordinatesOnly', 'false');\r\n return this.http.get<any>(`${baseUrl}/hr/widgets/me/team/next-week-vacation-insights/summary`, {\r\n params,\r\n headers: this.headers\r\n });\r\n }\r\n\r\n getEntitlementsVacations(baseUrl: string, forceRefresh = false): Observable<EntitlementsVacation[] | null> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.entitlementsCacheService.getVacationDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: EntitlementsVacation[] | null }>(`${baseUrl}/hr/widgets/me/profile/entitlements/vacations`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? null),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.entitlementsCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.entitlementsCacheService.setVacationDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getEntitlementsIndemnity(baseUrl: string, forceRefresh = false): Observable<EntitlementsIndemnity | null> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.entitlementsCacheService.getIndemnityDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: EntitlementsIndemnity | null }>(`${baseUrl}/hr/widgets/me/profile/entitlements/indemnity`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? null),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.entitlementsCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.entitlementsCacheService.setIndemnityDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getEntitlementsTicket(baseUrl: string, forceRefresh = false): Observable<EntitlementsTicket | null> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.entitlementsCacheService.getTicketDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: EntitlementsTicket | null }>(`${baseUrl}/hr/widgets/me/profile/entitlements/ticket`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? null),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.entitlementsCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.entitlementsCacheService.setTicketDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getEntitlementsMedicalInsurance(baseUrl: string, forceRefresh = false): Observable<EntitlementsMedicalInsurance | null> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.entitlementsCacheService.getMedicalInsuranceDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: EntitlementsMedicalInsurance | null }>(`${baseUrl}/hr/widgets/me/profile/entitlements/medical-insurance`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n map((response) => response?.ResponseData ?? null),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.entitlementsCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.entitlementsCacheService.setMedicalInsuranceDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getEntitlementsOvertime(baseUrl: string, forceRefresh = false): Observable<any> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.entitlementsCacheService.getOvertimeDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<any>(`${baseUrl}/hr/widgets/me/profile/entitlements/overtime`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.entitlementsCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.entitlementsCacheService.setOvertimeDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getEntitlementsSocialSecurity(baseUrl: string, forceRefresh = false): Observable<any> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.entitlementsCacheService.getSocialSecurityDetails(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<any>(`${baseUrl}/hr/widgets/me/profile/entitlements/social-security`, {\r\n headers: this.headers\r\n })\r\n .pipe(\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.entitlementsCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.entitlementsCacheService.setSocialSecurityDetails(baseUrl, request$);\r\n return request$;\r\n }\r\n\r\n getEmployeeDegrees(baseUrl: string, forceRefresh = false): Observable<Degree[]> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.qualificationsCacheService.getDegrees(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: Degree[] }>(\r\n `${baseUrl}/hr/widgets/me/profile/qualifications/degrees`,\r\n { headers: this.headers }\r\n )\r\n .pipe(\r\n map((response) => response?.ResponseData ?? []),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.qualificationsCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.qualificationsCacheService.setDegrees(baseUrl, request$);\r\n\r\n return request$;\r\n }\r\n\r\n getEmployeeDependents(baseUrl: string, forceRefresh = false): Observable<Dependent[]> {\r\n if (!forceRefresh) {\r\n const cachedRequest$ = this.profileEmployeeDependentsCachService.getDependents(baseUrl);\r\n if (cachedRequest$) {\r\n return cachedRequest$;\r\n }\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: Dependent[] }>(\r\n `${baseUrl}/hr/widgets/me/profile/dependents`,\r\n { headers: this.headers }\r\n )\r\n .pipe(\r\n map((response) => response?.ResponseData ?? []),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.profileEmployeeDependentsCachService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.profileEmployeeDependentsCachService.setDependents(baseUrl, request$);\r\n\r\n return request$;\r\n }\r\n\r\n\r\n getEmployeeExperiences(baseUrl: string, forceRefresh = false): Observable<Experience[]> {\r\n\r\n\r\n\r\n if (!forceRefresh) {\r\n const cached = this.qualificationsCacheService.getExperiences(baseUrl);\r\n if (cached) return cached;\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: Experience[] }>(\r\n `${baseUrl}/hr/widgets/me/profile/qualifications/experiences`,\r\n { headers: this.headers }\r\n )\r\n .pipe(\r\n map(res => res?.ResponseData ?? []),\r\n shareReplay(1),\r\n catchError((error) => {\r\n this.qualificationsCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n\r\n\r\n this.qualificationsCacheService.setExperiences(baseUrl, request$);\r\n\r\n\r\n\r\n return request$;\r\n }\r\n\r\n getDependentDocuments(baseUrl: string, forceRefresh = false): Observable<DependentDocumentGroup[]> {\r\n\r\n if (!forceRefresh) {\r\n const cached$ = this.profileDocumentsCacheService.getDependentDocuments(baseUrl);\r\n if (cached$) return cached$;\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: DependentDocumentGroup[] }>(\r\n `${baseUrl}/hr/widgets/me/profile/documents/dependents`,\r\n { headers: this.headers }\r\n )\r\n .pipe(\r\n map(res => res?.ResponseData ?? []),\r\n shareReplay(1),\r\n catchError(error => {\r\n this.profileDocumentsCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.profileDocumentsCacheService.setDependentDocuments(baseUrl, request$);\r\n\r\n return request$;\r\n }\r\n\r\n getPersonalDocuments(baseUrl: string, forceRefresh = false): Observable<DocumentRow[]> {\r\n if (!forceRefresh) {\r\n const cached$ = this.profileDocumentsCacheService.getPersonalDocuments(baseUrl);\r\n if (cached$) return cached$;\r\n }\r\n\r\n const request$ = this.http\r\n .get<{ ResponseData: DocumentRow[] }>(\r\n `${baseUrl}/hr/widgets/me/profile/documents/personal`,\r\n { headers: this.headers }\r\n )\r\n .pipe(\r\n map(res => res?.ResponseData ?? []),\r\n shareReplay(1),\r\n catchError(error => {\r\n this.profileDocumentsCacheService.clear();\r\n return throwError(() => error);\r\n })\r\n );\r\n\r\n this.profileDocumentsCacheService.setPersonalDocuments(baseUrl, request$);\r\n return request$;\r\n }\r\n}\r\n","export type MyMainDetailsWidgetDetails = {\r\n EmployeeNumber: string;\r\n EmployeeName: string;\r\n EmployeeNameInitials: string;\r\n PositionName: string;\r\n GradeName: string | null;\r\n PhotoPath: string | null;\r\n ReportingTo: string | null;\r\n ServiceYears: string;\r\n VacationBalances: VacationBalance[];\r\n AttendanceUrl: string | null;\r\n VacationStatementUrl: string | null;\r\n}\r\n\r\nexport type VacationBalance = {\r\n VacationTypeName: string,\r\n VacationTypeColor: string,\r\n CurrentBalance: number | null\r\n}\r\n\r\nexport enum MainWidgetShortcut {\r\n Profile,\r\n PaySlip,\r\n Attendance,\r\n VacationStatement,\r\n Loans\r\n} \r\n\r\nexport enum EventOption {\r\n Birthday = 1,\r\n PublicHoliday = 2,\r\n All = 3\r\n}\r\n\r\nexport enum RelativeDay {\r\n Today = 0,\r\n Tomorrow = 1,\r\n TwoDays = 2\r\n}\r\n\r\nexport enum PublicHolidayWeekContext {\r\n ThisWeek = 0,\r\n NextWeek = 1\r\n}\r\n\r\nexport type Birthday = {\r\n EmployeePropertySymbol: string;\r\n EmployeePropertyName: string;\r\n EmployeeShortName: string;\r\n Birthdate: Date;\r\n RelativeDay: RelativeDay;\r\n}\r\n\r\nexport type PublicHoliday = {\r\n StartDate: Date;\r\n EndDate: Date;\r\n Description: string;\r\n WeekContext: PublicHolidayWeekContext;\r\n}\r\n\r\nexport type UpcomingEventsV2 = {\r\n Birthdays: Birthday[];\r\n PublicHolidays: PublicHoliday[];\r\n IsWeekendConfigured: boolean;\r\n}\r\n\r\n\r\nexport enum EventTypeEnum {\r\n Birthdays = 1,\r\n PublicHolidays = 2\r\n}\r\n\r\nexport type FilteredUpcomingEvent = {\r\n EventDate: Date;\r\n Name: string;\r\n EventType: EventTypeEnum;\r\n Description: string;\r\n StartDate?: Date;\r\n EndDate?: Date;\r\n IsIn2Days?: boolean;\r\n PropertyName?: string;\r\n PropertySymbol?: string;\r\n}\r\n\r\n// Calendar types\r\n\r\nexport type DatePeriod = {\r\n StartDate: Date;\r\n EndDate: Date;\r\n}\r\n\r\nexport type CalendarResponse = {\r\n OffDays: Date[];\r\n PublicHolidays: { Description: string; StartDate: Date; EndDate: Date }[];\r\n Vacations: { VacationTypeName: string; Color: string; StartDate: Date; EndDate: Date }[];\r\n Events: { Description: string; StartDate: Date; EndDate: Date }[];\r\n}\r\n\r\nexport type ScheduleCalenderVacation = {\r\n Color: string | null;\r\n VacationType: ScheduleVacationTypes;\r\n Description: string;\r\n VacationDays: DatePeriod;\r\n}\r\n\r\nexport enum ScheduleVacationTypes {\r\n DaysOff = 1,\r\n PublicHoliday = 2,\r\n Vacations = 3,\r\n AddedVacations = 4,\r\n Events = 5\r\n}\r\n\r\nexport type PersonalInfoMainDetails = {\r\nEmployeeName: string | null;\r\nEmployeeNameAlternate: string | null;\r\nNationalityName: string | null;\r\nNationalNumber: string | null;\r\nSocialSecurityNumber: string | null;\r\nMaritalStateName: string | null;\r\nBirthDate: string | Date | null;\r\nBirthPlace: string | null;\r\nBloodTypeCode: string | null;\r\nReligionName: string | null;\r\nMinistryOfLaborNumber: string | null;\r\n};\r\n\r\nexport type PersonalInfoContactEmergencyContact = {\r\nName: string | null;\r\nRelation: string | null;\r\nPhoneNumber: string | null;\r\n};\r\n\r\nexport type PersonalInfoContactDetails = {\r\nMobileNumber: string | null;\r\nHomePhone: string | null;\r\nBusinessEmail: string | null;\r\nEmail: string | null;\r\nEmergencyContactLegacy: string | null;\r\nEmergencyContact: PersonalInfoContactEmergencyContact | null;\r\n};\r\n\r\nexport type PersonalInfoAddressDetails = {\r\nAddress: string | null;\r\nCity: string | null;\r\nPOBox: string | null;\r\nPostalCode: string | null;\r\n};\r\n\r\nexport type MyBankInfo = {\r\nIsMainBank: boolean;\r\nBankName: string | null;\r\nBranchName: string | null;\r\nIBAN: string | null;\r\nAccountNumber: string | null;\r\nBeneficiary: string | null;\r\nTransferAmount: number | null;\r\n};\r\n\r\nexport type JobInformationMain = {\r\n AdminUnitName: string | null;\r\n PositionName: string | null;\r\n GradeName: string | null;\r\n JoiningDate: Date | null;\r\n CorporateJoiningDate: Date | null;\r\n SponsorName: string | null;\r\n}\r\n\r\n\r\nexport type JobInformationContract = {\r\n ContractTypeName: string | null;\r\n ContractStartDate: Date | null;\r\n ContractEndDate: Date | null;\r\n ContractMaritalStateName: string | null;\r\n ContractDependentsCount: number | null;\r\n}\r\n\r\nexport type JobInformationSalary = {\r\n GrossSalary: number | null;\r\n BasicSalary: number | null;\r\n CurrentBasicSalary?: number | null;\r\n Allowances: Allowances[] | null;\r\n}\r\nexport type Allowances = {\r\n AllowanceName: string | null;\r\n AllowanceAmount: number | null;\r\n\r\n}\r\n\r\nexport enum ServiceChargeEntitlementMode {\r\n Points = 1,\r\n SalaryRatio = 2,\r\n FixedAmount = 3,\r\n FixedRate = 4\r\n}\r\n\r\n\r\nexport type JobInformationServiceCharge = {\r\n ServiceChargeEntitlementMode: ServiceChargeEntitlementMode;\r\n ServiceChargeValue: number | null;\r\n}\r\n\r\n export enum VacationPopupType {\r\n Upcoming = 1,\r\n ExpectedToReturn = 2\r\n}\r\nexport type ScheduleRequestsResponse = {\r\n PendingVacationRequests: { VacationTypeName: string; Color: string; StartDate: Date; EndDate: Date }[];\r\n PendingEventRequests: { Description: string; StartDate: Date; EndDate: Date }[];\r\n}\r\n\r\nexport type EntitlementsVacation = {\r\n VacationTypeName: string | null;\r\n EntitlementDays: number | null;\r\n};\r\n\r\nexport type EntitlementsIndemnity = {\r\n IsEligibleForIndemnity: boolean | null;\r\n IndemnityServiceYears: number | null;\r\n IndemnityStartDate: string | Date | null;\r\n IndemnitySalary: number | null;\r\n};\r\n\r\nexport type EmployeeTicketDetails = {\r\n EmployeeFirstName: string | null;\r\n TicketSectorName: string | null;\r\n TicketClassName: string | null;\r\n MonthsPerTicketEntitlement: number | null;\r\n};\r\n\r\nexport type DependentTicketDetails = {\r\n DependentName: string | null;\r\n DependentTypeName: string | null;\r\n MonthsPerTicketEntitlement: number | null;\r\n};\r\n\r\nexport type EntitlementsTicket = {\r\n EmployeeTicketDetails: EmployeeTicketDetails | null;\r\n DependentTicketDetails: DependentTicketDetails[] | null;\r\n};\r\n\r\nexport type EmployeeMedicalInsurance = {\r\n EmployeeFirstName: string | null;\r\n MedicalInsuranceClassName: string | null;\r\n MedicalInsuranceNumber: string | null;\r\n CoverageDate: Date | null;\r\n};\r\n\r\nexport type DependentsMedicalInsurance = {\r\n DependentName: string | null;\r\n DependentTypeName: string | null;\r\n MedicalInsuranceClassName: string | null;\r\n MedicalInsuranceNumber: string | null;\r\n CoverageDate: Date | null;\r\n};\r\n\r\nexport type EntitlementsMedicalInsurance = {\r\n EmployeeMedicalInsurance: EmployeeMedicalInsurance | null;\r\n DependentsMedicalInsurance: DependentsMedicalInsurance[] | null;\r\n TotalEmployeeShare: number | null;\r\n TotalEmployerShare: number | null;\r\n};\r\n\r\nexport type Degree = {\r\n DegreeName: string;\r\n DegreeYear: string;\r\n CountryName: string;\r\n Specialty: string | null;\r\n Institute: string | null;\r\n Document: DocumentModel | null;\r\n};\r\n \r\nexport type Experience = {\r\n StartDate: string | Date;\r\n EndDate: string | Date;\r\n Employer: string;\r\n Position: string;\r\n TerminationReason: string;\r\n Document: DocumentModel | null;\r\n};\r\n\r\nexport type DocumentModel = {\r\n Key: string;\r\n ContentType: string;\r\n};\r\n\r\n\r\nexport type Dependent = {\r\n DependentName: string;\r\n DependentTypeName: string;\r\n BirthDate: string | Date;\r\n NationalNumber: string | null;\r\n};\r\n\r\nexport interface DependentDocumentsResponse {\r\n ResponseData: DependentDocumentGroup[];\r\n ApiVersion: string;\r\n}\r\n\r\nexport interface DependentDocumentGroup {\r\n DependentName: string;\r\n DependentTypeName: string;\r\n Documents: DocumentRow[];\r\n}\r\n\r\nexport interface DocumentRow {\r\n DocumentTypeName: string;\r\n DocumentNumber: string;\r\n IssueDate: string;\r\n ExpiryDate: string;\r\n Attachments: Attachment[];\r\n}\r\n\r\nexport interface Attachment {\r\n Key: string;\r\n ContentType: string;\r\n}\r\n\r\nexport interface PersonalDocument {\r\n DocumentTypeName: string;\r\n DocumentNumber: string;\r\n IssueDate: string;\r\n ExpiryDate: string;\r\n Attachments: Attachment[];\r\n}\r\n\r\nexport type SubordinateDTO = {\r\n EmployeeNumber: string;\r\n EmployeeName: string;\r\n EmployeeNameInitials: string;\r\n PositionName: string;\r\n GradeName: string;\r\n PhotoPath: string;\r\n PropertyName?: string;\r\n PropertySymbol?: string;\r\n AdminUnitName?: string;\r\n MobileNumber?: string;\r\n PersonalEmail?: string;\r\n BusinessEmail?: string;\r\n};\r\n\r\nexport type SubordinatesPaginationDTO = {\r\n PageIndex: number;\r\n PageSize: number;\r\n TotalPages: number;\r\n TotalCount: number;\r\n};\r\n\r\nexport type SubordinatesApiResponse = {\r\n Data: SubordinateDTO[];\r\n Pagination: SubordinatesPaginationDTO;\r\n};\r\n\r\nexport type EmployeeMainInfo = {\r\n EmployeeNumber: string,\r\n EmployeeName: string,\r\n PhotoKey: string,\r\n PositionName: string,\r\n AdminUnitName: string,\r\n GradeName: string | null,\r\n PropertyName: string,\r\n PropertySymbol: string,\r\n EmployeeNameInitials: string\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class HRConstantsService {\r\n defaultVacationBalanceColor: string = '#727070';\r\n defaultVacationColor: string = '#DCDCDC';\r\n defaultPublicHolidayColor: string = '#249EA0';\r\n defaultDayOffColor: string = '#FCCF5A';\r\n defaultEventsColor: string = '#e67e0f';\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport en from '../../../assets/i18n/en.json';\r\nimport ar from '../../../assets/i18n/ar.json';\r\nimport fr from '../../../assets/i18n/fr.json';\r\n\r\nconst BUILT_IN_LEXICONS: Record<string, Record<string, string>> = { en, ar, fr };\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HRTranslateService {\r\n private currentLanguage: string = 'en';\r\n private lexicon: Record<string, string> = {};\r\n\r\n setLanguage(language: string): void {\r\n this.currentLanguage = language;\r\n }\r\n\r\n getLanguage(): string {\r\n return this.currentLanguage;\r\n }\r\n\r\n setLexicon(lexicon: Record<string, string>): void {\r\n this.lexicon = lexicon;\r\n }\r\n\r\n getLexicon(): Record<string, string> {\r\n return this.lexicon;\r\n }\r\n\r\n translateBuiltIn(key: string): string {\r\n if (!key) return '';\r\n const builtIn = BUILT_IN_LEXICONS[this.currentLanguage] || {};\r\n const foundKey = Object.keys(builtIn).find(k => k.toLowerCase() === key.toLowerCase());\r\n return foundKey ? builtIn[foundKey] : key;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { HRTranslateService } from '../services/translate.service';\r\n\r\n@Pipe({\r\n name: 'translate',\r\n standalone: true\r\n})\r\nexport class HRTranslatePipe implements PipeTransform {\r\n constructor(private readonly payrollTranslateService: HRTranslateService) {}\r\n\r\n transform(key?: string): string {\r\n if (!key) return '';\r\n\r\n key = this.payrollTranslateService.translateBuiltIn(key);\r\n\r\n const lexicon = this.payrollTranslateService.getLexicon();\r\n let foundKey = Object.keys(lexicon).find(k => k.toLowerCase() === key!.toLowerCase());\r\n if (foundKey) return lexicon[foundKey];\r\n\r\n const arrKey = key.split(' ');\r\n let keyValue = '';\r\n for (let i = 0; i < arrKey.length; i++) {\r\n if (i !== 0) keyValue += ' ';\r\n foundKey = Object.keys(lexicon).find(k => k.toLowerCase() === arrKey[i].toLowerCase());\r\n if (foundKey) {\r\n keyValue += lexicon[foundKey];\r\n } else {\r\n keyValue += arrKey[i];\r\n }\r\n }\r\n\r\n return keyValue;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit, computed, inject, input, output, signal } from '@angular/core';\r\nimport { DxTooltipModule } from 'devextreme-angular';\r\nimport { DecimalPipe, NgClass } from '@angular/common';\r\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\r\nimport { SkyShortcutIconComponent, ShortcutIconDTO } from '@skysoftware-co/sky-components-ui';\r\nimport { MyMainDetailsWidgetDetails, MainWidgetShortcut } from '../shared/types/common';\r\nimport { HRConstantsService } from '../shared/services/constants.service';\r\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\r\n\r\n@Component({\r\n selector: 'hr-my-main-details-widget',\r\n standalone: true,\r\n imports: [DxTooltipModule, NgClass, FontAwesomeModule, DecimalPipe, BayanEmployeeBadgeComponent, SkyShortcutIconComponent, HRTranslatePipe],\r\n providers: [HRTranslatePipe],\r\n templateUrl: './my-main-details-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyMainDetailsWidgetComponent implements OnInit {\r\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\r\n private readonly constants = inject(HRConstantsService);\r\n private readonly translatePipe = inject(HRTranslatePipe);\r\n\r\n readonly employeeMainInfo = signal<MyMainDetailsWidgetDetails | null>(null);\r\n\r\n readonly onShortcutClicked = output<ShortcutIconDTO>();\r\n readonly isLoadingChanged = output<boolean>();\r\n\r\n readonly badgeClass = input<string>('badge employee-rounded-badge-xl fs-5');\r\n readonly badgeImageClass = input<string>('rounded-circle shadow-lg');\r\n readonly badgeWidth = input<string>('50px');\r\n readonly badgeHeight = input<string>('50px');\r\n readonly employeeInfoContainerClass = input<string>('d-flex align-content-center');\r\n readonly employeeDetailsClass = input<string>('ms-3');\r\n readonly employeeNameContainerClass = input<string>('d-flex align-items-center');\r\n readonly employeeNameClass = input<string>('fs-14 text-dark-gray fw-medium text-ellipsis-one-line');\r\n readonly employeePositionClass = input<string>('fs-12 fw-normal text-dark-gray text-ellipsis-one-line mb-1');\r\n readonly employeeGradeClass = input<string>('fs-12 text-dark-gray');\r\n\r\n readonly containerClass = input<string>('card rounded rounded-4 card-shadow p-16 border-top-0 mb-4');\r\n readonly cardBodyClass = input<string>('card-body p-4');\r\n readonly headerRowClass = input<string>('d-md-flex justify-content-between align-items-center mt-2 mb-3');\r\n\r\n readonly shortcutsContainerClass = input<string>('d-flex justify-content-md-end justify-content-sm-start fs-12 fw-normal text-secondary mt-3 mt-md-0');\r\n readonly shortcutItemClass = input<string>('d-flex flex-column align-items-center mx-2 wp-60');\r\n readonly shortcutIconContainerClass = input<string>('d-flex justify-content-center align-items-center rounded-circle-40 cursor-pointer');\r\n readonly shortcutIconClass = input<string>('fs-4');\r\n readonly shortcutTextClass = input<string>('text-center mt-1');\r\n\r\n readonly detailsRowClass = input<string>('d-flex mt-4');\r\n\r\n readonly reportingBlockClass = input<string>('d-flex text-secondary align-items-center mb-2 mx-2');\r\n readonly captionLabelClasses = input<string>('d-flex flex-column align-self-start fs-14 text-dark-gray');\r\n readonly captionLabelValueClass = input<string>('fw-medium mt-2');\r\n\r\n readonly vacationBalancesContainerClass = input<string>('d-flex text-secondary align-items-center mb-2');\r\n readonly vacationBalanceItemClass = input<string>('d-flex flex-column me-4');\r\n readonly vacationBalanceHeaderClass = input<string>('d-flex align-items-center');\r\n readonly vacationColorDotClass = input<string>('vacation-color-container-sm');\r\n readonly vacationTypeNameClass = input<string>('mx-2 fs-14 fw-normal text-dark-gray');\r\n readonly vacationBalanceValueRowClass = input<string>('d-flex mt-2');\r\n readonly vacationBalanceValueClass = input<string>('mx-2 fw-medium fs-14 text-dark-gray');\r\n\r\n readonly tooltipTriggerLinkClass = input<string>('d-flex align-items-center cursor-pointer');\r\n readonly tooltipTriggerTextClass = input<string>('mx-2 fs-14 text-dark-gray');\r\n\r\n readonly tooltipVacationRowClass = input<string>('d-flex align-items-center justify-content-around fs-12 mb-2');\r\n readonly tooltipVacationNameContainerClass = input<string>('d-flex flex-grow-1 align-items-center me-5');\r\n readonly tooltipVacationNameClass = input<string>('mx-2');\r\n\r\n readonly defaultVacationBalanceColor = input<string>(this.constants.defaultVacationBalanceColor);\r\n\r\n readonly defaultVacationColor = input<string>(this.constants.defaultVacationColor);\r\n\r\n readonly baseUrl = input<string>('');\r\n\r\n readonly employeeBadge = signal<BayanEmployeeBadgeDTO>({\r\n EmployeePhotoKey: null,\r\n EmployeePhotoFailed: false,\r\n EmployeeNameInitials: ''\r\n });\r\n\r\n readonly isMobile = input<boolean>(false);\r\n readonly isTablet = input<boolean>(false);\r\n readonly shortcuts = input<ShortcutIconDTO[]>([]);\r\n\r\n readonly shortcutsWithUrls = computed<ShortcutIconDTO[]>(() => {\r\n const employeeMainInfo = this.employeeMainInfo();\r\n return this.shortcuts().map(item => {\r\n const translated: ShortcutIconDTO = {\r\n ...item,\r\n title: this.translatePipe.transform(item.title)\r\n };\r\n\r\n if (translated.shortcutId === MainWidgetShortcut.Attendance && employeeMainInfo?.AttendanceUrl != null) {\r\n return { ...translated, navigateUrl: [employeeMainInfo.AttendanceUrl] };\r\n }\r\n\r\n if (translated.shortcutId === MainWidgetShortcut.VacationStatement && employeeMainInfo?.VacationStatementUrl != null) {\r\n return { ...translated, navigateUrl: [employeeMainInfo.VacationStatementUrl] };\r\n }\r\n\r\n return translated;\r\n });\r\n });\r\n\r\n ngOnInit(): void {\r\n this.loadEmployeeMainInfo();\r\n }\r\n\r\n loadEmployeeMainInfo() {\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.getEmployeeMainDetails().subscribe({\r\n next: (data: any) => {\r\n const responses = data.ResponseData;\r\n const vacationBalances = responses.VacationBalances.map((v: any) => ({\r\n ...v,\r\n VacationTypeColor: v.VacationTypeColor ?? this.defaultVacationColor()\r\n }));\r\n\r\n const employeeMainInfo: MyMainDetailsWidgetDetails = {\r\n EmployeeNumber: responses.EmployeeNumber,\r\n EmployeeName: responses.EmployeeName,\r\n EmployeeNameInitials: responses.EmployeeNameInitials,\r\n PositionName: responses.PositionName,\r\n GradeName: responses.GradeName,\r\n PhotoPath: responses.PhotoPath,\r\n ReportingTo: responses.ReportingToEmployeeName,\r\n ServiceYears: `${responses.ServicePeriod.Years} ${this.translatePipe.transform('Years')} ${responses.ServicePeriod.Months} ${this.translatePipe.transform('Months')}`,\r\n VacationBalances: vacationBalances,\r\n AttendanceUrl: responses.AttendanceReportUrl,\r\n VacationStatementUrl: responses.VacationStatementReportUrl,\r\n };\r\n this.employeeMainInfo.set(employeeMainInfo);\r\n\r\n this.employeeBadge.set({\r\n EmployeePhotoKey: employeeMainInfo.PhotoPath || null,\r\n EmployeeNameInitials: employeeMainInfo.EmployeeNameInitials || '',\r\n EmployeePhotoFailed: false\r\n });\r\n\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error: any) => {\r\n this.isLoadingChanged.emit(false);\r\n if (error.status == 401)\r\n return;\r\n },\r\n });\r\n }\r\n\r\n shortcutClicked(icon: ShortcutIconDTO) {\r\n this.onShortcutClicked.emit(icon);\r\n }\r\n\r\n handleEmployeePhotoError() {\r\n this.employeeBadge.update(badge => ({ ...badge, EmployeePhotoFailed: true }));\r\n }\r\n\r\n getEmployeeMainDetails() {\r\n return this.selfWidgetsService.getMainDetails(this.baseUrl());\r\n }\r\n}\r\n","<div [class]=\"containerClass()\">\r\n <div [class]=\"cardBodyClass()\">\r\n <div [class]=\"headerRowClass()\">\r\n <div>\r\n @if(employeeMainInfo()!=null){\r\n <div [class]=\"employeeInfoContainerClass()\">\r\n <bayan-employee-badge [badge]=\"employeeBadge()\"\r\n [badgeClass]=\"badgeClass()\"\r\n [imageClass]=\"badgeImageClass()\"\r\n [width]=\"badgeWidth()\"\r\n [height]=\"badgeHeight()\"\r\n (employeePhotoError)=\"handleEmployeePhotoError()\"></bayan-employee-badge>\r\n\r\n <div [class]=\"employeeDetailsClass()\">\r\n <div [class]=\"employeeNameContainerClass()\">\r\n <div [class]=\"employeeNameClass()\"\r\n data-bs-toggle=\"tooltip\" [title]=\"employeeMainInfo()!.EmployeeNumber+' | '+ employeeMainInfo()!.EmployeeName\">\r\n {{employeeMainInfo()!.EmployeeNumber + ' | ' + employeeMainInfo()!.EmployeeName}}\r\n </div>\r\n </div>\r\n @if(employeeMainInfo()!.PositionName != null && employeeMainInfo()!.PositionName != ''){\r\n <div [class]=\"employeePositionClass()\"\r\n data-bs-toggle=\"tooltip\"\r\n [title]=\"employeeMainInfo()!.PositionName\">\r\n {{employeeMainInfo()!.PositionName}}\r\n </div>\r\n }\r\n @if(employeeMainInfo()!.GradeName !=null){\r\n <div [class]=\"employeeGradeClass()\" [title]=\"employeeMainInfo()!.GradeName\">\r\n {{employeeMainInfo()!.GradeName}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div [class]=\"shortcutsContainerClass()\">\r\n @for(Icon of shortcutsWithUrls() ; track Icon ; let i = $index;){\r\n <sky-shortcut-icon [shortcut]=\"Icon\"\r\n [itemClass]=\"shortcutItemClass()\"\r\n [iconContainerClass]=\"shortcutIconContainerClass()\"\r\n [iconClass]=\"shortcutIconClass()\"\r\n [textClass]=\"shortcutTextClass()\"\r\n (onClicked)=\"shortcutClicked($event)\"></sky-shortcut-icon>\r\n }\r\n </div>\r\n </div>\r\n <div [class]=\"detailsRowClass()\" [ngClass]=\"{'flex-wrap': isMobile() || isTablet()}\">\r\n <div [class]=\"reportingBlockClass()\" [ngClass]=\"{'mb-3': isMobile()}\">\r\n <div [class]=\"captionLabelClasses() + ' me-5'\">\r\n <div>\r\n {{'ReportingTo' | translate}}\r\n </div>\r\n <div [class]=\"captionLabelValueClass()\">\r\n @if(employeeMainInfo()?.ReportingTo){\r\n {{employeeMainInfo()?.ReportingTo}}\r\n }@else{\r\n {{'NotAnknown' | translate}}\r\n }\r\n </div>\r\n </div>\r\n <div [class]=\"captionLabelClasses()\" [ngClass]=\"{'border-end border-1 pe-4': !isMobile()}\">\r\n <div>\r\n {{'ServiceYears' | translate}}\r\n </div>\r\n <div [class]=\"captionLabelValueClass()\">\r\n {{employeeMainInfo()?.ServiceYears}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-grow-1\" [ngClass]=\"{' ms-4': !isMobile() && !isTablet(), 'w-100': isTablet()}\">\r\n <div [class]=\"vacationBalancesContainerClass()\" [ngClass]=\"{'flex-wrap': isMobile(),'w-100': isTablet()}\">\r\n @for(vacationBalance of employeeMainInfo()?.VacationBalances ; track vacationBalance ; let i = $index;){\r\n @if(i <= 2 || employeeMainInfo()?.VacationBalances?.length == 4) {\r\n <div [class]=\"vacationBalanceItemClass()\" [ngClass]=\"{'mb-2 w-40': isMobile()}\">\r\n <div [class]=\"vacationBalanceHeaderClass()\">\r\n <div [class]=\"vacationColorDotClass()\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\" [style.background-color]=\"vacationBalance.VacationTypeColor\"></div>\r\n </div>\r\n <div [class]=\"vacationTypeNameClass()\">\r\n {{vacationBalance.VacationTypeName}}\r\n </div>\r\n </div>\r\n <div [class]=\"vacationBalanceValueRowClass()\">\r\n <div [class]=\"vacationColorDotClass()\">\r\n <div class=\"rounded rounded-circle invisible\" style=\"height: 11px; width: 11px;\"></div>\r\n </div>\r\n <div [class]=\"vacationBalanceValueClass()\">{{vacationBalance.CurrentBalance | number:'1.2-2'}} {{(vacationBalance.CurrentBalance! == 1 ? 'day' : 'days') | translate}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n\r\n @if(employeeMainInfo()?.VacationBalances && employeeMainInfo()!.VacationBalances!.length > 4){\r\n <div [class]=\"vacationBalanceItemClass()\">\r\n <div [class]=\"tooltipTriggerLinkClass()\" id=\"otherVacationBalances\">\r\n <div [class]=\"vacationColorDotClass()\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\" [style.background-color]=\"defaultVacationBalanceColor()\"></div>\r\n </div>\r\n <div [class]=\"tooltipTriggerTextClass()\">\r\n +{{(employeeMainInfo()!.VacationBalances!.length - 3)}} {{'More' | translate}}\r\n </div>\r\n </div>\r\n <div [class]=\"vacationBalanceValueRowClass()\" style=\"visibility: hidden\">\r\n <div [class]=\"vacationColorDotClass()\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\"></div>\r\n </div>\r\n <div class=\"mx-1 fw-medium fs-14 text-dark-gray\">{{'More' | translate}}</div>\r\n </div>\r\n <dx-tooltip [target]=\"'#otherVacationBalances'\"\r\n [showEvent]=\"'mouseenter'\"\r\n [hideEvent]=\"'mouseleave'\">\r\n @for (vacationBalance of employeeMainInfo()!.VacationBalances! ; track vacationBalance; let i = $index;){\r\n @if(i > 2){\r\n <div [class]=\"tooltipVacationRowClass()\">\r\n <div [class]=\"tooltipVacationNameContainerClass()\">\r\n\r\n <div [class]=\"vacationColorDotClass()\">\r\n <div class=\"rounded rounded-circle\" style=\"height: 11px; width: 11px;\" [style.background-color]=\"vacationBalance.VacationTypeColor\"></div>\r\n </div>\r\n <div [class]=\"tooltipVacationNameClass()\">\r\n {{vacationBalance.VacationTypeName}}\r\n </div>\r\n </div>\r\n <div>{{vacationBalance.CurrentBalance | number:'1.2-2'}} {{(vacationBalance.CurrentBalance! == 1 ? 'day' : 'days') | translate}}</div>\r\n </div>\r\n }\r\n }\r\n </dx-tooltip>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\r\n\r\n@Component({\r\n selector: 'hr-card-header',\r\n standalone: true,\r\n imports: [FontAwesomeModule],\r\n templateUrl: './card-header.component.html'\r\n})\r\nexport class HRCardHeaderComponent {\r\n @Input() icon!: IconDefinition;\r\n @Input() title!: string;\r\n @Input() containerClass: string = 'd-flex align-items-center mb-2';\r\n @Input() iconClass: string = 'fs-6 text-primary pe-2';\r\n @Input() titleClass: string = 'text-center table-header-lg fw-medium';\r\n}\r\n","<div [class]=\"containerClass\">\r\n <fa-icon [icon]=\"icon\" [class]=\"iconClass\"></fa-icon>\r\n <span [class]=\"titleClass\">{{ title }}</span>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faCakeCandles, faTreePalm } from '@fortawesome/pro-light-svg-icons';\r\nimport { DatePipe, LowerCasePipe } from '@angular/common';\r\nimport { EventTypeEnum, FilteredUpcomingEvent } from '../../../shared/types/common';\r\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\r\n\r\n@Component({\r\n selector: 'hr-event-item',\r\n standalone: true,\r\n imports: [FontAwesomeModule, DatePipe, LowerCasePipe, HRTranslatePipe],\r\n templateUrl: './event-item.component.html'\r\n})\r\nexport class HREventItemComponent {\r\n @Input() events: FilteredUpcomingEvent[] = [];\r\n @Input() showDates: boolean = false;\r\n @Input() showProperty: boolean = true;\r\n @Input() selectedLanguage: string = 'en';\r\n @Input() selectedEventType: EventTypeEnum | null = null;\r\n @Input() weekendWarningDescription: string | null = null;\r\n @Input() eventIconClass: string = 'fs-6 text-primary pe-2';\r\n @Input() eventNameBoldClass: string = 'fw-medium';\r\n @Input() eventDescriptionClass: string = 'text-primary fw-medium';\r\n @Input() propertyBadgeClass: string = 'property-badge cursor-pointer me-1';\r\n @Input() noEventsTextClass: string = 'text-center my-4 text-light-gray';\r\n @Input() warningTextClass: string = 'text-center my-2 text-light-gray';\r\n @Input() dateFormat: string = 'dd/MM/yyyy';\r\n\r\n eventTypeEnum = EventTypeEnum;\r\n cakeCandles = faCakeCandles;\r\n treePalm = faTreePalm;\r\n\r\n get isArabic(): boolean { return this.selectedLanguage === 'ar'; }\r\n\r\n isBirthday(event: FilteredUpcomingEvent): boolean { return event.EventType === EventTypeEnum.Birthdays; }\r\n hasPropertyBadge(event: FilteredUpcomingEvent): boolean { return this.showProperty && !!event.PropertySymbol; }\r\n}\r\n","@if (events.length > 0) {\r\n<div>\r\n @for (event of events; track event) {\r\n <div [class]=\"'d-flex lh-base ' + (showDates ? 'my-3' : 'my-1')\">\r\n <fa-icon [icon]=\"isBirthday(event) ? cakeCandles : treePalm\"\r\n [class]=\"eventIconClass\"\r\n [title]=\"isBirthday(event) ? ('Birthday' | translate) : ('PublicHoliday' | translate)\">\r\n </fa-icon>\r\n\r\n <div>\r\n @if (isBirthday(event)) {\r\n @if (hasPropertyBadge(event)) {\r\n <span [class]=\"propertyBadgeClass\" [title]=\"event.PropertyName!\">{{ event.PropertySymbol }}</span>\r\n }\r\n @if (isArabic) {\r\n <span>{{ 'Birthday' | translate }}</span>\r\n <span [class]=\"eventNameBoldClass\">{{ ' ' + event.Name + ' ' }}</span>\r\n @if (event.IsIn2Days) { <span>{{ 'During' | translate }} </span> }\r\n } @else {\r\n <span [class]=\"eventNameBoldClass\">{{ event.Name }}'s </span>\r\n <span>{{ ('Birthday' | translate) + ' ' + ((event.IsIn2Days ? ('isIn' | translate) : ('is' | translate)) | lowercase) }} </span>\r\n }\r\n } @else {\r\n @if (isArabic) {\r\n <span [class]=\"eventNameBoldClass\">{{ event.Name }}</span> <span> {{ ('In' | translate) + ' ' }}</span>\r\n } @else {\r\n <span [class]=\"eventNameBoldClass\">{{ event.Name }} </span><span>{{ ' ' + (('is' | translate) | lowercase) }} </span>\r\n }\r\n }\r\n\r\n <span [class]=\"eventDescriptionClass\">{{ event.Description | translate }}</span>\r\n\r\n @if (!isBirthday(event) && showDates && event.StartDate && event.EndDate) {\r\n <span>{{ ' (' + (event.StartDate | date:dateFormat) + ' - ' + (event.EndDate | date:dateFormat) + ')' }}</span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n} @else {\r\n@if (weekendWarningDescription) {\r\n<div [class]=\"warningTextClass + (showDates ? ' pt-5 my-5' : '')\">{{ weekendWarningDescription | translate }}</div>\r\n} @else {\r\n<div [class]=\"noEventsTextClass + (showDates ? ' pt-5 my-5' : '')\">{{ 'NoEvents' | translate }}</div>\r\n}\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { NgClass } from '@angular/common';\r\nimport { EventTypeEnum } from '../../../shared/types/common';\r\nimport { faCakeCandles, faTreePalm } from '@fortawesome/pro-light-svg-icons';\r\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\r\n\r\n@Component({\r\n selector: 'hr-event-tab-bar',\r\n standalone: true,\r\n imports: [FontAwesomeModule, NgClass],\r\n providers: [HRTranslatePipe],\r\n templateUrl: './event-tab-bar.component.html'\r\n})\r\nexport class HREventTabBarComponent {\r\n @Input() selectedType: EventTypeEnum | null = null;\r\n @Input() selectedLanguage: string = 'en';\r\n @Input() tabSelectedClass: string = 'selected-event-option';\r\n @Input() tabNotSelectedClass: string = 'not-selected-event-option';\r\n @Input() tabTextSelectedClass: string = 'text-white';\r\n @Input() tabTextNotSelectedClass: string = 'text-primary';\r\n @Input() containerClass: string = 'd-flex gap-2 mb-3';\r\n @Input() tabItemClass: string = 'col-1 align-items-center rounded rounded-3 cursor-pointer text-center d-flex justify-content-center py-2 px-3';\r\n @Input() tabTextClass: string = 'fs-16';\r\n @Input() tabIconClass: string = 'fs-6';\r\n @Output() tabSelected = new EventEmitter<EventTypeEnum | null>();\r\n\r\n constructor(private translatePipe: HRTranslatePipe) {}\r\n\r\n tabList = [\r\n { id: null, icon: null },\r\n { id: EventTypeEnum.Birthdays, icon: faCakeCandles },\r\n { id: EventTypeEnum.PublicHolidays, icon: faTreePalm }\r\n ];\r\n\r\n getTabText(tab: { id: EventTypeEnum | null }): string {\r\n if (tab.id === null) return this.translatePipe.transform('All');\r\n if (tab.id === EventTypeEnum.Birthdays) return this.translatePipe.transform('Birthday');\r\n return this.translatePipe.transform('PublicHoliday');\r\n }\r\n}\r\n","<div [class]=\"containerClass\">\r\n @for (tab of tabList; track tab) {\r\n <div [class]=\"tabItemClass + ' ' + (selectedType == tab.id ? tabSelectedClass : tabNotSelectedClass)\"\r\n [ngClass]=\"{'w-25': (selectedLanguage == 'fr' && !tab?.icon)}\"\r\n (click)=\"tabSelected.emit(tab.id)\">\r\n @if (!tab?.icon) {\r\n <span [class]=\"tabTextClass + ' ' + (selectedType == tab.id ? tabTextSelectedClass : tabTextNotSelectedClass)\">{{ getTabText(tab) }}</span>\r\n } @else {\r\n <fa-icon [icon]=\"tab.icon!\" [class]=\"tabIconClass + ' ' + (selectedType == tab.id ? tabTextSelectedClass : tabTextNotSelectedClass)\" [title]=\"getTabText(tab)\"></fa-icon>\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DxLoadPanelModule, DxPopupModule, DxScrollViewModule } from 'devextreme-angular';\r\nimport { EventTypeEnum, FilteredUpcomingEvent } from '../../../shared/types/common';\r\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\r\nimport { HREventItemComponent } from '../event-item/event-item.component';\r\nimport { HREventTabBarComponent } from '../event-tab-bar/event-tab-bar.component';\r\n\r\n@Component({\r\n selector: 'hr-upcoming-events-popup',\r\n standalone: true,\r\n imports: [CommonModule, DxPopupModule, DxScrollViewModule, DxLoadPanelModule, HREventItemComponent, HREventTabBarComponent, HRTranslatePipe],\r\n templateUrl: './events-popup.component.html'\r\n})\r\nexport class HREventsPopupComponent {\r\n @Input() visible: boolean = false;\r\n @Input() events: FilteredUpcomingEvent[] = [];\r\n @Input() hasBirthdays: boolean = false;\r\n @Input() hasHolidays: boolean = false;\r\n @Input() isLoading: boolean = false;\r\n @Input() selectedLanguage: string = 'en';\r\n @Input() showProperty: boolean = true;\r\n @Input() weekendWarningDescription: string | null = null;\r\n @Input() popupTitle: string = '';\r\n @Input() selectedEventType: EventTypeEnum | null = null;\r\n @Input() tabSelectedClass: string = 'selected-event-option';\r\n @Input() tabNotSelectedClass: string = 'not-selected-event-option';\r\n @Input() tabTextSelectedClass: string = 'text-white';\r\n @Input() tabTextNotSelectedClass: string = 'text-primary';\r\n @Input() tabContainerClass: string = 'd-flex gap-2 mb-3';\r\n @Input() tabItemClass: string = 'col-1 align-items-center rounded rounded-3 cursor-pointer text-center d-flex justify-content-center py-2 px-3';\r\n @Input() tabTextClass: string = 'fs-16';\r\n @Input() tabIconClass: string = 'fs-6';\r\n @Input() eventIconClass: string = 'fs-6 text-primary pe-2';\r\n @Input() eventNameBoldClass: string = 'fw-medium';\r\n @Input() eventDescriptionClass: string = 'text-primary fw-medium';\r\n @Input() propertyBadgeClass: string = 'property-badge cursor-pointer me-1';\r\n @Input() noEventsTextClass: string = 'text-center my-4 text-light-gray';\r\n @Input() warningTextClass: string = 'text-center my-2 text-light-gray';\r\n @Input() dateFormat: string = 'dd/MM/yyyy';\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() tabSelected = new EventEmitter<EventTypeEnum | null>();\r\n @Output() closed = new EventEmitter<void>();\r\n\r\n onTabSelected(eventType: EventTypeEnum | null) {\r\n this.tabSelected.emit(eventType);\r\n }\r\n\r\n onPopupClose() {\r\n this.closed.emit();\r\n }\r\n}\r\n","<dx-popup id=\"popup\"\r\n [(visible)]=\"visible\"\r\n [height]=\"'400'\"\r\n [maxHeight]=\"400\"\r\n [width]=\"'650'\"\r\n shadingColor=\"rgba(0,0,0,0.4)\"\r\n contentTemplate=\"popup-content\"\r\n [showCloseButton]=\"true\"\r\n [title]=\"popupTitle\"\r\n (onHiding)=\"onPopupClose()\"\r\n (visibleChange)=\"visibleChange.emit($event)\">\r\n\r\n <div class=\"text-dark\" *dxTemplate=\"let data of 'popup-content'\">\r\n <dx-scroll-view #upcomingEventsScrollView\r\n id=\"upcomingEventsScrollView\"\r\n [scrollByContent]=\"true\"\r\n [scrollByThumb]=\"true\"\r\n [showScrollbar]=\"'onScroll'\"\r\n [bounceEnabled]=\"false\">\r\n\r\n @if (hasBirthdays || hasHolidays) {\r\n <hr-event-tab-bar [selectedType]=\"selectedEventType\"\r\n [selectedLanguage]=\"selectedLanguage\"\r\n [tabSelectedClass]=\"tabSelectedClass\"\r\n [tabNotSelectedClass]=\"tabNotSelectedClass\"\r\n [tabTextSelectedClass]=\"tabTextSelectedClass\"\r\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass\"\r\n [containerClass]=\"tabContainerClass\"\r\n [tabItemClass]=\"tabItemClass\"\r\n [tabTextClass]=\"tabTextClass\"\r\n [tabIconClass]=\"tabIconClass\"\r\n (tabSelected)=\"onTabSelected($event)\">\r\n </hr-event-tab-bar>\r\n\r\n <hr-event-item [events]=\"events\"\r\n [showDates]=\"true\"\r\n [showProperty]=\"showProperty\"\r\n [selectedLanguage]=\"selectedLanguage\"\r\n [selectedEventType]=\"selectedEventType\"\r\n [weekendWarningDescription]=\"weekendWarningDescription\"\r\n [eventIconClass]=\"eventIconClass\"\r\n [eventNameBoldClass]=\"eventNameBoldClass\"\r\n [eventDescriptionClass]=\"eventDescriptionClass\"\r\n [propertyBadgeClass]=\"propertyBadgeClass\"\r\n [noEventsTextClass]=\"noEventsTextClass\"\r\n [warningTextClass]=\"warningTextClass\"\r\n [dateFormat]=\"dateFormat\">\r\n </hr-event-item>\r\n } @else {\r\n <div [class]=\"noEventsTextClass\">{{ 'NoEvents' | translate }}</div>\r\n }\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popup>\r\n\r\n<dx-load-panel shadingColor=\"rgba(0,0,0,0.4)\"\r\n [visible]=\"isLoading\"\r\n [showIndicator]=\"true\" [showPane]=\"true\"\r\n [shading]=\"true\" [hideOnOutsideClick]=\"false\">\r\n</dx-load-panel>\r\n","import { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\r\nimport { faCalendarStar } from '@fortawesome/pro-light-svg-icons';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { HRCardHeaderComponent } from '../shared/components/card-header/card-header.component';\r\nimport { HREventItemComponent } from './components/event-item/event-item.component';\r\nimport { HREventTabBarComponent } from './components/event-tab-bar/event-tab-bar.component';\r\nimport { HREventsPopupComponent } from './components/events-popup/events-popup.component';\r\nimport {\r\n EventOption, RelativeDay, Birthday, PublicHoliday, UpcomingEventsV2,\r\n EventTypeEnum, FilteredUpcomingEvent\r\n} from '../shared/types/common';\r\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\r\n\r\n@Component({\r\n selector: 'hr-my-upcoming-events-widget',\r\n standalone: true,\r\n imports: [FontAwesomeModule, HRCardHeaderComponent, HREventItemComponent, HREventTabBarComponent, HREventsPopupComponent, HRTranslatePipe],\r\n templateUrl: './my-upcoming-events-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyUpcomingEventsWidgetComponent implements OnInit {\r\n readonly baseUrl = input<string>('');\r\n readonly weekendWarningDescription = input<string>('WeekendDayNotDefined');\r\n readonly selectedLanguage = input<string>('en');\r\n readonly showProperty = input<boolean>(true);\r\n\r\n readonly cardClass = input<string>('bg-light-gray border-0 card p-3 card-shadow rounded rounded-4 mt-3');\r\n readonly noEventsTextClass = input<string>('text-center my-3 text-light-gray');\r\n readonly viewAllLinkClass = input<string>('fs-14 mt-2');\r\n readonly viewAllContainerClass = input<string>('d-flex justify-content-end cursor-pointer');\r\n readonly warningTextClass = input<string>('text-center my-2 text-light-gray');\r\n readonly tabSelectedClass = input<string>('selected-event-option');\r\n readonly tabNotSelectedClass = input<string>('not-selected-event-option');\r\n readonly tabTextSelectedClass = input<string>('text-white');\r\n readonly tabTextNotSelectedClass = input<string>('text-primary');\r\n readonly tabContainerClass = input<string>('d-flex gap-2 mb-3');\r\n readonly tabItemClass = input<string>('col-1 align-items-center rounded rounded-3 cursor-pointer text-center d-flex justify-content-center py-2 px-3');\r\n readonly tabTextClass = input<string>('fs-16');\r\n readonly tabIconClass = input<string>('fs-6');\r\n readonly eventIconClass = input<string>('fs-6 text-primary pe-2');\r\n readonly eventNameBoldClass = input<string>('fw-medium');\r\n readonly eventDescriptionClass = input<string>('text-primary fw-medium');\r\n readonly propertyBadgeClass = input<string>('property-badge cursor-pointer me-1');\r\n readonly dateFormat = input<string>('dd/MM/yyyy');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly viewAllClicked = output<void>();\r\n\r\n readonly externalViewAll = input<boolean>(false);\r\n\r\n readonly selectedEventType = signal<EventTypeEnum | null>(null);\r\n readonly selectedPopupEventType = signal<EventTypeEnum | null>(null);\r\n\r\n readonly calendarStar = faCalendarStar;\r\n\r\n readonly filteredEvents = signal<FilteredUpcomingEvent[]>([]);\r\n readonly birthdays = signal<Birthday[]>([]);\r\n readonly holidays = signal<PublicHoliday[]>([]);\r\n\r\n readonly popupEvents = signal<FilteredUpcomingEvent[]>([]);\r\n readonly popupVisible = signal(false);\r\n\r\n readonly weekendWarning = signal<string | null>(null);\r\n\r\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n this.loadEvents(EventOption.All);\r\n }\r\n\r\n onTabClick(eventType: EventTypeEnum | null) {\r\n this.selectedEventType.set(eventType);\r\n this.filteredEvents.set(this.buildEvents(this.cardData(), eventType, 2));\r\n }\r\n\r\n onPopupTabClick(eventType: EventTypeEnum | null) {\r\n this.selectedPopupEventType.set(eventType);\r\n this.popupEvents.set(this.buildEvents(this.cardData(), eventType));\r\n }\r\n\r\n showPopup() {\r\n if (this.externalViewAll()) {\r\n this.viewAllClicked.emit();\r\n return;\r\n }\r\n this.popupEvents.set(this.buildEvents(this.cardData(), this.selectedPopupEventType()));\r\n this.popupVisible.set(true);\r\n }\r\n\r\n onPopupClose() {\r\n this.popupVisible.set(false);\r\n this.selectedPopupEventType.set(null);\r\n }\r\n\r\n onPopupVisibleChange(visible: boolean) {\r\n this.popupVisible.set(visible);\r\n }\r\n\r\n // --- Private ---\r\n\r\n private readonly cardData = signal<UpcomingEventsV2 | null>(null);\r\n\r\n private getUpcomingEvents(eventOption: EventOption) {\r\n return this.selfWidgetsService.getUpcomingEvents(this.baseUrl(), eventOption);\r\n }\r\n\r\n private loadEvents(eventOption: EventOption) {\r\n this.isLoadingChanged.emit(true);\r\n this.getUpcomingEvents(eventOption).subscribe({\r\n next: (response: any) => {\r\n this.cardData.set(response.ResponseData);\r\n const currentData = this.cardData();\r\n this.birthdays.set(currentData?.Birthdays || []);\r\n this.holidays.set(currentData?.PublicHolidays || []);\r\n this.weekendWarning.set(currentData?.IsWeekendConfigured === false\r\n ? this.weekendWarningDescription()\r\n : null);\r\n this.filteredEvents.set(this.buildEvents(currentData, null, 2));\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error: any) => {\r\n this.isLoadingChanged.emit(false);\r\n },\r\n });\r\n }\r\n\r\n private buildEvents(source: UpcomingEventsV2 | null, eventType: EventTypeEnum | null, limit?: number): FilteredUpcomingEvent[] {\r\n const birthdays = source?.Birthdays || [];\r\n const holidays = source?.PublicHolidays || [];\r\n\r\n let filtered: FilteredUpcomingEvent[];\r\n\r\n if (eventType === EventTypeEnum.Birthdays) {\r\n\r\n filtered = birthdays.map(b => this.mapBirthday(b)).sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime());\r\n } else if (eventType === EventTypeEnum.PublicHolidays) {\r\n filtered = holidays.map(h => this.mapHoliday(h)).sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime());\r\n } else {\r\n if (limit) {\r\n filtered = [\r\n ...birthdays.map(b => this.mapBirthday(b)),\r\n ...holidays.map(h => this.mapHoliday(h))\r\n ].sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime()).slice(0, 2);\r\n } else {\r\n filtered = [\r\n ...birthdays.map(b => this.mapBirthday(b)),\r\n ...holidays.map(h => this.mapHoliday(h))\r\n ];\r\n }\r\n }\r\n\r\n if (limit) {\r\n filtered = filtered.slice(0, limit);\r\n }\r\n\r\n return filtered.sort((a, b) => new Date(a.EventDate).getTime() - new Date(b.EventDate).getTime());\r\n }\r\n\r\n private mapBirthday(b: Birthday): FilteredUpcomingEvent {\r\n const birthdate = new Date(b.Birthdate);\r\n const eventDate = new Date(new Date().getFullYear(), birthdate.getMonth(), birthdate.getDate());\r\n return {\r\n EventDate: eventDate,\r\n Name: b.EmployeeShortName,\r\n EventType: EventTypeEnum.Birthdays,\r\n Description: b.RelativeDay.toString(),\r\n IsIn2Days: RelativeDay[b.RelativeDay as unknown as keyof typeof RelativeDay] === RelativeDay.TwoDays,\r\n PropertyName: b.EmployeePropertyName,\r\n PropertySymbol: b.EmployeePropertySymbol\r\n };\r\n }\r\n\r\n private mapHoliday(h: PublicHoliday): FilteredUpcomingEvent {\r\n return {\r\n EventDate: new Date(h.StartDate),\r\n StartDate: new Date(h.StartDate),\r\n EndDate: new Date(h.EndDate),\r\n Name: h.Description,\r\n EventType: EventTypeEnum.PublicHolidays,\r\n Description: h.WeekContext.toString()\r\n };\r\n }\r\n}\r\n","<!-- Card View -->\r\n<div [class]=\"cardClass()\">\r\n <hr-card-header [icon]=\"calendarStar\" [title]=\"'UpcomingEvents' | translate\"></hr-card-header>\r\n\r\n @if (birthdays().length > 0 || holidays().length > 0) {\r\n <hr-event-tab-bar\r\n [selectedType]=\"selectedEventType()\"\r\n [selectedLanguage]=\"selectedLanguage()\"\r\n [tabSelectedClass]=\"tabSelectedClass()\"\r\n [tabNotSelectedClass]=\"tabNotSelectedClass()\"\r\n [tabTextSelectedClass]=\"tabTextSelectedClass()\"\r\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass()\"\r\n [containerClass]=\"tabContainerClass()\"\r\n [tabItemClass]=\"tabItemClass()\"\r\n [tabTextClass]=\"tabTextClass()\"\r\n [tabIconClass]=\"tabIconClass()\"\r\n (tabSelected)=\"onTabClick($event)\">\r\n </hr-event-tab-bar>\r\n\r\n <hr-event-item\r\n [events]=\"filteredEvents()\"\r\n [showDates]=\"false\"\r\n [showProperty]=\"showProperty()\"\r\n [selectedLanguage]=\"selectedLanguage()\"\r\n [selectedEventType]=\"selectedEventType()\"\r\n [weekendWarningDescription]=\"weekendWarning()\"\r\n [eventIconClass]=\"eventIconClass()\"\r\n [eventNameBoldClass]=\"eventNameBoldClass()\"\r\n [eventDescriptionClass]=\"eventDescriptionClass()\"\r\n [propertyBadgeClass]=\"propertyBadgeClass()\"\r\n [noEventsTextClass]=\"noEventsTextClass()\"\r\n [warningTextClass]=\"warningTextClass()\"\r\n [dateFormat]=\"dateFormat()\">\r\n </hr-event-item>\r\n\r\n <div [class]=\"viewAllContainerClass()\">\r\n <a [class]=\"viewAllLinkClass()\" (click)=\"showPopup()\">{{ 'ViewAll' | translate }}</a>\r\n </div>\r\n } @else {\r\n <div [class]=\"noEventsTextClass()\">{{ 'NoEvents' | translate }}</div>\r\n }\r\n</div>\r\n\r\n<!-- Popup -->\r\n<hr-upcoming-events-popup\r\n [visible]=\"popupVisible()\"\r\n [events]=\"popupEvents()\"\r\n [hasBirthdays]=\"birthdays().length > 0\"\r\n [hasHolidays]=\"holidays().length > 0\"\r\n [isLoading]=\"false\"\r\n [selectedLanguage]=\"selectedLanguage()\"\r\n [showProperty]=\"showProperty()\"\r\n [weekendWarningDescription]=\"weekendWarning()\"\r\n [popupTitle]=\"'UpcomingEvents' | translate\"\r\n [selectedEventType]=\"selectedPopupEventType()\"\r\n [tabSelectedClass]=\"tabSelectedClass()\"\r\n [tabNotSelectedClass]=\"tabNotSelectedClass()\"\r\n [tabTextSelectedClass]=\"tabTextSelectedClass()\"\r\n [tabTextNotSelectedClass]=\"tabTextNotSelectedClass()\"\r\n [tabContainerClass]=\"tabContainerClass()\"\r\n [tabItemClass]=\"tabItemClass()\"\r\n [tabTextClass]=\"tabTextClass()\"\r\n [tabIconClass]=\"tabIconClass()\"\r\n [eventIconClass]=\"eventIconClass()\"\r\n [eventNameBoldClass]=\"eventNameBoldClass()\"\r\n [eventDescriptionClass]=\"eventDescriptionClass()\"\r\n [propertyBadgeClass]=\"propertyBadgeClass()\"\r\n [noEventsTextClass]=\"noEventsTextClass()\"\r\n [warningTextClass]=\"warningTextClass()\"\r\n [dateFormat]=\"dateFormat()\"\r\n (visibleChange)=\"onPopupVisibleChange($event)\"\r\n (tabSelected)=\"onPopupTabClick($event)\"\r\n (closed)=\"onPopupClose()\">\r\n</hr-upcoming-events-popup>\r\n","import { DecimalPipe } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { HRTranslateService } from './translate.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class HRCommonMethodsService {\r\n\r\n constructor(private readonly translateService: HRTranslateService) {}\r\n\r\n calculateDaysDifference(dateOne: string | Date, dateTwo: string | Date): number {\r\n const resetTime = (inputDate: Date): Date => {\r\n const newDate = new Date(inputDate);\r\n newDate.setHours(0, 0, 0, 0);\r\n return newDate;\r\n };\r\n const firstDate = resetTime(new Date(dateOne));\r\n const secondDate = resetTime(new Date(dateTwo));\r\n return (firstDate.getTime() - secondDate.getTime()) / (1000 * 60 * 60 * 24);\r\n }\r\n\r\n currencyDecimalFormat(\r\n value: number,\r\n currencyDecimalsNumber: number\r\n ): string | null {\r\n const currencyDecimalsString = `1.${currencyDecimalsNumber}-${currencyDecimalsNumber}`;\r\n const languageCode = this.translateService.getLanguage() || 'en';\r\n const decimalPipe = new DecimalPipe(languageCode === 'fr' ? 'fr-FR' : 'en-US');\r\n\r\n if (languageCode === 'fr') {\r\n return decimalPipe.transform(value, currencyDecimalsString, 'fr-FR');\r\n }\r\n\r\n return decimalPipe.transform(value, currencyDecimalsString);\r\n }\r\n}\r\n","import { Component, Input, ViewChild, inject } from '@angular/core';\r\nimport { DxCalendarComponent, DxCalendarModule } from 'devextreme-angular';\r\nimport { ScheduleCalenderVacation, ScheduleVacationTypes, DatePeriod } from '../../types/common';\r\nimport { HRCommonMethodsService } from '../../services/common-methods.service';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faCircle } from '@fortawesome/pro-regular-svg-icons';\r\nimport { HRTranslatePipe } from '../../pipes/translate.pipe';\r\n\r\n@Component({\r\n standalone: true,\r\n selector: 'hr-employee-calendar',\r\n templateUrl: './hr-employee-calendar.component.html',\r\n imports: [DxCalendarModule, HRTranslatePipe, FontAwesomeModule]\r\n})\r\nexport class HREmployeeCalendarComponent {\r\n\r\n @ViewChild('calendar') calendar!: DxCalendarComponent;\r\n @Input() showEvents: boolean = false;\r\n @Input() showUpComingVacations: boolean = false;\r\n @Input() scheduleCalenderVacation: ScheduleCalenderVacation[] = [];\r\n @Input() minDate: Date = new Date();\r\n @Input() maxDate: Date = new Date();\r\n\r\n @Input() legendContainerClass: string = 'row mb-2';\r\n @Input() legendRowClass: string = 'd-flex';\r\n @Input() legendItemClass: string = 'd-flex align-items-center';\r\n @Input() legendDotClass: string = 'me-1 circle-sm';\r\n @Input() legendLabelClass: string = 'me-1 fs-12';\r\n @Input() publicHolidayDotClass: string = 'bg-accent';\r\n @Input() dayOffDotClass: string = 'bg-yellow';\r\n @Input() eventsDotClass: string = 'bg-primary';\r\n @Input() vacationsContainerClass: string = 'd-flex mt-3';\r\n @Input() vacationsItemClass: string = 'd-flex align-items-center';\r\n @Input() vacationsIconClass: string = 'fs-8 me-1';\r\n @Input() calendarContainerClass: string = 'row mt-2 col-12';\r\n @Input() calendarClass: string = 'button-boeder-none';\r\n\r\n squreCheckIcon = faCircle;\r\n DaysOffVacationTypes = ScheduleVacationTypes.DaysOff;\r\n PublicHolidaysVacationTypes = ScheduleVacationTypes.PublicHoliday;\r\n private commonMethods = inject(HRCommonMethodsService);\r\n\r\n customCellTemplate = (cellData: any): string | HTMLElement => {\r\n if (cellData.view != 'month') {\r\n return this.createDateSpan(cellData);\r\n }\r\n\r\n const cellDate = cellData.date;\r\n\r\n let matchedVacation = this.scheduleCalenderVacation.find((vacation) =>\r\n this.isDateInPeriod(cellDate, vacation.VacationDays)\r\n );\r\n\r\n let matchedOffOrPublicHolidayBullet: ScheduleCalenderVacation | undefined = this.scheduleCalenderVacation.find((vacation) =>\r\n this.isDateInPeriod(cellDate, vacation.VacationDays) && vacation.VacationType != ScheduleVacationTypes.Vacations && vacation.VacationType != ScheduleVacationTypes.AddedVacations\r\n );\r\n\r\n if (matchedVacation) {\r\n if (this.commonMethods.calculateDaysDifference(matchedVacation.VacationDays.EndDate, matchedVacation.VacationDays.StartDate) === 0) {\r\n return this.createDateSpan(cellData, matchedVacation, matchedOffOrPublicHolidayBullet, false, false, false);\r\n }\r\n\r\n let isStartRange = this.commonMethods.calculateDaysDifference(cellDate, matchedVacation.VacationDays.StartDate) === 0;\r\n let isEndRange = this.commonMethods.calculateDaysDifference(matchedVacation.VacationDays.EndDate, cellDate) === 0;\r\n\r\n return this.createDateSpan(cellData, matchedVacation, matchedOffOrPublicHolidayBullet, true, isStartRange, isEndRange);\r\n }\r\n\r\n return this.createDateSpan(cellData);\r\n };\r\n\r\n private createDateSpan = (\r\n cellData: any,\r\n matchedVacation: ScheduleCalenderVacation | undefined = undefined,\r\n matchedOffOrPublicHolidayBullet: ScheduleCalenderVacation | undefined = undefined,\r\n isInRange: boolean = false,\r\n isStartRange: boolean = false,\r\n isEndRange: boolean = false) => {\r\n\r\n const offDayOrPublicHolidaySpan = document.createElement('span');\r\n const cellElement = document.createElement('span');\r\n cellElement.textContent = cellData.text;\r\n cellElement.style.backgroundColor = '';\r\n cellElement.style.borderRadius = '15px';\r\n cellElement.style.borderWidth = '0';\r\n cellElement.style.fontSize = '10px';\r\n cellElement.style.margin = '0';\r\n cellElement.style.padding = '0';\r\n cellElement.style.alignContent = 'center';\r\n cellElement.style.position = 'relative';\r\n\r\n if (matchedVacation) {\r\n cellElement.title = matchedVacation.Description;\r\n\r\n if (matchedVacation.VacationType != ScheduleVacationTypes.DaysOff && matchedVacation.VacationType != ScheduleVacationTypes.PublicHoliday && matchedVacation.VacationType != ScheduleVacationTypes.Events) {\r\n if (matchedVacation.Color) {\r\n cellElement.style.backgroundColor = (matchedVacation.Color + '99');\r\n cellElement.style.color = '#FFFFFF';\r\n } else {\r\n cellElement.style.backgroundColor = '#DCDCDC';\r\n cellElement.style.color = '#000000';\r\n }\r\n\r\n if (isInRange) {\r\n cellElement.style.width = '100%';\r\n cellElement.style.alignContent = 'start';\r\n\r\n if (isStartRange) {\r\n cellElement.style.borderEndEndRadius = '0px';\r\n cellElement.style.borderStartEndRadius = '0px';\r\n }\r\n\r\n if (isEndRange) {\r\n cellElement.style.borderStartStartRadius = '0px';\r\n cellElement.style.borderEndStartRadius = '0px';\r\n }\r\n\r\n if (!isStartRange && !isEndRange)\r\n cellElement.style.borderRadius = '0px';\r\n }\r\n }\r\n }\r\n\r\n if (matchedOffOrPublicHolidayBullet) {\r\n offDayOrPublicHolidaySpan.style.width = '8px';\r\n offDayOrPublicHolidaySpan.style.height = '8px';\r\n offDayOrPublicHolidaySpan.className = 'rounded rounded-circle';\r\n offDayOrPublicHolidaySpan.style.position = 'absolute';\r\n offDayOrPublicHolidaySpan.style.opacity = '1';\r\n offDayOrPublicHolidaySpan.style.top = '-5px';\r\n offDayOrPublicHolidaySpan.style.right = '0';\r\n offDayOrPublicHolidaySpan.title = matchedOffOrPublicHolidayBullet.Description;\r\n\r\n if (matchedVacation) {\r\n if (matchedVacation.VacationType != ScheduleVacationTypes.DaysOff && matchedVacation.VacationType != ScheduleVacationTypes.PublicHoliday && matchedVacation.VacationType != ScheduleVacationTypes.Events) {\r\n if (isInRange) {\r\n offDayOrPublicHolidaySpan.style.right = '8px';\r\n }\r\n }\r\n }\r\n\r\n offDayOrPublicHolidaySpan.style.background = matchedOffOrPublicHolidayBullet.Color || '';\r\n offDayOrPublicHolidaySpan.style.marginTop = '2px';\r\n cellElement.appendChild(offDayOrPublicHolidaySpan);\r\n }\r\n\r\n return cellElement;\r\n };\r\n\r\n isDateInPeriod(date: Date, period: DatePeriod) {\r\n if (this.commonMethods.calculateDaysDifference(date, period.StartDate) == 0)\r\n return true;\r\n\r\n if (this.commonMethods.calculateDaysDifference(date, period.EndDate) == 0)\r\n return true;\r\n\r\n let daysDifferenceWithStartDate = this.commonMethods.calculateDaysDifference(date, period.StartDate);\r\n let daysDifferenceWithEndDate = this.commonMethods.calculateDaysDifference(period.EndDate, date);\r\n\r\n if (daysDifferenceWithStartDate < 0 || daysDifferenceWithEndDate < 0)\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n resetCalenderCurrentDate(currentDate: Date = new Date()) {\r\n this.calendar.instance.option('currentDate', currentDate);\r\n }\r\n\r\n preventInteraction(event: any): void {\r\n event.component.option('value', null);\r\n }\r\n}\r\n","<div [class]=\"legendContainerClass\">\r\n <div [class]=\"legendRowClass\">\r\n <div [class]=\"legendItemClass + ' me-4'\">\r\n <div [class]=\"legendDotClass + ' ' + publicHolidayDotClass\"></div>\r\n <div [class]=\"legendLabelClass\"><p>{{'PublicHoliday' | translate}}</p></div>\r\n </div>\r\n <div [class]=\"legendItemClass\">\r\n <div [class]=\"legendDotClass + ' ' + dayOffDotClass\"></div>\r\n <div [class]=\"legendLabelClass\"><p>{{'DayOff' | translate}}</p></div>\r\n </div>\r\n @if(showEvents){\r\n <div [class]=\"legendItemClass + ' ms-4'\">\r\n <div [class]=\"legendDotClass + ' ' + eventsDotClass\"></div>\r\n <div [class]=\"legendLabelClass\"><p>{{'Events' | translate}}</p></div>\r\n </div>\r\n }\r\n </div>\r\n @if(showUpComingVacations){\r\n <div [class]=\"vacationsContainerClass\">\r\n <div [class]=\"vacationsItemClass\">\r\n <fa-icon [icon]=\"squreCheckIcon\" [class]=\"vacationsIconClass\"></fa-icon>\r\n <div [class]=\"legendLabelClass\"><p>{{'ScheduledVacations' | translate}}</p></div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n\r\n <div [class]=\"calendarContainerClass\">\r\n <dx-calendar #calendar [class]=\"calendarClass\" [selectionMode]=\"'multiple'\"\r\n [cellTemplate]=\"customCellTemplate\"\r\n [showWeekNumbers]=\"false\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (onValueChanged)=\"preventInteraction($event)\">\r\n </dx-calendar>\r\n </div>\r\n","import { ChangeDetectionStrategy, Component, OnInit, ViewChild, computed, effect, inject, input, output, signal } from '@angular/core';\r\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\r\nimport { CalendarResponse, ScheduleCalenderVacation, ScheduleRequestsResponse, ScheduleVacationTypes } from '../shared/types/common';\r\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\r\nimport { HRConstantsService } from '../shared/services/constants.service';\r\nimport { HREmployeeCalendarComponent } from '../shared/components/hr-employee-calendar/hr-employee-calendar.component';\r\nimport { faCalendarDays } from '@fortawesome/pro-regular-svg-icons';\r\nimport { HRCardHeaderComponent } from '../shared/components/card-header/card-header.component';\r\nimport moment from 'moment';\r\n\r\n@Component({\r\n standalone: true,\r\n selector: 'hr-my-calendar-widget',\r\n templateUrl: './my-calendar-widget.component.html',\r\n imports: [HREmployeeCalendarComponent, HRCardHeaderComponent, HRTranslatePipe],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyCalendarWidgetComponent implements OnInit {\r\n\r\n readonly baseUrl = input<string>('');\r\n readonly headerContainerClass = input<string>('');\r\n readonly datasource = input<ScheduleRequestsResponse | null>(null);\r\n readonly isLoadingChanged = output<boolean>();\r\n\r\n readonly calendarIcon = faCalendarDays;\r\n\r\n readonly legendContainerClass = input<string>('row mb-2');\r\n readonly legendRowClass = input<string>('d-flex');\r\n readonly legendItemClass = input<string>('d-flex align-items-center');\r\n readonly legendDotClass = input<string>('me-1 circle-sm');\r\n readonly legendLabelClass = input<string>('me-1 fs-12');\r\n readonly publicHolidayDotClass = input<string>('bg-accent');\r\n readonly dayOffDotClass = input<string>('bg-yellow');\r\n readonly eventsDotClass = input<string>('bg-primary');\r\n readonly vacationsContainerClass = input<string>('d-flex mt-3');\r\n readonly vacationsItemClass = input<string>('d-flex align-items-center');\r\n readonly vacationsIconClass = input<string>('fs-8 me-1');\r\n readonly calendarContainerClass = input<string>('row mt-2 col-12');\r\n readonly calendarClass = input<string>('button-boeder-none');\r\n\r\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\r\n private readonly constants = inject(HRConstantsService);\r\n private readonly translatePipe = inject(HRTranslatePipe);\r\n\r\n readonly publicHolidayColor = input<string>(this.constants.defaultPublicHolidayColor);\r\n readonly dayOffColor = input<string>(this.constants.defaultDayOffColor);\r\n readonly eventsColor = input<string>(this.constants.defaultEventsColor);\r\n\r\n @ViewChild(HREmployeeCalendarComponent) hrCalendar!: HREmployeeCalendarComponent;\r\n\r\n readonly minDate: Date;\r\n readonly maxDate: Date;\r\n\r\n private readonly baseCalendarData = signal<ScheduleCalenderVacation[]>([]);\r\n private readonly hrVacations = signal<ScheduleCalenderVacation[]>([]);\r\n private readonly calendarLoaded = signal(false);\r\n\r\n readonly scheduleCalenderVacation = computed<ScheduleCalenderVacation[]>(() => {\r\n if (!this.calendarLoaded()) {\r\n return [];\r\n }\r\n\r\n const pendingVacations: ScheduleCalenderVacation[] = this.datasource()?.PendingVacationRequests?.map(v => ({\r\n VacationType: ScheduleVacationTypes.Vacations,\r\n Description: v.VacationTypeName,\r\n Color: v.Color,\r\n VacationDays: { StartDate: v.StartDate, EndDate: v.EndDate }\r\n })) ?? [];\r\n\r\n const mergedVacations = this.mergeConsecutiveVacations(\r\n [...this.hrVacations(), ...pendingVacations]\r\n .sort((a, b) => new Date(a.VacationDays.StartDate).getTime() - new Date(b.VacationDays.StartDate).getTime())\r\n );\r\n\r\n const events: ScheduleCalenderVacation[] = this.datasource()?.PendingEventRequests?.map(ev => ({\r\n VacationType: ScheduleVacationTypes.Events,\r\n Description: ev.Description,\r\n Color: this.eventsColor(),\r\n VacationDays: { StartDate: ev.StartDate, EndDate: ev.EndDate }\r\n })) ?? [];\r\n\r\n return [...mergedVacations, ...this.baseCalendarData(), ...events];\r\n });\r\n\r\n private readonly refreshCalendarEffect = effect(() => {\r\n if (!this.calendarLoaded()) {\r\n return;\r\n }\r\n\r\n this.scheduleCalenderVacation();\r\n this.refreshCalendar();\r\n });\r\n\r\n constructor() {\r\n const currentDate = moment().date(1).subtract(1, 'month');\r\n this.minDate = new Date(currentDate.year(), currentDate.month(), currentDate.date());\r\n this.maxDate = new Date(this.minDate.getFullYear() + 1, this.minDate.getMonth() + 1, 0);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadCalendar();\r\n }\r\n\r\n private getCalendar(month: number, year: number, monthsCount: number) {\r\n return this.selfWidgetsService.getCalendar(this.baseUrl(), month, year, monthsCount);\r\n }\r\n\r\n private loadCalendar(): void {\r\n const currentDate = moment().date(1).subtract(1, 'month');\r\n const month = currentDate.month() === 0 ? 1 : currentDate.month() + 1;\r\n const year = currentDate.year();\r\n\r\n this.isLoadingChanged.emit(true);\r\n this.getCalendar(month, year, 12).subscribe({\r\n next: (response: any) => {\r\n this.isLoadingChanged.emit(false);\r\n this.mapCalendarData(response.ResponseData as CalendarResponse);\r\n },\r\n error: () => {\r\n this.isLoadingChanged.emit(false);\r\n },\r\n });\r\n }\r\n\r\n private mapCalendarData(data: CalendarResponse): void {\r\n this.baseCalendarData.set([\r\n ...data.PublicHolidays.map(ph => ({\r\n VacationType: ScheduleVacationTypes.PublicHoliday,\r\n Description: ph.Description,\r\n Color: this.publicHolidayColor(),\r\n VacationDays: { StartDate: ph.StartDate, EndDate: ph.EndDate }\r\n })),\r\n ...data.OffDays.map(od => ({\r\n VacationType: ScheduleVacationTypes.DaysOff,\r\n Description: this.translatePipe.transform('DayOff'),\r\n Color: this.dayOffColor(),\r\n VacationDays: { StartDate: od, EndDate: od }\r\n }))\r\n ]);\r\n\r\n this.hrVacations.set((data.Vacations ?? []).map(v => ({\r\n VacationType: ScheduleVacationTypes.Vacations,\r\n Description: v.VacationTypeName,\r\n Color: v.Color,\r\n VacationDays: { StartDate: v.StartDate, EndDate: v.EndDate }\r\n })));\r\n\r\n this.calendarLoaded.set(true);\r\n }\r\n\r\n private refreshCalendar(): void {\r\n setTimeout(() => {\r\n if (this.hrCalendar?.calendar) {\r\n this.hrCalendar.calendar.instance._refresh();\r\n this.hrCalendar.resetCalenderCurrentDate();\r\n }\r\n }, 100);\r\n }\r\n\r\n private mergeConsecutiveVacations(vacations: ScheduleCalenderVacation[]): ScheduleCalenderVacation[] {\r\n if (vacations.length === 0) return [];\r\n\r\n const grouped = new Map<string, ScheduleCalenderVacation[]>();\r\n for (const v of vacations) {\r\n const key = `${v.Description}|${v.Color ?? ''}`;\r\n if (!grouped.has(key)) grouped.set(key, []);\r\n grouped.get(key)!.push(v);\r\n }\r\n\r\n const result: ScheduleCalenderVacation[] = [];\r\n\r\n grouped.forEach((items) => {\r\n items.sort((a, b) => new Date(a.VacationDays.StartDate).getTime() - new Date(b.VacationDays.StartDate).getTime());\r\n\r\n let merged = { ...items[0], VacationDays: { ...items[0].VacationDays } };\r\n\r\n for (let i = 1; i < items.length; i++) {\r\n const current = items[i];\r\n const lastEnd = new Date(merged.VacationDays.EndDate);\r\n const currentStart = new Date(current.VacationDays.StartDate);\r\n const diffDays = (currentStart.getTime() - lastEnd.getTime()) / (1000 * 60 * 60 * 24);\r\n\r\n if (diffDays <= 1) {\r\n const currentEnd = new Date(current.VacationDays.EndDate);\r\n if (currentEnd.getTime() > lastEnd.getTime()) {\r\n merged.VacationDays.EndDate = current.VacationDays.EndDate;\r\n }\r\n } else {\r\n result.push(merged);\r\n merged = { ...current, VacationDays: { ...current.VacationDays } };\r\n }\r\n }\r\n result.push(merged);\r\n });\r\n\r\n return result.sort((a, b) => new Date(a.VacationDays.StartDate).getTime() - new Date(b.VacationDays.StartDate).getTime());\r\n }\r\n}\r\n","<hr-card-header\r\n [icon]=\"calendarIcon\"\r\n [title]=\"'Calendar' | translate\"\r\n [containerClass]=\"'d-flex align-items-center mb-3 ' + headerContainerClass()\">\r\n</hr-card-header>\r\n<hr-employee-calendar\r\n [showEvents]=\"true\"\r\n [showUpComingVacations]=\"true\"\r\n [scheduleCalenderVacation]=\"scheduleCalenderVacation()\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [legendContainerClass]=\"legendContainerClass()\"\r\n [legendRowClass]=\"legendRowClass()\"\r\n [legendItemClass]=\"legendItemClass()\"\r\n [legendDotClass]=\"legendDotClass()\"\r\n [legendLabelClass]=\"legendLabelClass()\"\r\n [publicHolidayDotClass]=\"publicHolidayDotClass()\"\r\n [dayOffDotClass]=\"dayOffDotClass()\"\r\n [eventsDotClass]=\"eventsDotClass()\"\r\n [vacationsContainerClass]=\"vacationsContainerClass()\"\r\n [vacationsItemClass]=\"vacationsItemClass()\"\r\n [vacationsIconClass]=\"vacationsIconClass()\"\r\n [calendarContainerClass]=\"calendarContainerClass()\"\r\n [calendarClass]=\"calendarClass()\">\r\n</hr-employee-calendar>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { HRTranslatePipe } from '../../pipes/translate.pipe';\r\n\r\n@Component({\r\n selector: 'hr-info-field',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe],\r\n templateUrl: './info-field.component.html'\r\n})\r\nexport class HRInfoFieldComponent {\r\n @Input({ required: true }) labelKey!: string;\r\n @Input() value: string | null | undefined = null;\r\n @Input() labelClass: string = 'field-secondary-label-sm';\r\n @Input() valueClass: string = 'fs-14 fw-medium';\r\n @Input() fallbackValue: string = '—';\r\n}\r\n","<div [ngClass]=\"labelClass\">{{labelKey | translate}}</div>\r\n<div [ngClass]=\"valueClass\" [title]=\"value|| fallbackValue\">{{value || fallbackValue}}</div>\r\n","import { ChangeDetectionStrategy, Component, OnInit, computed, inject, input, output, signal } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { faMoneyCheckDollarPen } from '@fortawesome/pro-light-svg-icons';\r\nimport { MyBankInfo } from '../../shared/types/common';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRCommonMethodsService } from '../../shared/services/common-methods.service';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-bank-info-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent],\r\n templateUrl: './my-profile-bank-info-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileBankInfoWidgetComponent implements OnInit {\r\n readonly isLoading = signal(true);\r\n\r\n private readonly commonMethodsService = inject(HRCommonMethodsService);\r\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n this.isLoadingChanged.emit(true);\r\n this.hrSelfWidgetsService.getBankInformation(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n this.isLoading.set(false);\r\n this.employeeBankInformation.set(response ?? []);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.employeeBankInformation.set([]);\r\n this.isLoadingChanged.emit(false);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n }\r\n});\r\n }\r\n readonly employeeBankInformation = signal<MyBankInfo[]>([]);\r\n readonly currencyCode = input<string>('');\r\n readonly currencyDecimals = input<number>(2);\r\n\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n\r\n readonly cardClass = input<string>('mt-4 card-shadow position-relative');\r\n readonly mainBadgeClass = input<string>('position-absolute text-center top-0 mt-3 start-0 bg-primary status-badge');\r\n readonly mainBadgeTextClass = input<string>('mx-1 fs-12 text-white');\r\n readonly triangleClass = input<string>('position-absolute start-0 top-0');\r\n readonly rowClass = input<string>('row px-4 pb-3');\r\n readonly rowMainPtClass = input<string>('pt-5');\r\n readonly rowNormalPtClass = input<string>('pt-3');\r\n readonly columnClass = input<string>('col-md-4 col-6');\r\n readonly responsiveTopSpacingColClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\r\n readonly topSpacingColClass = input<string>('col-md-4 col-6 mt-4');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('table-cell-md text-ellipsis-one-line');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly bankInformationIcon = input(faMoneyCheckDollarPen);\r\n readonly sectionHeaderVisibility = input(true);\r\n readonly sectionTitle = input('BankInformation');\r\n readonly language = input('en');\r\n readonly baseUrl = input.required<string>();\r\n\r\n readonly errorOccurred = output<string>();\r\n\r\n readonly isRTL = computed(() => this.language() === 'ar');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n\r\n formatAmount(value: number | null | undefined): string {\r\n if (value == null) {\r\n return '-';\r\n }\r\n return this.commonMethodsService.currencyDecimalFormat(value, this.currencyDecimals()) || '-';\r\n }\r\n}\r\n","@if(sectionHeaderVisibility()){\r\n<sky-section-divider [fontAwesomeIcon]=\"bankInformationIcon()\"\r\n [text]=\"(sectionTitle() | translate|uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n}\r\n@if(employeeBankInformation().length > 0){\r\n@for (bankInfo of employeeBankInformation(); track bankInfo){\r\n<div [class]=\"cardClass()\">\r\n @if(bankInfo.IsMainBank && employeeBankInformation().length > 1){\r\n <div [class]=\"mainBadgeClass()\"\r\n style=\"padding-top: 2px\"\r\n [style.margin-left]=\"!isRTL() ? '-6px' : 'unset'\">\r\n <span [class]=\"mainBadgeTextClass()\">{{'MainBank' | translate}}</span>\r\n </div>\r\n\r\n <div [class]=\"triangleClass()\"\r\n [style.margin-left]=\"!isRTL() ? '-6px' : 'unset'\"\r\n [style.margin-right]=\"isRTL() ? '-5px' : '20px'\"\r\n [style.margin-top]=\"!isRTL() ? '7px' : '4px'\">\r\n <svg viewBox=\"4 2 16 16\" class=\"status-badge-triangle\" fill=\"#e67e0f\">\r\n <path d=\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"></path>\r\n </svg>\r\n </div>\r\n }\r\n\r\n <div [ngClass]=\"[rowClass(), bankInfo.IsMainBank ? rowMainPtClass() : rowNormalPtClass()]\">\r\n <div [class]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'Bank'\"\r\n [value]=\"bankInfo.BankName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'Branch'\"\r\n [value]=\"bankInfo.BranchName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"responsiveTopSpacingColClass()\">\r\n <hr-info-field [labelKey]=\"'IBAN'\"\r\n [value]=\"bankInfo.IBAN\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColClass()\">\r\n <hr-info-field [labelKey]=\"'AccountNumber'\"\r\n [value]=\"bankInfo.AccountNumber\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColClass()\">\r\n <hr-info-field [labelKey]=\"'Beneficiary'\"\r\n [value]=\"bankInfo.Beneficiary\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n @if(bankInfo.TransferAmount != null){\r\n <div [class]=\"topSpacingColClass()\">\r\n <hr-info-field [labelKey]=\"'TransferAmount'\"\r\n [value]=\"formatAmount(bankInfo.TransferAmount) + ' (' + currencyCode() + ')'\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n}\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoBankYet' | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { faMemoCircleInfo } from '@fortawesome/pro-light-svg-icons';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { PersonalInfoMainDetails } from '../../shared/types/common';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-personal-info-main-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent],\r\n templateUrl: './my-profile-personal-info-main-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ProfilePersonalInfoMainWidgetComponent implements OnInit {\r\n\r\n readonly employeePersonalInformation = signal<PersonalInfoMainDetails | null>(null);\r\n readonly isLoading = signal(true);\r\n readonly baseUrl = input.required<string>();\r\n readonly alternateLanguage = input<string>('English');\r\n\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n\r\n readonly rowClass = input<string>('row mt-4');\r\n readonly columnClass = input<string>('col-md-4 col-6');\r\n readonly hiddenSpacerColClass = input<string>('col-md-4 col-6 d-md-block d-none');\r\n readonly topSpacingColumnClass = input<string>('col-md-4 col-6 mt-4');\r\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\r\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly mainIcon = input(faMemoCircleInfo);\r\n readonly sectionTitle = input('main');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.hrSelfWidgetsService.getPersonalInfoMainDetails(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n this.employeePersonalInformation.set(response);\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n this.employeePersonalInformation.set(null);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n\r\n }\r\n });\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"mainIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@if(employeePersonalInformation()){\r\n<div [ngClass]=\"rowClass()\">\r\n <div [ngClass]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'Name'\"\r\n [value]=\"employeePersonalInformation()!.EmployeeName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass()\">\r\n <div [ngClass]=\"labelClass()\">{{'Name' | translate}} ({{alternateLanguage()}})</div>\r\n @if(employeePersonalInformation()!.EmployeeNameAlternate){\r\n <div [ngClass]=\"valueClass()\">{{employeePersonalInformation()!.EmployeeNameAlternate}}</div>\r\n }@else{\r\n <div [ngClass]=\"valueClass()\">{{'—'}}</div>\r\n }\r\n </div>\r\n\r\n <div [ngClass]=\"hiddenSpacerColClass()\"></div>\r\n\r\n <div [ngClass]=\"topSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'Nationality'\"\r\n [value]=\"employeePersonalInformation()!.NationalityName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'NationalNumber'\"\r\n [value]=\"employeePersonalInformation()!.NationalNumber\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'SocialSecurityNumber'\"\r\n [value]=\"employeePersonalInformation()!.SocialSecurityNumber\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'MaritalStatus'\"\r\n [value]=\"employeePersonalInformation()!.MaritalStateName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'BirthDate'\"\r\n [value]=\"employeePersonalInformation()!.BirthDate ? (employeePersonalInformation()!.BirthDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'BirthPlace'\"\r\n [value]=\"employeePersonalInformation()!.BirthPlace\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'BloodType'\"\r\n [value]=\"employeePersonalInformation()!.BloodTypeCode\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'Religion'\"\r\n [value]=\"employeePersonalInformation()!.ReligionName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'MinistryOfLaborNumber'\"\r\n [value]=\"employeePersonalInformation()!.MinistryOfLaborNumber\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n </div>\r\n\r\n}\r\n@else {\r\n <sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoMainYet' | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faBolt, faPhone } from '@fortawesome/pro-light-svg-icons';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { PersonalInfoContactDetails } from '../../shared/types/common';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-contact-widget',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent],\r\n templateUrl: './my-profile-contact-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileContactWidgetComponent implements OnInit {\r\n readonly employeePersonalInfoContactDetails = signal<PersonalInfoContactDetails | null>(null);\r\n readonly isLoading = signal(true);\r\n readonly baseUrl = input.required<string>();\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('row mt-4');\r\n readonly columnClass = input<string>('col-4');\r\n readonly responsiveTopSpacingColumnClass = input<string>('col-6 mt-4');\r\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\r\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\r\n readonly emergencyContactLabelClass = input<string>('fs-14 fw-semibold');\r\n readonly emergencyContactColumnClass = input<string>('col-md-4 col-6');\r\n readonly emergencyContactResponsiveColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly contactIcon = input(faPhone);\r\n readonly emergencyContactIcon = input(faBolt);\r\n readonly sectionTitle = input('contact');\r\n readonly showEmergencyContact = input(true);\r\n readonly emergencyContactRowClass = input('row mt-3 mb-4');\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.hrSelfWidgetsService.getPersonalInfoContactDetails(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n this.employeePersonalInfoContactDetails.set(response);\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n this.employeePersonalInfoContactDetails.set(null);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n\r\n }\r\n });\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"contactIcon()\"\r\n [text]=\"(sectionTitle() | translate|uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@if(employeePersonalInfoContactDetails()){\r\n<div [ngClass]=\"rowClass()\">\r\n <div [ngClass]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'MobileNumber'\"\r\n [value]=\"employeePersonalInfoContactDetails()!.MobileNumber\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n <div class=\"mt-4\">\r\n <hr-info-field [labelKey]=\"'Email'\"\r\n [value]=\"employeePersonalInfoContactDetails()!.Email\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'HomePhone'\"\r\n [value]=\"employeePersonalInfoContactDetails()!.HomePhone\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n <div class=\"mt-4\">\r\n <hr-info-field [labelKey]=\"'BusinessEmail'\"\r\n [value]=\"employeePersonalInfoContactDetails()!.BusinessEmail\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n </div>\r\n</div>\r\n@if(showEmergencyContact())\r\n{\r\n<div [ngClass]=\"rowClass()\">\r\n <div class=\"col-12\">\r\n <div [ngClass]=\"emergencyContactLabelClass()\">\r\n • {{'EmergencyContact' | translate}}\r\n </div>\r\n </div>\r\n</div>\r\n<div [ngClass]=\"emergencyContactRowClass()\">\r\n <div [ngClass]=\"emergencyContactColumnClass()\">\r\n <hr-info-field [labelKey]=\"'Name'\"\r\n [value]=\"employeePersonalInfoContactDetails()!.EmergencyContact?.Name || employeePersonalInfoContactDetails()!.EmergencyContactLegacy\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"emergencyContactColumnClass()\">\r\n <hr-info-field [labelKey]=\"'Relation'\"\r\n [value]=\"employeePersonalInfoContactDetails()!.EmergencyContact?.Relation\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"emergencyContactResponsiveColumnClass()\">\r\n <hr-info-field [labelKey]=\"'Phone'\"\r\n [value]=\"employeePersonalInfoContactDetails()!.EmergencyContact?.PhoneNumber\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}\r\n}@else{\r\n<sky-empty-design-card [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoContactYet' | translate)\">\r\n</sky-empty-design-card>\r\n}","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { faLanguage } from '@fortawesome/pro-light-svg-icons';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-languages-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent],\r\n templateUrl: './my-profile-languages-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileLanguagesWidgetComponent implements OnInit {\r\n readonly languages = signal<string[] | null>(null);\r\n readonly isLoading = signal(true);\r\n readonly baseUrl = input<string>('');\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly contentTextClass = input<string>('text-dark-gray fs-14 fw-medium mt-4');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n readonly hasDataChange = output<boolean>();\r\n\r\n readonly languagesIcon = input(faLanguage);\r\n readonly sectionTitle = input('languages');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n this.emitHasData();\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.hrSelfWidgetsService.getPersonalInfoLanguages(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n this.languages.set(response ?? []);\r\n this.emitHasData();\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.languages.set([]);\r\n this.emitHasData();\r\n this.isLoadingChanged.emit(false);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n\r\n }\r\n });\r\n }\r\n\r\n private emitHasData(): void {\r\n this.hasDataChange.emit((this.languages()?.length ?? 0) > 0);\r\n }\r\n\r\n getLanguages(): string {\r\n return this.languages()?.join(', ') || '-';\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"languagesIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@if((languages()?.length ?? 0) > 0){\r\n<div [ngClass]=\"contentTextClass()\">\r\n {{getLanguages()}}\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoLanguagesYet' | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { faEarthAfrica } from '@fortawesome/pro-light-svg-icons';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-other-nationalities-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent],\r\n templateUrl: './my-profile-other-nationalities-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileOtherNationalitiesWidgetComponent implements OnInit {\r\n readonly personalInfo = signal<string[] | null>(null);\r\n readonly isLoading = signal(true);\r\n readonly baseUrl = input.required<string>();\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly contentTextClass = input<string>('text-dark-gray fs-14 fw-medium mt-4');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n readonly emptyStateTextKey = input<string>('ThereIsNoOtherNationalitiesYet');\r\n readonly hasDataChange = output<boolean>();\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n readonly otherNationalitiesIcon = input(faEarthAfrica);\r\n readonly sectionTitle = input('otherNationalities');\r\n\r\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n this.emitHasData();\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.hrSelfWidgetsService.getPersonalInfoOtherNationalities(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n this.personalInfo.set(response ?? []);\r\n this.emitHasData();\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n this.personalInfo.set([]);\r\n this.emitHasData();\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n\r\n }\r\n });\r\n }\r\n\r\n private emitHasData(): void {\r\n this.hasDataChange.emit((this.personalInfo()?.length ?? 0) > 0);\r\n }\r\n\r\n getOtherNationalities(): string {\r\n return this.personalInfo()?.join(', ') || '-';\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"otherNationalitiesIcon()\"\r\n [text]=\"( sectionTitle() | translate |uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@if((personalInfo()?.length ?? 0) > 0){\r\n<div [ngClass]=\"contentTextClass()\">\r\n {{getOtherNationalities()}}\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : (emptyStateTextKey() | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { faHouse } from '@fortawesome/pro-light-svg-icons';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { PersonalInfoAddressDetails } from '../../shared/types/common';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-address-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent],\r\n templateUrl: './my-profile-address-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileAddressWidgetComponent implements OnInit {\r\n readonly personalInfoAddressDetails = signal<PersonalInfoAddressDetails | null>(null);\r\n readonly isLoading = signal(true);\r\n readonly baseUrl = input.required<string>();\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('row mt-4');\r\n readonly columnClass = input<string>('col-md-4 col-6');\r\n readonly responsiveTopSpacingColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\r\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly addressIcon = input(faHouse);\r\n readonly sectionTitle = input('address');\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.hrSelfWidgetsService.getPersonalInfoAddressDetails(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n this.personalInfoAddressDetails.set(response);\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n this.personalInfoAddressDetails.set(null);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n\r\n }\r\n });\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"addressIcon()\"\r\n [text]=\"( sectionTitle() | translate | uppercase )\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@if(personalInfoAddressDetails()){\r\n<div [ngClass]=\"rowClass()\">\r\n <div [ngClass]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'Address'\"\r\n [value]=\"personalInfoAddressDetails()!.Address\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'City'\"\r\n [value]=\"personalInfoAddressDetails()!.City\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'P.OBox'\"\r\n [value]=\"personalInfoAddressDetails()!.POBox\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'PostalCode'\"\r\n [value]=\"personalInfoAddressDetails()!.PostalCode\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoAddressYet' | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { faFileSignature } from '@fortawesome/pro-light-svg-icons';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { JobInformationMain } from '../../shared/types/common';\r\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-job-info-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent],\r\n templateUrl: './my-profile-job-info-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileJobInfoWidgetComponent implements OnInit {\r\n readonly jobInformationMain = signal<JobInformationMain | null>(null);\r\n readonly isLoading = signal(true);\r\n\r\n readonly baseUrl = input.required<string>();\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('row mt-4');\r\n readonly columnClass = input<string>('col-md-4 col-6');\r\n readonly responsiveTopSpacingColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\r\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\r\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly mainIcon = input(faFileSignature);\r\n readonly sectionTitle = input('JobInformation');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.hrSelfWidgetsService.getJobInformationMain(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n this.isLoading.set(false);\r\n this.jobInformationMain.set(response);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.jobInformationMain.set(null);\r\n this.isLoadingChanged.emit(false);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n }\r\n });\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"mainIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@if(jobInformationMain()){\r\n<div [ngClass]=\"rowClass()\">\r\n <div [ngClass]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'AdminUnit'\"\r\n [value]=\"jobInformationMain()!.AdminUnitName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'Position'\"\r\n [value]=\"jobInformationMain()!.PositionName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'Grade'\"\r\n [value]=\"jobInformationMain()!.GradeName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'JoiningDate'\"\r\n [value]=\"jobInformationMain()!.JoiningDate ? (jobInformationMain()!.JoiningDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'CorporateJoiningDate'\"\r\n [value]=\"jobInformationMain()!.CorporateJoiningDate ? (jobInformationMain()!.CorporateJoiningDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'Sponsor'\"\r\n [value]=\"jobInformationMain()!.SponsorName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoJobMainYet' | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { faFileSignature } from '@fortawesome/pro-light-svg-icons';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { JobInformationContract } from '../../shared/types/common';\r\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-contract-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent],\r\n templateUrl: './my-profile-contract-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileContractWidgetComponent implements OnInit {\r\n readonly jobInformationContract = signal<JobInformationContract | null>(null);\r\n readonly isLoading = signal(true);\r\n\r\n readonly baseUrl = input.required<string>();\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('row mt-4');\r\n readonly columnClass = input<string>('col-md-4 col-6');\r\n readonly responsiveTopSpacingColumnClass = input<string>('col-md-4 col-6 mt-md-0 mt-4');\r\n readonly topSpacingBottomMdSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-md-5');\r\n readonly topSpacingBottomSpacingColumnClass = input<string>('col-md-4 col-6 mt-4 mb-5');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly contractIcon = input(faFileSignature);\r\n readonly sectionTitle = input('Contract');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.hrSelfWidgetsService.getJobInformationContract(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n this.isLoading.set(false);\r\n this.jobInformationContract.set(response);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.jobInformationContract.set(null);\r\n this.isLoadingChanged.emit(false);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n }\r\n });\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"contractIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@if(jobInformationContract()){\r\n<div [ngClass]=\"rowClass()\">\r\n <div [ngClass]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'ContractType'\"\r\n [value]=\"jobInformationContract()!.ContractTypeName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass()\">\r\n <hr-info-field [labelKey]=\"'ContractStartDate'\"\r\n [value]=\"jobInformationContract()!.ContractStartDate ? (jobInformationContract()!.ContractStartDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'ContractEndDate'\"\r\n [value]=\"jobInformationContract()!.ContractEndDate ? (jobInformationContract()!.ContractEndDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'ContractMaritalStatus'\"\r\n [value]=\"jobInformationContract()!.ContractMaritalStateName\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass()\">\r\n <hr-info-field [labelKey]=\"'ContractDependentsCount'\"\r\n [value]=\"jobInformationContract()!.ContractDependentsCount?.toString()\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoJobContractYet' | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { faSackDollar } from '@fortawesome/pro-light-svg-icons';\r\nimport { SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { HRCommonMethodsService } from '../../shared/services/common-methods.service';\r\nimport { Allowances, JobInformationSalary } from '../../shared/types/common';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-salary-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent],\r\n templateUrl: './my-profile-salary-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileSalaryWidgetComponent implements OnInit {\r\n readonly jobInformationSalary = signal<JobInformationSalary | null>(null);\r\n readonly isLoading = signal(true);\r\n\r\n readonly baseUrl = input.required<string>();\r\n readonly currencyCode = input<string>('');\r\n readonly currencyDecimals = input<number>(2);\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('row mt-4');\r\n readonly columnClass = input<string>('col-md-4 col-6 mt-4');\r\n readonly grossSalaryColumnClass = input<string>('col-md-4 col-6 my-4');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\r\n readonly currencyClass = input<string>('fs-10 text-secondary fw-light');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly salaryIcon = input(faSackDollar);\r\n readonly sectionTitle = input('Salary');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n\r\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\r\n private readonly commonMethodsService = inject(HRCommonMethodsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.hrSelfWidgetsService.getJobInformationSalary(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n this.isLoading.set(false);\r\n this.jobInformationSalary.set(response);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.jobInformationSalary.set(null);\r\n this.isLoadingChanged.emit(false);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n }\r\n });\r\n }\r\n\r\n get basicSalary(): number | null {\r\n return this.jobInformationSalary()?.BasicSalary ?? this.jobInformationSalary()?.CurrentBasicSalary ?? null;\r\n }\r\n\r\n get allowances(): Allowances[] {\r\n return this.jobInformationSalary()?.Allowances ?? [];\r\n }\r\n\r\n formatAmount(value: number | null | undefined): string {\r\n if (value == null) {\r\n return '�';\r\n }\r\n\r\n return this.commonMethodsService.currencyDecimalFormat(value, this.currencyDecimals()) || '�';\r\n }\r\n}\r\n","@if(jobInformationSalary()){\r\n<sky-section-divider [fontAwesomeIcon]=\"salaryIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n<div [ngClass]=\"rowClass()\">\r\n <div [ngClass]=\"columnClass()\">\r\n <div [ngClass]=\"labelClass()\">{{'BasicSalary' | translate}}</div>\r\n <div [ngClass]=\"valueClass()\">{{formatAmount(basicSalary)}} <span [ngClass]=\"currencyClass()\">{{currencyCode()}}</span></div>\r\n </div>\r\n\r\n @for(allowance of allowances; track allowance){\r\n <div [ngClass]=\"columnClass()\">\r\n <div [ngClass]=\"labelClass()\">{{allowance.AllowanceName}}</div>\r\n <div [ngClass]=\"valueClass()\">{{formatAmount(allowance.AllowanceAmount)}} <span [ngClass]=\"currencyClass()\">{{currencyCode()}}</span></div>\r\n </div>\r\n }\r\n\r\n <div [ngClass]=\"grossSalaryColumnClass()\">\r\n <div [ngClass]=\"labelClass()\">{{'GrossSalary' | translate}}</div>\r\n <div [ngClass]=\"valueClass()\">{{formatAmount(jobInformationSalary()!.GrossSalary)}} <span [ngClass]=\"currencyClass()\">{{currencyCode()}}</span></div>\r\n </div>\r\n</div>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { faEnvelopeOpenDollar } from '@fortawesome/pro-light-svg-icons';\r\nimport { SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { HRCommonMethodsService } from '../../shared/services/common-methods.service';\r\nimport { JobInformationServiceCharge, ServiceChargeEntitlementMode } from '../../shared/types/common';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-charge-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent],\r\n templateUrl: './my-profile-service-charge-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileServiceChargeWidgetComponent implements OnInit {\r\n readonly jobInformationServiceCharge = signal<JobInformationServiceCharge | null>(null);\r\n readonly isLoading = signal(true);\r\n\r\n readonly baseUrl = input.required<string>();\r\n readonly currencyCode = input<string>('');\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('row mt-4 mb-5');\r\n readonly columnClass = input<string>('col-md-4 col-6');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('fs-14 fw-medium text-ellipsis-one-line');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly serviceChargeIcon = input(faEnvelopeOpenDollar);\r\n readonly sectionTitle = input('ServiceCharge');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n private readonly hrSelfWidgetsService = inject(HRSelfWidgetsService);\r\n private readonly commonMethodsService = inject(HRCommonMethodsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.hrSelfWidgetsService.getJobInformationServiceCharge(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n this.isLoading.set(false);\r\n this.jobInformationServiceCharge.set(response);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.jobInformationServiceCharge.set(null);\r\n this.isLoadingChanged.emit(false);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n }\r\n });\r\n }\r\n\r\n get modeLabelKey(): string {\r\n const mode = this.jobInformationServiceCharge()?.ServiceChargeEntitlementMode as unknown as string;\r\n\r\n switch (ServiceChargeEntitlementMode[mode as keyof typeof ServiceChargeEntitlementMode]) {\r\n case ServiceChargeEntitlementMode.Points:\r\n return 'Points';\r\n case ServiceChargeEntitlementMode.SalaryRatio:\r\n return 'SalaryRatio';\r\n case ServiceChargeEntitlementMode.FixedAmount:\r\n return 'FixedAmount';\r\n case ServiceChargeEntitlementMode.FixedRate:\r\n return 'FixedRate';\r\n default:\r\n return 'ServiceCharge';\r\n }\r\n}\r\n\r\n get value(): string {\r\n const data = this.jobInformationServiceCharge;\r\n const current = this.jobInformationServiceCharge();\r\n if (!current || current.ServiceChargeValue == null) {\r\n return '—';\r\n }\r\n\r\n if (\r\n ServiceChargeEntitlementMode[current.ServiceChargeEntitlementMode as unknown as keyof typeof ServiceChargeEntitlementMode] ===\r\n ServiceChargeEntitlementMode.FixedAmount\r\n ) {\r\n return `${this.commonMethodsService.currencyDecimalFormat(current.ServiceChargeValue, 4)} (${this.currencyCode()})`;\r\n }\r\n\r\n return this.commonMethodsService.currencyDecimalFormat(current.ServiceChargeValue, 2) || '—';\r\n}\r\n\r\n}\r\n","@if(jobInformationServiceCharge()){\r\n<sky-section-divider [fontAwesomeIcon]=\"serviceChargeIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n<div [ngClass]=\"rowClass()\">\r\n <div [ngClass]=\"columnClass()\">\r\n <div [ngClass]=\"labelClass()\">{{modeLabelKey | translate}}</div>\r\n <div [ngClass]=\"valueClass()\">{{value}}</div>\r\n </div>\r\n</div>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\r\nimport { DxDataGridComponent, DxDataGridModule, DxPopupModule, DxTextBoxModule } from 'devextreme-angular';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faXmark } from '@fortawesome/pro-light-svg-icons';\r\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport CustomStore from 'devextreme/data/custom_store';\r\nimport { lastValueFrom } from 'rxjs';\r\nimport { VacationPopupType } from '../../../shared/types/common';\r\nimport { HighlightPipe } from '@skysoftware-co/sky-components-ui';\r\n\r\n@Component({\r\n selector: 'hr-next-week-vacation-insights-popup',\r\n standalone: true,\r\n imports: [DxPopupModule, HRTranslatePipe, CommonModule, FontAwesomeModule,\r\n DxDataGridModule, BayanEmployeeBadgeComponent, DxTextBoxModule, HighlightPipe],\r\n templateUrl: './next-week-vacation-insights-popup.component.html'\r\n})\r\nexport class HRNextWeekVacationInsightsPopupComponent implements OnChanges {\r\n @ViewChild(DxDataGridComponent, { static: false }) dataGrid!: DxDataGridComponent;\r\n\r\n @Input() popupVisible: boolean = false;\r\n @Input() popupType: VacationPopupType = VacationPopupType.Upcoming;\r\n @Input() baseUrl: string = '';\r\n @Input() width = '700px';\r\n @Input() height = '480px';\r\n @Input() gridHeight = '320px';\r\n @Input() pageSize = 20;\r\n @Input() showProperty: boolean = false;\r\n\r\n @Output() closePopupClickHandler = new EventEmitter();\r\n\r\n popupTitle: string = '';\r\n popupSubTitle: string = '';\r\n keyExpr = 'EmployeeNumber';\r\n VacationPopupType = VacationPopupType;\r\n dataSource: CustomStore | null = null;\r\n xMarkIcon = faXmark;\r\n searchValue = '';\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['popupVisible']?.currentValue === true) {\r\n this.initDataSource();\r\n }\r\n }\r\n\r\n private initDataSource(): void {\r\n this.dataSource = new CustomStore({\r\n key: this.keyExpr,\r\n load: (loadOptions) => {\r\n const skip = loadOptions.skip ?? 0;\r\n const pageIndex = Math.floor(skip / this.pageSize) + 1;\r\n\r\n let params = new HttpParams()\r\n .set('ShowDirectSubordinatesOnly', 'false')\r\n .set('LoadOptions.PageIndex', pageIndex.toString())\r\n .set('LoadOptions.PageSize', this.pageSize.toString());\r\n\r\n if (this.searchValue) {\r\n params = params.set('LoadOptions.SearchValue', this.searchValue);\r\n }\r\n\r\n return lastValueFrom(this.http.get<any>(this.baseUrl, { params }))\r\n .then((response: any) => {\r\n const items = response.ResponseData?.Data ?? [];\r\n const totalCount = response.ResponseData?.TotalCount ?? 0;\r\n return { data: items, totalCount };\r\n });\r\n }\r\n });\r\n }\r\n\r\n onSearchValueChanged(e: any): void {\r\n this.searchValue = e.value ?? '';\r\n this.initDataSource();\r\n }\r\n\r\n getPopupTitle(): string {\r\n return this.popupSubTitle || (this.popupType === VacationPopupType.Upcoming ? 'UpcomingVacations' : 'ExpectedToReturn');\r\n }\r\n\r\n onPopupClose() {\r\n this.searchValue = '';\r\n this.dataSource = null!;\r\n this.closePopupClickHandler.emit();\r\n }\r\n\r\n onHidden() {\r\n this.onPopupClose();\r\n }\r\n\r\n getEmployeeBadge(item: any): BayanEmployeeBadgeDTO {\r\n return {\r\n EmployeePhotoKey: item.PhotoPath || null,\r\n EmployeePhotoFailed: item.FailedToLoadPhoto || false,\r\n EmployeeNameInitials: item.EmployeeNameInitials || ''\r\n };\r\n }\r\n\r\n handleEmployeePhotoError(employee: any) {\r\n employee.FailedToLoadPhoto = true;\r\n }\r\n}\r\n","<dx-popup [visible]=\"popupVisible\"\r\n [height]=\"height\"\r\n [minHeight]=\"'40%'\"\r\n [maxHeight]=\"'70%'\"\r\n [width]=\"width\"\r\n contentTemplate=\"popup-content\"\r\n [showCloseButton]=\"false\"\r\n shadingColor=\"rgba(0,0,0,0.4)\"\r\n titleTemplate=\"title\"\r\n [showTitle]=\"true\"\r\n (onHidden)=\"onHidden()\">\r\n\r\n <div *dxTemplate=\"let data of 'title'\">\r\n <div class=\"d-flex justify-content-between align-items-center my-0\">\r\n <p class=\"fs-16 fw-meduim text-ellipsis-one-line\">\r\n <span class=\"text-dark-gray\">{{popupTitle ? (popupTitle | translate) : ('NextWeekVacationInsights' | translate)}}</span>\r\n <span class=\"mx-2 text-primary\">({{getPopupTitle() | translate}})</span>\r\n </p>\r\n <div class=\"py-2\" (click)=\"onPopupClose()\">\r\n <fa-icon [icon]=\"xMarkIcon\" class=\"fs-18 text-dark-gray cursor-pointer\"></fa-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *dxTemplate=\"let d of 'popup-content'\">\r\n <div class=\"mb-2 d-flex justify-content-end\">\r\n <dx-text-box [width]=\"'250px'\"\r\n mode=\"search\"\r\n [value]=\"searchValue\"\r\n [placeholder]=\"'Search...' | translate\"\r\n (onValueChanged)=\"onSearchValueChanged($event)\">\r\n </dx-text-box>\r\n </div>\r\n @if(dataSource){\r\n <dx-data-grid class=\"popup-data-grid\"\r\n [dataSource]=\"dataSource\"\r\n [showBorders]=\"false\"\r\n [showRowLines]=\"false\"\r\n [showColumnLines]=\"false\"\r\n [columnAutoWidth]=\"true\"\r\n [wordWrapEnabled]=\"true\"\r\n [height]=\"gridHeight\"\r\n [allowColumnReordering]=\"false\"\r\n [remoteOperations]=\"{paging: true}\">\r\n\r\n <dxo-data-grid-sorting mode=\"none\"></dxo-data-grid-sorting>\r\n\r\n <dxo-data-grid-scrolling mode=\"infinite\"\r\n [useNative]=\"false\"\r\n [scrollByContent]=\"true\"\r\n [scrollByThumb]=\"true\"\r\n showScrollbar=\"always\">\r\n </dxo-data-grid-scrolling>\r\n\r\n <dxo-data-grid-paging [enabled]=\"true\" [pageSize]=\"pageSize\"></dxo-data-grid-paging>\r\n\r\n <dxi-data-grid-column caption=\"{{'Employee' | translate}}\"\r\n dataField=\"EmployeeName\"\r\n cellTemplate=\"employeeCellTemplate\"\r\n [minWidth]=\"250\">\r\n </dxi-data-grid-column>\r\n\r\n @if(popupType === VacationPopupType.Upcoming){\r\n <dxi-data-grid-column caption=\"{{'StartDate' | translate}}\"\r\n dataField=\"VacationStartDate\"\r\n dataType=\"date\"\r\n format=\"dd/MM/yyyy\"\r\n [width]=\"120\"\r\n alignment=\"left\">\r\n </dxi-data-grid-column>\r\n <dxi-data-grid-column caption=\"{{'EndDate' | translate}}\"\r\n dataField=\"VacationEndDate\"\r\n dataType=\"date\"\r\n format=\"dd/MM/yyyy\"\r\n [width]=\"120\"\r\n alignment=\"left\">\r\n </dxi-data-grid-column>\r\n }@else{\r\n <dxi-data-grid-column caption=\"{{'ReturnDate' | translate}}\"\r\n dataField=\"ReturnDate\"\r\n dataType=\"date\"\r\n format=\"dd/MM/yyyy\"\r\n [width]=\"120\"\r\n alignment=\"left\">\r\n </dxi-data-grid-column>\r\n }\r\n\r\n <div *dxTemplate=\"let cell of 'employeeCellTemplate'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bayan-employee-badge\r\n [badge]=\"getEmployeeBadge(cell.data)\"\r\n badgeClass=\"badge employee-rounded-badge-xl fs-6\"\r\n imageClass=\"rounded-circle\"\r\n [width]=\"'40px'\"\r\n [height]=\"'40px'\"\r\n (employeePhotoError)=\"handleEmployeePhotoError(cell.data)\">\r\n </bayan-employee-badge>\r\n <div class=\"d-flex flex-column ms-1\">\r\n <div class=\"d-flex flex-row ms-2\">\r\n @if(showProperty){\r\n <span class=\"property-badge cursor-pointer me-1\" [title]=\"cell.data.PropertyName\" [innerHTML]=\"cell.data.PropertySymbol\"></span>\r\n }\r\n <span class=\"text-ellipsis-one-line fs-14 text-dark-gray fw-normal\"\r\n [title]=\"cell.data.EmployeeNumber + ' | ' + cell.data.EmployeeName\"\r\n [innerHTML]=\"(cell.data.EmployeeNumber + ' | ' + cell.data.EmployeeName) | highlight:searchValue\">\r\n </span>\r\n </div>\r\n <p class=\"ms-2 mt-1 text-ellipsis-one-line fs-12 text-dark-gray fw-normal mb-0\"\r\n [innerHTML]=\"cell.data.EmployeeAdminUnitName | highlight:searchValue\">\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </dx-data-grid>\r\n }\r\n </div>\r\n</dx-popup>\r\n","import { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { HRTranslatePipe } from '../shared/pipes/translate.pipe';\r\nimport { SkyWidgetSectionItemComponent, SkyWidgetSectionItem } from '@skysoftware-co/sky-components-ui';\r\nimport { faPlaneDeparture, faPlaneArrival } from '@fortawesome/pro-solid-svg-icons';\r\nimport { HRSelfWidgetsService } from '../services/hr-self-widgets.service';\r\nimport { HRNextWeekVacationInsightsPopupComponent } from './components/next-week-vacation-insights-popup/next-week-vacation-insights-popup.component';\r\nimport { VacationPopupType } from '../shared/types/common';\r\n\r\n@Component({\r\n selector: 'hr-my-next-week-vacation-insights-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, FontAwesomeModule, SkyWidgetSectionItemComponent, HRNextWeekVacationInsightsPopupComponent],\r\n providers: [HRTranslatePipe],\r\n templateUrl: './my-next-week-vacation-insights-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyNextWeekVacationInsightsWidgetComponent implements OnInit {\r\n\r\n readonly baseUrl = input<string>('');\r\n readonly showProperty = input<boolean>(false);\r\n readonly cardClass = input<string>('card rounded rounded-4 card-shadow border-top-0 h-100 p-4');\r\n readonly titleClass = input<string>('table-header-lg fw-meduim mb-3 mt-2');\r\n readonly valueClass = input<string>('fs-24 mt-1 link-dark hover-primary text-decoration-none');\r\n readonly disabledValueClass = input<string>('fs-24 mt-1 text-muted pe-none text-decoration-none');\r\n readonly upcomingContainerClass = input<string>('border-start border-5 mb-4');\r\n readonly expectedContainerClass = input<string>('border-start border-5');\r\n readonly firstRowClass = input<string>('mb-4');\r\n readonly secondRowClass = input<string>('mt-3');\r\n readonly isLoadingChanged = output<boolean>();\r\n\r\n readonly popupVisible = signal(false);\r\n readonly popupType = signal<VacationPopupType>(VacationPopupType.Upcoming);\r\n readonly popupBaseUrl = signal('');\r\n VacationPopupType = VacationPopupType;\r\n\r\n readonly upcomingVacationsBadge = signal<SkyWidgetSectionItem>({\r\n Id: 1,\r\n Title: '',\r\n Value: 0,\r\n Icon: faPlaneDeparture\r\n });\r\n readonly expectedToReturnBadge = signal<SkyWidgetSectionItem>({\r\n Id: 2,\r\n Title: '',\r\n Value: 0,\r\n Icon: faPlaneArrival\r\n });\r\n\r\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\r\n private readonly translatePipe = inject(HRTranslatePipe);\r\n\r\n ngOnInit(): void {\r\n this.initBadges(0, 0);\r\n this.loadVacationSummary();\r\n }\r\n\r\n private loadVacationSummary(): void {\r\n this.isLoadingChanged.emit(true);\r\n this.selfWidgetsService.getVacationSummary(this.baseUrl()).subscribe({\r\n next: (response) => {\r\n const data = response.ResponseData;\r\n this.initBadges(data.UpcomingVacationsCount, data.ExpectedToReturnCount);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: () => {\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n\r\n openPopup(type: VacationPopupType): void {\r\n if (type === VacationPopupType.Upcoming && this.upcomingVacationsBadge()?.Value === 0) return;\r\n if (type === VacationPopupType.ExpectedToReturn && this.expectedToReturnBadge()?.Value === 0) return;\r\n\r\n this.popupType.set(type);\r\n if (type === VacationPopupType.Upcoming) {\r\n this.popupBaseUrl.set(`${this.baseUrl()}/hr/widgets/me/team/next-week-vacation-insights/upcoming-vacations`);\r\n } else {\r\n this.popupBaseUrl.set(`${this.baseUrl()}/hr/widgets/me/team/next-week-vacation-insights/expected-to-return`);\r\n }\r\n this.popupVisible.set(true);\r\n }\r\n\r\n closePopup(): void {\r\n this.popupVisible.set(false);\r\n }\r\n\r\n private initBadges(upcomingVacations: number, expectedToReturn: number): void {\r\n this.upcomingVacationsBadge.set({\r\n Id: 1,\r\n Title: this.translatePipe.transform('UpcomingVacations'),\r\n Value: upcomingVacations,\r\n Icon: faPlaneDeparture\r\n });\r\n this.expectedToReturnBadge.set({\r\n Id: 2,\r\n Title: this.translatePipe.transform('ExpectedToReturn'),\r\n Value: expectedToReturn,\r\n Icon: faPlaneArrival\r\n });\r\n }\r\n}\r\n","<div [class]=\"cardClass()\">\r\n <div class=\"card-body d-flex flex-column p-0 mb-3\">\r\n <div [class]=\"titleClass()\">\r\n {{'NextWeekVacationInsights' | translate | uppercase}}\r\n </div>\r\n <div class=\"d-flex flex-column mt-3\">\r\n <div [ngClass]=\"firstRowClass()\">\r\n <sky-widget-section-item\r\n [data]=\"upcomingVacationsBadge()\"\r\n [containerClass]=\"upcomingContainerClass()\"\r\n [valueClass]=\"upcomingVacationsBadge().Value === 0 ? disabledValueClass() : valueClass()\"\r\n [ngClass]=\"{'pe-none': upcomingVacationsBadge().Value === 0}\"\r\n (OnWidgetSectionClick)=\"openPopup(VacationPopupType.Upcoming)\">\r\n </sky-widget-section-item>\r\n </div>\r\n <div [ngClass]=\"secondRowClass()\">\r\n <sky-widget-section-item\r\n [data]=\"expectedToReturnBadge()\"\r\n [containerClass]=\"expectedContainerClass()\"\r\n [valueClass]=\"expectedToReturnBadge().Value === 0 ? disabledValueClass() : valueClass()\"\r\n [ngClass]=\"{'pe-none': expectedToReturnBadge().Value === 0}\"\r\n (OnWidgetSectionClick)=\"openPopup(VacationPopupType.ExpectedToReturn)\">\r\n </sky-widget-section-item>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<hr-next-week-vacation-insights-popup\r\n [popupVisible]=\"popupVisible()\"\r\n [popupType]=\"popupType()\"\r\n [baseUrl]=\"popupBaseUrl()\"\r\n [showProperty]=\"showProperty()\"\r\n (closePopupClickHandler)=\"closePopup()\">\r\n</hr-next-week-vacation-insights-popup>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\r\nimport { faUsersRays, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { Experience } from '../../shared/types/common';\r\n\r\n\r\n@Component({\r\n selector: 'hr-my-profile-experiences-widget',\r\n standalone: true,\r\n imports: [CommonModule, SkySectionDividerComponent,\r\n HRTranslatePipe, SkyEmptyDesignCardComponent, FontAwesomeModule],\r\n templateUrl: './my-profile-experiences-widget-component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileExperiencesWidgetComponent implements OnInit {\r\n\r\n readonly experiences = signal<Experience[]>([]);\r\n readonly isLoading = signal(true);\r\n\r\n readonly baseUrl = input<string>('');\r\n readonly sectionTitle = input<string>('experiences');\r\n\r\n readonly viewIcon = input<IconDefinition>(faEye);\r\n readonly downloadIcon = input(faFolderArrowDown);\r\n readonly experienceIcon = input(faUsersRays);\r\n\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('mt-4');\r\n readonly headerRowClass = input<string>('row col-10');\r\n readonly actionsSpacerClass = input<string>('col-2');\r\n readonly labelClass = input<string>('field-secondary-label-sm text-ellipsis-one-line');\r\n readonly valueClass = input<string>('text-dark-gray fs-14 text-ellipsis-one-line');\r\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\r\n readonly downloadIconClass = input<string>('fs-15 mx-3 text-dark cursor-pointer');\r\n\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly itemRowClass = input<string>('row');\r\n readonly itemColumnsWrapperClass = input<string>('row col-10 mt-3');\r\n readonly itemColumnClass = input<string>('col-3');\r\n readonly actionsColumnClass = input<string>('col-2 align-items-end mt-3');\r\n\r\n readonly rowMarginBottomClass = input<string>('mb-5');\r\n readonly rowMarginBottomEmptyClass = input<string>('mb-4');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly attachmentViewed = output<any>();\r\n readonly attachmentDownloaded = output<any>();\r\n readonly errorOccurred = output<string>();\r\n\r\n private readonly service = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.service.getEmployeeExperiences(this.baseUrl()).subscribe({\r\n next: (res) => {\r\n this.experiences.set(res ?? []);\r\n this.isLoading.set(false);\r\n\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.experiences.set([]);\r\n this.isLoading.set(false);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n\r\n onAttachmentView(file: any) {\r\n this.attachmentViewed.emit(file);\r\n }\r\n\r\n onAttachmentDownload(file: any) {\r\n this.attachmentDownloaded.emit(file);\r\n }\r\n\r\n get wrapperClass(): string {\r\n const classes = [this.rowClass()];\r\n if (this.experiences().length > 0) {\r\n classes.push(this.rowMarginBottomClass());\r\n } else {\r\n classes.push(this.rowMarginBottomEmptyClass());\r\n }\r\n return classes.join(' ');\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"experienceIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n<div [class]=\"wrapperClass\">\r\n\r\n @if(experiences().length > 0){\r\n\r\n <div class=\"row\">\r\n <div [class]=\"headerRowClass()\">\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"labelClass()\">{{'Period' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"labelClass()\">{{'Employer' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"labelClass()\">{{'Position' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"labelClass()\">{{'TerminationReason' | translate}}</p>\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"actionsSpacerClass()\"></div>\r\n\r\n @for (experience of experiences(); track experience){\r\n <div [class]=\"itemColumnsWrapperClass()\">\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"valueClass()\" [title]=\"(experience.StartDate | date:'dd/MM/yyyy') + ' - ' + (experience.EndDate | date:'dd/MM/yyyy')\">{{(experience.StartDate | date:'dd/MM/yyyy') + ' - ' + (experience.EndDate | date:'dd/MM/yyyy')}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"valueClass()\" [title]=\"experience.Employer ? experience.Employer : ''\">\r\n @if(experience.Employer){\r\n {{experience.Employer}}\r\n }@else{\r\n {{'—'}}\r\n }\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"valueClass()\" [title]=\"experience.Position ? experience.Position : ''\">\r\n @if(experience.Position){\r\n {{experience.Position}}\r\n }@else{\r\n {{'—'}}\r\n }\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"valueClass()\" [title]=\"experience.TerminationReason ? experience.TerminationReason : ''\">\r\n @if(experience.TerminationReason){\r\n {{experience.TerminationReason}}\r\n }@else{\r\n {{'—'}}\r\n }\r\n </p>\r\n </div>\r\n </div>\r\n\r\n @if(experience.Document){\r\n <div [class]=\"actionsColumnClass()\">\r\n <fa-icon [icon]=\"viewIcon()\" [class]=\"viewIconClass()\" (click)=\"onAttachmentView(experience.Document)\"></fa-icon>\r\n <fa-icon [icon]=\"downloadIcon()\" [class]=\"downloadIconClass()\" (click)=\"onAttachmentDownload(experience.Document)\"></fa-icon>\r\n </div>\r\n }\r\n\r\n }\r\n\r\n </div>\r\n }@else{\r\n\r\n <sky-empty-design-card [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoExperiencesYet' | translate)\">\r\n</sky-empty-design-card>\r\n\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { faFileCertificate, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\r\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { Degree } from '../../shared/types/common';\r\n\r\n\r\n@Component({\r\n selector: 'hr-my-profile-degrees-widget',\r\n standalone: true,\r\n imports: [CommonModule, SkySectionDividerComponent, HRTranslatePipe, SkyEmptyDesignCardComponent, FontAwesomeModule],\r\n templateUrl: './my-profile-degrees-widget-component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileDegreesWidgetComponent implements OnInit {\r\n\r\n readonly degrees = signal<Degree[]>([]);\r\n readonly isLoading = signal(true);\r\n\r\n readonly baseUrl = input<string>('');\r\n readonly sectionTitle = input<string>('Degrees');\r\n\r\n readonly degreesIcon = input(faFileCertificate);\r\n readonly viewIcon = input<IconDefinition>(faEye);\r\n readonly downloadIcon = input(faFolderArrowDown);\r\n\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('mt-4');\r\n readonly rowMarginBottomClass = input<string>('mb-5');\r\n readonly rowMarginBottomEmptyClass = input<string>('mb-4');\r\n readonly headerRowClass = input<string>('row col-10');\r\n readonly actionsSpacerClass = input<string>('col-2');\r\n readonly labelClass = input<string>('field-secondary-label-sm text-ellipsis-one-line');\r\n readonly valueClass = input<string>('text-dark-gray fs-14 text-ellipsis-one-line');\r\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\r\n readonly downloadIconClass = input<string>('fs-15 mx-3 text-dark cursor-pointer');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly itemRowClass = input<string>('row');\r\n readonly itemColumnsWrapperClass = input<string>('row col-10 mt-3');\r\n readonly itemColumnClass = input<string>('col-3');\r\n readonly actionsColumnClass = input<string>('col-2 align-items-end mt-3');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly attachmentViewed = output<any>();\r\n readonly attachmentDownloaded = output<any>();\r\n readonly errorOccurred = output<string>();\r\n private readonly service = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.service.getEmployeeDegrees(this.baseUrl()).subscribe({\r\n next: (res) => {\r\n this.degrees.set(res ?? []);\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.degrees.set([]);\r\n this.isLoading.set(false);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n\r\n get wrapperClass(): string {\r\n const classes = [this.rowClass()];\r\n if (this.degrees().length > 0) {\r\n classes.push(this.rowMarginBottomClass());\r\n } else {\r\n classes.push(this.rowMarginBottomEmptyClass());\r\n }\r\n return classes.join(' ');\r\n }\r\n\r\n onAttachmentView(file: any) {\r\n this.attachmentViewed.emit(file);\r\n }\r\n\r\n onAttachmentDownload(file: any) {\r\n this.attachmentDownloaded.emit(file);\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"degreesIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n<div [class]=\"wrapperClass\">\r\n\r\n @if(degrees().length > 0){\r\n\r\n <div class=\"row\">\r\n <div [class]=\"headerRowClass()\">\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"labelClass()\">{{'Degree/Year' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"labelClass()\">{{'Country' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"labelClass()\">{{'Specialty' | translate}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"labelClass()\">{{'Institute' | translate}}</p>\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"actionsSpacerClass()\"></div>\r\n\r\n @for (qualification of degrees(); track qualification){\r\n <div [class]=\"itemColumnsWrapperClass()\">\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"valueClass()\" [title]=\"qualification.DegreeName + ' / ' + qualification.DegreeYear\">{{qualification.DegreeName + ' / ' + qualification.DegreeYear}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"valueClass()\" [title]=\"qualification.CountryName ? qualification.CountryName : ''\">{{qualification.CountryName}}</p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"valueClass()\" [title]=\"qualification.Specialty ? qualification.Specialty : ''\">\r\n @if(qualification.Specialty){\r\n {{qualification.Specialty}}\r\n }@else{\r\n {{'—'}}\r\n }\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass()\">\r\n <p [class]=\"valueClass()\" [title]=\"qualification.Institute ? qualification.Institute : ''\">\r\n @if(qualification.Institute){\r\n {{qualification.Institute}}\r\n }@else{\r\n {{'—'}}\r\n }\r\n </p>\r\n </div>\r\n </div>\r\n\r\n @if(qualification.Document){\r\n <div [class]=\"actionsColumnClass()\">\r\n <fa-icon [icon]=\"viewIcon()\" [class]=\"viewIconClass()\" (click)=\"onAttachmentView(qualification.Document)\"></fa-icon>\r\n <fa-icon [icon]=\"downloadIcon()\" [class]=\"downloadIconClass()\" (click)=\"onAttachmentDownload(qualification.Document)\"></fa-icon>\r\n </div>\r\n }\r\n }\r\n </div>\r\n }@else{\r\n\r\n <sky-empty-design-card [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereIsNoDegreesYet' | translate)\">\r\n</sky-empty-design-card>\r\n\r\n }\r\n\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hr-widget-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './widget-card-component.html',\r\n})\r\nexport class WidgetCardComponent {\r\n @Input() cardClass: string = 'bg-white shadow-sm p-3 border-1 border';\r\n @Input() height: number = 110;\r\n\r\n @Input() contentTemplate!: TemplateRef<any>;\r\n @Input() context: any;\r\n}\r\n","<div [class]=\"cardClass\" [style.height.px]=\"height\" style=\"overflow: hidden;\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: context\">\r\n </ng-container>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { Dependent } from '../../shared/types/common';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { WidgetCardComponent } from '../../shared/components/widget-card/widget-card-component';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { faUsersLine } from '@fortawesome/pro-light-svg-icons';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-dependents-widget',\r\n standalone: true,\r\n imports: [CommonModule, WidgetCardComponent, HRTranslatePipe, SkyEmptyDesignCardComponent, SkySectionDividerComponent],\r\n templateUrl: './my-profile-employee-dependents-component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyDependentsWidgetComponent implements OnInit {\r\n\r\n readonly baseUrl = input<string>('');\r\n readonly sectionTitle = input<string>('Dependents');\r\n readonly icon = input(faUsersLine);\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly dependents = signal<Dependent[]>([]);\r\n readonly isLoading = signal(true);\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n\r\n private readonly service = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.service.getEmployeeDependents(this.baseUrl()).subscribe({\r\n next: (res) => {\r\n this.dependents.set(res ?? []);\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: () => {\r\n this.dependents.set([]);\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"icon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n<div class=\"mt-4\">\r\n <div class=\"row mb-5\">\r\n @if(dependents().length){\r\n @for(d of dependents(); track d){\r\n <div class=\"col-lg-4 col-6 mt-4\">\r\n\r\n <hr-widget-card [contentTemplate]=\"dependentTemplate\"\r\n [context]=\"{ d: d }\"\r\n [height]=\"110\">\r\n </hr-widget-card>\r\n\r\n </div>\r\n }\r\n }\r\n @else {\r\n\r\n <sky-empty-design-card [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereAreNoDependentsYet' | translate)\">\r\n </sky-empty-design-card>\r\n\r\n\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #dependentTemplate let-d=\"d\">\r\n <p class=\"text-dark fs-16 mb-2 d-flex\">\r\n <span class=\"text-truncate cursor-pointer\" [title]=\"d.DependentName\">\r\n {{ d.DependentName }}\r\n </span>\r\n <span class=\"mx-1\">({{ d.DependentTypeName }})</span>\r\n </p>\r\n <p class=\"mb-2 fs-12\">\r\n <span class=\"text-muted\">{{'BirthDate'| translate}}: </span>\r\n <span class=\"text-secondary mx-1\">{{ d.BirthDate | date:'dd/MM/yyyy' }}</span>\r\n </p>\r\n <p class=\"mb-0 fs-12\">\r\n <span class=\"text-muted\">{{'NationalNumber'| translate }}: </span>\r\n @if(d.NationalNumber){\r\n <span class=\"text-secondary mx-1\">{{ d.NationalNumber }}</span>\r\n } @else {\r\n <span class=\"text-secondary mx-1\">—</span>\r\n }\r\n </p>\r\n</ng-template>\r\n\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { faIslandTropical } from '@fortawesome/pro-light-svg-icons';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { EntitlementsVacation } from '../../shared/types/common';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-vacations-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent],\r\n templateUrl: './my-profile-vacations-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileVacationsWidgetComponent implements OnInit {\r\n readonly baseUrl = input.required<string>();\r\n readonly sectionTitle = input<string>('Vacations');\r\n readonly vacationsIcon = input(faIslandTropical);\r\n\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('row mt-4');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('fs-14 fw-meduim mt-2');\r\n readonly labelColumnClass = input<string>('col-6');\r\n readonly valueColumnClass = input<string>('col-6');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n readonly vacationEntitlements = signal<EntitlementsVacation[]>([]);\r\n readonly isLoading = signal(true);\r\n\r\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n this.loadData();\r\n }\r\n\r\n private loadData(): void {\r\n this.isLoadingChanged.emit(true);\r\n this.selfWidgetsService.getEntitlementsVacations(this.baseUrl()).subscribe({\r\n next: (data) => {\r\n this.vacationEntitlements.set(data ?? []);\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.vacationEntitlements.set([]);\r\n this.isLoading.set(false);\r\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"vacationsIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@if(vacationEntitlements().length > 0){\r\n<div [class]=\"rowClass()\">\r\n <div [class]=\"labelClass()\" [ngClass]=\"labelColumnClass()\">{{'Type' | translate}}</div>\r\n <div [class]=\"labelClass()\" [ngClass]=\"valueColumnClass()\">{{'Entitlement' | translate}}</div>\r\n @for (vacationEntitlement of vacationEntitlements(); track vacationEntitlement;){\r\n <div [class]=\"valueClass()\" [ngClass]=\"labelColumnClass()\">\r\n {{vacationEntitlement.VacationTypeName}}\r\n </div>\r\n <div [class]=\"valueClass()\" [ngClass]=\"valueColumnClass()\">\r\n {{vacationEntitlement.EntitlementDays}}\r\n </div>\r\n }\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('There\\'sNoInformationInThisSectionYet' | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { faFileSignature } from '@fortawesome/pro-light-svg-icons';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\r\nimport { EntitlementsIndemnity } from '../../shared/types/common';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-indemnity-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent],\r\n templateUrl: './my-profile-indemnity-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileIndemnityWidgetComponent implements OnInit {\r\n readonly baseUrl = input.required<string>();\r\n readonly currencyCode = input<string>('');\r\n readonly currencyDecimals = input<number>(0);\r\n readonly sectionTitle = input<string>('Indemnity');\r\n readonly indemnityIcon = input(faFileSignature);\r\n\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('row mt-4');\r\n readonly columnClass = input<string>('col-6');\r\n readonly topSpacingColumnClass = input<string>('col-6 mt-4');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('fs-14 fw-meduim');\r\n readonly dateFormat = input<string>('dd/MM/yyyy');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n readonly hasDataChanged = output<boolean>();\r\n\r\n readonly indemnityDetails = signal<EntitlementsIndemnity | null>(null);\r\n readonly isLoading = signal(true);\r\n\r\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n this.loadData();\r\n }\r\n\r\n private loadData(): void {\r\n this.isLoadingChanged.emit(true);\r\n this.selfWidgetsService.getEntitlementsIndemnity(this.baseUrl()).subscribe({\r\n next: (data) => {\r\n this.indemnityDetails.set(data);\r\n this.isLoading.set(false);\r\n this.hasDataChanged.emit(!!this.indemnityDetails());\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.indemnityDetails.set(null);\r\n this.isLoading.set(false);\r\n this.hasDataChanged.emit(false);\r\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"indemnityIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@if(indemnityDetails()){\r\n<div [class]=\"rowClass()\">\r\n <div [class]=\"columnClass()\">\r\n <hr-info-field labelKey=\"IndemnityEligibility\"\r\n [value]=\"(indemnityDetails()!.IsEligibleForIndemnity ? 'Eligible' : 'NotEligible') | translate\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [class]=\"columnClass()\">\r\n <hr-info-field labelKey=\"ServiceYears\"\r\n [value]=\"'' + (indemnityDetails()!.IndemnityServiceYears ?? '')\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColumnClass()\">\r\n <hr-info-field labelKey=\"StartDate\"\r\n [value]=\"indemnityDetails()!.IndemnityStartDate | date: dateFormat()\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('There\\'sNoInformationInThisSectionYet' | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\r\nimport { WidgetCardComponent } from '../../../../shared/components/widget-card/widget-card-component';\r\n\r\n@Component({\r\n selector: 'hr-ticket-card',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, WidgetCardComponent],\r\n templateUrl: './ticket-card.component.html'\r\n})\r\nexport class HRTicketCardComponent {\r\n @Input({ required: true }) name: string | null = '';\r\n @Input() typeName: string | null = '';\r\n @Input() entitlementText: string = '';\r\n @Input() ticketClassName: string | null = '';\r\n @Input() ticketSectorName: string | null = '';\r\n @Input() isDependent: boolean = false;\r\n\r\n @Input() cardClass: string = 'p-3 card-shadow border border-1 h-100 rounded rounded-2';\r\n @Input() cardHeight: number = 135;\r\n @Input() nameClass: string = 'text-dark fs-16';\r\n @Input() subtitleClass: string = 'field-secondary-label-sm mb-3';\r\n @Input() labelClass: string = 'text-secondary';\r\n @Input() valueClass: string = 'text-dark-gray mx-1';\r\n}\r\n","<hr-widget-card [cardClass]=\"cardClass\" [height]=\"cardHeight\" [contentTemplate]=\"cardContent\">\r\n</hr-widget-card>\r\n\r\n<ng-template #cardContent>\r\n <p [class]=\"nameClass\" [ngClass]=\"isDependent ? 'd-flex' : ''\">\r\n @if(isDependent){\r\n <span class=\"text-ellipsis-one-line cursor-pointer\" [title]=\"name\">{{name}}</span>\r\n <span class=\"mx-1\">({{typeName}})</span>\r\n }@else{\r\n {{name}} ({{'Me' | translate}})\r\n }\r\n </p>\r\n <p [class]=\"subtitleClass\">{{entitlementText}}</p>\r\n @if(!isDependent){\r\n <p class=\"fs-12 mb-2\"><span [class]=\"labelClass\">{{'Class' | translate}}:</span> <span [class]=\"valueClass\">{{ticketClassName}}</span></p>\r\n <p class=\"fs-12\"><span [class]=\"labelClass\">{{'Sector' | translate}}:</span> <span [class]=\"valueClass\">{{ticketSectorName}}</span></p>\r\n }\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { faTicketsAirline } from '@fortawesome/pro-light-svg-icons';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRTicketCardComponent } from './components/ticket-card/ticket-card.component';\r\nimport { EntitlementsTicket } from '../../shared/types/common';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-ticket-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRTicketCardComponent],\r\n providers: [HRTranslatePipe],\r\n templateUrl: './my-profile-ticket-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileTicketWidgetComponent implements OnInit {\r\n readonly baseUrl = input.required<string>();\r\n readonly sectionTitle = input<string>('Tickets');\r\n readonly ticketsIcon = input(faTicketsAirline);\r\n\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n readonly columnClass = input<string>('col-lg-4 col-6 mt-4');\r\n readonly cardHeight = input<number>(135);\r\n readonly cardClass = input<string>('p-3 card-shadow border border-1 h-100 rounded rounded-2');\r\n readonly nameClass = input<string>('text-dark fs-16');\r\n readonly subtitleClass = input<string>('field-secondary-label-sm mb-3');\r\n readonly labelClass = input<string>('fs-12 text-secondary');\r\n readonly valueClass = input<string>('fs-12 text-dark-gray mx-1');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n readonly ticketDetails = signal<EntitlementsTicket | null>(null);\r\n readonly isLoading = signal(true);\r\n readonly hasData = signal(true);\r\n\r\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\r\n private readonly translatePipe = inject(HRTranslatePipe);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n this.loadData();\r\n }\r\n\r\n private loadData(): void {\r\n this.isLoadingChanged.emit(true);\r\n this.selfWidgetsService.getEntitlementsTicket(this.baseUrl()).subscribe({\r\n next: (data) => {\r\n this.ticketDetails.set(data);\r\n this.isLoading.set(false);\r\n const details = this.ticketDetails();\r\n this.hasData.set(!!details?.EmployeeTicketDetails || (details?.DependentTicketDetails?.length ?? 0) > 0);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.ticketDetails.set(null);\r\n this.isLoading.set(false);\r\n this.hasData.set(false);\r\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n\r\n getMonthsPerTicketEntitlement(monthsPerTicketEntitlement: number | null): string {\r\n if (monthsPerTicketEntitlement != null && monthsPerTicketEntitlement != 0) {\r\n if (monthsPerTicketEntitlement > 1) {\r\n const template = this.translatePipe.transform('TicketEvery{{value}}Months');\r\n return template.replace('{{value}}', String(monthsPerTicketEntitlement));\r\n } else {\r\n const template = this.translatePipe.transform('TicketEvery{{value}}Month');\r\n return template.replace('{{value}}', String(monthsPerTicketEntitlement));\r\n }\r\n } else\r\n return this.translatePipe.transform('NotEntitled');\r\n }\r\n}\r\n","@if(hasData()){\r\n<sky-section-divider [fontAwesomeIcon]=\"ticketsIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@let details = ticketDetails();\r\n@if(details){\r\n@let employeeDetails = details.EmployeeTicketDetails;\r\n@if(!employeeDetails && details.DependentTicketDetails?.length == 0){\r\n<sky-empty-design-card [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"'NoTicketEntitlement' | translate\">\r\n</sky-empty-design-card>\r\n}@else{\r\n<div class=\"row mb-5\">\r\n @if(employeeDetails){\r\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\r\n <hr-ticket-card [name]=\"employeeDetails.EmployeeFirstName\"\r\n [entitlementText]=\"getMonthsPerTicketEntitlement(employeeDetails.MonthsPerTicketEntitlement)\"\r\n [ticketClassName]=\"employeeDetails.TicketClassName\"\r\n [ticketSectorName]=\"employeeDetails.TicketSectorName\"\r\n [cardClass]=\"cardClass()\"\r\n [cardHeight]=\"cardHeight()\"\r\n [nameClass]=\"nameClass()\"\r\n [subtitleClass]=\"subtitleClass()\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-ticket-card>\r\n </div>\r\n }\r\n @for (dependent of details.DependentTicketDetails ?? []; track dependent;){\r\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\r\n <hr-ticket-card [name]=\"dependent.DependentName\"\r\n [typeName]=\"dependent.DependentTypeName\"\r\n [entitlementText]=\"getMonthsPerTicketEntitlement(dependent.MonthsPerTicketEntitlement)\"\r\n [isDependent]=\"true\"\r\n [cardClass]=\"cardClass()\"\r\n [cardHeight]=\"cardHeight()\"\r\n [nameClass]=\"nameClass()\"\r\n [subtitleClass]=\"subtitleClass()\">\r\n </hr-ticket-card>\r\n </div>\r\n }\r\n</div>\r\n}\r\n}@else{\r\n<sky-empty-design-card [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('NoTicketEntitlement' | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\r\nimport { WidgetCardComponent } from '../../../../shared/components/widget-card/widget-card-component';\r\n\r\nexport interface MedicalInsuranceField {\r\n labelKey: string;\r\n value: any;\r\n fallbackValue?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'hr-medical-insurance-card',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, WidgetCardComponent],\r\n templateUrl: './medical-insurance-card.component.html'\r\n})\r\nexport class HRMedicalInsuranceCardComponent {\r\n @Input({ required: true }) name: string | null = '';\r\n @Input() typeName: string | null = '';\r\n @Input() isDependent: boolean = false;\r\n @Input() fields: MedicalInsuranceField[] = [];\r\n\r\n @Input() cardClass: string = 'p-3 card-shadow h-100 border border-1 rounded rounded-2';\r\n @Input() cardHeight: number = 185;\r\n @Input() nameClass: string = 'text-dark fs-16 mb-2';\r\n @Input() labelClass: string = 'field-secondary-label-sm';\r\n @Input() valueClass: string = 'text-dark-gray mx-1';\r\n}\r\n","<hr-widget-card [cardClass]=\"cardClass\" [height]=\"cardHeight\" [contentTemplate]=\"cardContent\">\r\n</hr-widget-card>\r\n\r\n<ng-template #cardContent>\r\n <p [class]=\"nameClass\" [ngClass]=\"isDependent ? 'd-flex' : ''\">\r\n @if(isDependent){\r\n <span class=\"text-ellipsis-one-line cursor-pointer\" [title]=\"name\">{{name}}</span>\r\n <span class=\"mx-1\">({{typeName}})</span>\r\n }@else{\r\n {{name}} ({{'Me' | translate}})\r\n }\r\n </p>\r\n @for (field of fields; track field.labelKey; let last = $last){\r\n <p [class.mb-2]=\"!last\">\r\n <span [class]=\"labelClass\">{{field.labelKey | translate}}:</span>\r\n <span [class]=\"valueClass\">{{field.value || (field.fallbackValue ?? '—')}}</span>\r\n </p>\r\n }\r\n</ng-template>\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { faNotesMedical } from '@fortawesome/pro-light-svg-icons';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRMedicalInsuranceCardComponent, MedicalInsuranceField } from './components/medical-insurance-card/medical-insurance-card.component';\r\nimport { EntitlementsMedicalInsurance, DependentsMedicalInsurance } from '../../shared/types/common';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-medical-insurance-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRMedicalInsuranceCardComponent],\r\n templateUrl: './my-profile-medical-insurance-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileMedicalInsuranceWidgetComponent implements OnInit {\r\n readonly baseUrl = input.required<string>();\r\n readonly sectionTitle = input<string>('MedicalInsurance');\r\n readonly medicalInsuranceIcon = input(faNotesMedical);\r\n\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('text-dark-gray mx-1');\r\n readonly columnClass = input<string>('col-lg-4 col-6 mt-4');\r\n readonly cardHeight = input<number>(185);\r\n readonly cardClass = input<string>('p-3 card-shadow h-100 border border-1 rounded rounded-2');\r\n readonly nameClass = input<string>('text-dark fs-16 mb-2');\r\n readonly dateFormat = input<string>('dd/MM/yyyy');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n readonly medicalInsuranceDetails = signal<EntitlementsMedicalInsurance | null>(null);\r\n readonly isLoading = signal(true);\r\n readonly employeeFields = signal<MedicalInsuranceField[]>([]);\r\n\r\n private datePipe = new DatePipe('en-US');\r\n\r\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n this.loadData();\r\n }\r\n\r\n private loadData(): void {\r\n this.isLoadingChanged.emit(true);\r\n this.selfWidgetsService.getEntitlementsMedicalInsurance(this.baseUrl()).subscribe({\r\n next: (data) => {\r\n this.medicalInsuranceDetails.set(data);\r\n this.buildEmployeeFields();\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.medicalInsuranceDetails.set(null);\r\n this.isLoading.set(false);\r\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n\r\n private buildEmployeeFields(): void {\r\n const details = this.medicalInsuranceDetails();\r\n if (!details?.EmployeeMedicalInsurance) return;\r\n const emp = details.EmployeeMedicalInsurance;\r\n this.employeeFields.set([\r\n { labelKey: 'Class', value: emp.MedicalInsuranceClassName },\r\n { labelKey: 'Number', value: emp.MedicalInsuranceNumber },\r\n { labelKey: 'CoverageDate', value: this.datePipe.transform(emp.CoverageDate, this.dateFormat()) },\r\n { labelKey: 'TotalEmployeeShare', value: details.TotalEmployeeShare },\r\n { labelKey: 'TotalEmployerShare', value: details.TotalEmployerShare }\r\n ]);\r\n }\r\n\r\n getDependentFields(dependent: DependentsMedicalInsurance): MedicalInsuranceField[] {\r\n return [\r\n { labelKey: 'Class', value: dependent.MedicalInsuranceClassName },\r\n { labelKey: 'Number', value: dependent.MedicalInsuranceNumber },\r\n { labelKey: 'CoverageDate', value: this.datePipe.transform(dependent.CoverageDate, this.dateFormat()) }\r\n ];\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"medicalInsuranceIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n@if(medicalInsuranceDetails()){\r\n<div class=\"row mb-5\">\r\n @if(medicalInsuranceDetails()!.EmployeeMedicalInsurance){\r\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\r\n <hr-medical-insurance-card [name]=\"medicalInsuranceDetails()?.EmployeeMedicalInsurance?.EmployeeFirstName || ''\"\r\n [fields]=\"employeeFields()\"\r\n [cardClass]=\"cardClass()\"\r\n [cardHeight]=\"cardHeight()\"\r\n [nameClass]=\"nameClass()\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-medical-insurance-card>\r\n </div>\r\n }\r\n @for (dependent of medicalInsuranceDetails()!.DependentsMedicalInsurance; track dependent){\r\n <div [class]=\"columnClass()\" [style.height.px]=\"cardHeight()\">\r\n <hr-medical-insurance-card [name]=\"dependent.DependentName\"\r\n [typeName]=\"dependent.DependentTypeName\"\r\n [isDependent]=\"true\"\r\n [fields]=\"getDependentFields(dependent)\"\r\n [cardClass]=\"cardClass()\"\r\n [cardHeight]=\"cardHeight()\"\r\n [nameClass]=\"nameClass()\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-medical-insurance-card>\r\n </div>\r\n }\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [containerClass]=\"emptyStateContainerClass()\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('NotCoveredByMedicalInsurance' | translate)\">\r\n</sky-empty-design-card>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { faGrid2Plus } from '@fortawesome/pro-light-svg-icons';\r\nimport { SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { HRInfoFieldComponent } from '../../shared/components/info-field/info-field.component';\r\nimport { forkJoin } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-entitlements-others-widget',\r\n standalone: true,\r\n imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, HRInfoFieldComponent],\r\n templateUrl: './my-profile-entitlements-others-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileEntitlementsOthersWidgetComponent implements OnInit {\r\n readonly baseUrl = input.required<string>();\r\n readonly sectionTitle = input<string>('Others');\r\n readonly othersIcon = input(faGrid2Plus);\r\n\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('mt-2 field-secondary-label-lg');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly rowClass = input<string>('row mt-4 mb-5');\r\n readonly columnClass = input<string>('col-md-4 col-6');\r\n readonly labelClass = input<string>('field-secondary-label-sm');\r\n readonly valueClass = input<string>('fs-14 fw-meduim');\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n\r\n readonly isEligibleForOvertime = signal(false);\r\n readonly isSocialSecurityMember = signal(false);\r\n readonly isLoading = signal(true);\r\n\r\n private readonly selfWidgetsService = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n this.loadData();\r\n }\r\n\r\n private loadData(): void {\r\n this.isLoadingChanged.emit(true);\r\n forkJoin({\r\n overtime: this.selfWidgetsService.getEntitlementsOvertime(this.baseUrl()),\r\n socialSecurity: this.selfWidgetsService.getEntitlementsSocialSecurity(this.baseUrl())\r\n }).subscribe({\r\n next: (responses) => {\r\n this.isEligibleForOvertime.set(responses.overtime.ResponseData?.IsEligibleForOvertime ?? false);\r\n this.isSocialSecurityMember.set(responses.socialSecurity.ResponseData?.IsSocialSecurityMember ?? false);\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error) => {\r\n this.isLoading.set(false);\r\n this.errorOccurred.emit(error?.error?.ResponseData?.Errors?.[0]?.Message);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"othersIcon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n<div [class]=\"rowClass()\">\r\n <div [class]=\"columnClass()\">\r\n <hr-info-field labelKey=\"OvertimeEligibility\"\r\n [value]=\"(isEligibleForOvertime() ? 'Eligible' : 'NotEligible') | translate\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n <div [class]=\"columnClass()\">\r\n <hr-info-field labelKey=\"SocialSecurityEligibility\"\r\n [value]=\"(isSocialSecurityMember() ? 'Member' : 'NotMember') | translate\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FontAwesomeModule, IconDefinition } from '@fortawesome/angular-fontawesome';\r\nimport { faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\r\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\r\nimport { DocumentRow } from '../../../../shared/types/common';\r\n\r\n@Component({\r\n selector: 'hr-document-row',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule],\r\n templateUrl: './document-row.component.html'\r\n})\r\nexport class HRDocumentRowComponent {\r\n @Input() doc!: DocumentRow;\r\n @Input() valueClass: string = 'text-dark-gray fs-14';\r\n @Input() viewIcon: IconDefinition = faEye;\r\n @Input() downloadIcon: IconDefinition = faFolderArrowDown;\r\n @Input() viewIconClass: string = 'fs-15 text-dark cursor-pointer';\r\n @Input() downloadIconClass: string = 'fs-15 text-dark cursor-pointer';\r\n @Input() rowClass: string = 'row';\r\n @Input() dataColClass: string = 'col-10';\r\n @Input() dataColSpacingClass: string = 'mt-2';\r\n @Input() dataRowClass: string = 'row align-items-center py-1 gx-0';\r\n @Input() typeColClass: string = 'col-3';\r\n @Input() numberColClass: string = 'col-3';\r\n @Input() issueDateColClass: string = 'col-3';\r\n @Input() expiryDateColClass: string = 'col-3';\r\n @Input() actionsColClass: string = 'col-2 d-flex align-items-center';\r\n @Input() actionsWrapperClass: string = 'd-flex align-items-center gap-2';\r\n @Input() downloadContainerClass: string = 'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer';\r\n\r\n @Output() attachmentView = new EventEmitter<DocumentRow>();\r\n @Output() download = new EventEmitter<DocumentRow>();\r\n\r\n onAttachmentView(): void {\r\n this.attachmentView.emit(this.doc);\r\n }\r\n\r\n onDownload(): void {\r\n this.download.emit(this.doc);\r\n }\r\n}\r\n","<div [class]=\"rowClass\">\r\n\r\n <div [class]=\"dataColClass + ' ' + dataColSpacingClass\">\r\n <div [class]=\"dataRowClass\">\r\n\r\n <div [class]=\"typeColClass\">\r\n <p [class]=\"valueClass + ' mb-0 text-ellipsis-one-line'\"\r\n [title]=\"doc.DocumentTypeName\">\r\n {{ doc.DocumentTypeName }}\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"numberColClass\">\r\n <p [class]=\"valueClass + ' mb-0'\">\r\n {{ doc.DocumentNumber || '—' }}\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"issueDateColClass\">\r\n <p [class]=\"valueClass + ' mb-0'\">\r\n {{ doc.IssueDate ? (doc.IssueDate | date:'dd/MM/yyyy') : '—' }}\r\n </p>\r\n </div>\r\n\r\n <div [class]=\"expiryDateColClass\">\r\n <p [class]=\"valueClass + ' mb-0'\">\r\n {{ doc.ExpiryDate ? (doc.ExpiryDate | date:'dd/MM/yyyy') : '—' }}\r\n </p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"actionsColClass\">\r\n\r\n @if(doc.Attachments?.length) {\r\n\r\n <div [class]=\"actionsWrapperClass\">\r\n\r\n @if(doc.Attachments.length === 1) {\r\n <fa-icon [icon]=\"viewIcon\"\r\n [class]=\"viewIconClass\"\r\n (click)=\"onAttachmentView()\">\r\n </fa-icon>\r\n } @else {\r\n <div class=\"invisible\">\r\n <fa-icon [icon]=\"viewIcon\"></fa-icon>\r\n </div>\r\n }\r\n\r\n <div [class]=\"downloadContainerClass\"\r\n (click)=\"onDownload()\">\r\n <fa-icon [icon]=\"downloadIcon\"\r\n [class]=\"downloadIconClass\">\r\n </fa-icon>\r\n <span class=\"ps-1\">{{ doc.Attachments.length }}</span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FontAwesomeModule, IconDefinition } from '@fortawesome/angular-fontawesome';\r\nimport { faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\r\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\r\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\r\nimport { HRDocumentRowComponent } from '../document-row/document-row.component';\r\nimport { DocumentRow } from '../../../../shared/types/common';\r\n\r\n@Component({\r\n selector: 'hr-document-card',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, HRTranslatePipe, HRDocumentRowComponent],\r\n templateUrl: './document-card.component.html'\r\n})\r\nexport class HRDocumentCardComponent {\r\n @Input() title: string = '';\r\n @Input() documents: DocumentRow[] = [];\r\n @Input() titleContainerClass: string = 'mb-3';\r\n @Input() titleClass: string = 'text-dark fs-16 mb-0';\r\n @Input() valueClass: string = 'text-dark-gray fs-14';\r\n @Input() viewIcon: IconDefinition = faEye;\r\n @Input() downloadIcon: IconDefinition = faFolderArrowDown;\r\n @Input() viewIconClass: string = 'fs-15 text-dark cursor-pointer';\r\n @Input() downloadIconClass: string = 'fs-15 text-dark cursor-pointer';\r\n @Input() labelClass: string = 'field-secondary-label-sm mb-1';\r\n @Input() rowClass: string = 'row';\r\n @Input() dataColClass: string = 'col-10';\r\n @Input() dataColSpacingClass: string = 'mt-2';\r\n @Input() dataRowClass: string = 'row align-items-center py-1 gx-0';\r\n @Input() typeColClass: string = 'col-3';\r\n @Input() numberColClass: string = 'col-3';\r\n @Input() issueDateColClass: string = 'col-3';\r\n @Input() expiryDateColClass: string = 'col-3';\r\n @Input() actionsColClass: string = 'col-2 d-flex align-items-center';\r\n @Input() actionsWrapperClass: string = 'd-flex align-items-center gap-2';\r\n @Input() downloadContainerClass: string = 'bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer';\r\n\r\n @Output() attachmentView = new EventEmitter<DocumentRow>();\r\n @Output() download = new EventEmitter<DocumentRow>();\r\n\r\n onAttachmentView(doc: DocumentRow): void {\r\n this.attachmentView.emit(doc);\r\n }\r\n\r\n onDownload(doc: DocumentRow): void {\r\n this.download.emit(doc);\r\n }\r\n}\r\n","@if(title) {\r\n<div [class]=\"titleContainerClass\">\r\n <p [class]=\"titleClass\">{{ title }}</p>\r\n</div>\r\n}\r\n\r\n<div [class]=\"rowClass\">\r\n <div [class]=\"dataColClass\">\r\n <div class=\"row g-1\">\r\n\r\n <div [class]=\"typeColClass\">\r\n <p [class]=\"labelClass\">{{ 'Type' | translate }}</p>\r\n </div>\r\n\r\n <div [class]=\"numberColClass\">\r\n <p [class]=\"labelClass\">{{ 'DocumentNumber' | translate }}</p>\r\n </div>\r\n\r\n <div [class]=\"issueDateColClass\">\r\n <p [class]=\"labelClass\">{{ 'IssueDate' | translate }}</p>\r\n </div>\r\n\r\n <div [class]=\"expiryDateColClass\">\r\n <p [class]=\"labelClass\">{{ 'ExpiryDate' | translate }}</p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"actionsColClass\"></div>\r\n</div>\r\n\r\n@for(doc of documents; track doc) {\r\n\r\n<hr-document-row [doc]=\"doc\"\r\n [valueClass]=\"valueClass\"\r\n [viewIcon]=\"viewIcon\"\r\n [downloadIcon]=\"downloadIcon\"\r\n [viewIconClass]=\"viewIconClass\"\r\n [downloadIconClass]=\"downloadIconClass\"\r\n [rowClass]=\"rowClass\"\r\n [dataColClass]=\"dataColClass\"\r\n [dataColSpacingClass]=\"dataColSpacingClass\"\r\n [dataRowClass]=\"dataRowClass\"\r\n [typeColClass]=\"typeColClass\"\r\n [numberColClass]=\"numberColClass\"\r\n [issueDateColClass]=\"issueDateColClass\"\r\n [expiryDateColClass]=\"expiryDateColClass\"\r\n [actionsColClass]=\"actionsColClass\"\r\n [actionsWrapperClass]=\"actionsWrapperClass\"\r\n [downloadContainerClass]=\"downloadContainerClass\"\r\n (attachmentView)=\"onAttachmentView($event)\"\r\n (download)=\"onDownload($event)\">\r\n</hr-document-row>\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { HRTranslatePipe } from '../../../../shared/pipes/translate.pipe';\r\nimport { DocumentRow } from '../../../../shared/types/common';\r\n \r\n@Component({\r\n selector: 'hr-document-tablet-card',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, HRTranslatePipe],\r\n templateUrl: './document-tablet-card.component.html'\r\n})\r\nexport class HrDocumentTabletCardComponent {\r\n \r\n @Input() doc!: DocumentRow;\r\n @Input() isOdd: boolean = false;\r\n \r\n @Input() downloadIcon: any;\r\n @Input() viewIcon: any;\r\n @Input() cardHeight = '175px';\r\n\r\n // Shared classes (same as large screen)\r\n @Input() labelClass: string = 'field-secondary-label-sm';\r\n @Input() valueClass: string = 'table-cell-md text-break';\r\n @Input() downloadIconClass: string = 'fs-6 text-dark';\r\n @Input() downloadContainerClass: string = 'bg-light-gray rounded-3 d-flex justify-content-center align-items-center cursor-pointer px-2';\r\n @Input() downloadCountClass: string = 'text-dark fs-12 fw-bold ps-2';\r\n\r\n // Tablet-specific classes\r\n @Input() tabletContainerClass: string = 'mt-3';\r\n @Input() tabletCardClass: string = 'row px-4 py-3 card-shadow';\r\n @Input() tabletColWithAttachmentClass: string = 'col-5';\r\n @Input() tabletColWithoutAttachmentClass: string = 'col-6';\r\n @Input() tabletActionsColClass: string = 'col-1 d-flex align-items-center';\r\n @Input() tabletBottomRowSpacingClass: string = 'mt-4';\r\n \r\n @Output() view = new EventEmitter<DocumentRow>();\r\n @Output() download = new EventEmitter<DocumentRow>();\r\n \r\n onView() {\r\n this.view.emit(this.doc);\r\n }\r\n \r\n onDownload() {\r\n this.download.emit(this.doc);\r\n }\r\n}","<div [class]=\"tabletContainerClass\">\r\n<div [class]=\"tabletCardClass\" [style.height]=\"cardHeight\"\r\n [ngClass]=\"{'me-1': !isOdd, 'ms-1': isOdd}\">\r\n \r\n <div [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'Type' | translate }}</p>\r\n<p [class]=\"valueClass\">{{ doc.DocumentTypeName }}</p>\r\n</div>\r\n \r\n <div [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'Number' | translate }}</p>\r\n<p [class]=\"valueClass\">\r\n {{ doc.DocumentNumber || '—' }}\r\n</p>\r\n</div>\r\n \r\n @if(doc.Attachments?.length) {\r\n<div [class]=\"tabletActionsColClass\"> \r\n \r\n <div [class]=\"downloadContainerClass\"\r\n (click)=\"onDownload()\">\r\n<fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\"></fa-icon>\r\n<span [class]=\"downloadCountClass\">\r\n {{ doc.Attachments.length }}\r\n</span>\r\n</div>\r\n \r\n </div>\r\n }\r\n \r\n <div [class]=\"tabletBottomRowSpacingClass\"\r\n [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'IssueDate' | translate }}</p>\r\n<p [class]=\"valueClass\">\r\n {{ doc.IssueDate ? (doc.IssueDate | date:'dd/MM/yyyy') : '—' }}\r\n</p>\r\n</div>\r\n \r\n <div [class]=\"tabletBottomRowSpacingClass\"\r\n [ngClass]=\"doc.Attachments?.length ? tabletColWithAttachmentClass : tabletColWithoutAttachmentClass\">\r\n<p [class]=\"labelClass\">{{ 'ExpiryDate' | translate }}</p>\r\n<p [class]=\"valueClass\">\r\n {{ doc.ExpiryDate ? (doc.ExpiryDate | date:'dd/MM/yyyy') : '—' }}\r\n</p>\r\n</div>\r\n \r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { faFileLines, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\r\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\r\nimport { HRDocumentCardComponent } from '../documents-widgets/components/document-card/document-card.component';\r\nimport { HrDocumentTabletCardComponent } from '../documents-widgets/components/document-tablet-card/document-tablet-card.component';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\nimport { DependentDocumentGroup } from '../../shared/types/common';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-dependents-documents-widget',\r\n standalone: true,\r\n imports: [CommonModule, SkySectionDividerComponent, HRTranslatePipe, SkyEmptyDesignCardComponent, FontAwesomeModule, HRDocumentCardComponent, HrDocumentTabletCardComponent],\r\n templateUrl: './my-profile-dependents-documents-widget.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfileDependentsDocumentsWidgetComponent implements OnInit {\r\n documents: DependentDocumentGroup[] = [];\r\n groupedDocuments: DependentDocumentGroup[] = [];\r\n readonly isLoading = signal(true);\r\n\r\n readonly baseUrl = input<string>('');\r\n readonly sectionTitle = input<string>('DependentsDocuments');\r\n readonly icon = input(faFileLines);\r\n readonly viewIcon = input<IconDefinition>(faEye);\r\n readonly downloadIcon = input(faFolderArrowDown);\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly valueClass = input<string>('text-dark-gray fs-14 text-break');\r\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\r\n readonly downloadIconClass = input<string>('fs-15 text-dark cursor-pointer');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n readonly cardClass = input<string>('mt-4 card-shadow position-relative p-4');\r\n readonly topSpacingColClass = input<string>('col-md-3 col-6 mt-4');\r\n readonly titleContainerClass = input<string>('mb-3');\r\n readonly titleClass = input<string>('text-dark fs-16 mb-0');\r\n readonly labelClass = input<string>('field-secondary-label-sm mb-1');\r\n readonly actionsColumnClass = input<string>('col-2 d-flex flex-column mt-3');\r\n readonly rowClass = input<string>('row');\r\n readonly dataColClass = input<string>('col-10');\r\n readonly dataColSpacingClass = input<string>('mt-2');\r\n readonly dataRowClass = input<string>('row align-items-center py-1 gx-0');\r\n readonly typeColClass = input<string>('col-3');\r\n readonly numberColClass = input<string>('col-3');\r\n readonly issueDateColClass = input<string>('col-3');\r\n readonly expiryDateColClass = input<string>('col-3');\r\n readonly actionsColClass = input<string>('col-2 d-flex align-items-center');\r\n readonly actionsWrapperClass = input<string>('d-flex align-items-center gap-2');\r\n readonly downloadContainerClass = input<string>('bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer');\r\n\r\n readonly tabletContainerClass = input<string>('mt-3');\r\n readonly tabletCardClass = input<string>('row px-4 py-3 card-shadow');\r\n readonly tabletCardHeight = input<string>('175px');\r\n readonly tabletColWithAttachmentClass = input<string>('col-5');\r\n readonly tabletColWithoutAttachmentClass = input<string>('col-6');\r\n readonly tabletActionsColClass = input<string>('col-1 d-flex align-items-center');\r\n readonly tabletBottomRowSpacingClass = input<string>('mt-4');\r\n readonly tabletDownloadCountClass = input<string>('text-dark fs-12 fw-bold ps-2');\r\n\r\n readonly isMobile = input<boolean>(false);\r\n readonly isTablet = input<boolean>(false);\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly attachmentViewed = output<any>();\r\n readonly attachmentDownloaded = output<any>();\r\n readonly errorOccurred = output<string>();\r\n\r\n private readonly service = inject(HRSelfWidgetsService);\r\n\r\n readonly groups = signal<any[]>([]);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n\r\n this.isLoadingChanged.emit(true);\r\n\r\n this.service.getDependentDocuments(this.baseUrl()).subscribe({\r\n next: (res: any) => {\r\n this.groups.set(res ?? []);\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error: any) => {\r\n this.groups.set([]);\r\n this.isLoading.set(false);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n\r\n onAttachmentView(doc: any): void {\r\n if (doc.Attachments?.length) {\r\n this.attachmentViewed.emit(doc.Attachments[0]);\r\n }\r\n }\r\n\r\n onDownload(group: any): void {\r\n const attachments = group.Attachments\r\n\r\n if (!attachments.length) return;\r\n\r\n this.attachmentDownloaded.emit(attachments);\r\n }\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"icon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n<div class=\"mt-4\">\r\n\r\n @if(groups().length) {\r\n\r\n @for(group of groups(); track group; let first = $first) {\r\n\r\n <div [class]=\"!(isTablet() || isMobile()) ? cardClass() : ''\" [class.mt-3]=\"!first\">\r\n\r\n @if(!(isTablet() || isMobile())) {\r\n\r\n <hr-document-card [title]=\"group.DependentName + ' (' + group.DependentTypeName + ')'\"\r\n [documents]=\"group.Documents\"\r\n [valueClass]=\"valueClass()\"\r\n [viewIcon]=\"viewIcon()\"\r\n [downloadIcon]=\"downloadIcon()\"\r\n [viewIconClass]=\"viewIconClass()\"\r\n [downloadIconClass]=\"downloadIconClass()\"\r\n [titleContainerClass]=\"titleContainerClass()\"\r\n [titleClass]=\"titleClass()\"\r\n [labelClass]=\"labelClass()\"\r\n [rowClass]=\"rowClass()\"\r\n [dataColClass]=\"dataColClass()\"\r\n [dataColSpacingClass]=\"dataColSpacingClass()\"\r\n [dataRowClass]=\"dataRowClass()\"\r\n [typeColClass]=\"typeColClass()\"\r\n [numberColClass]=\"numberColClass()\"\r\n [issueDateColClass]=\"issueDateColClass()\"\r\n [expiryDateColClass]=\"expiryDateColClass()\"\r\n [actionsColClass]=\"actionsColClass()\"\r\n [actionsWrapperClass]=\"actionsWrapperClass()\"\r\n [downloadContainerClass]=\"downloadContainerClass()\"\r\n (attachmentView)=\"onAttachmentView($event)\"\r\n (download)=\"onDownload($event)\">\r\n </hr-document-card>\r\n }\r\n @else{\r\n <div [class]=\"titleContainerClass()\">\r\n <p [class]=\"titleClass()\">\r\n {{ group.DependentName }} ({{ group.DependentTypeName }})\r\n </p>\r\n </div>\r\n <div class=\"row mx-1\">\r\n @for(doc of group.Documents; track doc; let odd = $odd) {\r\n <div class=\"col-6 mb-2\">\r\n <hr-document-tablet-card [doc]=\"doc\"\r\n [isOdd]=\"odd\"\r\n [viewIcon]=\"viewIcon()\"\r\n [downloadIcon]=\"downloadIcon()\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\"\r\n [downloadIconClass]=\"downloadIconClass()\"\r\n [downloadContainerClass]=\"downloadContainerClass()\"\r\n [downloadCountClass]=\"tabletDownloadCountClass()\"\r\n [tabletContainerClass]=\"tabletContainerClass()\"\r\n [tabletCardClass]=\"tabletCardClass()\"\r\n [cardHeight]=\"tabletCardHeight()\"\r\n [tabletColWithAttachmentClass]=\"tabletColWithAttachmentClass()\"\r\n [tabletColWithoutAttachmentClass]=\"tabletColWithoutAttachmentClass()\"\r\n [tabletActionsColClass]=\"tabletActionsColClass()\"\r\n [tabletBottomRowSpacingClass]=\"tabletBottomRowSpacingClass()\"\r\n (view)=\"onAttachmentView(doc)\"\r\n (download)=\"onDownload(doc)\">\r\n </hr-document-tablet-card>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n }\r\n\r\n } @else {\r\n <sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass()\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereAreNoDependentsDocumentsYet' | translate)\">\r\n </sky-empty-design-card>\r\n\r\n }\r\n\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { SkyEmptyDesignCardComponent, SkySectionDividerComponent } from '@skysoftware-co/sky-components-ui';\r\nimport { faFileLines, faFolderArrowDown } from '@fortawesome/pro-light-svg-icons';\r\nimport { faEye } from '@fortawesome/pro-regular-svg-icons';\r\nimport { HRSelfWidgetsService } from '../../services/hr-self-widgets.service';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\r\nimport { HRDocumentCardComponent } from '../documents-widgets/components/document-card/document-card.component';\r\nimport { HrDocumentTabletCardComponent } from '../documents-widgets/components/document-tablet-card/document-tablet-card.component';\r\nimport { HRTranslatePipe } from '../../shared/pipes/translate.pipe';\r\n\r\n@Component({\r\n selector: 'hr-my-profile-personal-documents-widget',\r\n standalone: true,\r\n imports: [CommonModule, SkySectionDividerComponent, HRTranslatePipe, SkyEmptyDesignCardComponent, FontAwesomeModule, HRDocumentCardComponent, HrDocumentTabletCardComponent],\r\n templateUrl: './my-profile-official-documents-widget.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MyProfilePersonalDocumentsWidgetComponent implements OnInit {\r\n readonly documents = signal<any[]>([]);\r\n readonly isLoading = signal(true);\r\n\r\n readonly baseUrl = input<string>('');\r\n readonly employeeName = input<string>('');\r\n readonly sectionTitle = input<string>('EmployeeDocuments');\r\n readonly icon = input(faFileLines);\r\n readonly viewIcon = input<IconDefinition>(faEye);\r\n readonly downloadIcon = input(faFolderArrowDown);\r\n readonly headerIconClass = input<string>('primary-icon-xl');\r\n readonly headerTextClass = input<string>('fs-16 mt-2 text-secondary');\r\n readonly headerDividerClass = input<string>('flex-grow-1 ms-2');\r\n readonly valueClass = input<string>('text-dark-gray fs-14 text-break');\r\n readonly viewIconClass = input<string>('fs-15 text-dark cursor-pointer');\r\n readonly downloadIconClass = input<string>('fs-15 text-dark cursor-pointer');\r\n readonly emptyStateContainerClass = input<string>('d-flex flex-column justify-content-center align-items-center my-5');\r\n readonly emptyStateTextClass = input<string>('field-secondary-label-md');\r\n readonly cardClass = input<string>('mt-4 card-shadow position-relative p-4');\r\n readonly topSpacingColClass = input<string>('col-md-3 col-6 mt-4');\r\n readonly titleContainerClass = input<string>('mb-3');\r\n readonly titleClass = input<string>('text-dark fs-16 mb-0');\r\n readonly labelClass = input<string>('field-secondary-label-sm mb-1');\r\n readonly actionsColumnClass = input<string>('col-2 d-flex flex-column mt-3');\r\n readonly rowClass = input<string>('row');\r\n readonly dataColClass = input<string>('col-10');\r\n readonly dataColSpacingClass = input<string>('mt-2');\r\n readonly dataRowClass = input<string>('row align-items-center py-1 gx-0');\r\n readonly typeColClass = input<string>('col-3');\r\n readonly numberColClass = input<string>('col-3');\r\n readonly issueDateColClass = input<string>('col-3');\r\n readonly expiryDateColClass = input<string>('col-3');\r\n readonly actionsColClass = input<string>('col-2 d-flex align-items-center');\r\n readonly actionsWrapperClass = input<string>('d-flex align-items-center gap-2');\r\n readonly downloadContainerClass = input<string>('bg-light-gray rounded-3 d-flex align-items-center justify-content-center px-1 cursor-pointer');\r\n\r\n readonly tabletContainerClass = input<string>('mt-3');\r\n readonly tabletCardClass = input<string>('row px-4 py-3 card-shadow');\r\n readonly tabletCardHeight = input<string>('175px');\r\n readonly tabletColWithAttachmentClass = input<string>('col-5');\r\n readonly tabletColWithoutAttachmentClass = input<string>('col-6');\r\n readonly tabletActionsColClass = input<string>('col-1 d-flex align-items-center');\r\n readonly tabletBottomRowSpacingClass = input<string>('mt-4');\r\n readonly tabletDownloadCountClass = input<string>('text-dark fs-12 fw-bold ps-2');\r\n\r\n readonly isMobile = input<boolean>(false);\r\n readonly isTablet = input<boolean>(false);\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly attachmentViewed = output<any>();\r\n readonly attachmentDownloaded = output<any>();\r\n readonly errorOccurred = output<string>();\r\n\r\n private readonly service = inject(HRSelfWidgetsService);\r\n\r\n ngOnInit(): void {\r\n if (!this.baseUrl()) {\r\n this.isLoading.set(false);\r\n return;\r\n }\r\n this.isLoadingChanged.emit(true);\r\n this.service.getPersonalDocuments(this.baseUrl()).subscribe({\r\n next: (res: any) => {\r\n this.documents.set(res ?? []);\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n },\r\n error: (error: any) => {\r\n this.documents.set([]);\r\n this.isLoading.set(false);\r\n this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n });\r\n }\r\n\r\n onAttachmentView(doc: any): void {\r\n if (doc.Attachments?.length) {\r\n this.attachmentViewed.emit(doc.Attachments[0]);\r\n }\r\n }\r\n\r\n onDownload(doc: any): void {\r\n const attachments = doc.Attachments ?? [];\r\n if (!attachments.length) return;\r\n this.attachmentDownloaded.emit(attachments);\r\n }\r\n\r\n}\r\n","<sky-section-divider [fontAwesomeIcon]=\"icon()\"\r\n [text]=\"(sectionTitle() | translate | uppercase)\"\r\n [iconClass]=\"headerIconClass()\"\r\n [textClass]=\"headerTextClass()\"\r\n [dividerClass]=\"headerDividerClass()\">\r\n</sky-section-divider>\r\n\r\n<div class=\"mt-4\">\r\n\r\n @if(documents().length) {\r\n\r\n <div [class]=\"!(isTablet() || isMobile()) ? cardClass() : ''\">\r\n @if(!(isTablet() || isMobile())) {\r\n\r\n <hr-document-card [title]=\"employeeName() + ' (' + ('Me' | translate) + ')'\"\r\n [documents]=\"documents()\"\r\n [valueClass]=\"valueClass()\"\r\n [viewIcon]=\"viewIcon()\"\r\n [downloadIcon]=\"downloadIcon()\"\r\n [viewIconClass]=\"viewIconClass()\"\r\n [downloadIconClass]=\"downloadIconClass()\"\r\n [titleContainerClass]=\"titleContainerClass()\"\r\n [titleClass]=\"titleClass()\"\r\n [labelClass]=\"labelClass()\"\r\n [rowClass]=\"rowClass()\"\r\n [dataColClass]=\"dataColClass()\"\r\n [dataColSpacingClass]=\"dataColSpacingClass()\"\r\n [dataRowClass]=\"dataRowClass()\"\r\n [typeColClass]=\"typeColClass()\"\r\n [numberColClass]=\"numberColClass()\"\r\n [issueDateColClass]=\"issueDateColClass()\"\r\n [expiryDateColClass]=\"expiryDateColClass()\"\r\n [actionsColClass]=\"actionsColClass()\"\r\n [actionsWrapperClass]=\"actionsWrapperClass()\"\r\n [downloadContainerClass]=\"downloadContainerClass()\"\r\n (attachmentView)=\"onAttachmentView($event)\"\r\n (download)=\"onDownload($event)\">\r\n </hr-document-card>\r\n }\r\n @else {\r\n <div [class]=\"titleContainerClass()\">\r\n <p [class]=\"titleClass()\">\r\n {{ employeeName() }} ({{ 'Me' | translate}})\r\n </p>\r\n </div>\r\n\r\n <div class=\"row mx-1\">\r\n @for(doc of documents(); track doc; let odd = $odd) {\r\n <div class=\"col-6 mb-2\">\r\n <hr-document-tablet-card [doc]=\"doc\"\r\n [isOdd]=\"odd\"\r\n [viewIcon]=\"viewIcon()\"\r\n [downloadIcon]=\"downloadIcon()\"\r\n [labelClass]=\"labelClass()\"\r\n [valueClass]=\"valueClass()\"\r\n [downloadIconClass]=\"downloadIconClass()\"\r\n [downloadContainerClass]=\"downloadContainerClass()\"\r\n [downloadCountClass]=\"tabletDownloadCountClass()\"\r\n [tabletContainerClass]=\"tabletContainerClass()\"\r\n [tabletCardClass]=\"tabletCardClass()\"\r\n [cardHeight]=\"tabletCardHeight()\"\r\n [tabletColWithAttachmentClass]=\"tabletColWithAttachmentClass()\"\r\n [tabletColWithoutAttachmentClass]=\"tabletColWithoutAttachmentClass()\"\r\n [tabletActionsColClass]=\"tabletActionsColClass()\"\r\n [tabletBottomRowSpacingClass]=\"tabletBottomRowSpacingClass()\"\r\n (view)=\"onAttachmentView(doc)\"\r\n (download)=\"onDownload(doc)\">\r\n </hr-document-tablet-card>\r\n </div>\r\n }\r\n </div>\r\n\r\n }\r\n </div>\r\n\r\n\r\n } @else {\r\n <sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass()\"\r\n [emptyTextClass]=\"emptyStateTextClass()\"\r\n [emptyText]=\"isLoading() ? ((sectionTitle() | translate) + ' ' + ('IsLoading' | translate)) : ('ThereAreNoEmployeeDocumentsYet' | translate)\">\r\n </sky-empty-design-card>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, effect, input, output } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faChevronDown } from '@fortawesome/pro-solid-svg-icons';\r\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\r\nimport { HighlightPipe, isRTL } from '@skysoftware-co/sky-components-ui';\r\nimport { EmployeeMainInfo } from '../../../shared/types/common';\r\n\r\n@Component({\r\n selector: 'app-employee-main-info-card',\r\n standalone: true,\r\n imports: [FontAwesomeModule, NgClass, BayanEmployeeBadgeComponent, HighlightPipe],\r\n templateUrl: './employee-main-info-card.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class EmployeeMainInfoCardComponent {\r\n readonly employeeMainInfo = input<EmployeeMainInfo | null>(null);\r\n readonly searchValue = input<string>('');\r\n\r\n readonly badgeClass = input<string>('badge employee-rounded-badge-xl fs-5');\r\n readonly badgeImageClass = input<string>('rounded-circle');\r\n readonly badgeWidth = input<string>('50px');\r\n readonly badgeHeight = input<string>('50px');\r\n readonly employeeInfoContainerClass = input<string>('d-flex align-content-center');\r\n readonly employeeDetailsClass = input<string>('ms-3');\r\n readonly employeeNameContainerClass = input<string>('d-flex align-items-center');\r\n readonly employeeNameClass = input<string>('fs-13 text-dark-gray fw-medium text-ellipsis-one-line');\r\n readonly employeePositionClass = input<string>('fs-12 fw-normal text-dark-gray text-ellipsis-one-line mb-1');\r\n readonly employeeGradeClass = input<string>('fs-12 text-dark-gray');\r\n\r\n readonly showGrade = input<boolean>(false);\r\n readonly showPropertySymbol = input<boolean>(true);\r\n readonly showChangeEmployeeButton = input<boolean>(false);\r\n readonly alignCenter = input<boolean>(true);\r\n\r\n readonly ChangeEmployeeButtonHandler = output<void>();\r\n readonly isRTL = isRTL();\r\n employeeBadge: BayanEmployeeBadgeDTO = {\r\n EmployeePhotoKey: null,\r\n EmployeePhotoFailed: false,\r\n EmployeeNameInitials: '',\r\n };\r\n\r\n dropDownIcon = faChevronDown;\r\n faildToLoadEmployeePhoto = false;\r\n\r\n constructor() {\r\n effect(() => {\r\n const info = this.employeeMainInfo();\r\n if (info) {\r\n this.employeeBadge.EmployeePhotoKey = info.PhotoKey || null;\r\n this.employeeBadge.EmployeeNameInitials = info.EmployeeNameInitials || '';\r\n this.employeeBadge.EmployeePhotoFailed = false;\r\n }\r\n });\r\n }\r\n\r\n convertEmployee() {\r\n this.ChangeEmployeeButtonHandler.emit();\r\n }\r\n\r\n handleEmployeePhotoError() {\r\n this.employeeBadge.EmployeePhotoFailed = true;\r\n }\r\n}\r\n","@if (employeeMainInfo(); as info) {\r\n <div [class]=\"employeeInfoContainerClass()\" [ngClass]=\"{ 'align-items-center': alignCenter() }\">\r\n <bayan-employee-badge\r\n [badge]=\"employeeBadge\"\r\n [badgeClass]=\"badgeClass()\"\r\n [imageClass]=\"badgeImageClass()\"\r\n [width]=\"badgeWidth()\"\r\n [height]=\"badgeHeight()\"\r\n (employeePhotoError)=\"handleEmployeePhotoError()\"\r\n ></bayan-employee-badge>\r\n\r\n <div [class]=\"employeeDetailsClass()\">\r\n <div [class]=\"employeeNameContainerClass()\">\r\n <div\r\n [class]=\"employeeNameClass()\"\r\n data-bs-toggle=\"tooltip\"\r\n [title]=\"info.EmployeeNumber + ' | ' + info.EmployeeName\"\r\n [innerHTML]=\"info.EmployeeNumber + ' | ' + info.EmployeeName | highlight: searchValue()\"\r\n ></div>\r\n @if (showChangeEmployeeButton()) {\r\n <button type=\"button\" class=\"border-0 ms-2 bg-none\" (click)=\"convertEmployee()\">\r\n <fa-icon [icon]=\"dropDownIcon\" class=\"text-primary fs-5\"></fa-icon>\r\n </button>\r\n }\r\n </div>\r\n @if (info.PositionName != null && info.PositionName != '') {\r\n <div [class]=\"employeePositionClass()\" data-bs-toggle=\"tooltip\" [title]=\"info.PositionName\">\r\n <span [innerHTML]=\"info.PositionName | highlight: searchValue()\"></span>\r\n </div>\r\n }\r\n @if (showGrade() && info.GradeName != null) {\r\n <div [class]=\"employeeGradeClass()\" [title]=\"info.GradeName\">\r\n <span [innerHTML]=\"info.GradeName | highlight: searchValue()\"></span>\r\n </div>\r\n }\r\n <div\r\n class=\"d-flex text-dark-gray mb-0\"\r\n data-bs-toggle=\"tooltip\"\r\n [title]=\"showPropertySymbol() ? info.PropertySymbol + ' | ' + info.AdminUnitName : info.AdminUnitName\"\r\n >\r\n <div class=\"fs-12\">\r\n @if (showPropertySymbol()) {\r\n <span class=\"property-badge cursor-pointer me-1\" title=\"{{ info.PropertyName }}\">\r\n <span [innerHTML]=\"info.PropertySymbol | highlight: searchValue()\"></span>\r\n </span>\r\n }\r\n <span class=\"fw-normal ms-1\" [ngClass]=\"{ 'me-1': isRTL && showPropertySymbol(), 'ms-1': !isRTL && showPropertySymbol() }\" \r\n [title]=\"info.AdminUnitName\" [innerHTML]=\"info.AdminUnitName | highlight: searchValue()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { SubordinatesApiResponse } from '../types/common';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MyTeamWidgetsService {\r\n \r\n private readonly headers = { 'api-version': '1' };\r\n\r\n constructor(private readonly http: HttpClient) {}\r\n\r\n getSubordinates(baseUrl: string, params: {\r\n showDirectSubordinatesOnly: boolean;\r\n pageIndex: number;\r\n pageSize: number;\r\n searchValue?: string;\r\n }): Observable<{ ResponseData: SubordinatesApiResponse }> {\r\n const httpParams = new HttpParams()\r\n .set('p.showDirectSubordinatesOnly', params.showDirectSubordinatesOnly)\r\n .set('p.loadOptions.pageIndex', params.pageIndex + 1)\r\n .set('p.loadOptions.pageSize', params.pageSize)\r\n .set('p.loadOptions.searchValue', params.searchValue ?? '');\r\n\r\n return this.http.get<{ ResponseData: SubordinatesApiResponse }>(\r\n `${baseUrl}/hr/widgets/me/team/subordinates`,\r\n {\r\n params: httpParams,\r\n headers: this.headers,\r\n },\r\n );\r\n }\r\n}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, inject, input, output, signal, ViewChild } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport {\r\n DxScrollViewComponent,\r\n DxTextBoxModule,\r\n DxPopupModule,\r\n DxScrollViewModule,\r\n DxLoadIndicatorModule,\r\n} from 'devextreme-angular';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { HighlightPipe } from '@skysoftware-co/sky-components-ui';\r\nimport { SubordinateDTO, EmployeeMainInfo } from '../../../shared/types/common';\r\nimport { EmployeeMainInfoCardComponent } from '../employee-main-info-card/employee-information-card.component';\r\nimport { HRTranslatePipe } from '../../../shared/pipes/translate.pipe';\r\nimport { faEnvelope, faPhone } from '@fortawesome/pro-solid-svg-icons';\r\nimport { MyTeamWidgetsService } from '../../../shared/services/my-team-popup.service';\r\n\r\nexport const myTeamSubordinatesVisible = signal(false);\r\n\r\nexport function openMyTeamSubordinatesPopup(): void {\r\n myTeamSubordinatesVisible.set(true);\r\n}\r\n\r\n@Component({\r\n selector: 'hr-my-team-popup',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n FontAwesomeModule,\r\n DxPopupModule,\r\n DxTextBoxModule,\r\n DxScrollViewModule,\r\n DxLoadIndicatorModule,\r\n EmployeeMainInfoCardComponent,\r\n NgTemplateOutlet,\r\n HighlightPipe,\r\n HRTranslatePipe,\r\n ],\r\n templateUrl: './my-team-popup.component.html',\r\n})\r\nexport class MyTeamPopupComponent {\r\n private readonly myTeamWidgetsService = inject(MyTeamWidgetsService);\r\n @ViewChild('dataScrollView') dataScrollView?: DxScrollViewComponent;\r\n\r\n readonly baseUrl = input.required<string>();\r\n\r\n readonly isLoadingChanged = output<boolean>();\r\n readonly errorOccurred = output<string>();\r\n readonly showGrade = input<boolean>(false);\r\n readonly showPropertySymbol = input<boolean>(true);\r\n\r\n readonly isPopupVisible = myTeamSubordinatesVisible;\r\n readonly isLoading = signal(false);\r\n readonly showAllSubordinates = signal(false);\r\n readonly searchValue = signal('');\r\n readonly items = signal<{ adminUnitName: string; employees: SubordinateDTO[] }[]>([]);\r\n readonly isDataLoading = signal(false);\r\n readonly hasMoreData = signal(true);\r\n\r\n readonly phoneIcon = input(faPhone);\r\n readonly emailIcon = input(faEnvelope);\r\n readonly headerRowClass = input('d-flex justify-content-between align-items-center mb-2 pe-2');\r\n readonly switchContainerClass = input('form-check form-switch d-flex align-items-center custom-switch-dark ps-0');\r\n readonly switchInputClass = input('form-check-input text-dark ms-0');\r\n readonly switchLabelClass = input('form-check-label mx-2 fs-13');\r\n readonly scrollViewClass = input('position-relative');\r\n readonly emptyStateClass = input(\r\n 'position-absolute top-50 start-50 translate-middle w-100 text-center text-dark-gray fs-14',\r\n );\r\n readonly groupHeaderClass = input('fs-13 text-dark pt-2 pb-1');\r\n readonly employeeCardClass = input(\r\n 'bg-light-gray rounded p-2 mb-2 d-flex align-items-center justify-content-between border-start border-4 border-start-primary',\r\n );\r\n readonly employeeCardHeight = input<string>('100px');\r\n readonly contactContainerClass = input('d-flex flex-column gap-1 border-start border-2 ps-3 w-100');\r\n readonly contactTitleClass = input('fs-10 fw-medium mb-1 text-dark');\r\n readonly contactRowClass = input('d-flex align-items-center gap-2 fs-12 fw-normal lh-21 text-dark');\r\n readonly contactIconClass = input('fs-10 text-light-gray');\r\n readonly emailTextClass = input('d-inline-block flex-grow-1 text-ellipsis-one-line');\r\n readonly groupedListClass = input('d-flex flex-column gap-2 pb-2');\r\n readonly loadingContainerClass = input('d-flex justify-content-center py-2');\r\n readonly loadingIndicatorClass = input('w-30 h-30');\r\n readonly employeeRowClass = input('row g-0 w-100 align-items-center flex-nowrap');\r\n readonly employeeInfoColumnClass = input('col-8 overflow-hidden pe-2');\r\n readonly contactColumnClass = input('col-4 d-flex justify-content-end');\r\n\r\n readonly pageSize = input(100);\r\n\r\n private pageIndex = 0;\r\n private totalCount = 0;\r\n private loadedCount = 0;\r\n\r\n toEmployeeMainInfo(emp: SubordinateDTO): EmployeeMainInfo {\r\n return {\r\n EmployeeNumber: emp.EmployeeNumber,\r\n EmployeeName: emp.EmployeeName,\r\n PhotoKey: emp.PhotoPath,\r\n PositionName: emp.PositionName,\r\n AdminUnitName: emp.AdminUnitName ?? '-',\r\n GradeName: emp.GradeName ?? null,\r\n PropertyName: emp.PropertyName ?? '-',\r\n PropertySymbol: emp.PropertySymbol ?? '-',\r\n EmployeeNameInitials: emp.EmployeeNameInitials,\r\n };\r\n }\r\n\r\n closePopup(): void {\r\n myTeamSubordinatesVisible.set(false);\r\n this.showAllSubordinates.set(false);\r\n this.searchValue.set('');\r\n this.resetState();\r\n }\r\n\r\n private normalizeContactValue(value: string | null | undefined): string {\r\n const normalizedValue = value?.trim() ?? '';\r\n return normalizedValue && normalizedValue !== '-' ? normalizedValue : '';\r\n }\r\n\r\n private getEmployeeEmail(employee: SubordinateDTO): string {\r\n return this.normalizeContactValue(employee.BusinessEmail) || this.normalizeContactValue(employee.PersonalEmail);\r\n }\r\n\r\n private getEmployeePhone(employee: SubordinateDTO): string {\r\n return this.normalizeContactValue(employee.MobileNumber);\r\n }\r\n\r\n getEmployeeEmailDisplay(employee: SubordinateDTO): string {\r\n return this.getEmployeeEmail(employee) || '-';\r\n }\r\n\r\n getEmployeePhoneDisplay(employee: SubordinateDTO): string {\r\n return this.getEmployeePhone(employee) || '-';\r\n }\r\n\r\n hasEmployeeEmail(employee: SubordinateDTO): boolean {\r\n return !!this.getEmployeeEmail(employee);\r\n }\r\n\r\n hasEmployeePhone(employee: SubordinateDTO): boolean {\r\n return !!this.getEmployeePhone(employee);\r\n }\r\n\r\n hasAnyContactInfo(employee: SubordinateDTO): boolean {\r\n return this.hasEmployeeEmail(employee) || this.hasEmployeePhone(employee);\r\n }\r\n\r\n onSearchChanged(value: string): void {\r\n const nextSearchValue = (value ?? '').trim();\r\n if (nextSearchValue === this.searchValue()) {\r\n return;\r\n }\r\n this.searchValue.set(nextSearchValue);\r\n this.loadPage(true);\r\n }\r\n\r\n onToggleChange(event: Event): void {\r\n const checked = (event.target as HTMLInputElement).checked;\r\n this.showAllSubordinates.set(checked);\r\n this.loadPage(true);\r\n }\r\n\r\n onReachBottom(event: any): void {\r\n if (!this.hasMoreData()) {\r\n event?.component?.release?.();\r\n return;\r\n }\r\n\r\n this.loadPage(false).finally(() => {\r\n event?.component?.release?.();\r\n });\r\n }\r\n\r\n private isScrollContentScrollable(): boolean {\r\n const scrollableElement = this.dataScrollView?.instance?.element?.() as HTMLElement | undefined;\r\n const scrollableContainer = scrollableElement?.querySelector?.('.dx-scrollable-container') as HTMLElement | undefined;\r\n const scrollableContent = scrollableElement?.querySelector?.('.dx-scrollable-content') as HTMLElement | undefined;\r\n\r\n if (!scrollableContainer || !scrollableContent) {\r\n return true;\r\n }\r\n\r\n return scrollableContent.scrollHeight > scrollableContainer.clientHeight;\r\n }\r\n\r\n private async loadRemainingPagesIfNeeded(): Promise<void> {\r\n while (this.hasMoreData() && !this.isScrollContentScrollable()) {\r\n await this.loadPage(false);\r\n }\r\n }\r\n\r\n private resetState(): void {\r\n this.items.set([]);\r\n this.hasMoreData.set(true);\r\n this.pageIndex = 0;\r\n this.totalCount = 0;\r\n this.loadedCount = 0;\r\n }\r\n\r\n private resetScrollPosition(): void {\r\n this.dataScrollView?.instance?.scrollTo({ top: 0, left: 0 });\r\n }\r\n\r\n private appendEmployees(pageData: SubordinateDTO[]): void {\r\n const groupedMap = new Map(this.items().map(group => [group.adminUnitName, [...group.employees]]));\r\n\r\n for (const employee of pageData) {\r\n const key = employee.AdminUnitName!;\r\n const employees = groupedMap.get(key) ?? [];\r\n employees.push(employee);\r\n groupedMap.set(key, employees);\r\n }\r\n\r\n const sortedGroups = Array.from(groupedMap.entries())\r\n .sort(([firstAdminUnit], [secondAdminUnit]) =>\r\n firstAdminUnit.localeCompare(secondAdminUnit, undefined, { sensitivity: 'base' }),\r\n )\r\n .map(([adminUnitName, employees]) => ({ adminUnitName, employees }));\r\n\r\n this.items.set(sortedGroups);\r\n }\r\n\r\n async loadPage(reset: boolean): Promise<void> {\r\n if (this.isDataLoading() || (!reset && !this.hasMoreData())) {\r\n return;\r\n }\r\n\r\n if (reset) {\r\n this.resetState();\r\n }\r\n\r\n this.isDataLoading.set(true);\r\n if (reset) {\r\n this.isLoading.set(true);\r\n this.isLoadingChanged.emit(true);\r\n }\r\n\r\n try {\r\n const response = await firstValueFrom(\r\n this.myTeamWidgetsService.getSubordinates(this.baseUrl(), {\r\n showDirectSubordinatesOnly: !this.showAllSubordinates(),\r\n pageIndex: this.pageIndex,\r\n pageSize: this.pageSize(),\r\n searchValue: this.searchValue(),\r\n }),\r\n );\r\n\r\n this.totalCount = response.ResponseData.Pagination.TotalCount;\r\n const pageData = response.ResponseData.Data;\r\n\r\n if (reset) {\r\n this.resetScrollPosition();\r\n }\r\n\r\n this.appendEmployees(pageData);\r\n this.loadedCount += pageData.length;\r\n this.pageIndex += 1;\r\n this.dataScrollView?.instance?.update();\r\n\r\n const hasMore = this.loadedCount < this.totalCount && pageData.length > 0;\r\n this.hasMoreData.set(hasMore);\r\n\r\n } catch (err: any) {\r\n this.errorOccurred.emit(err?.error?.ResponseData?.Errors?.[0]?.Message);\r\n } finally {\r\n this.isDataLoading.set(false);\r\n if (reset) {\r\n this.isLoading.set(false);\r\n this.isLoadingChanged.emit(false);\r\n }\r\n\r\n if (!reset) {\r\n await this.loadRemainingPagesIfNeeded();\r\n }\r\n }\r\n }\r\n}\r\n","<dx-popup\r\n [visible]=\"isPopupVisible()\"\r\n [width]=\"'755px'\"\r\n [height]=\"'680px'\"\r\n [showCloseButton]=\"true\"\r\n [showTitle]=\"true\"\r\n [title]=\"'MyTeam' | translate\"\r\n shadingColor=\"rgba(0,0,0,0.4)\"\r\n (onShown)=\"loadPage(true)\"\r\n (onHiding)=\"closePopup()\"\r\n>\r\n <ng-template #loadingIndicatorTemplate>\r\n <div [class]=\"loadingContainerClass()\">\r\n <dx-load-indicator [visible]=\"true\" [class]=\"loadingIndicatorClass()\"></dx-load-indicator>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #employeeCardTemplate let-employee>\r\n <div [class]=\"employeeCardClass()\" [style.height]=\"employeeCardHeight()\">\r\n <div [class]=\"employeeRowClass()\">\r\n <div [class]=\"employeeInfoColumnClass()\">\r\n <app-employee-main-info-card\r\n [employeeMainInfo]=\"toEmployeeMainInfo(employee)\"\r\n [searchValue]=\"searchValue()\"\r\n [showGrade]=\"showGrade()\"\r\n [showPropertySymbol]=\"showPropertySymbol()\"\r\n [showChangeEmployeeButton]=\"false\"\r\n ></app-employee-main-info-card>\r\n </div>\r\n @if (hasAnyContactInfo(employee)) {\r\n <div [class]=\"contactColumnClass()\">\r\n <div [class]=\"contactContainerClass()\">\r\n <span [class]=\"contactTitleClass()\">{{ 'ContactInfo' | translate }}:</span>\r\n @if (hasEmployeeEmail(employee)) {\r\n <span [class]=\"contactRowClass()\">\r\n <fa-icon [icon]=\"emailIcon()\" [class]=\"contactIconClass()\"></fa-icon>\r\n <span\r\n [class]=\"emailTextClass()\"\r\n [title]=\"getEmployeeEmailDisplay(employee)\"\r\n [innerHTML]=\"getEmployeeEmailDisplay(employee) | highlight: searchValue()\"\r\n ></span>\r\n </span>\r\n }\r\n @if (hasEmployeePhone(employee)) {\r\n <span [class]=\"contactRowClass()\">\r\n <fa-icon [icon]=\"phoneIcon()\" [class]=\"contactIconClass()\"></fa-icon>\r\n <span [innerHTML]=\"getEmployeePhoneDisplay(employee) | highlight: searchValue()\"></span>\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div [class]=\"headerRowClass()\">\r\n <div [class]=\"switchContainerClass()\">\r\n <input\r\n [class]=\"switchInputClass()\"\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n id=\"myTeamDirectOnlySwitch\"\r\n [checked]=\"showAllSubordinates()\"\r\n (change)=\"onToggleChange($event)\"\r\n />\r\n <label [class]=\"switchLabelClass()\" for=\"myTeamDirectOnlySwitch\">\r\n {{ 'ShowAllSubordinates' | translate }}\r\n </label>\r\n </div>\r\n <dx-text-box\r\n [value]=\"searchValue()\"\r\n [placeholder]=\"'Search...' | translate\"\r\n [width]=\"'250px'\"\r\n mode=\"search\"\r\n (onValueChanged)=\"onSearchChanged($event.value)\"\r\n ></dx-text-box>\r\n </div>\r\n\r\n <dx-scroll-view\r\n #dataScrollView\r\n [height]=\"500\"\r\n [width]=\"'100%'\"\r\n [elementAttr]=\"{ class: scrollViewClass() }\"\r\n [scrollByContent]=\"true\"\r\n [scrollByThumb]=\"true\"\r\n [showScrollbar]=\"'always'\"\r\n [bounceEnabled]=\"false\"\r\n (onReachBottom)=\"onReachBottom($event)\"\r\n >\r\n <div [class]=\"groupedListClass()\">\r\n @if (isDataLoading() && items().length === 0) {\r\n <ng-container *ngTemplateOutlet=\"loadingIndicatorTemplate\"></ng-container>\r\n } @else if (items().length === 0) {\r\n <div [class]=\"emptyStateClass()\">\r\n {{ 'NoDataToDisplay' | translate }}\r\n </div>\r\n } @else {\r\n @for (group of items(); track group.adminUnitName) {\r\n @if (showAllSubordinates()) {\r\n <div [class]=\"groupHeaderClass()\" [innerHTML]=\"group.adminUnitName | highlight: searchValue()\"></div>\r\n }\r\n @for (emp of group.employees; track emp.EmployeeNumber) {\r\n <ng-container *ngTemplateOutlet=\"employeeCardTemplate; context: { $implicit: emp }\"></ng-container>\r\n }\r\n }\r\n @if (isDataLoading()) {\r\n <ng-container *ngTemplateOutlet=\"loadingIndicatorTemplate\"></ng-container>\r\n }\r\n }\r\n </div>\r\n </dx-scroll-view>\r\n</dx-popup>\r\n","/*\r\n * Public API Surface of shared-ui\r\n */\r\n\r\nexport * from './lib/my-main-details-widget/my-main-details-widget.component';\r\nexport * from './lib/my-upcoming-events-widget/my-upcoming-events-widget.component';\r\nexport * from './lib/shared/types/common';\r\nexport * from './lib/shared/services/constants.service';\r\nexport * from './lib/shared/components/card-header/card-header.component';\r\nexport * from './lib/my-calendar-widget/my-calendar-widget.component';\r\nexport * from './lib/shared/components/hr-employee-calendar/hr-employee-calendar.component';\r\nexport * from './lib/my-profile/bank-info-widget/my-profile-bank-info-widget.component';\r\nexport * from './lib/my-profile/personal-info-main-widget/my-profile-personal-info-main-widget.component';\r\nexport * from './lib/my-profile/contact-widget/my-profile-contact-widget.component';\r\nexport * from './lib/my-profile/languages-widget/my-profile-languages-widget.component';\r\nexport * from './lib/my-profile/other-nationalities-widget/my-profile-other-nationalities-widget.component';\r\nexport * from './lib/my-profile/address-widget/my-profile-address-widget.component';\r\nexport * from './lib/my-profile/job-info-widget/my-profile-job-info-widget.component';\r\nexport * from './lib/my-profile/contract-widget/my-profile-contract-widget.component';\r\nexport * from './lib/my-profile/salary-widget/my-profile-salary-widget.component';\r\nexport * from './lib/my-profile/service-charge-widget/my-profile-service-charge-widget.component';\r\nexport * from './lib/my-next-week-vacation-insights-widget/my-next-week-vacation-insights-widget.component';\r\nexport * from './lib/my-profile/experiences-widget/my-profile-experiences-widget-component';\r\nexport * from './lib/my-profile/degrees-widget/my-profile-degrees-widget-component';\r\nexport * from './lib/my-profile/employee-dependents-widget/my-profile-employee-dependents-component';\r\nexport * from './lib/my-profile/vacations-widget/my-profile-vacations-widget.component';\r\nexport * from './lib/my-profile/indemnity-widget/my-profile-indemnity-widget.component';\r\nexport * from './lib/my-profile/ticket-widget/my-profile-ticket-widget.component';\r\nexport * from './lib/my-profile/medical-insurance-widget/my-profile-medical-insurance-widget.component';\r\nexport * from './lib/my-profile/entitlements-others-widget/my-profile-entitlements-others-widget.component';\r\nexport * from './lib/my-profile/dependents-documents-widget/my-profile-dependents-documents-widget';\r\nexport * from './lib/my-profile/official-documents-widget/my-profile-official-documents-widget';\r\nexport * from './lib/shared/services/translate.service';\r\nexport * from './lib/shared/pipes/translate.pipe';\r\nexport * from './lib/my-team-subordinates-popup-widget/components/my-team-subordinates-popup/my-team-popup.component';","/**\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","i1.HRTranslatePipe","i2","i4","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 | highlight: searchValue()\"></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 | highlight: searchValue()\"></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, inject, input, output, signal, ViewChild } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport {\n DxScrollViewComponent,\n DxTextBoxModule,\n DxPopupModule,\n DxScrollViewModule,\n DxLoadIndicatorModule,\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 myTeamSubordinatesLoading = signal(false);\n\nexport function openMyTeamSubordinatesPopup(): void {\n myTeamSubordinatesLoading.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 DxLoadIndicatorModule,\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\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 isLoading = myTeamSubordinatesLoading;\n readonly showAllSubordinates = signal(false);\n readonly searchValue = signal('');\n readonly items = signal<{ adminUnitName: string; employees: SubordinateDTO[] }[]>([]);\n readonly isDataLoading = signal(false);\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 contactIconClass = input('fs-10 text-light-gray');\n readonly emailTextClass = input(\n 'd-inline-flex align-items-center flex-grow-1 text-ellipsis-one-line link-dark hover-primary text-decoration-none link-underline link-underline-opacity-0 link-underline-opacity-100-hover',\n );\n readonly groupedListClass = input('d-flex flex-column gap-2 pb-2');\n readonly loadingContainerClass = input('d-flex justify-content-center py-2');\n readonly loadingIndicatorClass = input('w-30 h-30');\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 myTeamSubordinatesVisible.set(false);\n this.setPopupLoading(false);\n this.showAllSubordinates.set(false);\n this.searchValue.set('');\n this.resetState();\n }\n\n onPopupShown(): void {\n this.setPopupLoading(true);\n this.loadPage(true);\n }\n\n private setPopupLoading(isLoading: boolean): void {\n if (this.isLoading() === isLoading) {\n return;\n }\n\n this.isLoading.set(isLoading);\n this.isLoadingChanged.emit(isLoading);\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 openEmployeeEmail(event: MouseEvent, employee: SubordinateDTO): void {\n event.preventDefault();\n event.stopPropagation();\n\n const email = this.getEmployeeEmail(employee);\n if (!email) {\n return;\n }\n\n globalThis.location.href = `mailto:${email}`;\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 this.searchValue.set(nextSearchValue);\n this.loadPage(true);\n }\n\n onToggleChange(event: Event): void {\n const checked = (event.target as HTMLInputElement).checked;\n this.showAllSubordinates.set(checked);\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\n this.items.set([\n {\n adminUnitName: '',\n employees: [...existingEmployees, ...pageData],\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() || (!reset && !this.hasMoreData())) {\n return;\n }\n\n if (reset) {\n this.resetState();\n }\n\n this.isDataLoading.set(true);\n if (reset) {\n this.setPopupLoading(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 this.isDataLoading.set(false);\n if (reset) {\n this.setPopupLoading(false);\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 (onShown)=\"onPopupShown()\"\n (onHiding)=\"closePopup()\"\n>\n <ng-template #loadingIndicatorTemplate>\n <div [class]=\"loadingContainerClass()\">\n <dx-load-indicator [visible]=\"true\" [class]=\"loadingIndicatorClass()\"></dx-load-indicator>\n </div>\n </ng-template>\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]=\"contactRowClass()\">\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 (click)=\"openEmployeeEmail($event, employee)\"\n [innerHTML]=\"getEmployeeEmailDisplay(employee) | highlight: searchValue()\"\n ></a>\n } @else {\n <span [class]=\"emailTextClass()\">-</span>\n }\n </span>\n <span [class]=\"contactRowClass()\">\n <fa-icon [icon]=\"phoneIcon()\" [class]=\"contactIconClass()\"></fa-icon>\n <span [innerHTML]=\"getEmployeePhoneDisplay(employee) | highlight: searchValue()\"></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 (isLoading() && items().length === 0) {\n <ng-container *ngTemplateOutlet=\"loadingIndicatorTemplate\"></ng-container>\n } @else if (items().length === 0) {\n <div [class]=\"emptyStateClass()\">\n {{ 'NoDataToDisplay' | translate }}\n </div>\n } @else {\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 @if (isDataLoading()) {\n <ng-container *ngTemplateOutlet=\"loadingIndicatorTemplate\"></ng-container>\n }\n }\n </div>\n </dx-scroll-view>\n</dx-popup>\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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"}
|