@esfaenza/es-table 20.3.28 → 20.3.30
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 +219 -37
- package/fesm2022/esfaenza-es-table.mjs.map +1 -1
- package/index.d.ts +75 -3
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -2417,6 +2417,12 @@ interface Est2Column {
|
|
|
2417
2417
|
rendererName?: string | null;
|
|
2418
2418
|
/** true se la colonna è "pinnata" (sticky a sinistra durante lo scroll orizzontale) */
|
|
2419
2419
|
pinned?: boolean;
|
|
2420
|
+
/**
|
|
2421
|
+
* true se la colonna è FIXED (`*th Fixed:true` o `*th Group:true`): non può essere
|
|
2422
|
+
* nascosta né riposizionata e resta ancorata in testa alla tabella. Solo le colonne
|
|
2423
|
+
* pinnate possono precederla. Stesso contratto dell'es-table originale.
|
|
2424
|
+
*/
|
|
2425
|
+
fixed?: boolean;
|
|
2420
2426
|
/** larghezza in px di DEFAULT della colonna pinnata (dal `PinnedWidth` della direttiva) */
|
|
2421
2427
|
pinnedWidth?: number | null;
|
|
2422
2428
|
/** larghezza in px IMPOSTATA dall'utente via resize (qualsiasi colonna); sovrascrive l'auto/pinnedWidth */
|
|
@@ -2502,10 +2508,18 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
2502
2508
|
private ctxMenuSub?;
|
|
2503
2509
|
/** Altezza dell'header (misurata): la barra di selezione la usa per coprirlo esattamente */
|
|
2504
2510
|
selbarHeight: _angular_core.WritableSignal<number>;
|
|
2511
|
+
/**
|
|
2512
|
+
* Larghezza (misurata) della colonna "chrome" sticky a destra. La barra di selezione
|
|
2513
|
+
* si ferma prima di essa: altrimenti "Azzera selezione" finirebbe SOTTO la colonna
|
|
2514
|
+
* sticky (che sta più in alto nello stacking per restare cliccabile durante la selezione).
|
|
2515
|
+
*/
|
|
2516
|
+
chromeWidth: _angular_core.WritableSignal<number>;
|
|
2505
2517
|
private headerEl?;
|
|
2506
2518
|
private headerRO?;
|
|
2507
|
-
/** ViewChild-setter: (ri)osserva l'header appena compare/cambia, mantenendo
|
|
2519
|
+
/** ViewChild-setter: (ri)osserva l'header appena compare/cambia, mantenendo le misure allineate */
|
|
2508
2520
|
set theadRef(ref: ElementRef<HTMLElement> | undefined);
|
|
2521
|
+
/** Misura header (altezza) e colonna chrome (larghezza) per il posizionamento della select-bar */
|
|
2522
|
+
private measureHeader;
|
|
2509
2523
|
readonly _Selection: _angular_core.InputSignal<boolean>;
|
|
2510
2524
|
Selection: _angular_core.WritableSignal<boolean>;
|
|
2511
2525
|
SingleSelection: _angular_core.InputSignal<boolean>;
|
|
@@ -2670,6 +2684,13 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
2670
2684
|
get denseClass(): boolean;
|
|
2671
2685
|
/** Colonne visibili, con le colonne pinnate spostate in testa (stabile) */
|
|
2672
2686
|
visibleColumns: _angular_core.Signal<Est2Column[]>;
|
|
2687
|
+
/**
|
|
2688
|
+
* Ordinamento STRUTTURALE delle colonne, parità con l'es-table originale
|
|
2689
|
+
* (`ColumnMetadataHandler`): prima le colonne pinnate, poi le `Fixed` non pinnate,
|
|
2690
|
+
* poi tutte le altre — mantenendo stabile l'ordine relativo dentro ogni blocco.
|
|
2691
|
+
* Una colonna `Fixed` resta quindi sempre in testa e solo una pinnata può precederla.
|
|
2692
|
+
*/
|
|
2693
|
+
private sortStructural;
|
|
2673
2694
|
/** Numero di colonne pinnate visibili */
|
|
2674
2695
|
pinnedCount: _angular_core.Signal<number>;
|
|
2675
2696
|
/** true se c'è almeno una colonna pinnata */
|
|
@@ -2724,6 +2745,8 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
2724
2745
|
/** Controller di esportazione (E4) — logica in `controllers/export.controller.ts` */
|
|
2725
2746
|
private exportCtrl;
|
|
2726
2747
|
ngOnInit(): void;
|
|
2748
|
+
/** @ignore Handler di scroll in cattura (chiude i menu del chrome) */
|
|
2749
|
+
private onAnyScroll;
|
|
2727
2750
|
ngOnDestroy(): void;
|
|
2728
2751
|
/** Risoluzione input: valore esplicito || default di progetto || hard default */
|
|
2729
2752
|
private io;
|
|
@@ -2952,6 +2975,8 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
2952
2975
|
private columnPrefs;
|
|
2953
2976
|
/** Applica ordine + visibilità + pin + larghezze delle preferenze a una lista di colonne appena costruita */
|
|
2954
2977
|
private setColumns;
|
|
2978
|
+
/** Mappa `{id: px}` delle larghezze impostate dall'utente (resize), da conservare nelle prefs in memoria */
|
|
2979
|
+
private currentWidths;
|
|
2955
2980
|
/** true una volta caricate le preferenze dal server (evita retrieve multipli) */
|
|
2956
2981
|
private prefsLoaded;
|
|
2957
2982
|
/**
|
|
@@ -2971,6 +2996,28 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
2971
2996
|
* `{ columns (visibili), column_ordering (ordine), orders (ordinamenti) }`.
|
|
2972
2997
|
*/
|
|
2973
2998
|
private saveColumnPrefs;
|
|
2999
|
+
/**
|
|
3000
|
+
* Imposta in maniera programmatica la visibilità di un header — o di un header di
|
|
3001
|
+
* GRUPPO, nel qual caso la modifica scende in cascata su tutti i `*th` che lo
|
|
3002
|
+
* dichiarano come `Parent`. Parità di firma con l'es-table originale.
|
|
3003
|
+
*
|
|
3004
|
+
* Le colonne `Fixed` sono ignorate (per contratto sempre visibili). La modifica
|
|
3005
|
+
* aggiorna anche le preferenze IN MEMORIA, così sopravvive ai rebuild delle colonne
|
|
3006
|
+
* (paginazione, refresh, nuovi dati); non viene persistita sul server.
|
|
3007
|
+
*
|
|
3008
|
+
* @param {string} groupOrHeader Id dell'header (o del gruppo) di cui settare la visibilità
|
|
3009
|
+
* @param {boolean} visibility Visibilità da impostare
|
|
3010
|
+
* @param {boolean} refresh Se `true` (default) aggiorna la tabella dopo la modifica
|
|
3011
|
+
* @param {boolean} relaunchSearch Se `true` (default) in viewmode rilancia la ricerca
|
|
3012
|
+
*/
|
|
3013
|
+
setHeaderVisibility(groupOrHeader: string, visibility: boolean, refresh?: boolean, relaunchSearch?: boolean): void;
|
|
3014
|
+
/**
|
|
3015
|
+
* Applica la visibilità a una colonna e, se `id` è un header di gruppo, ricorsivamente
|
|
3016
|
+
* a tutti i suoi figli.
|
|
3017
|
+
*
|
|
3018
|
+
* @returns {boolean} `true` se almeno una colonna è stata modificata
|
|
3019
|
+
*/
|
|
3020
|
+
private applyHeaderVisibility;
|
|
2974
3021
|
/** Attiva/disattiva il pin di una colonna e persiste (dall'indicatore in testata) */
|
|
2975
3022
|
togglePin(col: Est2Column, ev?: Event): void;
|
|
2976
3023
|
columnsDialogOpen: _angular_core.WritableSignal<boolean>;
|
|
@@ -2981,6 +3028,7 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
2981
3028
|
visible: boolean;
|
|
2982
3029
|
pinned: boolean;
|
|
2983
3030
|
grouped: boolean;
|
|
3031
|
+
fixed: boolean;
|
|
2984
3032
|
}[]>;
|
|
2985
3033
|
/** Etichetta leggibile di una colonna (header statico o id) */
|
|
2986
3034
|
columnLabel(col: Est2Column): string;
|
|
@@ -3004,6 +3052,11 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
3004
3052
|
* gruppo → si sposta l'INTERO blocco del gruppo (al livello di divergenza).
|
|
3005
3053
|
*/
|
|
3006
3054
|
dialogMove(i: number, dir: -1 | 1): void;
|
|
3055
|
+
/** true se la riga della dialog è riposizionabile: pinnate e `Fixed` sono ancorate in testa */
|
|
3056
|
+
canReorder(c: {
|
|
3057
|
+
pinned: boolean;
|
|
3058
|
+
fixed: boolean;
|
|
3059
|
+
}): boolean;
|
|
3007
3060
|
/** Indice della riga trascinata (o null) */
|
|
3008
3061
|
dragIndex: _angular_core.WritableSignal<number>;
|
|
3009
3062
|
/** Indice della riga sotto il cursore durante il drag (per l'indicatore) */
|
|
@@ -3036,10 +3089,29 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
|
|
|
3036
3089
|
resetColumnsDialog(): void;
|
|
3037
3090
|
exportMenuOpen: _angular_core.WritableSignal<boolean>;
|
|
3038
3091
|
cornerMenuOpen: _angular_core.WritableSignal<boolean>;
|
|
3039
|
-
|
|
3040
|
-
|
|
3092
|
+
/**
|
|
3093
|
+
* Coordinate VIEWPORT del pannello di menu aperto. I menu sono renderizzati fuori
|
|
3094
|
+
* da `.est2-scroll` e posizionati `fixed`: dentro lo scroller l'`overflow:auto` li
|
|
3095
|
+
* troncava (su una tabella di poche righe il menu usciva dal box e spariva).
|
|
3096
|
+
*/
|
|
3097
|
+
menuAnchor: _angular_core.WritableSignal<{
|
|
3098
|
+
top: number;
|
|
3099
|
+
right: number;
|
|
3100
|
+
}>;
|
|
3101
|
+
toggleExportMenu(ev?: Event): void;
|
|
3102
|
+
toggleCornerMenu(ev?: Event): void;
|
|
3103
|
+
/** Chiude entrambi i menu del chrome */
|
|
3104
|
+
closeChromeMenus(): void;
|
|
3105
|
+
/**
|
|
3106
|
+
* Ancora il menu al bottone che l'ha aperto: allineo il bordo DESTRO del pannello a
|
|
3107
|
+
* quello del bottone e lo apro sotto. Se sotto non c'è spazio nel viewport, lo ribalto
|
|
3108
|
+
* sopra (misurando il pannello dopo il render).
|
|
3109
|
+
*/
|
|
3110
|
+
private anchorMenuTo;
|
|
3041
3111
|
/** Chiude i menu a tendina del chrome quando si clicca fuori */
|
|
3042
3112
|
onDocClick(): void;
|
|
3113
|
+
/** Un menu `fixed` non segue più l'ancora: su resize lo chiudo. */
|
|
3114
|
+
onViewportResize(): void;
|
|
3043
3115
|
/** Export delegato al controller `ExportController` (E4); chiude prima il menu chrome. */
|
|
3044
3116
|
export(format?: 'CSV' | 'XLSX'): void;
|
|
3045
3117
|
/**
|