@esfaenza/es-table 20.3.32 → 20.3.33
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/esfaenza-es-table.mjs +197 -47
- package/fesm2022/esfaenza-es-table.mjs.map +1 -1
- package/index.d.ts +40 -1
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -2687,6 +2687,8 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
2687
2687
|
ShowItemGroupsColumns: _angular_core.WritableSignal<boolean>;
|
|
2688
2688
|
/** Mappa ownKey(string) -> figli diretti, per la modalità gerarchica */
|
|
2689
2689
|
private hierChildren;
|
|
2690
|
+
/** Indice `chiave-propria → riga`: evita la scansione lineare per risalire ai padri */
|
|
2691
|
+
private hierByKey;
|
|
2690
2692
|
/** Paginazione arrayMode */
|
|
2691
2693
|
private arrayPage;
|
|
2692
2694
|
/** Ordinamenti attivi (id -> 'ASC'|'DESC') */
|
|
@@ -2714,6 +2716,17 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
2714
2716
|
* Una colonna `Fixed` resta quindi sempre in testa e solo una pinnata può precederla.
|
|
2715
2717
|
*/
|
|
2716
2718
|
private sortStructural;
|
|
2719
|
+
/**
|
|
2720
|
+
* Stile PER-COLONNA precalcolato (larghezza, offset sticky, inizio gruppo).
|
|
2721
|
+
* Il ciclo delle celle è annidato in quello delle righe, quindi senza questo ogni
|
|
2722
|
+
* valore si ricalcolerebbe righe×colonne volte a ogni render: qui si calcola una
|
|
2723
|
+
* volta per colonna e la cella fa un solo accesso per indice.
|
|
2724
|
+
*/
|
|
2725
|
+
colStyles: _angular_core.Signal<{
|
|
2726
|
+
width: number | null;
|
|
2727
|
+
left: number | null;
|
|
2728
|
+
groupStart: boolean;
|
|
2729
|
+
}[]>;
|
|
2717
2730
|
/** Numero di colonne pinnate visibili */
|
|
2718
2731
|
pinnedCount: _angular_core.Signal<number>;
|
|
2719
2732
|
/** true se c'è almeno una colonna pinnata */
|
|
@@ -2960,6 +2973,17 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
2960
2973
|
/** Espande/collassa un gruppo agendo solo sui flag `_visible` (nessuna ricostruzione) */
|
|
2961
2974
|
toggleGroup(group: any): void;
|
|
2962
2975
|
/** Item (foglia) appartenenti a un gruppo, a qualsiasi profondità */
|
|
2976
|
+
/**
|
|
2977
|
+
* Indice `chiave-gruppo → item[]`, ricalcolato una sola volta per ogni nuova
|
|
2978
|
+
* `boundSource()`. Le chiavi di gruppo sono composite (`IT¦Roma¦Shop`), quindi ogni
|
|
2979
|
+
* PREFISSO della chiave di un item è un suo gruppo antenato: l'indice si costruisce
|
|
2980
|
+
* in O(righe × profondità) con una sola passata.
|
|
2981
|
+
*
|
|
2982
|
+
* Serve perché la checkbox di gruppo chiama `groupSelectionState` DUE volte per
|
|
2983
|
+
* riga-gruppo a ogni ciclo di change-detection: con la vecchia `filter` su tutte le
|
|
2984
|
+
* righe erano 2·gruppi·righe confronti per render (quadratico nel numero di righe).
|
|
2985
|
+
*/
|
|
2986
|
+
private groupItemsIndex;
|
|
2963
2987
|
private groupItems;
|
|
2964
2988
|
/** Stato di selezione aggregato di un gruppo, per la sua checkbox */
|
|
2965
2989
|
groupSelectionState(group: any): 'all' | 'some' | 'none';
|
|
@@ -2976,13 +3000,19 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
2976
3000
|
/** Costruisce l'albero e applica la selezione; se mancano le chiavi torna la lista invariata */
|
|
2977
3001
|
private applyHierarchy;
|
|
2978
3002
|
private directChildren;
|
|
2979
|
-
private hierDescendants;
|
|
2980
3003
|
/** Selezione in cascata: propaga lo stato al sottoalbero e ricalcola gli antenati */
|
|
2981
3004
|
private cascadeSelection;
|
|
2982
3005
|
/** Ricostruisce ItemsSelection dai flag `_selected` correnti (usato dalla cascade) */
|
|
2983
3006
|
private rebuildSelectionFromFlags;
|
|
2984
3007
|
/** Stato indeterminato di una riga-padre in cascade (alcuni discendenti selezionati) */
|
|
2985
3008
|
hierarchyIndeterminate(item: any): boolean;
|
|
3009
|
+
/**
|
|
3010
|
+
* Visita in profondità con USCITA ANTICIPATA al primo discendente selezionato.
|
|
3011
|
+
* È legata alla checkbox di OGNI riga, quindi girava a ogni ciclo di
|
|
3012
|
+
* change-detection: la versione precedente materializzava invece l'intero
|
|
3013
|
+
* sottoalbero in un array nuovo per ogni riga e per ogni render.
|
|
3014
|
+
*/
|
|
3015
|
+
private hierAnyDescendantSelected;
|
|
2986
3016
|
/** Espande/collassa un nodo dell'albero */
|
|
2987
3017
|
toggleHierarchyNode(item: any): void;
|
|
2988
3018
|
/** Indentazione (px) di una riga dell'albero in base al livello */
|
|
@@ -3169,7 +3199,16 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
3169
3199
|
* anziché `cellDisplayText`, che conosce solo `property`/`id` e non il contenuto di
|
|
3170
3200
|
* un template custom (era il bug del tooltip che mostrava sempre l'id colonna).
|
|
3171
3201
|
*/
|
|
3202
|
+
/**
|
|
3203
|
+
* Tooltip "intelligente" sulle celle a larghezza fissa: mostra il testo REALE
|
|
3204
|
+
* solo quando è troncato. In DELEGA sulla `<table>` (non un `(mouseenter)` per
|
|
3205
|
+
* cella): un listener per cella significava installarne uno per ogni `<td>` a
|
|
3206
|
+
* ogni creazione di riga — su una pagina da 50×43 sono 2.150 listener per
|
|
3207
|
+
* cambio pagina.
|
|
3208
|
+
*/
|
|
3172
3209
|
onCellHover(ev: MouseEvent): void;
|
|
3210
|
+
/** Ultima cella già valutata per il tooltip (evita di rimisurare a ogni mousemove) */
|
|
3211
|
+
private hoveredCell;
|
|
3173
3212
|
/** Larghezza minima (px) di una colonna durante il resize */
|
|
3174
3213
|
private readonly COL_MIN_W;
|
|
3175
3214
|
/** Stato del resize in corso (colonna + coordinate iniziali) */
|