ng-components-tsi 0.0.69 → 0.0.70
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/fesm2022/ng-components-tsi.mjs +488 -32
- package/fesm2022/ng-components-tsi.mjs.map +1 -1
- package/lib/modals/general/md-generico/md-generico.component.d.ts +2 -2
- package/lib/ui/tables/table-ultimate/table-ultimate.component.d.ts +1 -1
- package/lib/ui/tables/table-ultimate-pivot/table-ultimate-pivot.component.d.ts +163 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -7,13 +7,13 @@ export declare class MdGenericoComponent {
|
|
|
7
7
|
continuar2: import("@angular/core").OutputEmitterRef<void>;
|
|
8
8
|
cerrar: import("@angular/core").OutputEmitterRef<void>;
|
|
9
9
|
scrollable: import("@angular/core").InputSignal<boolean>;
|
|
10
|
-
type: import("@angular/core").InputSignal<"1" | "2" | "3" | "4" | "
|
|
10
|
+
type: import("@angular/core").InputSignal<"1" | "2" | "3" | "4" | "7" | "5" | "6" | "APROB">;
|
|
11
11
|
content: import("@angular/core").Signal<TemplateRef<any>>;
|
|
12
12
|
footer: import("@angular/core").Signal<TemplateRef<any>>;
|
|
13
13
|
showCancelar: import("@angular/core").InputSignal<boolean>;
|
|
14
14
|
showAlerta: import("@angular/core").InputSignal<boolean>;
|
|
15
15
|
textAlerta: import("@angular/core").InputSignal<string>;
|
|
16
|
-
sizeTitle: import("@angular/core").InputSignal<"1" | "2" | "3" | "4" | "
|
|
16
|
+
sizeTitle: import("@angular/core").InputSignal<"1" | "2" | "3" | "4" | "7" | "5" | "6" | "9" | "8">;
|
|
17
17
|
showFiltro: import("@angular/core").InputSignal<boolean>;
|
|
18
18
|
withFiltro: import("@angular/core").ModelSignal<boolean>;
|
|
19
19
|
dataFiltro: import("@angular/core").InputSignal<boolean>;
|
|
@@ -50,7 +50,7 @@ export declare class TableUltimateComponent implements OnDestroy {
|
|
|
50
50
|
withTotal: import("@angular/core").InputSignal<boolean>;
|
|
51
51
|
withHeight: import("@angular/core").InputSignal<boolean>;
|
|
52
52
|
withAttachment: import("@angular/core").InputSignal<boolean>;
|
|
53
|
-
variante: import("@angular/core").InputSignal<"
|
|
53
|
+
variante: import("@angular/core").InputSignal<"modern" | "standard">;
|
|
54
54
|
rendered: import("@angular/core").InputSignal<CellRendered[]>;
|
|
55
55
|
dragOverRowId: import("@angular/core").WritableSignal<any>;
|
|
56
56
|
titleTabla: import("@angular/core").InputSignal<string>;
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { ElementRef, OnDestroy, TemplateRef } from '@angular/core';
|
|
2
|
+
import { TABLE_EVENTS } from '../../../enums/table-events';
|
|
3
|
+
import { TsiColumnDefDirective } from '../../../directivas/tables/tsi-column-def.directive';
|
|
4
|
+
import { CellRender, CellRendered } from '../../../models/cell-rendered';
|
|
5
|
+
import { TableData } from '../../../models/table-data.model';
|
|
6
|
+
import { SelectedRow } from '../../../models/selected-row';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export interface PivotFlatItem {
|
|
9
|
+
_level: number;
|
|
10
|
+
_hasChildren: boolean;
|
|
11
|
+
_isExpanded: boolean;
|
|
12
|
+
_isLoading: boolean;
|
|
13
|
+
idListTsi: string;
|
|
14
|
+
_format?: Record<string, any>;
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Tabla pivot con expansión multi-nivel y virtual scroll nativo.
|
|
19
|
+
* Cada fila puede expandirse para mostrar sub-filas, que a su vez pueden
|
|
20
|
+
* expandirse en más niveles. El virtual scroll opera sobre el array plano
|
|
21
|
+
* generado a partir del estado de expansión actual.
|
|
22
|
+
*
|
|
23
|
+
* @Input rows - Filas raíz con hijos anidados
|
|
24
|
+
* @Input columns - Definición de columnas (mismo modelo que table-ultimate)
|
|
25
|
+
* @Input childrenKey - Propiedad que contiene los hijos de cada nodo (default: 'children')
|
|
26
|
+
* @Input identifier - Campos que forman la clave única del row (para IDs estables)
|
|
27
|
+
* @Input rowHeight - Alto fijo de cada fila en px (default: 32)
|
|
28
|
+
* @Input buffer - Filas extra fuera del viewport para scroll suave (default: 10)
|
|
29
|
+
* @Input altoContenedor - Alto fijo del contenedor en px (default: 400)
|
|
30
|
+
* @Input altoContainer - Offset desde el top del viewport para calcular height con clamp
|
|
31
|
+
* @Input minAlto - Alto mínimo cuando se usa altoContainer (default: 200)
|
|
32
|
+
* @Input withFiltro - Mostrar barra de búsqueda
|
|
33
|
+
* @Input withCheckbox - Mostrar checkboxes de selección
|
|
34
|
+
* @Input lazyLoad - Activa carga diferida de hijos (emite expandEvent)
|
|
35
|
+
* @Input indentSize - Píxeles de indentación por nivel (default: 20)
|
|
36
|
+
* @Input maxLevels - Límite de niveles expandibles (0 = sin límite)
|
|
37
|
+
* @Input customLevels - Niveles que renderizan su bloque de datos con `#levelTemplate`
|
|
38
|
+
* en vez de la grilla de `columns` (permite que cada nivel tenga
|
|
39
|
+
* su propia organización/estructura visual)
|
|
40
|
+
*/
|
|
41
|
+
export declare class TableUltimatePivotComponent implements OnDestroy {
|
|
42
|
+
scrollContainer: import("@angular/core").Signal<ElementRef<HTMLDivElement>>;
|
|
43
|
+
customActions: import("@angular/core").Signal<TemplateRef<any>>;
|
|
44
|
+
contentFilter: import("@angular/core").Signal<TemplateRef<any>>;
|
|
45
|
+
/** Template opcional para reemplazar el bloque de columnas de datos en los
|
|
46
|
+
* niveles declarados en `customLevels`. Contexto: { $implicit: row, level, columns }. */
|
|
47
|
+
levelTemplate: import("@angular/core").Signal<TemplateRef<any>>;
|
|
48
|
+
/** Templates `<ng-template tsiColumn="fieldname">` proyectados para columnas específicas
|
|
49
|
+
* (misma convención que table-ultimate). Tienen prioridad sobre `col.template`. */
|
|
50
|
+
columnDefs: import("@angular/core").Signal<readonly TsiColumnDefDirective[]>;
|
|
51
|
+
columnDefMap: import("@angular/core").Signal<Map<string, TemplateRef<any>>>;
|
|
52
|
+
private formateador;
|
|
53
|
+
rows: import("@angular/core").InputSignal<any[]>;
|
|
54
|
+
columns: import("@angular/core").InputSignal<TableData[]>;
|
|
55
|
+
childrenKey: import("@angular/core").InputSignal<string>;
|
|
56
|
+
rowHeight: import("@angular/core").InputSignal<number>;
|
|
57
|
+
buffer: import("@angular/core").InputSignal<number>;
|
|
58
|
+
altoContainer: import("@angular/core").InputSignal<number>;
|
|
59
|
+
altoContenedor: import("@angular/core").InputSignal<number>;
|
|
60
|
+
minAlto: import("@angular/core").InputSignal<number>;
|
|
61
|
+
identifier: import("@angular/core").InputSignal<string[]>;
|
|
62
|
+
withFiltro: import("@angular/core").InputSignal<boolean>;
|
|
63
|
+
withCheckbox: import("@angular/core").InputSignal<boolean>;
|
|
64
|
+
withHeight: import("@angular/core").InputSignal<boolean>;
|
|
65
|
+
lazyLoad: import("@angular/core").InputSignal<boolean>;
|
|
66
|
+
indentSize: import("@angular/core").InputSignal<number>;
|
|
67
|
+
maxLevels: import("@angular/core").InputSignal<number>;
|
|
68
|
+
/** Niveles (0-based) cuyo bloque de datos se delega al `#levelTemplate` proyectado,
|
|
69
|
+
* en lugar de la grilla estándar de `columns`. Ej: [1, 2].
|
|
70
|
+
* Las filas de estos niveles no muestran el chevron de expandir propio: si el nivel
|
|
71
|
+
* tiene descendientes, delega esa jerarquía al widget/tabla que renderices dentro del
|
|
72
|
+
* template (ej. anidando otro `app-table-ultimate-pivot` con `[rows]="row.children"`). */
|
|
73
|
+
customLevels: import("@angular/core").InputSignal<number[]>;
|
|
74
|
+
rendered: import("@angular/core").InputSignal<CellRendered[]>;
|
|
75
|
+
rowClassFn: import("@angular/core").InputSignal<(row: any) => string | string[] | Record<string, boolean>>;
|
|
76
|
+
/** Fieldname de la columna que actúa como disparador de expansión.
|
|
77
|
+
* Cuando se define, el ícono se incrusta en esa celda y desaparece la columna dedicada. */
|
|
78
|
+
expandOn: import("@angular/core").InputSignal<string>;
|
|
79
|
+
variante: import("@angular/core").InputSignal<"estandar" | "modern">;
|
|
80
|
+
withCellSelect: import("@angular/core").InputSignal<boolean>;
|
|
81
|
+
rowEvent: import("@angular/core").OutputEmitterRef<{
|
|
82
|
+
usecase: TABLE_EVENTS;
|
|
83
|
+
data: any;
|
|
84
|
+
}>;
|
|
85
|
+
cellEvent: import("@angular/core").OutputEmitterRef<{
|
|
86
|
+
row: any;
|
|
87
|
+
field: string;
|
|
88
|
+
value: any;
|
|
89
|
+
formatted: any;
|
|
90
|
+
level: number;
|
|
91
|
+
}>;
|
|
92
|
+
/** Emitido al expandir un nodo en modo lazyLoad. El padre debe cargar los hijos
|
|
93
|
+
* e inyectarlos en `rows`, luego llamar `finishLazyLoad(parentId)` en el componente. */
|
|
94
|
+
expandEvent: import("@angular/core").OutputEmitterRef<{
|
|
95
|
+
row: PivotFlatItem;
|
|
96
|
+
level: number;
|
|
97
|
+
}>;
|
|
98
|
+
selectedRow: import("@angular/core").ModelSignal<any>;
|
|
99
|
+
selectItems: import("@angular/core").ModelSignal<SelectedRow<any>[]>;
|
|
100
|
+
selectedCell: import("@angular/core").ModelSignal<{
|
|
101
|
+
rowId: string;
|
|
102
|
+
field: string;
|
|
103
|
+
}>;
|
|
104
|
+
busqueda: import("@angular/core").WritableSignal<string>;
|
|
105
|
+
scrollTop: import("@angular/core").WritableSignal<number>;
|
|
106
|
+
containerHeight: import("@angular/core").WritableSignal<number>;
|
|
107
|
+
expandedIds: import("@angular/core").WritableSignal<Set<string>>;
|
|
108
|
+
loadingIds: import("@angular/core").WritableSignal<Set<string>>;
|
|
109
|
+
sortField: import("@angular/core").WritableSignal<string>;
|
|
110
|
+
sortDir: import("@angular/core").WritableSignal<"asc" | "desc" | "none">;
|
|
111
|
+
heightStyle: import("@angular/core").Signal<string>;
|
|
112
|
+
processedTree: import("@angular/core").Signal<any[]>;
|
|
113
|
+
private processLevel;
|
|
114
|
+
fullFlatTree: import("@angular/core").Signal<PivotFlatItem[]>;
|
|
115
|
+
private flattenAll;
|
|
116
|
+
expandedFlatList: import("@angular/core").Signal<PivotFlatItem[]>;
|
|
117
|
+
private flattenVisible;
|
|
118
|
+
rowFilter: import("@angular/core").Signal<PivotFlatItem[]>;
|
|
119
|
+
private sortFlatList;
|
|
120
|
+
colSpan: import("@angular/core").Signal<number>;
|
|
121
|
+
dataColSpan: import("@angular/core").Signal<number>;
|
|
122
|
+
totalHeight: import("@angular/core").Signal<number>;
|
|
123
|
+
startIndex: import("@angular/core").Signal<number>;
|
|
124
|
+
endIndex: import("@angular/core").Signal<number>;
|
|
125
|
+
visibleRows: import("@angular/core").Signal<PivotFlatItem[]>;
|
|
126
|
+
paddingTop: import("@angular/core").Signal<number>;
|
|
127
|
+
paddingBottom: import("@angular/core").Signal<number>;
|
|
128
|
+
private resizeObserver?;
|
|
129
|
+
private resizeEffect;
|
|
130
|
+
private scrollEffect;
|
|
131
|
+
ngOnDestroy(): void;
|
|
132
|
+
onScroll(event: Event): void;
|
|
133
|
+
private scrollToSelected;
|
|
134
|
+
selectRow(row: PivotFlatItem, idList: string): void;
|
|
135
|
+
isSelected(row: PivotFlatItem, idList: string): boolean;
|
|
136
|
+
toggleExpand(event: MouseEvent, row: PivotFlatItem): void;
|
|
137
|
+
private removeDescendantIds;
|
|
138
|
+
/** Llama desde el padre tras inyectar hijos en lazyLoad para quitar el spinner */
|
|
139
|
+
finishLazyLoad(parentId: string): void;
|
|
140
|
+
getIndentPx(level: number): string;
|
|
141
|
+
getLevelClass(level: number): string;
|
|
142
|
+
textoDigitado(event: Event): void;
|
|
143
|
+
filtrarColumnas: import("@angular/core").Signal<Record<string, boolean>>;
|
|
144
|
+
toggleFiltros(event: Event): void;
|
|
145
|
+
private filtraItem;
|
|
146
|
+
getHighlight(text: any, fieldname: string): string;
|
|
147
|
+
toggleSort(field: string): void;
|
|
148
|
+
allCheck(event: Event): void;
|
|
149
|
+
validaAllCheck(): boolean;
|
|
150
|
+
isItemSelected(id: string): boolean;
|
|
151
|
+
toogleItem(idList: string, event: Event): void;
|
|
152
|
+
resolveCell(col: string, row: any): CellRender | null;
|
|
153
|
+
getPosition(col: TableData): string;
|
|
154
|
+
validaVisibilidad(value: boolean): boolean;
|
|
155
|
+
visibilidadColumn: import("@angular/core").Signal<Record<string, boolean>>;
|
|
156
|
+
onDoubleClick(row: PivotFlatItem): void;
|
|
157
|
+
onCellClick(event: MouseEvent, row: PivotFlatItem, field: string): void;
|
|
158
|
+
isCellSelected(rowId: string, field: string): boolean;
|
|
159
|
+
onRightClick(event: MouseEvent, row: PivotFlatItem): void;
|
|
160
|
+
concatenarValue(obj: any, fields: string[]): string;
|
|
161
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableUltimatePivotComponent, never>;
|
|
162
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableUltimatePivotComponent, "app-table-ultimate-pivot", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "childrenKey": { "alias": "childrenKey"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "buffer": { "alias": "buffer"; "required": false; "isSignal": true; }; "altoContainer": { "alias": "altoContainer"; "required": false; "isSignal": true; }; "altoContenedor": { "alias": "altoContenedor"; "required": false; "isSignal": true; }; "minAlto": { "alias": "minAlto"; "required": false; "isSignal": true; }; "identifier": { "alias": "identifier"; "required": false; "isSignal": true; }; "withFiltro": { "alias": "withFiltro"; "required": false; "isSignal": true; }; "withCheckbox": { "alias": "withCheckbox"; "required": false; "isSignal": true; }; "withHeight": { "alias": "withHeight"; "required": false; "isSignal": true; }; "lazyLoad": { "alias": "lazyLoad"; "required": false; "isSignal": true; }; "indentSize": { "alias": "indentSize"; "required": false; "isSignal": true; }; "maxLevels": { "alias": "maxLevels"; "required": false; "isSignal": true; }; "customLevels": { "alias": "customLevels"; "required": false; "isSignal": true; }; "rendered": { "alias": "rendered"; "required": false; "isSignal": true; }; "rowClassFn": { "alias": "rowClassFn"; "required": false; "isSignal": true; }; "expandOn": { "alias": "expandOn"; "required": false; "isSignal": true; }; "variante": { "alias": "variante"; "required": false; "isSignal": true; }; "withCellSelect": { "alias": "withCellSelect"; "required": false; "isSignal": true; }; "selectedRow": { "alias": "selectedRow"; "required": false; "isSignal": true; }; "selectItems": { "alias": "selectItems"; "required": false; "isSignal": true; }; "selectedCell": { "alias": "selectedCell"; "required": false; "isSignal": true; }; }, { "rowEvent": "rowEvent"; "cellEvent": "cellEvent"; "expandEvent": "expandEvent"; "selectedRow": "selectedRowChange"; "selectItems": "selectItemsChange"; "selectedCell": "selectedCellChange"; }, ["customActions", "contentFilter", "levelTemplate", "columnDefs"], never, true, never>;
|
|
163
|
+
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export * from './lib/ui/tables/table-busqueda/table-busqueda.component';
|
|
|
36
36
|
export * from './lib/ui/tables/table-detalle/table-detalle.component';
|
|
37
37
|
export * from './lib/ui/tables/table-simple/table-simple.component';
|
|
38
38
|
export * from './lib/ui/tables/table-ultimate/table-ultimate.component';
|
|
39
|
+
export * from './lib/ui/tables/table-ultimate-pivot/table-ultimate-pivot.component';
|
|
39
40
|
export * from './lib/ui/tables/table-agrupada/table-agrupada.component';
|
|
40
41
|
export * from './lib/ui/tabs/nav-tabs/nav-tabs.component';
|
|
41
42
|
export * from './lib/ui/tabs/tab-item/tab-item.component';
|