import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; import { CommonModule } from '@angular/common'; //Modules import { AngularSvgIconModule } from 'angular-svg-icon'; //Components import { CaPeriodContentPaymentComponent, CaPeriodContentExtraInfoComponent, CaPeriodContentUserInfoComponent, } from './components'; //enum import { PayrollTypeEnum } from './enums'; //Interface import { DriverInfo, ExtraPayments } from './models'; //pipes import { FormatCurrencyPipe } from '../../pipes/format-currency.pipe'; import { PayrollReport } from './models/payroll-report.type'; import { PayrollReportTableResponse } from './models/payroll-report-tables.type'; @Component({ selector: 'app-ca-period-content', providers: [FormatCurrencyPipe], imports: [ //Modules CommonModule, AngularSvgIconModule, //Components CaPeriodContentPaymentComponent, CaPeriodContentUserInfoComponent, CaPeriodContentExtraInfoComponent, //pipes FormatCurrencyPipe, ], templateUrl: './ca-period-content.component.html', styleUrls: ['./ca-period-content.component.scss'], }) export class CaPeriodContentComponent { @Input() isOpen!: boolean; @Input() type!: PayrollTypeEnum; @Input() componentData!: PayrollReport; @Output() reorderedDataEmiter = new EventEmitter<{ _included: PayrollReportTableResponse[]; _title: string; }>(); @Output() openModalEmiter = new EventEmitter(); @Output() openActionEditItems = new EventEmitter(); @Output() proccessPayroll = new EventEmitter(); public salary!: number; public totalEarnings!: number; public debt!: number; public debtTitle!: string; public isInDebt?: boolean; public paymentStatus!: string; public driverInfo!: DriverInfo; public extraPayments!: ExtraPayments; ngOnInit(): void {} constructor() {} public processPayment(): void { this.proccessPayroll.emit(this.componentData); } public addPayment(): void { this.proccessPayroll.emit(this.componentData); } public getReorderedData(data: { _included: PayrollReportTableResponse[]; _title: string; }): void { this.reorderedDataEmiter.emit(data); } public openAddNewModal(type: any): void { this.openModalEmiter.emit(type); } public handleOpenEditEntryItem(item: any): void { this.openActionEditItems.emit(item); } }