import { Provider, inject } from '@angular/core'; import { JT_GRID_BULK_UI, JtGridBulkUi } from '@jambotron/aria-grid'; import { DialogService } from './dialog.service'; import { ToastService } from './toast.service'; /** The grid's bulk actions ask through our glass dialog and report through our toasts. */ export function provideMailGrid(): Provider[] { return [{ provide: JT_GRID_BULK_UI, useFactory: (): JtGridBulkUi => { const dialogs = inject(DialogService); const toasts = inject(ToastService); return { ask: request => dialogs.ask({ title: request.title, message: request.message, confirmLabel: request.confirmLabel, danger: request.danger, ...(request.reason ? { input: '', inputLabel: 'Reason', required: true } : {}) }), success: message => toasts.ok(message), error: message => toasts.error(message) }; } }]; }