@esfaenza/es-table 19.2.47 → 20.3.0

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.
Files changed (63) hide show
  1. package/fesm2022/esfaenza-es-table.mjs +208 -208
  2. package/fesm2022/esfaenza-es-table.mjs.map +1 -1
  3. package/index.d.ts +2581 -3
  4. package/package.json +4 -4
  5. package/lib/components/es-table/es_table.component.d.ts +0 -774
  6. package/lib/components/es-table/es_table.component.loc.d.ts +0 -10
  7. package/lib/components/es-td/es_td.component.d.ts +0 -26
  8. package/lib/components/es-th/es_th.component.d.ts +0 -94
  9. package/lib/components/pager/table_pager.component.d.ts +0 -57
  10. package/lib/components/pager/table_pager.component.loc.d.ts +0 -10
  11. package/lib/components/pipes/est-format.pipe.d.ts +0 -10
  12. package/lib/components/pipes/est-lookup.pipe.d.ts +0 -13
  13. package/lib/components/pipes/est-propinsensitive.pipe.d.ts +0 -7
  14. package/lib/components/pipes/est-renderer.pipe.d.ts +0 -15
  15. package/lib/components/pipes/est-routerlink.pipe.d.ts +0 -20
  16. package/lib/components/pipes/est_editor.pipe.d.ts +0 -15
  17. package/lib/core/CopyPasteDetector.d.ts +0 -15
  18. package/lib/core/Logger.d.ts +0 -10
  19. package/lib/core/handlers/ColumnMetadataHandler.d.ts +0 -188
  20. package/lib/core/handlers/DynamicModeHandler.d.ts +0 -22
  21. package/lib/core/handlers/ExportHandler.d.ts +0 -19
  22. package/lib/core/handlers/HierarchyModeHandler.d.ts +0 -41
  23. package/lib/core/handlers/ItemsHandler.d.ts +0 -35
  24. package/lib/core/handlers/ReportModeHandler.d.ts +0 -27
  25. package/lib/core/handlers/RowGroupingHandler.d.ts +0 -118
  26. package/lib/core/handlers/SelectionHandler.d.ts +0 -230
  27. package/lib/core/handlers/UtilitiesHandler.d.ts +0 -57
  28. package/lib/directives/es_td.directive.d.ts +0 -42
  29. package/lib/directives/es_td_editor.directive.d.ts +0 -14
  30. package/lib/directives/es_th.directive.d.ts +0 -106
  31. package/lib/directives/es_th_td_provider.directive.d.ts +0 -15
  32. package/lib/domain/configuration/EsTableDefaultable.d.ts +0 -21
  33. package/lib/domain/configuration/EsTableModuleConfig.d.ts +0 -10
  34. package/lib/domain/externals/CornerMenuOption.d.ts +0 -7
  35. package/lib/domain/externals/EsTableColumnsDefinition.d.ts +0 -55
  36. package/lib/domain/externals/EsTableModelChange.d.ts +0 -17
  37. package/lib/domain/externals/EsTableOperationDefinition.d.ts +0 -20
  38. package/lib/domain/externals/ItemPropEditableReference.d.ts +0 -34
  39. package/lib/domain/externals/appsearch/AppOrdering.d.ts +0 -14
  40. package/lib/domain/externals/appsearch/AppSearch.d.ts +0 -100
  41. package/lib/domain/externals/appsearch/EsTableMultiValue.d.ts +0 -22
  42. package/lib/domain/externals/appsearch/GenericItem.d.ts +0 -13
  43. package/lib/domain/externals/appsearch/Group.d.ts +0 -17
  44. package/lib/domain/externals/appsearch/GroupAggregation.d.ts +0 -14
  45. package/lib/domain/externals/appsearch/GroupFilter.d.ts +0 -12
  46. package/lib/domain/externals/appsearch/GroupOrAggregation.d.ts +0 -14
  47. package/lib/domain/externals/appsearch/ItemsSelection.d.ts +0 -22
  48. package/lib/domain/externals/report/ReportColumn.d.ts +0 -19
  49. package/lib/domain/externals/report/ReportParam.d.ts +0 -40
  50. package/lib/domain/externals/report/ReportRow.d.ts +0 -9
  51. package/lib/domain/internals/CacheTriptic.d.ts +0 -14
  52. package/lib/domain/internals/EsTableColumn.d.ts +0 -41
  53. package/lib/domain/internals/GroupPager.d.ts +0 -26
  54. package/lib/domain/internals/GroupRouteFragment.d.ts +0 -15
  55. package/lib/domain/internals/PagerInfos.d.ts +0 -13
  56. package/lib/domain/internals/TdElement.d.ts +0 -59
  57. package/lib/domain/internals/ThAggregation.d.ts +0 -14
  58. package/lib/domain/internals/ThElement.d.ts +0 -24
  59. package/lib/domain/internals/ThGroup.d.ts +0 -10
  60. package/lib/domain/types.d.ts +0 -2
  61. package/lib/es-table.module.d.ts +0 -35
  62. package/lib/tokens.d.ts +0 -8
  63. package/public-api.d.ts +0 -28
@@ -1,774 +0,0 @@
1
- import { QueryList, ChangeDetectorRef, EventEmitter, ElementRef, TemplateRef, Type, Renderer2, WritableSignal, NgZone } from '@angular/core';
2
- import { ControlValueAccessor, NgControl } from '@angular/forms';
3
- import { UtilityService, ExportService, MessageService, DateService, ClipboardService, AppEmbeddingExtensions } from '@esfaenza/extensions';
4
- import { LocalizationService } from '@esfaenza/localizations';
5
- import { PreferencesService } from '@esfaenza/preferences';
6
- import { ContextMenuComponent } from '@esfaenza/ngx-contextmenu';
7
- import { AppSearch } from "../../domain/externals/appsearch/AppSearch";
8
- import { AppOrdering } from "../../domain/externals/appsearch/AppOrdering";
9
- import { EsTableColumnsDefinition } from "../../domain/externals/EsTableColumnsDefinition";
10
- import { CornerMenuOption } from "../../domain/externals/CornerMenuOption";
11
- import { EsTableOperationDefinition } from "../../domain/externals/EsTableOperationDefinition";
12
- import { EsTableColumn } from "../../domain/internals/EsTableColumn";
13
- import { GroupPager } from "../../domain/internals/GroupPager";
14
- import { GroupRouteFragment } from "../../domain/internals/GroupRouteFragment";
15
- import { ThElement } from "../../domain/internals/ThElement";
16
- import { PagerInfos } from "../../domain/internals/PagerInfos";
17
- import { ThGroup } from "../../domain/internals/ThGroup";
18
- import { TdElement } from "../../domain/internals/TdElement";
19
- import { ItemsSelection } from '../../domain/externals/appsearch/ItemsSelection';
20
- import { Group } from "../../domain/externals/appsearch/Group";
21
- import { EsTableModelChange } from '../../domain/externals/EsTableModelChange';
22
- import { ItemPropEditableReference } from '../../domain/externals/ItemPropEditableReference';
23
- import { EsTableDefaultable } from '../../domain/configuration/EsTableDefaultable';
24
- import { EsTd } from '../es-td/es_td.component';
25
- import { EsTdDirective } from '../../directives/es_td.directive';
26
- import { EsThDirective } from '../../directives/es_th.directive';
27
- import { EsTdEditorDirective } from '../../directives/es_td_editor.directive';
28
- import { ThTdProvider } from '../../directives/es_th_td_provider.directive';
29
- import { ExportHandler } from "../../core/handlers/ExportHandler";
30
- import { ColumnMetadataHandler } from "../../core/handlers/ColumnMetadataHandler";
31
- import { DynamicModeHandler } from "../../core/handlers/DynamicModeHandler";
32
- import { HierarchyModeHandler } from "../../core/handlers/HierarchyModeHandler";
33
- import { ItemsHandler } from "../../core/handlers/ItemsHandler";
34
- import { ReportModeHandler } from "../../core/handlers/ReportModeHandler";
35
- import { RowGroupingHandler } from "../../core/handlers/RowGroupingHandler";
36
- import { SelectionHandler } from "../../core/handlers/SelectionHandler";
37
- import { UtilitiesHandler } from "../../core/handlers/UtilitiesHandler";
38
- import { CopyPasteDetector } from '../../core/CopyPasteDetector';
39
- import { Logger } from '../../core/Logger';
40
- import { Subject } from 'rxjs';
41
- import { ModalDirective } from 'ngx-bootstrap/modal';
42
- import * as i0 from "@angular/core";
43
- /** Componente che permette di rappresentare una griglia di valori */
44
- export declare class EsTableComponent implements ControlValueAccessor {
45
- private _zone;
46
- ngControl: NgControl;
47
- private prefService;
48
- private deafults;
49
- exportGlobalAcl: string;
50
- lc: LocalizationService;
51
- cdr: ChangeDetectorRef;
52
- private utilities_H;
53
- utiExts: UtilityService;
54
- private expExts;
55
- dateExts: DateService;
56
- private msgExts;
57
- private copyPasteDetector;
58
- private clipboardService;
59
- private logger;
60
- private emb;
61
- private rendererRef;
62
- private _destroyed$;
63
- /** @ignore */ export_H: ExportHandler;
64
- /** @ignore */ columnMetadata_H: ColumnMetadataHandler;
65
- /** @ignore */ dynamicMode_H: DynamicModeHandler;
66
- /** @ignore */ hierarchyMode_H: HierarchyModeHandler;
67
- /** @ignore */ items_H: ItemsHandler;
68
- /** @ignore */ reportMode_H: ReportModeHandler;
69
- /** @ignore */ rowGrouping_H: RowGroupingHandler;
70
- /** @ignore */ selection_H: SelectionHandler;
71
- /** @ignore */ private copySubscription;
72
- /** @ignore */ private pasteSubscription;
73
- /** @ignore */
74
- constructor(_zone: NgZone, ngControl: NgControl, prefService: PreferencesService, deafults: EsTableDefaultable, exportGlobalAcl: string, lc: LocalizationService, cdr: ChangeDetectorRef, utilities_H: UtilitiesHandler, utiExts: UtilityService, expExts: ExportService, dateExts: DateService, msgExts: MessageService, copyPasteDetector: CopyPasteDetector, clipboardService: ClipboardService, logger: Logger, emb: AppEmbeddingExtensions, rendererRef: Renderer2);
75
- /** Subject utilizzato internamente lato EsTable per causare il Focus lato componente di Input */
76
- FocusSubject: Subject<void>;
77
- /** Timer che verrà impostato a **doubleClickBufferMs** per capire se è stato effettuato un click singolo o un doubleclick */
78
- private cellDbClickTimer;
79
- /** Se vengono effettuati 2 click a distanza inferiore a questi Millisecondi viene considerato un doppio click */
80
- private doubleClickBufferMs;
81
- /** Tiene da conto l'ultimo elemento selezionato in modo da poter effettuare il SHIFT+CLICK */
82
- private lastSelected;
83
- /** View finale su cui bindarsi lato Frontend, il tipo può essere IAppSearch<any> (per la **viewMode**), any[] (per l'**arrayMode**) */
84
- View: any;
85
- /** Modello da cui l'es-table mostra i pulsanti di paginazione in basso a destra */
86
- arrayPulsanti: WritableSignal<{
87
- val: number;
88
- cssClass: string;
89
- }[]>;
90
- /** Indica se l'es-table deve mostrare il check globale nell'header per fare il "seleziona tutto" */
91
- globalCheck: import("@angular/core").ModelSignal<boolean>;
92
- /** Conteggio interno per il numero di elementi selezionati */
93
- selectedObjects: WritableSignal<number>;
94
- /** Indica se è possibile effettuare una selezione massiva */
95
- canSelectAll: WritableSignal<boolean>;
96
- /** Indica se il componente sta gestendo un IAppSearch<any> */
97
- viewMode: WritableSignal<boolean>;
98
- /** Indica se il componente sta gestendo un any[] */
99
- arrayMode: WritableSignal<boolean>;
100
- /**
101
- * Contenitore degli elementi da listare lato interfaccia dopo tutte le elaborazioni del caso,
102
- * generalmente non sono altro che tutti gli oggetti da presentare con in più l'hash calcolato per identificare 1 oggetto con la propria riga
103
- */
104
- boundSource: WritableSignal<any[]>;
105
- /** Stessa cosa della **boundSource**, utilizzata come appoggio temporaneo interno */
106
- TMPBoundSource: any[];
107
- /** @deprecated "Fetta" di oggetti utilizzata nell'endless scroll, ogni elemento di questo array è un blocchetto di 100 elementi */
108
- boundSubSources: any[];
109
- /** @deprecated Questa funge da indicatore per gli slice inseriti, la lunghezza dovrebbe essere corrispondente a **boundSubSources** */
110
- addedSlices: number[];
111
- /** Variabile che identifica il valore del "seleziona Tutto" nella paginazione */
112
- defaultAllPageOverride: number;
113
- /** Serve per tenere in memoria il conteggio precedente e recuperarlo in caso diventi -2 (verificare con Ale perché la logica del -2) */
114
- previousCount: number;
115
- /** Indica se utilizzare il sistema di autoupdate, cioè un trigger time-izzato in alto a destra della tabella che ripete le ricerche ogni X **seconds** */
116
- autoUpdate: import("@angular/core").ModelSignal<boolean>;
117
- /** Numero di secondi da fare trascorrere fra una ricerca e l'altra */
118
- seconds: import("@angular/core").ModelSignal<string>;
119
- /** Riferimento all'Interval che viene generato se **autoUpdate** è impostata a true in modo da poterlo ripulire */
120
- updateTimer: any;
121
- /** Impostata a true ogni volta che viene avviata una ricerca, e a false ogni volta che un nuovo valore viene ricevuto */
122
- researchInProgress: import("@angular/core").ModelSignal<boolean>;
123
- /** Modello di appoggio temporaneo per i **RowTDs** */
124
- TMPRowTDs: {
125
- [context: string]: WritableSignal<TdElement>[];
126
- };
127
- /** Modello rappresentante un dizionario di righe della tabella, con chiave l'hash e valore la lista di celle */
128
- RowTDs: {
129
- [context: string]: WritableSignal<TdElement>[];
130
- };
131
- /** Indica se **RowTDs** è un oggetto vuoto o meno */
132
- EmptyRowTds: WritableSignal<boolean>;
133
- /** Modello di appoggio temporaneo per i **RowTHs** */
134
- TMPRowTHs: ThElement[];
135
- /** Modello rappresentante un singolo th della tabella, generato in base alle configurazioni e agli oggetti ricevuti */
136
- RowTHs: ThElement[];
137
- /** Modello di appoggio temporaneo per i **RowThGroups** */
138
- TMPRowThGroups: ThGroup[][];
139
- /** Modello rappresentante un singolo header group della tabella. Questa lista è già ordinata e pronta per essere utilizzata in ngFor */
140
- RowThGroups: ThGroup[][];
141
- /**
142
- * Lista dei contesti. Un contesto non è altro che un hash particolare calcolato su un oggetto che identifica univocamente tale oggetto.
143
- *
144
- * Ognuno di questi contesti rappresenterà a sua volta, univocamente, una riga all'interno della tabella
145
- */
146
- RowContexts: any[];
147
- /** Direttive di ordinamento delle colonne (non ordinamento dei dati ma delle colonne in se) */
148
- OrderDirectives: string[];
149
- /** Codice dell'ultimo oggetto solezionato */
150
- lastSelectedItemID: any;
151
- /**
152
- * Decide se utilizzare o meno le CustomCells. Impostandolo a **true** l'es-table diventa in grado di gestire nativamente:
153
- *
154
- * 1) Ordinamento e visibilità delle colonne
155
- *
156
- * 2) Ordinamento dei dati
157
- *
158
- * 3) Modalità Gerarchica
159
- *
160
- * ecc...
161
- * viene dedotto dal sistema in automatico
162
- */
163
- UseCustomCells: WritableSignal<boolean>;
164
- /**
165
- * Indica se oltre alle colonne dinamiche specifiche di un tipo di oggetto ci sono anche colonne dinamiche aggiunte dall'utente
166
- *
167
- * Es. una colonna in cui mostrare sempre un iconcina
168
- */
169
- UserDefinedDynamicCols: WritableSignal<boolean>;
170
- /** Indica che questo è il primo Bind della tabella, viene settato a false non appena il primo bind viene terminato con successo */
171
- FirstBind: WritableSignal<boolean>;
172
- /** Lista di colonne che si possono visualizzare/ordinare fra di loro */
173
- ColumnsList: EsTableColumn[];
174
- /** Variabile d'appoggio usata dalla dialog di selezione/nascondimento, per evitare di danneggiare **ColumnsList** in caso di modifiche poi annullate */
175
- TMPColumnsList: EsTableColumn[];
176
- /** Valore del check globale di visibilità valido per tutte le colonne in **ColumnsList** */
177
- globalColVisCheck: import("@angular/core").ModelSignal<boolean>;
178
- private setUnderlyingSignal;
179
- /** Query per recuperare tutte le direttive per gli editor custom delle celle */
180
- EsTdEditorDirectives: QueryList<EsTdEditorDirective>;
181
- /** Query per recuperare tutte le nuove direttive assegnati a direttiva (Per la modalità dinamica dell'es-table) */
182
- EsTdsDirective: QueryList<EsTdDirective>;
183
- /** Query per recuperare tutti gli es-td assegnati a direttiva (Per la modalità dinamica dell'es-table) */
184
- EsThsDirective: QueryList<EsThDirective>;
185
- /** Query per recuperare tutti gli es-td e gli es-th assegnati da parte di un provider (per integrare in maniera dinamica i th e td esistenti) */
186
- ThTdProvider: QueryList<ThTdProvider>;
187
- /** Permette di collegare un provider senza passare dalla proiezione */
188
- EsThTdProvider: ThTdProvider;
189
- /** Query per recuperare le informazioni del body (punto della tabella dove vengono mostrate le righe) */
190
- bodyRef: any;
191
- /** Query per recuperare le informazioni dell'header (punto della tabella dove vengono mostrate le intestazioni delle righe) */
192
- headerRef: any;
193
- /** @deprecated Query per recuperare le informazioni sul raggruppamento degli header */
194
- headerGroupRef: any;
195
- /** @deprecated Query per recuperare le informazioni sul raggruppamento di secondo livello degli header */
196
- secondaryHeaderGroupRef: any;
197
- /** Query per recuperare il campo di Input attuale. Dopo un doppio click lo becco e lo focusso appena termina la change detection */
198
- inputField: ElementRef;
199
- /** Opzioni extra che devono apparire nel Menù contestuale in alto a destra, richiamato dai 3 pallini verticali */
200
- CornerMenuOptions: import("@angular/core").InputSignal<CornerMenuOption[]>;
201
- /** Indica se dev'essere possibile effettuare il resize delle colonne */
202
- _ColumnsResizable: import("@angular/core").InputSignal<boolean>;
203
- ColumnsResizable: WritableSignal<boolean>;
204
- /** Indica se dev'essere possibile effettuare il pinning delle colonne */
205
- _ColumnsPinnable: import("@angular/core").InputSignal<boolean>;
206
- ColumnsPinnable: WritableSignal<boolean>;
207
- /** Indica se dev'essere disponibile il sistema di aggiornamento automatico */
208
- _AutoUpdate: import("@angular/core").InputSignal<boolean>;
209
- AutoUpdate: WritableSignal<boolean>;
210
- /** Indica l'altezza cablata che deve assumere la tabella. Es: "100px" | "100%" ... */
211
- Height: import("@angular/core").InputSignal<string>;
212
- /** Indica il colore di sfondo dello spazio vuoto (non ricoperto da dati). Particolarmente utile da impostare in caso di **Height** diverso da null */
213
- EmptySpaceBackgroundColor: import("@angular/core").InputSignal<string>;
214
- /** Indica se dev'essere l'estable a gestire la ricerca, anche la prima. **/
215
- EsTableHandledSearch: import("@angular/core").InputSignal<boolean>;
216
- /** Permette di impostare l'altezza massima della tabella. Se null la dimensione si adatta al numero di elementi attualmente in visualizzazione */
217
- MaxHeight: import("@angular/core").InputSignal<number>;
218
- /** Classi da applicare al contenitore della tabella */
219
- _ContainerClass: import("@angular/core").InputSignal<string>;
220
- ContainerClass: WritableSignal<string>;
221
- /** Permette o meno l'export in formato XLSX */
222
- XLSXExport: import("@angular/core").InputSignal<boolean>;
223
- /** Permette o meno l'export in formato CSV */
224
- CSVExport: import("@angular/core").InputSignal<boolean>;
225
- /** Permette di visualizzare o meno l'opzione di paginazione "Tutti" */
226
- _AllSearch: import("@angular/core").InputSignal<boolean>;
227
- AllSearch: WritableSignal<boolean>;
228
- /** Diminuisce gli spazi fra una cella e l'altra, e internamente il padding del font in modo da presentare molti più dati in un'unica pagina */
229
- HighCellDensity: import("@angular/core").InputSignal<boolean>;
230
- /** Abilita o meno la possibilità di selezionare oggetti */
231
- _Selection: import("@angular/core").InputSignal<boolean>;
232
- Selection: WritableSignal<boolean>;
233
- /** Mostra o meno un messaggio di Loading al primo caricamento della tabella */
234
- ShowLoadingOnBootstrap: import("@angular/core").InputSignal<boolean>;
235
- /** Se impostato a **true** aggiunge una colonna con pulsante di eliminazione per effettuare l'elimina dell'oggetto relativo */
236
- Removal: import("@angular/core").InputSignal<boolean>;
237
- /**
238
- * Condizione che nasconde l'icona di eliminazione inserita impostando **Removal** a true qualora la condizione non venisse rispettata
239
- *
240
- * Come condizione si considera un semplice campo su cui effettuare un controllo booleano, come ad esempio "canremove"
241
- */
242
- RemovalCondition: import("@angular/core").InputSignal<string>;
243
- /** Indica se abilitare la possibilità di esportare la vista dati attuale */
244
- _Export: import("@angular/core").InputSignal<boolean>;
245
- Export: WritableSignal<boolean>;
246
- /** Indica se permettere la selezione multipla Windows-like cliccando un oggetto e facendo poi Shift + click su un oggetto successivo */
247
- _ShiftClick: import("@angular/core").InputSignal<boolean>;
248
- ShiftClick: WritableSignal<boolean>;
249
- /** Indica il testo che va a sostituire "Oggetti Visualizzati" in caso si stia facendo qualcosa di custom */
250
- CountLabel: import("@angular/core").InputSignal<string>;
251
- /** Indica se nascondere o mostrare il componente di paginazione */
252
- _HidePaging: import("@angular/core").InputSignal<boolean>;
253
- HidePaging: WritableSignal<boolean>;
254
- /** Indica se nascondere o mostrare il conteggio degli elementi trovati */
255
- _HidePagingCount: import("@angular/core").InputSignal<boolean>;
256
- HidePagingCount: WritableSignal<boolean>;
257
- /** Indica se nascondere o mostrare i pulsanti di paginazione */
258
- _HidePagingButtons: import("@angular/core").InputSignal<boolean>;
259
- HidePagingButtons: WritableSignal<boolean>;
260
- /** Riferimento al ContextMenu (ngx-contextmenu) associato al click destro di uno o più elementi selezionati nella tabella */
261
- ContextMenu: ContextMenuComponent;
262
- /** Nome dell'esportazione generata da questa tabella */
263
- ExportFileName: import("@angular/core").InputSignal<string>;
264
- /** Classe (HTML) di default della tabella */
265
- _TableClass: import("@angular/core").InputSignal<string>;
266
- TableClass: WritableSignal<string>;
267
- /** Funzione da utilizzare in esportazione. Ha come parametro una callback con i dati completi da esportare (dato che di default la ricerca è paginata) */
268
- ExportFunction: (callback: (data: any[], type: Type<any>) => void, format: "CSV" | "XLSX") => void;
269
- /** Indica di esportare solo le colonne attualmente visibili della view */
270
- ExportOnlyVisibleColumns: import("@angular/core").InputSignal<boolean>;
271
- /** @deprecated Indica la presenza di raggruppamenti a livello di header */
272
- HasHeaderGroup: import("@angular/core").InputSignal<boolean>;
273
- /** @deprecated Indica la presenza di raggruppamenti a livello del raggruppamento precedentemente esistente, chiaramente è insensata senza **HasHeaderGroup** */
274
- HasSecondaryHeaderGroup: import("@angular/core").InputSignal<boolean>;
275
- /** Indica se nascondere gli Header della tabella */
276
- HeaderHidden: import("@angular/core").InputSignal<boolean>;
277
- /** Indica se nascondere il Body della tabella */
278
- BodyHidden: import("@angular/core").InputSignal<boolean>;
279
- /**
280
- * Indica se la selezione è temporaneamente disabilitata. Rispetto all'Input **Selection** che visivamente gestisce se ci sono o no gli input di selezione,
281
- * questo Input gestisce se questi input sono abilitati o meno
282
- */
283
- SelectionDisabled: import("@angular/core").InputSignal<boolean>;
284
- /**
285
- * Indica se forzare il sistema di selezione a gestire un elemento per volta.
286
- * Selezionare un'altra riga con una già selezionata applicherà la selezione alla nuova riga, rimuovendola dall'attuale
287
- */
288
- SingleSelection: import("@angular/core").InputSignal<boolean>;
289
- /** Callback che dato un oggetto resituisce l'eventuale classe da applicare alla riga collegata all'oggetto */
290
- RowClassAssigner: (item: any) => string;
291
- /** Permette di ordinare i dati in maniera discendente o ascendente */
292
- _OrderByColumn: import("@angular/core").InputSignal<boolean>;
293
- OrderByColumn: WritableSignal<boolean>;
294
- /** Permette di avere più direttive di ordinamento dei dati */
295
- MultipleOrderingDirectives: import("@angular/core").InputSignal<boolean>;
296
- /** Permette di nascondere le colonne in base alle selezioni effettuate dal Menù contestuale in alto a destra */
297
- _HiddenColumns: import("@angular/core").InputSignal<boolean>;
298
- HiddenColumns: WritableSignal<boolean>;
299
- /** Permette di riordinare le colonne in base alle impostazioni effettuate dal Menù contestuale in alto a destra */
300
- _ColumnsOrdering: import("@angular/core").InputSignal<boolean>;
301
- ColumnsOrdering: WritableSignal<boolean>;
302
- /** @deprecated Eventuale supporto alle ricerche applicate alla modalità Array */
303
- SearchView: import("@angular/core").InputSignal<AppSearch<any>>;
304
- /** Abilita o disabilita il sistema che permette di selezionare tutti gli elementi nella vista */
305
- _SelectAll: import("@angular/core").InputSignal<boolean>;
306
- SelectAll: WritableSignal<boolean>;
307
- /** Simula la paginazione anche per le tabelle che funzionano in modalità Array */
308
- _UseArrayModePaging: import("@angular/core").InputSignal<boolean>;
309
- UseArrayModePaging: WritableSignal<boolean>;
310
- /** Definizione di colonne dinamche per la modalità, appunto, dinamica */
311
- _DynamicRowColumnsDefinition: import("@angular/core").InputSignal<EsTableColumnsDefinition[]>;
312
- DynamicRowColumnsDefinition: WritableSignal<EsTableColumnsDefinition[]>;
313
- /** Indica operazioni dinamiche generiche che possono essere effettuate per riga. Appaiono come colonne extra sul lato sinistro della tabella */
314
- DynamicOperations: import("@angular/core").InputSignal<EsTableOperationDefinition[]>;
315
- /** Indica se visualizzare i dati in maniera gerarchica */
316
- Hierarchy: import("@angular/core").InputSignal<boolean>;
317
- /** Nome della proprietà che contiene l'ID del padre. Da utilizzare se **Hierarchy** è impostato */
318
- _ParentKey: import("@angular/core").InputSignal<string>;
319
- ParentKey: WritableSignal<string>;
320
- /** Nome della proprietà che contiene l'ID dell'oggetto attuale. Da utilizzare se **Hierarchy** è impostato */
321
- _OwnKey: import("@angular/core").InputSignal<string>;
322
- OwnKey: WritableSignal<string>;
323
- /** Indica se lasciare alla tabella l'onere di ordinare gli oggetto che arrivano in base a gerarchia / id */
324
- _AutoSortHierarchy: import("@angular/core").InputSignal<boolean>;
325
- AutoSortHierarchy: WritableSignal<boolean>;
326
- /** Indica se partire con un albero espanso. Da utilizzare se **Hierarchy** è impostato */
327
- StartsExpanded: import("@angular/core").InputSignal<boolean>;
328
- /** Indica se effettuare il salvataggio delle preferenze di ricerca */
329
- _SavePreferences: import("@angular/core").InputSignal<boolean>;
330
- SavePreferences: WritableSignal<boolean>;
331
- /** Allineamento di default per celle e headers */
332
- _DefaultAlignment: import("@angular/core").InputSignal<"Left" | "Center" | "Right">;
333
- DefaultAlignment: WritableSignal<"Left" | "Center" | "Right">;
334
- /** Indica dove visualizzare le informazioni di paginazione, se sopra, sotto o in entrambi */
335
- _PagingStyle: import("@angular/core").InputSignal<"top" | "bottom" | "both">;
336
- PagingStyle: WritableSignal<"top" | "bottom" | "both">;
337
- /** Indica dove visualizzare le informazioni di paginazione, se sopra, sotto o in entrambi */
338
- _RowGroupingPagingStyle: import("@angular/core").InputSignal<"left" | "right">;
339
- RowGroupingPagingStyle: WritableSignal<"left" | "right">;
340
- /** Qualora per qualsiasi motivo non venisse usato **items** dell'AppSearch questo Input indica qual è il nome della proprietà da utilizzare */
341
- ItemSourceProperty: import("@angular/core").InputSignal<string>;
342
- /** Indica se utilizzare la cache di selezione che permette di mantenere gli stati di selezione dei vari oggetti navigando da una pagina all'altra */
343
- _UseSelectionCache: import("@angular/core").InputSignal<boolean>;
344
- UseSelectionCache: WritableSignal<boolean>;
345
- /** Permette di decidere se, in modalità raggruppamento, mostrare o meno il valore delle colonne di gruppo negli oggetti finali. Di default sono nascosti */
346
- _ShowItemGroupsColumns: import("@angular/core").InputSignal<boolean>;
347
- ShowItemGroupsColumns: WritableSignal<boolean>;
348
- /** Indica che tutti i campi che definiscono le modalità di modifica campo possono essere modificati in base alle impostazioni */
349
- Editable: import("@angular/core").InputSignal<boolean>;
350
- /** Indica se è possibile effettuare selezioni a range per poi farci eventualmente copia incolla */
351
- RangeSelection: import("@angular/core").InputSignal<boolean>;
352
- /** Indica il numero di millisecondi per cui debouncare il writeValue per la modalità **EsTableHandledSearch** */
353
- SearchThrottle: import("@angular/core").InputSignal<number>;
354
- /** Evento che viene richiamato al cambio di oridnamento di una colonna */
355
- onOrderChanged: EventEmitter<AppOrdering>;
356
- /**
357
- * Evento che viene richiamato quando l'es-table ritiene sia necessario ri-effettuare la ricerca.
358
- * Il booleano dell'evento indica se viene suggerito di resettare la pagina o meno.
359
- *
360
- * Solo in caso venga utilizzata la modalità a raggruppamenti di righe può succedere che l'es-table passi un intero AppSearch come parametro di ricerca,
361
- * in quel caso l'applicazione ricevente dovrà onorare la richiesta spedendo al backand l'oggetto di ricerca AS-IS
362
- *
363
- * il tipo dell'Emitter invece di essere [boolean | AppSearch<any>] è stato impostato a "any" per evitare problemi di retrocompatibilità
364
- */
365
- onSearchRequest: EventEmitter<any>;
366
- /** Evento che parte ad ogni modifica di "checkaggio" in forma di comodo array. Espone l'oggetto con lo stato di check attuale */
367
- onSelectionChanged: EventEmitter<ItemsSelection<any>>;
368
- /** Evento richiamato all'eliminazione di un oggetto */
369
- onRemoval: EventEmitter<any>;
370
- /** Evento richiamato all'annullamento di un'eliminazione */
371
- onAbortRemoval: EventEmitter<any>;
372
- /** Evento richiamato alla modifica dei modelli bindati */
373
- onModelChange: EventEmitter<EsTableModelChange[]>;
374
- /** Evento richiamato all'apertura del menù contestuale */
375
- onOpenContextMenu: EventEmitter<void>;
376
- /** Evento richiamato quando si clicca su un opzione definita nelle **CornerMenuOptions** */
377
- onCornerAction: EventEmitter<{
378
- id: string;
379
- estable: any;
380
- }>;
381
- /** Evento richiamato quando si clicca su un opzione definita nelle **DynamicOperations** */
382
- onDynamicOperation: EventEmitter<{
383
- id: string;
384
- item: any;
385
- }>;
386
- /** Elemento HTML da cliccare per l'esportazione */
387
- exportDownloader: ElementRef;
388
- /** Placeholder di menù contestuale per quando non ci sono opzioni nel placeholder "Vero" */
389
- tableEmptyMenu: ContextMenuComponent;
390
- /** Subscription sull'apertura del context menu da ripulire al destroy della classe */
391
- private ctxMenuSubscription;
392
- /** Pagina in visualizzazione (durante la paginazione in modalità Array) */
393
- arraymodePage: number;
394
- /** Numero di pagine (durante la paginazione in modalità Array) */
395
- arraymodePages: number;
396
- /** Oggetti per ogni pagina (durante la paginazione in modalità Array) */
397
- _ArraymodeItemsPerPage: import("@angular/core").InputSignal<number>;
398
- ArraymodeItemsPerPage: WritableSignal<number>;
399
- /** Oggetto di selezione per la modalità Array, che deve comportarsi come la controparte in modalità View */
400
- arraymodeSelection: ItemsSelection<any>;
401
- /** Colonne da visualizzare in modalità array */
402
- arrayColumns: string[];
403
- /** Ordine delle colonne da visualizzare in modalità array */
404
- arrayColumnOrdering: string[];
405
- /** Ordinamenti ASC-DESC sulle colonne in modalità array */
406
- arrayOrders: AppOrdering[];
407
- /**
408
- * Variabile che serve a gestire il momento in cui l'es-table aggiorna la paginazione (pulsanti ecc).
409
- * Essendo operazioni comunque costose le effettuo solo su binding esterni, non su rewrite generati internamente
410
- */
411
- private internalWriteCall;
412
- /**
413
- * Cache che conterrà tutte le ricerche effettuate su gruppi diversi dal primo e su elementi contenuti nei gruppi.
414
- * In caso di cambi di ordinamento delle colonne diverse dalla prima tutte le chiamate fatte dal secondo livello in poi devono essere rieseguite secondo la seguente logica:
415
- *
416
- *
417
- * **Cambio ordinamento sul primo gruppo**: reload completo, non mi occupo di ripulire gli elementi bindati in alcun modo
418
- *
419
- * **Cambio ordinamento sulla colonna relativa all'N-esimo gruppo**: reload completo del contenuto dei gruppi precedenti, ripulendo precedentemente
420
- * tutti gli elementi con **_grouplevel** = N
421
- *
422
- * **Cambio ordinamento su una colonna non raggruppata**: reload completo per tutti i gruppi finali aperti, devo precedentemente ripulire tutti gli elementi con **_item** = true
423
- *
424
- * Altri eventi non dovrebbero rappresentare problemi:
425
- * - Selezione: non cambia nulla
426
- * - Paginazione: cambia a livello root quindi viene ricaricato tutto comunque, stesso vale per le paginazioni interne
427
- */
428
- groupSearchRequestsCache: {
429
- path: string;
430
- route: GroupRouteFragment[];
431
- view: AppSearch<any>;
432
- group_column: string;
433
- }[];
434
- /** Variabile d'appoggio per capire se c'è bisogno di ri-effettuare una ricerca o meno */
435
- private ResearchNeeded;
436
- /** Colonne visibili della vista attuale. Valorizzato di default al numero massimo di colonne supportate dalla tabella per le casistiche in assenza di custom cells */
437
- Columns: WritableSignal<{
438
- Visibile: number;
439
- VisibleUnpinned: number;
440
- Global: number;
441
- }>;
442
- /** In caso di Row Grouping qui viene salvata la vista principale dei gruppi base */
443
- MainGroupView: AppSearch<any>;
444
- /** Conteggio base degli oggetti. In modalità normale viene resettato ad ogni nuova View inserita, in modalità RowGrouping viene resettato solo ad una nuova View di livello "0" */
445
- BaseItemsCount: any;
446
- /** Indica se ci sono delle colonne pinnate e visibili. Serve per poter settare tutte le colonne prima che arrivino dati a pinned*/
447
- HasPinnedColumns: WritableSignal<boolean>;
448
- /** Larghezza calcolata del container delle colonne pinnate */
449
- PinnedContainerWidth: WritableSignal<number>;
450
- /** Indica se nonostante siamo in modalità array sono stati individuati dei gruppi. In tal caso es-table si comporta da pseudo backend ed effettua le aggregazioni e raggruppamenti completamente lato client */
451
- ArrayGrouping: WritableSignal<boolean>;
452
- /** Indica che l'es-table è basata sulle direttive (nuova modalità) */
453
- DirectivesBased: WritableSignal<boolean>;
454
- /** Indica lo stato di selezione per singola cella */
455
- selectionStatus: {
456
- [index: number]: {
457
- [index: number]: ItemPropEditableReference;
458
- };
459
- };
460
- /** Chiamata reale al writeValue dopo il passaggio di **SearchThrottle** millisecondi. Solo modalità EsTableHandledSearch */
461
- private callTimeout;
462
- /** Cache dei th piuttosto che ricalcolarseli di continuo */
463
- private thsCache;
464
- /** Indica quando la cache dei th è stata fillata almeno la prima volta */
465
- private thsCacheSet;
466
- /** Variabili da fillare nell'After Content Init poi da riutilizzare nell'internal post bound source */
467
- private EsTds;
468
- private EsThs;
469
- /**
470
- * Flag che, se **true**, per un giro di binding mantiene la visibilità impostata localmente, piuttosto che allineare alla View bindata.
471
- * Usata per modificare in maniera programmatica la visibilità delle colonne dal metodo **setHeaderVisibility**,
472
- *
473
- * Disclaimer: **NON MODIFICARE**
474
- **/
475
- useLocalVisibility: boolean;
476
- /** Opzioni di paginazione */
477
- PagerOptions: PagerInfos;
478
- /** @ignore */
479
- ngOnInit(): void;
480
- /** @ignore */
481
- ngAfterViewInit(): Promise<void>;
482
- /** @ignore */
483
- ngOnDestroy(): void;
484
- /** @ignore */
485
- registerOnChange(fn: any): void;
486
- /** @ignore */
487
- registerOnTouched(fn: any): void;
488
- /** @ignore */
489
- propagateChange: (_: any) => void;
490
- /** @ignore */
491
- changed(clearItems?: boolean): void;
492
- /** @ignore */
493
- writeValue(obj: any, throttle?: boolean): Promise<void>;
494
- /** Funzione di trackby per il body che dovrebbe evitare il 90% delle change detection */
495
- bodyTrackBy: (_: number, item: any) => any;
496
- /** Funzione di trackby generica per tutti gli oggetti che hanno il campo id */
497
- idTrackBy: (_: number, item: any) => any;
498
- /** Funzione di trackby generica per tutti gli oggetti che hanno il campo PropertyName */
499
- PropertyNameTrackBy: (_: number, item: any) => any;
500
- /** Funzione di trackby generica per tutti gli oggetti che hanno il campo ID */
501
- IDTrackBy: (_: number, item: any) => any;
502
- /** Funzione di trackby generica per tutti gli oggetti che hanno il campo ID e Order significativi */
503
- IDAndOrderTrackBy: (_: number, item: any) => string;
504
- /** Funzione di trackby generica per tutti gli oggetti che hanno il campo ID */
505
- valTrackBy: (_: number, item: any) => any;
506
- /**
507
- * Successivamente al bind del nuovo input questa funzione si occupa di finalizzare tutti i parametri di funzionamento dell'es-table
508
- * in base a Input - Modello, e qualsiasi altra cosa possa servire
509
- */
510
- private finalizeContext;
511
- /** Genera le informzioni di paginazione per la vista globale dell'es-table */
512
- private setupPagingInformations;
513
- /**
514
- * Metodo lanciato dopo che la sorgente dati è stata correttamente bindata, si occupa di ricalcolare tutto ciò che serve
515
- * all'es-table per renderizzare i valori da mostrare
516
- */
517
- private postBoundSourceCalculation;
518
- /** Per poter distinguere le chiamate a questo metodo: Dopo il setTimeout se uso gli EsTd/EsTh vecchi, senza il setTimeout se uso le nuove direttive */
519
- private internalPostBoundSource;
520
- /**
521
- * Effettua il binding degli oggetti pervenuti da questa chiamata con gli oggetti effettivamente da graficare
522
- *
523
- * @param {any} view View da cui sono arrivati gli oggetti. Può essere o un array se sono in **arrayMode** o una AppSearch<T> se sono in **viewMode**
524
- */
525
- private bindDisplayToLoadedItemsOrGroups;
526
- /** Metodo richiamato solo quando **TMPRowTDs** e **TMPRowTHs** sono completamente generati ed aggiustati. Serve per collegarli alle variabili usate lato binding HTML */
527
- private MoveTemporaryVariablesToRealOnes;
528
- /**
529
- * Metodo per capire se un oggetto è completamente vuoto
530
- *
531
- * @param {any} obj Oggetto da controllare
532
- *
533
- * @returns {boolean} **true** se l'oggetto è vuoto, **false** altrimenti
534
- */
535
- isEmpty(obj: any): boolean;
536
- /**
537
- * Permette di selezionare o deselezionare in maniera arbitraria degli oggetti
538
- *
539
- * @param {any[]} items Oggetti da selezionare o deselezionare
540
- * @param {boolean} select **true** per selezionarli, **false** per non toccarli
541
- */
542
- setSelectionStatus(items: any[], all: boolean, select: boolean, emit?: boolean): void;
543
- /**
544
- * Effettua un hard reset della selezione
545
- */
546
- resetSelection(emit?: boolean): void;
547
- /**
548
- * Metodo che gestisce il cambio di Ordinamento di una colonna
549
- *
550
- * @param {string} id ID della colonna il cui oridnamento è cambiato
551
- * @param {'DESC' | 'ASC'} order Nuovo ordine selezionato per la colonna
552
- */
553
- thOrderChanged(id: string, order?: 'DESC' | 'ASC'): void;
554
- /**
555
- * Metodo da chiamare ogni volta che si vuole dare evidenza all'esterno del bisogno di rieffettuare la ricerca
556
- *
557
- * @param {boolean} resetsPage Indica al listener che deve resettare il numero di pagina
558
- * @param {AppSearch<any>} viewOverride Override della view da emettere per questa ricerca
559
- */
560
- emitSearchRequest(resetsPage: boolean, viewOverride?: AppSearch<any>): void;
561
- /**
562
- * Partendo dagli **EsTds** bindati genera, all'interno del dizionario **TMPRowTDs** tutti i contesti dei vari oggetti.
563
- *
564
- * Vengono esclusi i TD "Interni" in quanto vengono generati dagli originali quindi includerli vorrebbe dire rieffettuare le operazioni due volte
565
- *
566
- * Costo: 2 scan EsThs, 1 scan EsTds
567
- *
568
- * @param {EsThDirective[]} ths Colonne della tabella
569
- * @param {EsTdDirective[]} tds Celle della tabella
570
- */
571
- private evaluateRowTds;
572
- /**
573
- * Partendo dagli **EsThs** bindati genera, all'interno del dizionario **TMPRowTHs** tutti i contesti dei vari oggetti.
574
- *
575
- * Vengono esclusi i TH "Interni" in quanto vengono generati dagli originali quindi includerli vorrebbe dire rieffettuare le operazioni due volte
576
- *
577
- * Costo: 1 scan EsThs + 1 scan ColumnsList
578
- *
579
- * @param {EsThDirective[]} ths Colonne della tabella
580
- */
581
- private evaluateRowThs;
582
- /**
583
- * Sposta la ricerca di una pagina in avanti (o indietro)
584
- *
585
- * @param {number} page Numero di pagine da aggiungere (o sottrarre, se negativo) alla pagina attuale
586
- * @param {any} pager Elemento di separazione su cui è effettuata la ricerca
587
- */
588
- addToPageGroup(page: number, pager: GroupPager): void;
589
- /**
590
- * Sposta la ricerca alla pagina specificata
591
- *
592
- * @param {number} page Pagina a cui navigare
593
- * @param {any} pager Elemento di separazione su cui è effettuata la ricerca
594
- */
595
- goToPageGroup(page: number, pager: GroupPager): void;
596
- /**
597
- * @TODO Spostare in SelectionHandler
598
- *
599
- * Gestisce i click sulla tabella solo per le righe a gruppo.
600
- * O rimuove gli elementi attualmente presenti o carica il contenuto del gruppo
601
- *
602
- * @param {any} group Gruppo bindato su cui si è effettuato il click
603
- *
604
- * @returns {boolean} **true** se l'operaizone è andata a buon fine, **false** altrimenti
605
- */
606
- handleGroupClick(group: Group): boolean;
607
- /**
608
- * Gestisce la selezione globale degli oggetti, sia per pagina che a livello di **SelectAll**
609
- *
610
- * @param {boolean} forcedVal Valore forzato di check da assegnare agli oggetti
611
- */
612
- globalCheckChanged(forcedVal?: boolean): void;
613
- /**
614
- * @TODO Spostare in SelectionHandler
615
- *
616
- * Gestisce i click sulla tabella, gestendo eventualmente anche gli Shift + Click per selezionare un range di oggetti
617
- *
618
- * @param {any} event Evento nativo HTML del click
619
- * @param {any} item Oggetto bindato su cui si è effettuato il click
620
- *
621
- * @returns {boolean} **true** se l'operaizone è andata a buon fine, **false** altrimenti
622
- */
623
- handleClick(event: any, item: any): boolean;
624
- /**
625
- * Sposta la ricerca di una pagina in avanti (o indeitro)
626
- *
627
- * @param {number} page Numero di pagine da aggiungere (o sottrarre, se negativo) alla pagina attuale
628
- */
629
- addToPage(page: number): void;
630
- /**
631
- * Sposta la ricerca alla pagina specificata
632
- *
633
- * @param {number} page Pagina a cui navigare
634
- */
635
- goToPage(page: number): void;
636
- /**
637
- * Evento richiamato sul cambio della paginazione. Verrà richiamato l'evento **emitSearchRequest**
638
- * per comunicare al componente che utilizza questa tabella che i dati sono da aggiornare
639
- */
640
- onItemsPerPageChanged(newIpp: any): void;
641
- /** Evento richiamato sul cambio della paginazione. Verrà richiamato l'evento **emitSearchRequest** con la vista del separatore */
642
- onGroupItemsPerPageChanged(pager: GroupPager, newIpp: number): void;
643
- /** Metodo che gestisce la modifica del tempo specificato per l'aggiornamento automatico */
644
- autoUpdateChanged(): void;
645
- /**
646
- * Metodo chiamato dal click su una delle colonne generate dall'Input **DynamicOperations**
647
- *
648
- * @param {any} item L'oggetto su cui va effettuata l'operazione
649
- * @param {string} opid Codice identificativo dell'operazione da effettuarsi
650
- */
651
- dynamicOperation(item: any, opid: string): void;
652
- /**
653
- * Ottiene il contenuto dell'EsTd da utilizzare per la colonna specificata
654
- *
655
- * @param {string} column Colonna per cui cercare la cella
656
- * @param {string} name Nome diretto per cercare il TD con l'ID. Questa variabile ha priorità rispetto a **column**
657
- *
658
- * @returns {TemplateRef<any>} Template da usare per la colonna
659
- */
660
- findEsTd(column: string, name?: string): TemplateRef<any>;
661
- /**
662
- * Ottiene il contenuto dell'editor EsTd da utilizzare per la colonna specificata
663
- *
664
- * @param {string} column Colonna per cui cercare l'editor
665
- * @param {string} name Nome diretto per cercare l'Editor con l'ID. Questa variabile ha priorità rispetto a **column**
666
- *
667
- * @returns {TemplateRef<any>} Template da usare per la colonna
668
- */
669
- findEditor(column: string, name?: string): TemplateRef<any>;
670
- /**
671
- * Equivalente del metodo **addToPage** riadattato per la modalità array
672
- *
673
- * @param {number} page Numero di pagine da aggiungere (o sottrarre, se negativo) alla pagina attuale
674
- */
675
- arrayAddToPage(page: number): void;
676
- /**
677
- * Equivalente del metodo **goToPage** riadattato per la modalità array
678
- *
679
- * @param {number} page Pagina a cui navigare
680
- */
681
- arrayGoToPage(page: number): void;
682
- /**
683
- * Gestione dei click sulle opzioni del menù contestuale in alto a destra generato dall'Input **CornerMenuOptions**
684
- *
685
- * @param {string} cornerid Codice dell'operazione selezionata
686
- */
687
- cornerActionClicked(cornerid: string): void;
688
- /**
689
- * Impostazione modalità dell'EsTable
690
- *
691
- * @param {'array' | 'view' | 'report'} mode Modalità da impostare
692
- **/
693
- private setMode;
694
- /**
695
- * Helper per effettuare chiamate interne di allineamento alla funzione **writeValue**,
696
- * impostando prima **internalWriteCall** in modo da non effettuare operazioni inutili
697
- */
698
- internalWriteValue(): Promise<void>;
699
- /** Metodo eventualmente richiamabile anche dal componente esterno che permette di forzare un refresh della tabella */
700
- forceRefresh(relaunchSearch?: boolean): void;
701
- /**
702
- * Imposta la visibilità di un header e di eventuali header collegati se questo header è un gruppo, dopodiché aggiorna l'es-table
703
- *
704
- * @param {string} groupOrHeader Header di cui settare la visibilità
705
- * @param {boolean} visibility Visibilità da impostare
706
- **/
707
- setHeaderVisibility(groupOrHeader: string, visibility: boolean, refresh?: boolean, relaunchSearch?: boolean): void;
708
- /**
709
- * Funzione che in base ai click su una cella capisce se sto effettuando un'operazione di selezione o se sto entrando nell'edit di una cella con un doppio click
710
- *
711
- * @param {any} $event Evento nativo javascript
712
- * @param {TdElement} rowItem Riferimento a binder della riga
713
- * @param {any} item Item che rappresenta il contesto su cui è stato effettuato un click
714
- */
715
- dbClickEditOrSingleClickRowSelection($event: MouseEvent, rowItem: WritableSignal<TdElement>, item: any): void;
716
- /** Evento che gestisce il comando "Copia" buttando i valori selezionati nella clipboard in base al loro tipo */
717
- private handleCopy;
718
- /** Evento che gestisce il comando "Incolla" prendendo i dati della clipboard e applicandoli al range di selezione attuale in base al tipo delle celle sotto */
719
- handlePaste(): void;
720
- /** Ripulisce il timer utilizzato per capire se è stato effettuato un doppio click o meno */
721
- private clearCellClickTimer;
722
- /**
723
- * Handler click singolo su una riga
724
- *
725
- * @param {any} $event Evento nativo javascript
726
- * @param {any} item Item che rappresenta il contesto su cui è stato effettuato un click
727
- * @param {boolean} selection Indica se la selezione è attiva
728
- * @param {boolean} internalCall Indica se la chiamata a questa funzione è interna: permette di skippare i check sulle CustomCells
729
- */
730
- handleRowClick($event: any, item: any, selection: boolean, internalCall?: boolean): boolean;
731
- /**
732
- * Gestione del click destro sull'es-table
733
- */
734
- onRightClick(): void;
735
- /**
736
- * La modifica dell'utente è iniziata. Si imposta la variabile relativa a "true" in modo da mostrare l'input di testo
737
- *
738
- * Dopo che l'input è apparso, dopo un ciclo di Change Detection viene attivato il Subject collegato all'input che servirà a effettuare il focus
739
- *
740
- * @param {TdElement} rowItem Elemento di riga su cui è stata attivata la modifica
741
- * @param {any} item Oggetto sopra il quale è stata attivata la modifica
742
- */
743
- setupUserEdit(rowItem: WritableSignal<TdElement>, item: any): void;
744
- /**
745
- * La modifica dell'utente è terminata. Si reimposta la variabile relativa a "false" in modo da nascondere l'input di testo e si emette la modifica del valore
746
- *
747
- * @param {TdElement} rowItem Elemento di riga su cui è stata attivata la modifica
748
- * @param {any} item Oggetto sopra il quale è stata attivata la modifica
749
- * @param {number} columnIndex Indice della colonna su cui è avvenuta la modifica
750
- */
751
- finalizeUserEdit(rowItem: WritableSignal<TdElement>, item: any, columnIndex: number): void;
752
- private mouseIsDown;
753
- private rangeSelected;
754
- private rangeStartWasIgnored;
755
- private firstCoordinates;
756
- mousedown(event: MouseEvent, rowItem: any, _: any): void;
757
- mouseenter(event: MouseEvent): void;
758
- mouseup(event: MouseEvent): void;
759
- private EsTdsCache;
760
- getCellReference(object: any, column: string): EsTd;
761
- registerCell(event: EsTdReference, rowItem: any, _: any, cellRef: ElementRef<HTMLTableCellElement>): void;
762
- showDialog(dlg: ModalDirective, elementRef: ElementRef): void;
763
- private retries;
764
- doFixDialog(dlg: ModalDirective, elementRef: ElementRef): void;
765
- doFixBody(elementRef: ElementRef): void;
766
- hideDialog(dlg: ModalDirective): void;
767
- static ɵfac: i0.ɵɵFactoryDeclaration<EsTableComponent, [null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null, null, null, null, null, null, null, null, null, null, null, null]>;
768
- static ɵcmp: i0.ɵɵComponentDeclaration<EsTableComponent, "es-table", never, { "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; }; "globalColVisCheck": { "alias": "globalColVisCheck"; "required": false; "isSignal": true; }; "EsThTdProvider": { "alias": "EsThTdProvider"; "required": false; }; "CornerMenuOptions": { "alias": "CornerMenuOptions"; "required": false; "isSignal": true; }; "_ColumnsResizable": { "alias": "ColumnsResizable"; "required": false; "isSignal": true; }; "_ColumnsPinnable": { "alias": "ColumnsPinnable"; "required": false; "isSignal": true; }; "_AutoUpdate": { "alias": "AutoUpdate"; "required": false; "isSignal": true; }; "Height": { "alias": "Height"; "required": false; "isSignal": true; }; "EmptySpaceBackgroundColor": { "alias": "EmptySpaceBackgroundColor"; "required": false; "isSignal": true; }; "EsTableHandledSearch": { "alias": "EsTableHandledSearch"; "required": false; "isSignal": true; }; "MaxHeight": { "alias": "MaxHeight"; "required": false; "isSignal": true; }; "_ContainerClass": { "alias": "ContainerClass"; "required": false; "isSignal": true; }; "XLSXExport": { "alias": "XLSXExport"; "required": false; "isSignal": true; }; "CSVExport": { "alias": "CSVExport"; "required": false; "isSignal": true; }; "_AllSearch": { "alias": "AllSearch"; "required": false; "isSignal": true; }; "HighCellDensity": { "alias": "HighCellDensity"; "required": false; "isSignal": true; }; "_Selection": { "alias": "Selection"; "required": false; "isSignal": true; }; "ShowLoadingOnBootstrap": { "alias": "ShowLoadingOnBootstrap"; "required": false; "isSignal": true; }; "Removal": { "alias": "Removal"; "required": false; "isSignal": true; }; "RemovalCondition": { "alias": "RemovalCondition"; "required": false; "isSignal": true; }; "_Export": { "alias": "Export"; "required": false; "isSignal": true; }; "_ShiftClick": { "alias": "ShiftClick"; "required": false; "isSignal": true; }; "CountLabel": { "alias": "CountLabel"; "required": false; "isSignal": true; }; "_HidePaging": { "alias": "HidePaging"; "required": false; "isSignal": true; }; "_HidePagingCount": { "alias": "HidePagingCount"; "required": false; "isSignal": true; }; "_HidePagingButtons": { "alias": "HidePagingButtons"; "required": false; "isSignal": true; }; "ContextMenu": { "alias": "ContextMenu"; "required": false; }; "ExportFileName": { "alias": "ExportFileName"; "required": false; "isSignal": true; }; "_TableClass": { "alias": "TableClass"; "required": false; "isSignal": true; }; "ExportFunction": { "alias": "ExportFunction"; "required": false; }; "ExportOnlyVisibleColumns": { "alias": "ExportOnlyVisibleColumns"; "required": false; "isSignal": true; }; "HasHeaderGroup": { "alias": "HasHeaderGroup"; "required": false; "isSignal": true; }; "HasSecondaryHeaderGroup": { "alias": "HasSecondaryHeaderGroup"; "required": false; "isSignal": true; }; "HeaderHidden": { "alias": "HeaderHidden"; "required": false; "isSignal": true; }; "BodyHidden": { "alias": "BodyHidden"; "required": false; "isSignal": true; }; "SelectionDisabled": { "alias": "SelectionDisabled"; "required": false; "isSignal": true; }; "SingleSelection": { "alias": "SingleSelection"; "required": false; "isSignal": true; }; "RowClassAssigner": { "alias": "RowClassAssigner"; "required": false; }; "_OrderByColumn": { "alias": "OrderByColumn"; "required": false; "isSignal": true; }; "MultipleOrderingDirectives": { "alias": "MultipleOrderingDirectives"; "required": false; "isSignal": true; }; "_HiddenColumns": { "alias": "HiddenColumns"; "required": false; "isSignal": true; }; "_ColumnsOrdering": { "alias": "ColumnsOrdering"; "required": false; "isSignal": true; }; "SearchView": { "alias": "SearchView"; "required": false; "isSignal": true; }; "_SelectAll": { "alias": "SelectAll"; "required": false; "isSignal": true; }; "_UseArrayModePaging": { "alias": "UseArrayModePaging"; "required": false; "isSignal": true; }; "_DynamicRowColumnsDefinition": { "alias": "DynamicRowColumnsDefinition"; "required": false; "isSignal": true; }; "DynamicOperations": { "alias": "DynamicOperations"; "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; }; "_SavePreferences": { "alias": "SavePreferences"; "required": false; "isSignal": true; }; "_DefaultAlignment": { "alias": "DefaultAlignment"; "required": false; "isSignal": true; }; "_PagingStyle": { "alias": "PagingStyle"; "required": false; "isSignal": true; }; "_RowGroupingPagingStyle": { "alias": "RowGroupingPagingStyle"; "required": false; "isSignal": true; }; "ItemSourceProperty": { "alias": "ItemSourceProperty"; "required": false; "isSignal": true; }; "_UseSelectionCache": { "alias": "UseSelectionCache"; "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; }; "SearchThrottle": { "alias": "SearchThrottle"; "required": false; "isSignal": true; }; "_ArraymodeItemsPerPage": { "alias": "ArraymodeItemsPerPage"; "required": false; "isSignal": true; }; }, { "globalCheck": "globalCheckChange"; "autoUpdate": "autoUpdateChange"; "seconds": "secondsChange"; "researchInProgress": "researchInProgressChange"; "globalColVisCheck": "globalColVisCheckChange"; "onOrderChanged": "onOrderChanged"; "onSearchRequest": "onSearchRequest"; "onSelectionChanged": "onSelectionChanged"; "onRemoval": "onRemoval"; "onAbortRemoval": "onAbortRemoval"; "onModelChange": "onModelChange"; "onOpenContextMenu": "onOpenContextMenu"; "onCornerAction": "onCornerAction"; "onDynamicOperation": "onDynamicOperation"; }, ["bodyRef", "headerRef", "headerGroupRef", "secondaryHeaderGroupRef", "EsTdEditorDirectives", "EsTdsDirective", "EsThsDirective", "ThTdProvider"], never, false, never>;
769
- }
770
- export declare class EsTdReference {
771
- id: string;
772
- hash: string;
773
- self: EsTd;
774
- }