import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core'; import { ConfirmationService } from 'primeng/api'; import { Button } from 'primeng/button'; import { ConfirmDialog } from 'primeng/confirmdialog'; @Component({ selector: 'app-shared-confirmation-dialog', templateUrl: './confirmation-dialog.component.html', providers: [ConfirmationService], imports: [ConfirmDialog, Button], }) export class ConfirmationDialogComponent implements OnDestroy { @Input() message!: string; @Input() header: string = 'تأیید عملیات'; @Input() acceptLabel: string = 'بله'; @Input() rejectLabel: string = 'خیر'; @Output() onAccept = new EventEmitter(); @Output() onReject = new EventEmitter(); constructor(private confirmationService: ConfirmationService) {} show() { this.confirmationService.confirm({ header: this.header, message: this.message, acceptLabel: this.acceptLabel, rejectLabel: this.rejectLabel, accept: () => { this.accept(); }, reject: () => { this.reject(); }, }); } accept() { this.onAccept.emit(); } reject() { this.onReject.emit(); } ngOnDestroy() { // Cleanup if needed } }