@esfaenza/es-table 20.3.39 → 20.3.40

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
@@ -3174,8 +3174,61 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
3174
3174
  /** true se ha senso proporre "seleziona tutti": abilitato via `[SelectAll]`, pagina
3175
3175
  * piena, non già in modalità all, e ci sono altre pagine oltre a quella corrente */
3176
3176
  get canSelectEverything(): boolean;
3177
+ /**
3178
+ * Righe aggiunte dall'utente e non ancora salvate. `undefined` = il consumer non
3179
+ * ha legato l'input; `null`/`[]` = l'ha legato (ed è ciò che ACCENDE la gestione).
3180
+ * Inizializzare sempre a `[]`: Angular non distingue "legato a undefined" da "non
3181
+ * legato", quindi una variabile non inizializzata verrebbe letta come non legata.
3182
+ */
3183
+ AddedItems: _angular_core.ModelSignal<any[]>;
3184
+ /** Righe marcate per l'eliminazione, non ancora salvate. Vedi `AddedItems`. */
3185
+ RemovedItems: _angular_core.ModelSignal<any[]>;
3186
+ /** Gestione locale attiva: basta che il consumer abbia legato UNA delle due liste */
3187
+ pendingChangesOn: _angular_core.Signal<boolean>;
3188
+ /** Contatore per le chiavi locali delle righe aggiunte */
3189
+ private localIdSeq;
3190
+ /** Nome del campo interno che identifica una riga aggiunta dal client */
3191
+ private static readonly LOCAL_ID;
3192
+ /** Righe aggiunte, sempre con una chiave locale assegnata */
3193
+ private addedRows;
3194
+ /** true se la riga proviene da `AddedItems` (non esiste ancora sul server) */
3195
+ isAddedRow(item: any): boolean;
3196
+ /**
3197
+ * Marca le righe presenti in `RemovedItems`. Come per la selezione il confronto è
3198
+ * per CHIAVE, così una riga marcata resta marcata anche tornando sulla sua pagina
3199
+ * dopo che il server l'ha rigenerata.
3200
+ */
3201
+ private applyPendingFlags;
3202
+ /**
3203
+ * Identità di una riga per le liste in sospeso. Riusa `selKey`, ma funziona anche
3204
+ * a cache di selezione spenta (dove `selKey` ragiona per riferimento): una riga
3205
+ * aggiunta ha sempre la sua chiave locale, una riga del server la sua chiave dati.
3206
+ */
3207
+ private pendingKey;
3208
+ /** Numero di righe aggiunte non ancora salvate */
3209
+ get addedCount(): number;
3210
+ /** Numero di righe marcate per l'eliminazione */
3211
+ get removedCount(): number;
3212
+ /** true se c'è qualcosa in sospeso da mostrare nella barra di riepilogo */
3213
+ get hasPendingChanges(): boolean;
3214
+ /**
3215
+ * Aggiunge una riga in testa alla tabella. La riga NON viene mandata al server:
3216
+ * finisce in `AddedItems`, che il consumer invierà al salvataggio.
3217
+ */
3218
+ addItem(item: any): void;
3219
+ /** Svuota entrambe le liste. Da chiamare dopo un salvataggio andato a buon fine. */
3220
+ clearPendingChanges(): void;
3221
+ /** Annulla tutte le eliminazioni in sospeso, lasciando intatte le righe aggiunte */
3222
+ restoreAllRemovals(): void;
3177
3223
  canRemove(item: any): boolean;
3224
+ /**
3225
+ * Click sulla ✕. Con le liste legate la rimozione è GESTITA dal componente:
3226
+ * una riga aggiunta sparisce (basta toglierla da AddedItems: il server non l'ha
3227
+ * mai vista), una riga del server resta a schermo marcata e annullabile.
3228
+ * Senza liste legate resta il comportamento storico: si emette e basta.
3229
+ */
3178
3230
  removeItem(item: any): void;
3231
+ /** Click sulla ↺: toglie la riga da RemovedItems e la riporta normale */
3179
3232
  abortRemoval(item: any): void;
3180
3233
  /** Preferenze colonne in memoria (ordine + nascoste + pin + larghezze). Persistite se `SavePreferences`. */
3181
3234
  private columnPrefs;
@@ -3441,7 +3494,7 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
3441
3494
  trackRow: (i: number, item: any) => any;
3442
3495
  trackCol: (_: number, col: Est2Column) => string;
3443
3496
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EsTable2Component, [{ optional: true; self: true; }, null, null, { optional: true; }, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
3444
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EsTable2Component, "es-table2", never, { "ContextMenu": { "alias": "ContextMenu"; "required": false; }; "_Selection": { "alias": "Selection"; "required": false; "isSignal": true; }; "SingleSelection": { "alias": "SingleSelection"; "required": false; "isSignal": true; }; "SelectionDisabled": { "alias": "SelectionDisabled"; "required": false; "isSignal": true; }; "_SelectAll": { "alias": "SelectAll"; "required": false; "isSignal": true; }; "SelectionKey": { "alias": "SelectionKey"; "required": false; "isSignal": true; }; "_UseSelectionCache": { "alias": "UseSelectionCache"; "required": false; "isSignal": true; }; "_ShiftClick": { "alias": "ShiftClick"; "required": false; "isSignal": true; }; "_OrderByColumn": { "alias": "OrderByColumn"; "required": false; "isSignal": true; }; "MultipleOrderingDirectives": { "alias": "MultipleOrderingDirectives"; "required": false; "isSignal": true; }; "Removal": { "alias": "Removal"; "required": false; "isSignal": true; }; "RemovalCondition": { "alias": "RemovalCondition"; "required": false; "isSignal": true; }; "RowClassAssigner": { "alias": "RowClassAssigner"; "required": false; }; "_HidePaging": { "alias": "HidePaging"; "required": false; "isSignal": true; }; "_HidePagingCount": { "alias": "HidePagingCount"; "required": false; "isSignal": true; }; "_HidePagingButtons": { "alias": "HidePagingButtons"; "required": false; "isSignal": true; }; "_AllSearch": { "alias": "AllSearch"; "required": false; "isSignal": true; }; "_PagingStyle": { "alias": "PagingStyle"; "required": false; "isSignal": true; }; "_ArraymodeItemsPerPage": { "alias": "ArraymodeItemsPerPage"; "required": false; "isSignal": true; }; "_UseArrayModePaging": { "alias": "UseArrayModePaging"; "required": false; "isSignal": true; }; "CountLabel": { "alias": "CountLabel"; "required": false; "isSignal": true; }; "Height": { "alias": "Height"; "required": false; "isSignal": true; }; "MaxHeight": { "alias": "MaxHeight"; "required": false; "isSignal": true; }; "VirtualScroll": { "alias": "VirtualScroll"; "required": false; "isSignal": true; }; "VirtualRowHeight": { "alias": "VirtualRowHeight"; "required": false; "isSignal": true; }; "EmptySpaceBackgroundColor": { "alias": "EmptySpaceBackgroundColor"; "required": false; "isSignal": true; }; "HighCellDensity": { "alias": "HighCellDensity"; "required": false; "isSignal": true; }; "HeaderHidden": { "alias": "HeaderHidden"; "required": false; "isSignal": true; }; "BodyHidden": { "alias": "BodyHidden"; "required": false; "isSignal": true; }; "ShowLoadingOnBootstrap": { "alias": "ShowLoadingOnBootstrap"; "required": false; "isSignal": true; }; "_DefaultAlignment": { "alias": "DefaultAlignment"; "required": false; "isSignal": true; }; "_TableClass": { "alias": "TableClass"; "required": false; "isSignal": true; }; "_ContainerClass": { "alias": "ContainerClass"; "required": false; "isSignal": true; }; "EsTableHandledSearch": { "alias": "EsTableHandledSearch"; "required": false; "isSignal": true; }; "SearchThrottle": { "alias": "SearchThrottle"; "required": false; "isSignal": true; }; "_ColumnsResizable": { "alias": "ColumnsResizable"; "required": false; "isSignal": true; }; "_ColumnsPinnable": { "alias": "ColumnsPinnable"; "required": false; "isSignal": true; }; "_HiddenColumns": { "alias": "HiddenColumns"; "required": false; "isSignal": true; }; "_ColumnsOrdering": { "alias": "ColumnsOrdering"; "required": false; "isSignal": true; }; "_Export": { "alias": "Export"; "required": false; "isSignal": true; }; "XLSXExport": { "alias": "XLSXExport"; "required": false; "isSignal": true; }; "CSVExport": { "alias": "CSVExport"; "required": false; "isSignal": true; }; "ExportFileName": { "alias": "ExportFileName"; "required": false; "isSignal": true; }; "ExportOnlyVisibleColumns": { "alias": "ExportOnlyVisibleColumns"; "required": false; "isSignal": true; }; "ExportFunction": { "alias": "ExportFunction"; "required": false; }; "CornerMenuOptions": { "alias": "CornerMenuOptions"; "required": false; "isSignal": true; }; "DynamicOperations": { "alias": "DynamicOperations"; "required": false; "isSignal": true; }; "_DynamicRowColumnsDefinition": { "alias": "DynamicRowColumnsDefinition"; "required": false; "isSignal": true; }; "Hierarchy": { "alias": "Hierarchy"; "required": false; "isSignal": true; }; "_ParentKey": { "alias": "ParentKey"; "required": false; "isSignal": true; }; "_OwnKey": { "alias": "OwnKey"; "required": false; "isSignal": true; }; "_AutoSortHierarchy": { "alias": "AutoSortHierarchy"; "required": false; "isSignal": true; }; "StartsExpanded": { "alias": "StartsExpanded"; "required": false; "isSignal": true; }; "CascadeSelection": { "alias": "CascadeSelection"; "required": false; "isSignal": true; }; "_SavePreferences": { "alias": "SavePreferences"; "required": false; "isSignal": true; }; "Name": { "alias": "Name"; "required": false; "isSignal": true; }; "_RowGroupingPagingStyle": { "alias": "RowGroupingPagingStyle"; "required": false; "isSignal": true; }; "_ShowItemGroupsColumns": { "alias": "ShowItemGroupsColumns"; "required": false; "isSignal": true; }; "Editable": { "alias": "Editable"; "required": false; "isSignal": true; }; "RangeSelection": { "alias": "RangeSelection"; "required": false; "isSignal": true; }; "ItemSourceProperty": { "alias": "ItemSourceProperty"; "required": false; "isSignal": true; }; "HasHeaderGroup": { "alias": "HasHeaderGroup"; "required": false; "isSignal": true; }; "HasSecondaryHeaderGroup": { "alias": "HasSecondaryHeaderGroup"; "required": false; "isSignal": true; }; "SearchView": { "alias": "SearchView"; "required": false; "isSignal": true; }; "_AutoUpdate": { "alias": "AutoUpdate"; "required": false; "isSignal": true; }; "EsThTdProvider": { "alias": "EsThTdProvider"; "required": false; }; "globalCheck": { "alias": "globalCheck"; "required": false; "isSignal": true; }; "autoUpdate": { "alias": "autoUpdate"; "required": false; "isSignal": true; }; "seconds": { "alias": "seconds"; "required": false; "isSignal": true; }; "researchInProgress": { "alias": "researchInProgress"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; }; }, { "onOrderChanged": "onOrderChanged"; "onSearchRequest": "onSearchRequest"; "onSelectionChanged": "onSelectionChanged"; "onRemoval": "onRemoval"; "onAbortRemoval": "onAbortRemoval"; "onModelChange": "onModelChange"; "onOpenContextMenu": "onOpenContextMenu"; "onCornerAction": "onCornerAction"; "onDynamicOperation": "onDynamicOperation"; "globalCheck": "globalCheckChange"; "autoUpdate": "autoUpdateChange"; "seconds": "secondsChange"; "researchInProgress": "researchInProgressChange"; }, ["headerRef", "bodyRef", "thDirectives", "tdDirectives", "editorDirectives", "thTdProviders"], never, false, never>;
3497
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EsTable2Component, "es-table2", never, { "ContextMenu": { "alias": "ContextMenu"; "required": false; }; "_Selection": { "alias": "Selection"; "required": false; "isSignal": true; }; "SingleSelection": { "alias": "SingleSelection"; "required": false; "isSignal": true; }; "SelectionDisabled": { "alias": "SelectionDisabled"; "required": false; "isSignal": true; }; "_SelectAll": { "alias": "SelectAll"; "required": false; "isSignal": true; }; "SelectionKey": { "alias": "SelectionKey"; "required": false; "isSignal": true; }; "_UseSelectionCache": { "alias": "UseSelectionCache"; "required": false; "isSignal": true; }; "_ShiftClick": { "alias": "ShiftClick"; "required": false; "isSignal": true; }; "_OrderByColumn": { "alias": "OrderByColumn"; "required": false; "isSignal": true; }; "MultipleOrderingDirectives": { "alias": "MultipleOrderingDirectives"; "required": false; "isSignal": true; }; "Removal": { "alias": "Removal"; "required": false; "isSignal": true; }; "RemovalCondition": { "alias": "RemovalCondition"; "required": false; "isSignal": true; }; "RowClassAssigner": { "alias": "RowClassAssigner"; "required": false; }; "_HidePaging": { "alias": "HidePaging"; "required": false; "isSignal": true; }; "_HidePagingCount": { "alias": "HidePagingCount"; "required": false; "isSignal": true; }; "_HidePagingButtons": { "alias": "HidePagingButtons"; "required": false; "isSignal": true; }; "_AllSearch": { "alias": "AllSearch"; "required": false; "isSignal": true; }; "_PagingStyle": { "alias": "PagingStyle"; "required": false; "isSignal": true; }; "_ArraymodeItemsPerPage": { "alias": "ArraymodeItemsPerPage"; "required": false; "isSignal": true; }; "_UseArrayModePaging": { "alias": "UseArrayModePaging"; "required": false; "isSignal": true; }; "CountLabel": { "alias": "CountLabel"; "required": false; "isSignal": true; }; "Height": { "alias": "Height"; "required": false; "isSignal": true; }; "MaxHeight": { "alias": "MaxHeight"; "required": false; "isSignal": true; }; "VirtualScroll": { "alias": "VirtualScroll"; "required": false; "isSignal": true; }; "VirtualRowHeight": { "alias": "VirtualRowHeight"; "required": false; "isSignal": true; }; "EmptySpaceBackgroundColor": { "alias": "EmptySpaceBackgroundColor"; "required": false; "isSignal": true; }; "HighCellDensity": { "alias": "HighCellDensity"; "required": false; "isSignal": true; }; "HeaderHidden": { "alias": "HeaderHidden"; "required": false; "isSignal": true; }; "BodyHidden": { "alias": "BodyHidden"; "required": false; "isSignal": true; }; "ShowLoadingOnBootstrap": { "alias": "ShowLoadingOnBootstrap"; "required": false; "isSignal": true; }; "_DefaultAlignment": { "alias": "DefaultAlignment"; "required": false; "isSignal": true; }; "_TableClass": { "alias": "TableClass"; "required": false; "isSignal": true; }; "_ContainerClass": { "alias": "ContainerClass"; "required": false; "isSignal": true; }; "EsTableHandledSearch": { "alias": "EsTableHandledSearch"; "required": false; "isSignal": true; }; "SearchThrottle": { "alias": "SearchThrottle"; "required": false; "isSignal": true; }; "_ColumnsResizable": { "alias": "ColumnsResizable"; "required": false; "isSignal": true; }; "_ColumnsPinnable": { "alias": "ColumnsPinnable"; "required": false; "isSignal": true; }; "_HiddenColumns": { "alias": "HiddenColumns"; "required": false; "isSignal": true; }; "_ColumnsOrdering": { "alias": "ColumnsOrdering"; "required": false; "isSignal": true; }; "_Export": { "alias": "Export"; "required": false; "isSignal": true; }; "XLSXExport": { "alias": "XLSXExport"; "required": false; "isSignal": true; }; "CSVExport": { "alias": "CSVExport"; "required": false; "isSignal": true; }; "ExportFileName": { "alias": "ExportFileName"; "required": false; "isSignal": true; }; "ExportOnlyVisibleColumns": { "alias": "ExportOnlyVisibleColumns"; "required": false; "isSignal": true; }; "ExportFunction": { "alias": "ExportFunction"; "required": false; }; "CornerMenuOptions": { "alias": "CornerMenuOptions"; "required": false; "isSignal": true; }; "DynamicOperations": { "alias": "DynamicOperations"; "required": false; "isSignal": true; }; "_DynamicRowColumnsDefinition": { "alias": "DynamicRowColumnsDefinition"; "required": false; "isSignal": true; }; "Hierarchy": { "alias": "Hierarchy"; "required": false; "isSignal": true; }; "_ParentKey": { "alias": "ParentKey"; "required": false; "isSignal": true; }; "_OwnKey": { "alias": "OwnKey"; "required": false; "isSignal": true; }; "_AutoSortHierarchy": { "alias": "AutoSortHierarchy"; "required": false; "isSignal": true; }; "StartsExpanded": { "alias": "StartsExpanded"; "required": false; "isSignal": true; }; "CascadeSelection": { "alias": "CascadeSelection"; "required": false; "isSignal": true; }; "_SavePreferences": { "alias": "SavePreferences"; "required": false; "isSignal": true; }; "Name": { "alias": "Name"; "required": false; "isSignal": true; }; "_RowGroupingPagingStyle": { "alias": "RowGroupingPagingStyle"; "required": false; "isSignal": true; }; "_ShowItemGroupsColumns": { "alias": "ShowItemGroupsColumns"; "required": false; "isSignal": true; }; "Editable": { "alias": "Editable"; "required": false; "isSignal": true; }; "RangeSelection": { "alias": "RangeSelection"; "required": false; "isSignal": true; }; "ItemSourceProperty": { "alias": "ItemSourceProperty"; "required": false; "isSignal": true; }; "HasHeaderGroup": { "alias": "HasHeaderGroup"; "required": false; "isSignal": true; }; "HasSecondaryHeaderGroup": { "alias": "HasSecondaryHeaderGroup"; "required": false; "isSignal": true; }; "SearchView": { "alias": "SearchView"; "required": false; "isSignal": true; }; "_AutoUpdate": { "alias": "AutoUpdate"; "required": false; "isSignal": true; }; "EsThTdProvider": { "alias": "EsThTdProvider"; "required": false; }; "globalCheck": { "alias": "globalCheck"; "required": false; "isSignal": true; }; "autoUpdate": { "alias": "autoUpdate"; "required": false; "isSignal": true; }; "seconds": { "alias": "seconds"; "required": false; "isSignal": true; }; "researchInProgress": { "alias": "researchInProgress"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; }; "AddedItems": { "alias": "AddedItems"; "required": false; "isSignal": true; }; "RemovedItems": { "alias": "RemovedItems"; "required": false; "isSignal": true; }; }, { "onOrderChanged": "onOrderChanged"; "onSearchRequest": "onSearchRequest"; "onSelectionChanged": "onSelectionChanged"; "onRemoval": "onRemoval"; "onAbortRemoval": "onAbortRemoval"; "onModelChange": "onModelChange"; "onOpenContextMenu": "onOpenContextMenu"; "onCornerAction": "onCornerAction"; "onDynamicOperation": "onDynamicOperation"; "globalCheck": "globalCheckChange"; "autoUpdate": "autoUpdateChange"; "seconds": "secondsChange"; "researchInProgress": "researchInProgressChange"; "AddedItems": "AddedItemsChange"; "RemovedItems": "RemovedItemsChange"; }, ["headerRef", "bodyRef", "thDirectives", "tdDirectives", "editorDirectives", "thTdProviders"], never, false, never>;
3445
3498
  }
3446
3499
 
3447
3500
  /** Componente rappresentante una Colonna della tabella */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/es-table",
3
- "version": "20.3.39",
3
+ "version": "20.3.40",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },