@esfaenza/es-table 20.3.33 → 20.3.35

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
@@ -2433,6 +2433,18 @@ interface Est2Column {
2433
2433
  multiIndex?: number | null;
2434
2434
  }
2435
2435
 
2436
+ /**
2437
+ * Riferimento a una cella restituito da `getCellReference`. Stessa forma d'uso
2438
+ * dell'es-table originale (`ValidationError` si legge chiamandola, `validationError`
2439
+ * la imposta), ma qui NON è un componente-cella: l'errore vive in un registro del
2440
+ * componente ed è quindi impostabile anche su righe non renderizzate.
2441
+ */
2442
+ interface Est2CellRef {
2443
+ /** Messaggio di errore corrente ('' se la cella è valida) */
2444
+ ValidationError: () => string;
2445
+ /** Imposta (o azzera, passando `null`/`undefined`) l'errore di validazione */
2446
+ validationError: (error?: string | null) => void;
2447
+ }
2436
2448
  /**
2437
2449
  * Riga della dialog "Visibilità e ordine colonne". `label` è il fallback testuale
2438
2450
  * (percorso dei gruppi + testo header letto dal DOM, o l'id); `tmpl` è il template
@@ -2559,6 +2571,19 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2559
2571
  MultipleOrderingDirectives: _angular_core.InputSignal<boolean>;
2560
2572
  Removal: _angular_core.InputSignal<boolean>;
2561
2573
  RemovalCondition: _angular_core.InputSignal<string>;
2574
+ /**
2575
+ * Classe CSS aggiuntiva per la riga, decisa dal consumer in base all'item.
2576
+ *
2577
+ * **Attenzione:** viene invocata per OGNI riga renderizzata a OGNI ciclo di
2578
+ * change-detection (l'originale la calcolava una volta sola per bind, in
2579
+ * `item._rowClass`). Deve quindi restare economica: niente lookup pesanti,
2580
+ * calcoli su date o chiamate a servizi: in quel caso conviene precalcolare il
2581
+ * valore sull'item e limitarsi a leggerlo qui.
2582
+ *
2583
+ * A differenza dell'originale NON viene aggiunta alcuna classe `est-row-lvl-N`
2584
+ * in modalità gerarchica: l'indentazione dei livelli è resa con il padding
2585
+ * calcolato (`hierarchyIndent`), non con una classe per livello.
2586
+ */
2562
2587
  RowClassAssigner?: (item: any) => string;
2563
2588
  readonly _HidePaging: _angular_core.InputSignal<boolean>;
2564
2589
  HidePaging: _angular_core.WritableSignal<boolean>;
@@ -2769,6 +2794,13 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2769
2794
  */
2770
2795
  columnGroupBoundaries: _angular_core.Signal<Set<number>>;
2771
2796
  /** Numero di elementi totali (per il pager) */
2797
+ /**
2798
+ * Versione del MODELLO, incrementata da `forceRefresh()`. Serve ai computed che
2799
+ * derivano dal modello (conteggio, pagine): se il consumer muta l'array SUL POSTO
2800
+ * la reference non cambia, il signal `view` non notifica e quei computed
2801
+ * resterebbero memoizzati sul valore vecchio.
2802
+ */
2803
+ private modelVersion;
2772
2804
  totalCount: _angular_core.Signal<any>;
2773
2805
  /** Pagina corrente per il pager */
2774
2806
  currentPage: _angular_core.Signal<any>;
@@ -3058,6 +3090,43 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
3058
3090
  * `{ columns (visibili), column_ordering (ordine), orders (ordinamenti) }`.
3059
3091
  */
3060
3092
  private saveColumnPrefs;
3093
+ /**
3094
+ * Forza il ricalcolo di quello che la tabella mostra. Serve al consumer che
3095
+ * MUTA l'array bindato sul posto (push/splice): senza riassegnarlo, `ngModel`
3096
+ * non notifica nulla e la tabella non se ne accorge.
3097
+ *
3098
+ * @param {boolean} relaunchSearch In viewmode rilancia anche la ricerca (default `true`)
3099
+ */
3100
+ forceRefresh(relaunchSearch?: boolean): void;
3101
+ /**
3102
+ * Azzera la selezione corrente (voci, esclusioni e "tutto selezionato").
3103
+ * Come nell'originale l'evento NON viene emesso salvo richiesta esplicita.
3104
+ *
3105
+ * @param {boolean} emit Se `true` emette `onSelectionChanged`
3106
+ */
3107
+ resetSelection(emit?: boolean): void;
3108
+ /**
3109
+ * Errori di validazione: item → (id colonna → messaggio). Chiave per identità
3110
+ * dell'oggetto, così l'errore segue la riga anche dopo ordinamenti e ripaginazioni.
3111
+ */
3112
+ private cellErrors;
3113
+ /** true se c'è almeno un errore: il template lo usa per non pagare nulla nel caso normale */
3114
+ hasCellErrors: _angular_core.WritableSignal<boolean>;
3115
+ /**
3116
+ * Riferimento a una cella su cui impostare/leggere un errore di validazione.
3117
+ * Stessa firma dell'originale; a differenza sua funziona anche se la riga non è
3118
+ * attualmente renderizzata, perché l'errore è tenuto dal componente e non dalla cella.
3119
+ *
3120
+ * @param {any} item Oggetto della riga
3121
+ * @param {string} column Id della colonna (il `th`)
3122
+ */
3123
+ getCellReference(item: any, column: string): Est2CellRef;
3124
+ /** Imposta (o azzera con `null`) l'errore di validazione di una cella */
3125
+ setCellError(item: any, column: string, error?: string | null): void;
3126
+ /** Azzera tutti gli errori di validazione (di una riga, o dell'intera tabella) */
3127
+ clearCellErrors(item?: any): void;
3128
+ /** Messaggio d'errore di una cella ('' se valida). Usato dal template. */
3129
+ cellError(item: any, col: Est2Column): string;
3061
3130
  /**
3062
3131
  * Imposta in maniera programmatica la visibilità di un header — o di un header di
3063
3132
  * GRUPPO, nel qual caso la modifica scende in cascata su tutti i `*th` che lo
@@ -3082,6 +3151,28 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
3082
3151
  private applyHeaderVisibility;
3083
3152
  /** Attiva/disattiva il pin di una colonna e persiste (dall'indicatore in testata) */
3084
3153
  togglePin(col: Est2Column, ev?: Event): void;
3154
+ /** `AppEmbeddingExtensions` risolto pigramente: `providedIn:'root'` ma le sue
3155
+ * dipendenze possono mancare in setup isolati, quindi `get` può lanciare. */
3156
+ private embSvc;
3157
+ private resolveEmbedding;
3158
+ /** true quando la tabella è incorporata in un'applicazione ospite */
3159
+ get embedded(): boolean;
3160
+ /** La dialog è aperta ma il backdrop non è ancora nel DOM: misuro appena compare */
3161
+ private embedNotifyPending;
3162
+ /**
3163
+ * ViewChild-setter sul backdrop: appena esiste ne misuro l'altezza e la mando
3164
+ * alla finestra principale, esattamente come faceva l'originale leggendola dal
3165
+ * backdrop di ngx-bootstrap.
3166
+ */
3167
+ set dialogBackdropRef(ref: ElementRef<HTMLElement> | undefined);
3168
+ /** Invia un messaggio alla finestra principale dell'applicazione ospite */
3169
+ private postEmbedMessage;
3170
+ /**
3171
+ * Unico punto di apertura/chiusura della dialog: tiene allineata la notifica
3172
+ * all'ospite, qualunque sia il pulsante che l'ha chiusa (Applica, Annulla,
3173
+ * Ripristina, la X o il click sul backdrop).
3174
+ */
3175
+ private setColumnsDialogOpen;
3085
3176
  columnsDialogOpen: _angular_core.WritableSignal<boolean>;
3086
3177
  /** Lista di lavoro della dialog (copia, per poter annullare) */
3087
3178
  dialogCols: _angular_core.WritableSignal<Est2DialogColumn[]>;
@@ -3520,4 +3611,4 @@ declare const EST2_EXPORT_GLOBAL_ACL: InjectionToken<string>;
3520
3611
  declare const EST2_DEFAULTS: InjectionToken<EsTableDefaultable>;
3521
3612
 
3522
3613
  export { AppOrdering, AppSearch, CornerMenuOption, EST2_DEBUG, EST2_DEFAULTS, EST2_EXPORT_GLOBAL_ACL, EST_DEBUG, EST_DEFAULTS, EST_EXPORT_GLOBAL_ACL, EsTable2Component, EsTableColumnsDefinition, EsTableComponent, EsTableDefaultable, EsTableModelChange, EsTableModule, EsTableModuleConfig, EsTableMultiValue, EsTableOperationDefinition, EsTablePagerComponent, EsTdDirective, EsTdEditorDirective, EsThDirective, GenericItem, Group, GroupAggregation, GroupFilter, GroupOrAggregation, ItemPropEditableReference, ItemsSelection, ReportColumn, ReportParam, ReportRow, ThTdProvider };
3523
- export type { Est2Column, Est2DialogColumn, Est2HeaderGroupCell, Est2Row, InputType };
3614
+ export type { Est2CellRef, Est2Column, Est2DialogColumn, Est2HeaderGroupCell, Est2Row, InputType };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/es-table",
3
- "version": "20.3.33",
3
+ "version": "20.3.35",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },