import { Component, inject } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';

import SharedModule from 'app/shared/shared.module';
import { ITEM_DELETED_EVENT } from 'app/config/navigation.constants';
import { IDashboardComponent } from '../dashboard-component.model';
import { DashboardComponentService } from '../service/dashboard-component.service';

@Component({
  standalone: true,
  templateUrl: './dashboard-component-delete-dialog.component.html',
  imports: [SharedModule, FormsModule],
})
export class DashboardComponentDeleteDialogComponent {
  dashboardComponent?: IDashboardComponent;

  protected dashboardComponentService = inject(DashboardComponentService);
  protected activeModal = inject(NgbActiveModal);

  cancel(): void {
    this.activeModal.dismiss();
  }

  confirmDelete(id: number): void {
    this.dashboardComponentService.delete(id).subscribe(() => {
      this.activeModal.close(ITEM_DELETED_EVENT);
    });
  }
}
