ngx-redi-core 0.0.0-watch
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Helper/index.d.ts +5 -0
- package/Helper/package.json +3 -0
- package/Helper/public-api.d.ts +3 -0
- package/Helper/src/helpers/bag-data-subject.service.d.ts +43 -0
- package/Helper/src/helpers/csv.service.d.ts +33 -0
- package/Helper/src/helpers/data-subject.service.d.ts +32 -0
- package/Helper/src/models/interfaces/data-subject.interface.d.ts +6 -0
- package/README.md +24 -0
- package/RediDragDrop/index.d.ts +5 -0
- package/RediDragDrop/package.json +3 -0
- package/RediDragDrop/public-api.d.ts +4 -0
- package/RediDragDrop/src/models/classes/proceso-archivo-csv.d.ts +29 -0
- package/RediDragDrop/src/models/directives/drag-drop.directive.d.ts +43 -0
- package/RediDragDrop/src/modules/redi-drag-drop/redi-drag-drop.component.d.ts +188 -0
- package/RediDragDrop/src/modules/redi-drag-drop.module.d.ts +13 -0
- package/RediGrid/index.d.ts +5 -0
- package/RediGrid/package.json +3 -0
- package/RediGrid/public-api.d.ts +4 -0
- package/RediGrid/src/models/interfaces/cell.d.ts +37 -0
- package/RediGrid/src/models/interfaces/data-grid.d.ts +30 -0
- package/RediGrid/src/modules/redi-grid/redi-grid.component.d.ts +92 -0
- package/RediGrid/src/modules/redi-grid.module.d.ts +14 -0
- package/RediTable/index.d.ts +5 -0
- package/RediTable/package.json +3 -0
- package/RediTable/public-api.d.ts +6 -0
- package/RediTable/src/components/filter-data/filter-data.component.d.ts +23 -0
- package/RediTable/src/components/redi-table/redi-table.component.d.ts +139 -0
- package/RediTable/src/models/interfaces/column-definition.d.ts +18 -0
- package/RediTable/src/models/interfaces/data-table.d.ts +24 -0
- package/RediTable/src/models/interfaces/filter-item.d.ts +5 -0
- package/RediTable/src/models/interfaces/row-action.d.ts +24 -0
- package/RediTable/src/models/types/event-table.type.d.ts +5 -0
- package/Security/index.d.ts +5 -0
- package/Security/package.json +3 -0
- package/Security/public-api.d.ts +6 -0
- package/Security/src/modules/security-web-intercept/interceptors/redi-secure.interceptor.d.ts +39 -0
- package/Security/src/modules/security-web-intercept/models/secure-factory.model.d.ts +10 -0
- package/Security/src/modules/security-web-intercept/services/cifrado-basico.service.d.ts +14 -0
- package/Security/src/modules/security-web-intercept/services/cifrado.service.d.ts +21 -0
- package/Security/src/modules/security-web-intercept/services/reflection.service.d.ts +58 -0
- package/Security/src/modules/security.module.d.ts +11 -0
- package/esm2022/Helper/ngx-redi-core-Helper.mjs +5 -0
- package/esm2022/Helper/public-api.mjs +4 -0
- package/esm2022/Helper/src/helpers/bag-data-subject.service.mjs +61 -0
- package/esm2022/Helper/src/helpers/csv.service.mjs +69 -0
- package/esm2022/Helper/src/helpers/data-subject.service.mjs +34 -0
- package/esm2022/Helper/src/models/interfaces/data-subject.interface.mjs +2 -0
- package/esm2022/RediDragDrop/ngx-redi-core-RediDragDrop.mjs +5 -0
- package/esm2022/RediDragDrop/public-api.mjs +5 -0
- package/esm2022/RediDragDrop/src/models/classes/proceso-archivo-csv.mjs +132 -0
- package/esm2022/RediDragDrop/src/models/directives/drag-drop.directive.mjs +95 -0
- package/esm2022/RediDragDrop/src/modules/redi-drag-drop/redi-drag-drop.component.mjs +369 -0
- package/esm2022/RediDragDrop/src/modules/redi-drag-drop.module.mjs +34 -0
- package/esm2022/RediGrid/ngx-redi-core-RediGrid.mjs +5 -0
- package/esm2022/RediGrid/public-api.mjs +5 -0
- package/esm2022/RediGrid/src/models/interfaces/cell.mjs +2 -0
- package/esm2022/RediGrid/src/models/interfaces/data-grid.mjs +2 -0
- package/esm2022/RediGrid/src/modules/redi-grid/redi-grid.component.mjs +159 -0
- package/esm2022/RediGrid/src/modules/redi-grid.module.mjs +34 -0
- package/esm2022/RediTable/ngx-redi-core-RediTable.mjs +5 -0
- package/esm2022/RediTable/public-api.mjs +9 -0
- package/esm2022/RediTable/src/components/filter-data/filter-data.component.mjs +84 -0
- package/esm2022/RediTable/src/components/redi-table/redi-table.component.mjs +404 -0
- package/esm2022/RediTable/src/models/interfaces/column-definition.mjs +2 -0
- package/esm2022/RediTable/src/models/interfaces/data-table.mjs +2 -0
- package/esm2022/RediTable/src/models/interfaces/filter-item.mjs +2 -0
- package/esm2022/RediTable/src/models/interfaces/row-action.mjs +2 -0
- package/esm2022/RediTable/src/models/types/event-table.type.mjs +2 -0
- package/esm2022/Security/ngx-redi-core-Security.mjs +5 -0
- package/esm2022/Security/public-api.mjs +7 -0
- package/esm2022/Security/src/modules/security-web-intercept/interceptors/redi-secure.interceptor.mjs +88 -0
- package/esm2022/Security/src/modules/security-web-intercept/models/secure-factory.model.mjs +27 -0
- package/esm2022/Security/src/modules/security-web-intercept/services/cifrado-basico.service.mjs +51 -0
- package/esm2022/Security/src/modules/security-web-intercept/services/cifrado.service.mjs +33 -0
- package/esm2022/Security/src/modules/security-web-intercept/services/reflection.service.mjs +122 -0
- package/esm2022/Security/src/modules/security.module.mjs +23 -0
- package/esm2022/ngx-redi-core.mjs +5 -0
- package/esm2022/public-api.mjs +8 -0
- package/fesm2022/ngx-redi-core-Helper.mjs +166 -0
- package/fesm2022/ngx-redi-core-Helper.mjs.map +1 -0
- package/fesm2022/ngx-redi-core-RediDragDrop.mjs +628 -0
- package/fesm2022/ngx-redi-core-RediDragDrop.mjs.map +1 -0
- package/fesm2022/ngx-redi-core-RediGrid.mjs +196 -0
- package/fesm2022/ngx-redi-core-RediGrid.mjs.map +1 -0
- package/fesm2022/ngx-redi-core-RediTable.mjs +496 -0
- package/fesm2022/ngx-redi-core-RediTable.mjs.map +1 -0
- package/fesm2022/ngx-redi-core-Security.mjs +339 -0
- package/fesm2022/ngx-redi-core-Security.mjs.map +1 -0
- package/fesm2022/ngx-redi-core.mjs +14 -0
- package/fesm2022/ngx-redi-core.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +57 -0
- package/public-api.d.ts +4 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { DataSubjectService } from './data-subject.service';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Servicio para compartir datos entre micro-fronts
|
|
6
|
+
* @decorators `@Injectable`
|
|
7
|
+
*/
|
|
8
|
+
export declare class BagDataSubjectService {
|
|
9
|
+
/**
|
|
10
|
+
* Crea un nuevo servicio de datos compartido
|
|
11
|
+
*/
|
|
12
|
+
constructor();
|
|
13
|
+
/**
|
|
14
|
+
* Obtiene el subjet dada un identificador
|
|
15
|
+
* @param subject Identificador
|
|
16
|
+
* @returns Servicio de datos
|
|
17
|
+
*/
|
|
18
|
+
getSubject<T>(subject: string): DataSubjectService<T>;
|
|
19
|
+
/**
|
|
20
|
+
* Asigna los datos a un servicio mediante su identificador
|
|
21
|
+
* @param subject Identificador del servicio
|
|
22
|
+
* @param data Datos a emitir
|
|
23
|
+
*/
|
|
24
|
+
setData<T>(subject: string, data: T): void;
|
|
25
|
+
/**
|
|
26
|
+
* Obtiene el ultimo dato del servicio especificando su identificador
|
|
27
|
+
* @param subject Identificador del servicio
|
|
28
|
+
* @returns Dato
|
|
29
|
+
*/
|
|
30
|
+
getData<T>(subject: string): T;
|
|
31
|
+
/**
|
|
32
|
+
* Obtiene el observable especificando el servicio
|
|
33
|
+
* @param subject Identificador del servicio
|
|
34
|
+
* @returns Observable<T>
|
|
35
|
+
*/
|
|
36
|
+
getObservable<T>(subject: string): Observable<T>;
|
|
37
|
+
/**
|
|
38
|
+
* Objeto contenedor de los subjects
|
|
39
|
+
*/
|
|
40
|
+
private subjects;
|
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BagDataSubjectService, never>;
|
|
42
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BagDataSubjectService>;
|
|
43
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* Servicio que provee métodos para trabajar con datos CSV
|
|
4
|
+
*/
|
|
5
|
+
export declare class CsvService {
|
|
6
|
+
/**
|
|
7
|
+
* Genera el texto CSV a partir de un archivo
|
|
8
|
+
* @param data- Datos a construir
|
|
9
|
+
* @returns CSV texto
|
|
10
|
+
*/
|
|
11
|
+
generarCsv<T extends {}>(data: Array<T>): string;
|
|
12
|
+
/**
|
|
13
|
+
* Método que indica si la propiedad es serializable
|
|
14
|
+
* @param propiedad - Propiedad a validar
|
|
15
|
+
* @returns True si es una propiedad serializable
|
|
16
|
+
*/
|
|
17
|
+
private tipoSerializable;
|
|
18
|
+
/**
|
|
19
|
+
* Descarga el CSV a partir de los datos establecidos
|
|
20
|
+
* @param archivo - Nombre del archivo a descargar
|
|
21
|
+
* @param data - Arreglo de datos a descargar
|
|
22
|
+
*/
|
|
23
|
+
descargarCsv<T extends {}>(archivo: string, data: Array<T>): void;
|
|
24
|
+
/**
|
|
25
|
+
* Genera el link para el blob y archivo establecidos
|
|
26
|
+
* @param archivo - Nombre del archivo a descargar
|
|
27
|
+
* @param blob - Contenido del blob
|
|
28
|
+
* @returns link
|
|
29
|
+
*/
|
|
30
|
+
private generarLink;
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CsvService, never>;
|
|
32
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CsvService>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { DataSubject } from '../models/interfaces/data-subject.interface';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Servicio para compartir datos
|
|
6
|
+
* @decorators `@Injectable`
|
|
7
|
+
*/
|
|
8
|
+
export declare class DataSubjectService<T> implements DataSubject<T> {
|
|
9
|
+
/**
|
|
10
|
+
* Crea un nuevo servicio de Datos compartidos
|
|
11
|
+
*/
|
|
12
|
+
constructor();
|
|
13
|
+
/**
|
|
14
|
+
* Contiene el subject que emite datos
|
|
15
|
+
*/
|
|
16
|
+
private readonly subject;
|
|
17
|
+
/**
|
|
18
|
+
* Emite los datos a los subscriptores
|
|
19
|
+
* @param data Datos a emitir
|
|
20
|
+
*/
|
|
21
|
+
broadcast(data: T): void;
|
|
22
|
+
/**
|
|
23
|
+
* Contiene el ultimo dato emitido
|
|
24
|
+
*/
|
|
25
|
+
data: T;
|
|
26
|
+
/**
|
|
27
|
+
* Observable que notifica los cambios
|
|
28
|
+
*/
|
|
29
|
+
observer: Observable<T>;
|
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataSubjectService<any>, never>;
|
|
31
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DataSubjectService<any>>;
|
|
32
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# NgxRediCore
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.0.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project ngx-redi-core` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-redi-core`.
|
|
8
|
+
> Note: Don't forget to add `--project ngx-redi-core` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build ngx-redi-core` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build ngx-redi-core`, go to the dist folder `cd dist/ngx-redi-core` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test ngx-redi-core` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clase para procesar archivo csv según las necesidades.
|
|
3
|
+
* Produce datos con la estructura necesaria para el grid de datos o un arreglo de objetos.
|
|
4
|
+
*/
|
|
5
|
+
export declare class ProcesoArchivoCsv {
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @param archivo El archivo csv a procesar
|
|
9
|
+
* @param datosParaDataGrid Especifica si los datos a generar son para el grid de datos
|
|
10
|
+
* @returns Una promesa con los datos en el formato especificado por el parámetro `datosParaGrid`
|
|
11
|
+
* @example
|
|
12
|
+
* Si la propiedad ´datosParaDataGrid = true´ devuelve ´{cols:[],rows:[]}´
|
|
13
|
+
* Si la propiedad ´datosParaDataGrid = false´ devuelve ´[{propiedad1:'valor',propiedad2:'valor2'}]´
|
|
14
|
+
*/
|
|
15
|
+
procesar(archivo: FileList, datosParaDataGrid: boolean): Promise<unknown>;
|
|
16
|
+
/**
|
|
17
|
+
* Método que genera la información y columnas contenidas en el archivo ´csv´ seleccionado.
|
|
18
|
+
* @param datos El texto contenido en el archivo ´csv´.
|
|
19
|
+
* @param datosParaDataGrid Especifica si los datos a generar son para el grid de datos
|
|
20
|
+
* @returns Retorna una lista con la información y las columnas contenidas en el archivo ´csv´.
|
|
21
|
+
*/
|
|
22
|
+
private generarInformacionColumnas;
|
|
23
|
+
/**
|
|
24
|
+
* Método para separa las filar del csv en columnas.
|
|
25
|
+
* @param fila La cadena a separar para generar las columnas
|
|
26
|
+
* @returns Arreglo con las columnas
|
|
27
|
+
*/
|
|
28
|
+
generaColumnas(fila: string): string[];
|
|
29
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class DragDropDirective {
|
|
4
|
+
readonly formato = "dashed 2px #838383";
|
|
5
|
+
/**
|
|
6
|
+
* Evento que se emite una vez que se ha soltado el o los archivos en el componente.
|
|
7
|
+
*/
|
|
8
|
+
fileDropped: EventEmitter<FileList>;
|
|
9
|
+
/**
|
|
10
|
+
* Evento que se emite una vez que se hace click al componente.
|
|
11
|
+
*/
|
|
12
|
+
clicked: EventEmitter<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Obtiene o establece el estilo del borde del componente.
|
|
15
|
+
*/
|
|
16
|
+
private border;
|
|
17
|
+
/**
|
|
18
|
+
* Obtiene o establece el estilo del fondo del componente.
|
|
19
|
+
*/
|
|
20
|
+
private background;
|
|
21
|
+
/**
|
|
22
|
+
* El evento que cambia el borde y fondo del componente al arrastrar el archivo sobre el.
|
|
23
|
+
* @param event Evento
|
|
24
|
+
*/
|
|
25
|
+
dragOver(event: DragEvent): void;
|
|
26
|
+
/**
|
|
27
|
+
* El evento que restablece el borde y fondo del componente una vez que el archivo sale del área.
|
|
28
|
+
* @param event Evento
|
|
29
|
+
*/
|
|
30
|
+
dragLeave(event: DragEvent): void;
|
|
31
|
+
/**
|
|
32
|
+
* Evento que se ejecuta una vez que el archivo se suelta en el componente.
|
|
33
|
+
* @param event Evento
|
|
34
|
+
*/
|
|
35
|
+
drop(event: DragEvent): void;
|
|
36
|
+
/**
|
|
37
|
+
* Se emite el evento click en una vez se suelta el click (izquierdo)
|
|
38
|
+
* @param $event Evento
|
|
39
|
+
*/
|
|
40
|
+
onClick(event: MouseEvent): void;
|
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DragDropDirective, never>;
|
|
42
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DragDropDirective, "[dragDrop]", never, {}, { "fileDropped": "fileDropped"; "clicked": "clicked"; }, never, never, false, never>;
|
|
43
|
+
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
|
+
import { ElementRef, EventEmitter } from '@angular/core';
|
|
3
|
+
import { MatListOption, MatSelectionList } from '@angular/material/list';
|
|
4
|
+
import { ProcesoArchivoCsv } from '../../models/classes/proceso-archivo-csv';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class RediDragDropComponent {
|
|
7
|
+
private readonly procesoArchivoCsv;
|
|
8
|
+
/**
|
|
9
|
+
* Obtiene o establece el titulo que se mostrara en el componente.
|
|
10
|
+
* @default 'Sube tu archivo'
|
|
11
|
+
*/
|
|
12
|
+
titulo: string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Obtiene o establece si el titulo se muestra.
|
|
15
|
+
* @default 'true'
|
|
16
|
+
*/
|
|
17
|
+
muestraTitulo: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Obtiene o establece las extensiones aceptadas por el componente.
|
|
20
|
+
* @default Acepta todas las extensiones.
|
|
21
|
+
* @example '.pdf,xls,.zip'
|
|
22
|
+
*/
|
|
23
|
+
extensionesAceptadas: string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Obtiene o establece el tamaño máximo (MB) permitido para cada archivo que se puede cargar en el componente.
|
|
26
|
+
* @default Acepta cualquier tamaño si no es especificado.
|
|
27
|
+
*/
|
|
28
|
+
tamanoMaximoArchivo: number | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Obtiene o establece si los datos procesados en la carga de un archivo `csv` son para el grid.
|
|
31
|
+
* @default true
|
|
32
|
+
*/
|
|
33
|
+
datosParaDataGrid: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Obtiene o establece el mensaje de error.
|
|
36
|
+
*/
|
|
37
|
+
protected mensajeError: string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Obtiene o establece el input para la carga de los archivos.
|
|
40
|
+
*/
|
|
41
|
+
inputArchivo: ElementRef | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Obtiene o establece la lista de los archivos cargados en el front.
|
|
44
|
+
*/
|
|
45
|
+
listArchivos: MatSelectionList | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Obtiene o establece el archivo cargado.
|
|
48
|
+
*/
|
|
49
|
+
protected archivo: FileList | undefined | null;
|
|
50
|
+
/**
|
|
51
|
+
* Verifica si existe archivo cargado en el componente.
|
|
52
|
+
*/
|
|
53
|
+
protected get existeArchivo(): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Obtiene una lista con los archivos cargados.
|
|
56
|
+
*/
|
|
57
|
+
get archivos(): string[];
|
|
58
|
+
/**
|
|
59
|
+
* Obtiene el nombre del primer archivo de la lista.
|
|
60
|
+
*/
|
|
61
|
+
protected get nombreArchivo(): string | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Obtiene o establece si la carga de archivos es múltiple.
|
|
64
|
+
*/
|
|
65
|
+
private multiple;
|
|
66
|
+
/**
|
|
67
|
+
* Establece si la carga de archivos es múltiple.
|
|
68
|
+
*/
|
|
69
|
+
set archivosMultiples(value: boolean);
|
|
70
|
+
/**
|
|
71
|
+
* Obtiene si la carga de los archivos es múltiple.
|
|
72
|
+
*/
|
|
73
|
+
get archivosMultiples(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Obtiene o establece si la selección de archivos,se realizará desde distintos directorios.
|
|
76
|
+
*/
|
|
77
|
+
private seleccionDiferida;
|
|
78
|
+
/**
|
|
79
|
+
* Establece si la selección de archivos se realizará desde distintos directorios.
|
|
80
|
+
*/
|
|
81
|
+
set cargaDiferida(value: boolean);
|
|
82
|
+
/**
|
|
83
|
+
* Obtiene si la selección de archivos se realizará desde distintos directorios.
|
|
84
|
+
*/
|
|
85
|
+
get cargaDiferida(): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Obtiene o establece aquellos archivos que ya se encuentran cargados en el componente.
|
|
88
|
+
*/
|
|
89
|
+
protected repetidos: (string | undefined)[];
|
|
90
|
+
/**
|
|
91
|
+
* Obtiene o establece que se realizará un proceso de lectura al archivo csv cargado en el componente.
|
|
92
|
+
*/
|
|
93
|
+
private procesoCsv;
|
|
94
|
+
/**
|
|
95
|
+
* Especifica que el archivo a cargar en el componente es un `csv`. Y establece en `true` la propiedad `procesoCsv`.
|
|
96
|
+
*/
|
|
97
|
+
set procesarCsvTabla(value: boolean);
|
|
98
|
+
/**
|
|
99
|
+
* Evento que se emite una vez que el archivo `csv` es procesado.
|
|
100
|
+
* @example
|
|
101
|
+
* Si la propiedad ´datosParaDataGrid = true´ devuelve ´{cols:[],rows:[]}´
|
|
102
|
+
* Si la propiedad ´datosParaDataGrid = false´ devuelve ´[{propiedad1:'valor',propiedad2:'valor2'}]´
|
|
103
|
+
*
|
|
104
|
+
*/
|
|
105
|
+
csvDatosProcesados: EventEmitter<unknown>;
|
|
106
|
+
/**
|
|
107
|
+
* Obtiene o establece si existe un error.
|
|
108
|
+
*/
|
|
109
|
+
protected error: boolean;
|
|
110
|
+
cambioArchivo: EventEmitter<FileList | null>;
|
|
111
|
+
constructor(procesoArchivoCsv: ProcesoArchivoCsv);
|
|
112
|
+
/**
|
|
113
|
+
* Método que establece el proceso a realizar con el o los archivos seleccionados.
|
|
114
|
+
* @param fileList Los archivos seleccionados
|
|
115
|
+
*/
|
|
116
|
+
establecerProceso(fileList: FileList): void;
|
|
117
|
+
/**
|
|
118
|
+
* Método encargado para el proceso de archivo individual.
|
|
119
|
+
* @param archivo El archivo csv seleccionado.
|
|
120
|
+
*/
|
|
121
|
+
protected procesarArchivo(archivo: FileList): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* Método encargado para el proceso de múltiples archivos.
|
|
124
|
+
* @param archivo Los archivos seleccionados.
|
|
125
|
+
* @returns Void
|
|
126
|
+
*/
|
|
127
|
+
protected procesarArchivosPorSeparado(archivo: FileList): void;
|
|
128
|
+
/**
|
|
129
|
+
* Método que carga los archivos nuevos a la lista de archivos seleccionados anteriormente.
|
|
130
|
+
* @param archivo Los archivos seleccionados
|
|
131
|
+
* @param archivosNuevos Arreglo con la lista de los archivos seleccionados.
|
|
132
|
+
*/
|
|
133
|
+
private cargarArchivos;
|
|
134
|
+
/**
|
|
135
|
+
* Método que elimina los archivos seleccionados de lista.
|
|
136
|
+
* @param selectionModel La lista de opciones seleccionadas
|
|
137
|
+
*/
|
|
138
|
+
eliminarArchivo(selectionModel: SelectionModel<MatListOption>): void;
|
|
139
|
+
eliminarTodosArchivos(): void;
|
|
140
|
+
/**
|
|
141
|
+
* Método que genera y retorna un arreglo con los nombres de los archivos cargados.
|
|
142
|
+
* @param fileList Objeto que contiene los archivos seleccionados
|
|
143
|
+
* @returns Retorna arreglo de cadenas.
|
|
144
|
+
* `['archivo.pdf','archivo2.avi']`
|
|
145
|
+
*/
|
|
146
|
+
private generarListaNombreArchivos;
|
|
147
|
+
/**
|
|
148
|
+
* Método que genera y retorna un arreglo numérico con los tamaños de cada uno de los archivos seleccionados.
|
|
149
|
+
* @param fileList Objeto que contiene los archivos seleccionados
|
|
150
|
+
* @returns Retorna arreglo numérico con el tamaño de cada archivo en bytes.
|
|
151
|
+
* `[124661,123132]`
|
|
152
|
+
*/
|
|
153
|
+
private generarListaTamanioArchivos;
|
|
154
|
+
/**
|
|
155
|
+
* Método que verifica si las extensiones son válidas.
|
|
156
|
+
* @param extensionesArchivosSeleccionados Arreglo con las extensiones de cada uno de los archivos seleccionados.
|
|
157
|
+
* @returns Boolean
|
|
158
|
+
*/
|
|
159
|
+
private manejoErrorExtensionesValidas;
|
|
160
|
+
/**
|
|
161
|
+
* Método que verifica si las extensiones de los archivos seleccionados son válidas, y asigna los archivos
|
|
162
|
+
* a la propiedad `inputArchivo` en caso de que sean válidos.
|
|
163
|
+
* @param extensionesArchivosSeleccionados Arreglo con las extensiones de cada uno de los archivos seleccionados.
|
|
164
|
+
* @returns Boolean
|
|
165
|
+
*/
|
|
166
|
+
private verificaExtensiones;
|
|
167
|
+
/**
|
|
168
|
+
* Método para establecer el mensaje de error en el componente, el mensaje dura 3 segundos después de eso desaparece.
|
|
169
|
+
* @param mensaje El mensaje de error a mostrar en el componente
|
|
170
|
+
*/
|
|
171
|
+
private estableceMensajeError;
|
|
172
|
+
/**
|
|
173
|
+
* Método que valida si las extensiones de los archivos son válidos con respectos a los especificados en la propiedad `extensionesAceptadas`.
|
|
174
|
+
* @param extensiones Arreglo que contiene las extensiones aceptadas por el componente.
|
|
175
|
+
* @param extensionesArchivosSeleccionados Arreglo que contiene la extensiones de los archivos seleccionados.
|
|
176
|
+
* @returns Boolean
|
|
177
|
+
*/
|
|
178
|
+
private extensionesValidas;
|
|
179
|
+
/**
|
|
180
|
+
* 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
|
|
181
|
+
* se permite cualquier tamaño de archivo.
|
|
182
|
+
* @param archivo El o los archivos seleccionados.
|
|
183
|
+
* @returns Boolean
|
|
184
|
+
*/
|
|
185
|
+
private validoTamanioArchivos;
|
|
186
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RediDragDropComponent, never>;
|
|
187
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RediDragDropComponent, "redi-drag-drop", never, { "titulo": { "alias": "titulo"; "required": false; }; "muestraTitulo": { "alias": "muestraTitulo"; "required": false; }; "extensionesAceptadas": { "alias": "extensionesAceptadas"; "required": false; }; "tamanoMaximoArchivo": { "alias": "tamanoMaximoArchivo"; "required": false; }; "datosParaDataGrid": { "alias": "datosParaDataGrid"; "required": false; }; "archivosMultiples": { "alias": "archivosMultiples"; "required": false; }; "cargaDiferida": { "alias": "cargaDiferida"; "required": false; }; "procesarCsvTabla": { "alias": "procesarCsvTabla"; "required": false; }; }, { "csvDatosProcesados": "csvDatosProcesados"; "cambioArchivo": "cambioArchivo"; }, never, never, false, never>;
|
|
188
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./redi-drag-drop/redi-drag-drop.component";
|
|
3
|
+
import * as i2 from "../models/directives/drag-drop.directive";
|
|
4
|
+
import * as i3 from "@angular/common";
|
|
5
|
+
import * as i4 from "@angular/material/list";
|
|
6
|
+
import * as i5 from "@angular/material/button";
|
|
7
|
+
import * as i6 from "@angular/material/icon";
|
|
8
|
+
import * as i7 from "@angular/material/core";
|
|
9
|
+
export declare class RediDragDropModule {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RediDragDropModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<RediDragDropModule, [typeof i1.RediDragDropComponent, typeof i2.DragDropDirective], [typeof i3.CommonModule, typeof i4.MatListModule, typeof i5.MatButtonModule, typeof i6.MatIconModule, typeof i7.MatRippleModule], [typeof i1.RediDragDropComponent]>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<RediDragDropModule>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface que representa una celda en el grid
|
|
3
|
+
*/
|
|
4
|
+
export interface Cell {
|
|
5
|
+
/**
|
|
6
|
+
* Indice de la columna
|
|
7
|
+
*/
|
|
8
|
+
indiceColumna?: number;
|
|
9
|
+
/**
|
|
10
|
+
* Indice de la fila
|
|
11
|
+
*/
|
|
12
|
+
indiceFila?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Indica si es valido
|
|
15
|
+
*/
|
|
16
|
+
esValido?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Contiene el tamaño máximo
|
|
19
|
+
*/
|
|
20
|
+
longitud?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Contiene el valor de la celda
|
|
23
|
+
*/
|
|
24
|
+
valor?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Indica si su valor fue editado en el grid
|
|
27
|
+
*/
|
|
28
|
+
editado?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Indica si el valor esta bloqueado
|
|
31
|
+
*/
|
|
32
|
+
bloqueado?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Propiedad que indica si el valor es serializable
|
|
35
|
+
*/
|
|
36
|
+
serializable?: boolean;
|
|
37
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Cell } from './cell';
|
|
2
|
+
/**
|
|
3
|
+
* Interface que contiene la configuración y el origen de datos para un Grid
|
|
4
|
+
*/
|
|
5
|
+
export interface DataGrid {
|
|
6
|
+
/**
|
|
7
|
+
* Contiene el arreglo de celtas para el Grid
|
|
8
|
+
*/
|
|
9
|
+
columnas: Array<Cell>;
|
|
10
|
+
/**
|
|
11
|
+
* Contiene el arreglo de filas para el grid
|
|
12
|
+
*/
|
|
13
|
+
filas: Array<Array<Cell>>;
|
|
14
|
+
/**
|
|
15
|
+
* Propiedad que indica si el grid se enumera
|
|
16
|
+
*/
|
|
17
|
+
enumerable?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Propiedad que indica si el grid es editable
|
|
20
|
+
*/
|
|
21
|
+
editable?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Arreglo de indices de columnas bloqueadas
|
|
24
|
+
*/
|
|
25
|
+
bloquearColumnas?: Array<number>;
|
|
26
|
+
/**
|
|
27
|
+
* Arreglo de indices de columnas no visibles
|
|
28
|
+
*/
|
|
29
|
+
ocultarColumnas?: Array<number>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
2
|
+
import { OnInit } from '@angular/core';
|
|
3
|
+
import { DataGrid } from '../../models/interfaces/data-grid';
|
|
4
|
+
import { CsvService } from 'ngx-redi-core/Helper';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Componente que representa los datos en un grid
|
|
8
|
+
* @decorators `@Component()`
|
|
9
|
+
*/
|
|
10
|
+
export declare class RediGridComponent implements OnInit {
|
|
11
|
+
private csv;
|
|
12
|
+
/**
|
|
13
|
+
* Datos de origen y configuración del grid
|
|
14
|
+
*/
|
|
15
|
+
data: DataGrid;
|
|
16
|
+
/**
|
|
17
|
+
* Indica si el grid se enumera
|
|
18
|
+
*/
|
|
19
|
+
enumerar: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Indica si el grid es editable
|
|
22
|
+
*/
|
|
23
|
+
editable: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Constructor del grid
|
|
26
|
+
* @param csv - Servicio CSV
|
|
27
|
+
*/
|
|
28
|
+
constructor(csv: CsvService);
|
|
29
|
+
/**
|
|
30
|
+
* Método de inicialización de visualización
|
|
31
|
+
*/
|
|
32
|
+
ngOnInit(): void;
|
|
33
|
+
/**
|
|
34
|
+
* ViewPort para el scroll virtual
|
|
35
|
+
*/
|
|
36
|
+
viewPort: CdkVirtualScrollViewport;
|
|
37
|
+
/**
|
|
38
|
+
* Método que invierte la ubicación del objeto renderizado
|
|
39
|
+
* @returns Regresa la ubicación invertida en modo texto
|
|
40
|
+
*/
|
|
41
|
+
get invertirUbicacion(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Método que valida si una columna esta bloqueada
|
|
44
|
+
* @param numeroColumna - Numero de columna
|
|
45
|
+
* @returns True si la columna esta bloqueada
|
|
46
|
+
*/
|
|
47
|
+
columnaBloqueada(numeroColumna: number): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Método que valida si una columna es visible
|
|
50
|
+
* @param numeroColumna - Numero de columna
|
|
51
|
+
* @returns True si es visible
|
|
52
|
+
*/
|
|
53
|
+
columnaVisible(numeroColumna: number): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Método que actualiza los datos editados en el grid
|
|
56
|
+
* @param indiceFila - Contiene el indice de la fila editada
|
|
57
|
+
* @param indiceColumna - Contiene el indice de la columna editada
|
|
58
|
+
* @param valor - Contiene el valor de edición de celda
|
|
59
|
+
*/
|
|
60
|
+
actualizarDatos(indiceFila: number, indiceColumna: number, valor: string): void;
|
|
61
|
+
/**
|
|
62
|
+
* Cambia el foco de las celdas
|
|
63
|
+
* @param event - KeyboardEvent
|
|
64
|
+
*/
|
|
65
|
+
moverFoco(event: KeyboardEvent): void;
|
|
66
|
+
/**
|
|
67
|
+
* Realiza el movimiento de celdas por el teclado
|
|
68
|
+
* @param control - Control que desencadena el evento
|
|
69
|
+
* @param key - Tecla que desencadeno el evento
|
|
70
|
+
* @param nodesControls - Controles del grid
|
|
71
|
+
*/
|
|
72
|
+
private moverDeCelda;
|
|
73
|
+
/**
|
|
74
|
+
* Regresa el numero de columnas habilitadas dentro del grid
|
|
75
|
+
* @returns Numero de columnas habilitadas
|
|
76
|
+
*/
|
|
77
|
+
private columnasHabilitadas;
|
|
78
|
+
/**
|
|
79
|
+
* Obtiene el control de un NodeList por indice
|
|
80
|
+
* @param nodes - Lista de nodos
|
|
81
|
+
* @param index - Indice del control
|
|
82
|
+
* @returns Control del indice especificado
|
|
83
|
+
*/
|
|
84
|
+
private obtenerControl;
|
|
85
|
+
/**
|
|
86
|
+
* Descarga los datos contenidos en el Grid como un CSV
|
|
87
|
+
* @param archivo - Nombre del archivo
|
|
88
|
+
*/
|
|
89
|
+
descargarCsv(archivo: string): void;
|
|
90
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RediGridComponent, never>;
|
|
91
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RediGridComponent, "redi-grid", never, { "data": { "alias": "data"; "required": false; }; "enumerar": { "alias": "enumerar"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; }, {}, never, never, false, never>;
|
|
92
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./redi-grid/redi-grid.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@angular/cdk/scrolling";
|
|
5
|
+
import * as i4 from "@angular/material/icon";
|
|
6
|
+
/**
|
|
7
|
+
* Modulo que contiene los componentes de grid
|
|
8
|
+
* @decorators ´@NgModule´
|
|
9
|
+
*/
|
|
10
|
+
export declare class RediGridModule {
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RediGridModule, never>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<RediGridModule, [typeof i1.RediGridComponent], [typeof i2.CommonModule, typeof i3.ScrollingModule, typeof i4.MatIconModule], [typeof i1.RediGridComponent]>;
|
|
13
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<RediGridModule>;
|
|
14
|
+
}
|