import * as i0 from '@angular/core'; import { ElementRef, EventEmitter } from '@angular/core'; import { SelectionModel } from '@angular/cdk/collections'; import * as i4 from '@angular/material/list'; import { MatSelectionList, MatListOption } from '@angular/material/list'; import * as i3 from '@angular/common'; import * as i5 from '@angular/material/button'; import * as i6 from '@angular/material/icon'; import * as i7 from '@angular/material/core'; /** * Clase para procesar archivo csv según las necesidades. * Produce datos con la estructura necesaria para el grid de datos o un arreglo de objetos. */ declare class ProcesoArchivoCsv { /** * * @param archivo El archivo csv a procesar * @param datosParaDataGrid Especifica si los datos a generar son para el grid de datos * @returns Una promesa con los datos en el formato especificado por el parámetro `datosParaGrid` * @example * Si la propiedad ´datosParaDataGrid = true´ devuelve ´{cols:[],rows:[]}´ * Si la propiedad ´datosParaDataGrid = false´ devuelve ´[{propiedad1:'valor',propiedad2:'valor2'}]´ */ procesar(archivo: FileList, datosParaDataGrid: boolean): Promise; /** * Método que genera la información y columnas contenidas en el archivo ´csv´ seleccionado. * @param datos El texto contenido en el archivo ´csv´. * @param datosParaDataGrid Especifica si los datos a generar son para el grid de datos * @returns Retorna una lista con la información y las columnas contenidas en el archivo ´csv´. */ private generarInformacionColumnas; /** * Método para separa las filar del csv en columnas. * @param fila La cadena a separar para generar las columnas * @returns Arreglo con las columnas */ generaColumnas(fila: string): string[]; } declare class RediDragDropComponent { private readonly procesoArchivoCsv; /** * Obtiene o establece el titulo que se mostrara en el componente. * @default 'Sube tu archivo' */ titulo: string | undefined; /** * Obtiene o establece si el titulo se muestra. * @default 'true' */ muestraTitulo: boolean; /** * Obtiene o establece las extensiones aceptadas por el componente. * @default Acepta todas las extensiones. * @example '.pdf,xls,.zip' */ extensionesAceptadas: string | undefined; /** * Obtiene o establece el tamaño máximo (MB) permitido para cada archivo que se puede cargar en el componente. * @default Acepta cualquier tamaño si no es especificado. */ tamanoMaximoArchivo: number | undefined; /** * Obtiene o establece si los datos procesados en la carga de un archivo `csv` son para el grid. * @default true */ datosParaDataGrid: boolean; /** * Obtiene o establece el mensaje de error. */ protected mensajeError: string | undefined; /** * Obtiene o establece el input para la carga de los archivos. */ inputArchivo: ElementRef | undefined; /** * Obtiene o establece la lista de los archivos cargados en el front. */ listArchivos: MatSelectionList | undefined; /** * Obtiene o establece el archivo cargado. */ protected archivo: FileList | undefined | null; /** * Verifica si existe archivo cargado en el componente. */ protected get existeArchivo(): boolean; /** * Obtiene una lista con los archivos cargados. */ get archivos(): string[]; /** * Obtiene el nombre del primer archivo de la lista. */ protected get nombreArchivo(): string | undefined; /** * Obtiene o establece si la carga de archivos es múltiple. */ private multiple; /** * Establece si la carga de archivos es múltiple. */ set archivosMultiples(value: boolean); /** * Obtiene si la carga de los archivos es múltiple. */ get archivosMultiples(): boolean; /** * Obtiene o establece si la selección de archivos,se realizará desde distintos directorios. */ private seleccionDiferida; /** * Establece si la selección de archivos se realizará desde distintos directorios. */ set cargaDiferida(value: boolean); /** * Obtiene si la selección de archivos se realizará desde distintos directorios. */ get cargaDiferida(): boolean; /** * Obtiene o establece aquellos archivos que ya se encuentran cargados en el componente. */ protected repetidos: (string | undefined)[]; /** * Obtiene o establece que se realizará un proceso de lectura al archivo csv cargado en el componente. */ private procesoCsv; /** * Especifica que el archivo a cargar en el componente es un `csv`. Y establece en `true` la propiedad `procesoCsv`. */ set procesarCsvTabla(value: boolean); /** * Evento que se emite una vez que el archivo `csv` es procesado. * @example * Si la propiedad ´datosParaDataGrid = true´ devuelve ´{cols:[],rows:[]}´ * Si la propiedad ´datosParaDataGrid = false´ devuelve ´[{propiedad1:'valor',propiedad2:'valor2'}]´ * */ csvDatosProcesados: EventEmitter; /** * Obtiene o establece si existe un error. */ protected error: boolean; cambioArchivo: EventEmitter; constructor(procesoArchivoCsv: ProcesoArchivoCsv); /** * Método que establece el proceso a realizar con el o los archivos seleccionados. * @param fileList Los archivos seleccionados */ establecerProceso(fileList: FileList): void; /** * Método encargado para el proceso de archivo individual. * @param archivo El archivo csv seleccionado. */ protected procesarArchivo(archivo: FileList): Promise; /** * Método encargado para el proceso de múltiples archivos. * @param archivo Los archivos seleccionados. * @returns Void */ protected procesarArchivosPorSeparado(archivo: FileList): void; /** * Método que carga los archivos nuevos a la lista de archivos seleccionados anteriormente. * @param archivo Los archivos seleccionados * @param archivosNuevos Arreglo con la lista de los archivos seleccionados. */ private cargarArchivos; /** * Método que elimina los archivos seleccionados de lista. * @param selectionModel La lista de opciones seleccionadas */ eliminarArchivo(selectionModel: SelectionModel): void; eliminarTodosArchivos(): void; /** * Método que genera y retorna un arreglo con los nombres de los archivos cargados. * @param fileList Objeto que contiene los archivos seleccionados * @returns Retorna arreglo de cadenas. * `['archivo.pdf','archivo2.avi']` */ private generarListaNombreArchivos; /** * Método que genera y retorna un arreglo numérico con los tamaños de cada uno de los archivos seleccionados. * @param fileList Objeto que contiene los archivos seleccionados * @returns Retorna arreglo numérico con el tamaño de cada archivo en bytes. * `[124661,123132]` */ private generarListaTamanioArchivos; /** * Método que verifica si las extensiones son válidas. * @param extensionesArchivosSeleccionados Arreglo con las extensiones de cada uno de los archivos seleccionados. * @returns Boolean */ private manejoErrorExtensionesValidas; /** * Método que verifica si las extensiones de los archivos seleccionados son válidas, y asigna los archivos * a la propiedad `inputArchivo` en caso de que sean válidos. * @param extensionesArchivosSeleccionados Arreglo con las extensiones de cada uno de los archivos seleccionados. * @returns Boolean */ private verificaExtensiones; /** * Método para establecer el mensaje de error en el componente, el mensaje dura 3 segundos después de eso desaparece. * @param mensaje El mensaje de error a mostrar en el componente */ private estableceMensajeError; /** * Método que valida si las extensiones de los archivos son válidos con respectos a los especificados en la propiedad `extensionesAceptadas`. * @param extensiones Arreglo que contiene las extensiones aceptadas por el componente. * @param extensionesArchivosSeleccionados Arreglo que contiene la extensiones de los archivos seleccionados. * @returns Boolean */ private extensionesValidas; /** * Método para validar que el tamaño de los archivos seleccionados sea menor o igual al especificado en la propiedad `tamanoMaximoArchivo`. Si este no es especificado * se permite cualquier tamaño de archivo. * @param archivo El o los archivos seleccionados. * @returns Boolean */ private validoTamanioArchivos; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DragDropDirective { readonly formato = "dashed 2px #838383"; /** * Evento que se emite una vez que se ha soltado el o los archivos en el componente. */ fileDropped: EventEmitter; /** * Evento que se emite una vez que se hace click al componente. */ clicked: EventEmitter; /** * Obtiene o establece el estilo del borde del componente. */ border: string; /** * Obtiene o establece el estilo del fondo del componente. */ background: string; /** * El evento que cambia el borde y fondo del componente al arrastrar el archivo sobre el. * @param event Evento */ dragOver(event: DragEvent): void; /** * El evento que restablece el borde y fondo del componente una vez que el archivo sale del área. * @param event Evento */ dragLeave(event: DragEvent): void; /** * Evento que se ejecuta una vez que el archivo se suelta en el componente. * @param event Evento */ drop(event: DragEvent): void; /** * Se emite el evento click en una vez se suelta el click (izquierdo) * @param $event Evento */ onClick(event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class RediDragDropModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { DragDropDirective, ProcesoArchivoCsv, RediDragDropComponent, RediDragDropModule };