UNPKG

@jcbautistam/custom-table

Version:

Librería de tabla reutilizable con acciones, filtros, exportación y más.

65 lines (64 loc) 1.77 kB
import { Observable, Subscription } from 'rxjs'; import * as i0 from "@angular/core"; export interface ExportJob { id: string; fileName: string; progress: number; isCompleted: boolean; error: string | null; timestamp: number; progressAnimation?: Subscription | null; } export interface ExportStatus { isExporting: boolean; activeJobs: ExportJob[]; showNotification: boolean; } export declare class ExportNotificationService { private defaultStatus; private exportStatusSubject; exportStatus$: Observable<ExportStatus>; constructor(); /** * Inicia una nueva exportación y retorna su ID */ startExport(fileName: string): string; /** * Actualiza el progreso de una exportación específica */ updateProgress(jobId: string, targetProgress: number): void; /** * Detiene de forma segura una animación */ private stopAnimation; /** * Anima el progreso de una forma más realista */ private animateProgressTo; /** * Marca una exportación como completada */ completeExport(jobId: string): void; /** * Marca una exportación como fallida */ errorExport(jobId: string, error: any): void; /** * Elimina un trabajo de la lista de trabajos activos */ private removeJob; /** * Oculta la notificación manualmente */ hideNotification(): void; /** * Muestra la notificación si estaba oculta */ showNotification(): void; /** * Genera un ID único para cada trabajo */ private generateJobId; static ɵfac: i0.ɵɵFactoryDeclaration<ExportNotificationService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ExportNotificationService>; }