Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 25x 1x | import { Injectable, inject } from '@angular/core';
import { ModalService } from './modal.service';
import { WarningModal, WarningModalData } from '../components/warning-modal/warning-modal';
export interface ConfirmModalOptions {
closeOnBackdropClick?: boolean;
closeOnEscape?: boolean;
}
@Injectable({
providedIn: 'root',
})
export class ConfirmModalService {
private readonly modalService = inject(ModalService);
/**
* Opens a standard warning/confirm modal and resolves to `true` only when confirmed.
*/
async confirm(data: WarningModalData, options: ConfirmModalOptions = {}): Promise<boolean> {
const result = await this.modalService.open<WarningModalData, boolean>({
component: WarningModal,
data,
...options,
});
return result === true;
}
}
|