@esfaenza/es-table 20.3.23 → 20.3.24

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/index.d.ts CHANGED
@@ -2551,7 +2551,9 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2551
2551
  ContainerClass: _angular_core.WritableSignal<string>;
2552
2552
  EsTableHandledSearch: _angular_core.InputSignal<boolean>;
2553
2553
  SearchThrottle: _angular_core.InputSignal<number>;
2554
- /** @deprecated NO-OP di parità v1 (ridimensionamento colonne): dichiarato per il drop-in, non implementato */
2554
+ /** Abilita il ridimensionamento via handle sul bordo destro dell'header delle colonne PINNATE
2555
+ * (la nuova larghezza è persistita nelle preferenze). Il resize delle colonne non pinnate
2556
+ * non è ancora portato. */
2555
2557
  readonly _ColumnsResizable: _angular_core.InputSignal<boolean>;
2556
2558
  ColumnsResizable: _angular_core.WritableSignal<boolean>;
2557
2559
  readonly _ColumnsPinnable: _angular_core.InputSignal<boolean>;
@@ -2672,6 +2674,15 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2672
2674
  hasPinned: _angular_core.Signal<boolean>;
2673
2675
  /** Larghezza (px) della colonna di selezione quando sticky */
2674
2676
  private readonly SEL_STICKY_W;
2677
+ /** Larghezza (px) di default di una colonna pinnata senza `PinnedWidth` esplicito */
2678
+ private readonly PINNED_DEFAULT_W;
2679
+ /**
2680
+ * Larghezza FISSA (px) di una colonna pinnata. Una colonna sticky è per contratto a
2681
+ * larghezza fissa: la usiamo sia per il calcolo degli offset che per vincolare la
2682
+ * cella (min/max-width) così il contenuto lungo viene troncato invece di sbordare
2683
+ * sulla colonna successiva. Default = `PINNED_DEFAULT_W` (coerente con gli offset).
2684
+ */
2685
+ pinnedWidthPx(col: Est2Column): number;
2675
2686
  /**
2676
2687
  * Offset `left` (px) cumulativi delle colonne sticky, memoizzati: ricalcolati solo
2677
2688
  * quando cambiano `visibleColumns`/`Selection`. Prima `pinnedLeftPx` era O(n) per
@@ -2930,9 +2941,9 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2930
2941
  canRemove(item: any): boolean;
2931
2942
  removeItem(item: any): void;
2932
2943
  abortRemoval(item: any): void;
2933
- /** Preferenze colonne in memoria (ordine + nascoste). Persistite se `SavePreferences`. */
2944
+ /** Preferenze colonne in memoria (ordine + nascoste + pin + larghezze). Persistite se `SavePreferences`. */
2934
2945
  private columnPrefs;
2935
- /** Applica ordine + visibilità + pin delle preferenze a una lista di colonne appena costruita */
2946
+ /** Applica ordine + visibilità + pin + larghezze delle preferenze a una lista di colonne appena costruita */
2936
2947
  private setColumns;
2937
2948
  /** true una volta caricate le preferenze dal server (evita retrieve multipli) */
2938
2949
  private prefsLoaded;
@@ -2986,6 +2997,21 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2986
2997
  * gruppo → si sposta l'INTERO blocco del gruppo (al livello di divergenza).
2987
2998
  */
2988
2999
  dialogMove(i: number, dir: -1 | 1): void;
3000
+ /** Indice della riga trascinata (o null) */
3001
+ dragIndex: _angular_core.WritableSignal<number>;
3002
+ /** Indice della riga sotto il cursore durante il drag (per l'indicatore) */
3003
+ dragOverIndex: _angular_core.WritableSignal<number>;
3004
+ dialogDragStart(i: number, ev: DragEvent): void;
3005
+ dialogDragOver(i: number, ev: DragEvent): void;
3006
+ dialogDrop(i: number, ev: DragEvent): void;
3007
+ dialogDragEnd(): void;
3008
+ /**
3009
+ * Sposta la riga `from` alla posizione `to`, poi RIPARA la contiguità dei gruppi
3010
+ * in tempo reale (come `dialogMove`): un drag che porterebbe una colonna fuori dal
3011
+ * suo gruppo la fa "scattare" nella posizione contigua più vicina, così la dialog
3012
+ * non mostra mai gruppi spezzati durante l'editing.
3013
+ */
3014
+ private dialogReorder;
2989
3015
  applyColumnsDialog(): void;
2990
3016
  /**
2991
3017
  * Riordina gli id in modo che i membri di ogni gruppo-colonna restino contigui,
@@ -3031,6 +3057,23 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
3031
3057
  cellValue(item: any, col: Est2Column): any;
3032
3058
  /** Entry Multi corrispondente a una cella (`item[multiProp][multiIndex]`) */
3033
3059
  multiCell(item: any, col: Est2Column): any;
3060
+ /**
3061
+ * Tooltip "smart" al passaggio del mouse: mostra il testo REALMENTE renderizzato
3062
+ * della cella (qualunque sia il `*td`) SOLO se è troncato. Legge `el.textContent`
3063
+ * anziché `cellDisplayText`, che conosce solo `property`/`id` e non il contenuto di
3064
+ * un template custom (era il bug del tooltip che mostrava sempre l'id colonna).
3065
+ */
3066
+ onCellHover(ev: MouseEvent): void;
3067
+ /** Larghezza minima (px) di una colonna pinnata durante il resize */
3068
+ private readonly PINNED_MIN_W;
3069
+ /** Stato del resize in corso (colonna + coordinate iniziali) */
3070
+ private resizing;
3071
+ /** mousedown sull'handle: avvia il ridimensionamento della colonna pinnata */
3072
+ startColumnResize(col: Est2Column, ev: MouseEvent): void;
3073
+ onResizeMove(ev: MouseEvent): void;
3074
+ onResizeEnd(): void;
3075
+ /** Aggiorna `columnPrefs.widths` dalle larghezze correnti delle colonne pinnate e salva */
3076
+ private persistColumnWidths;
3034
3077
  trackRow: (i: number, item: any) => any;
3035
3078
  trackCol: (_: number, col: Est2Column) => string;
3036
3079
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EsTable2Component, [{ optional: true; self: true; }, null, null, { optional: true; }, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/es-table",
3
- "version": "20.3.23",
3
+ "version": "20.3.24",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },