@esfaenza/es-table 11.2.22-beta6 → 11.2.23
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/bundles/esfaenza-es-table.umd.js +3204 -2999
- package/bundles/esfaenza-es-table.umd.js.map +1 -1
- package/bundles/esfaenza-es-table.umd.min.js +1 -15
- package/bundles/esfaenza-es-table.umd.min.js.map +1 -1
- package/esfaenza-es-table.d.ts +6 -5
- package/esfaenza-es-table.metadata.json +1 -1
- package/esm2015/esfaenza-es-table.js +7 -6
- package/esm2015/lib/components/es-table/es_table.component.js +1316 -0
- package/esm2015/lib/components/es-table/es_table.component.loc.js +36 -0
- package/esm2015/lib/components/es-td/es_td.component.js +106 -0
- package/esm2015/lib/components/es-th/es_th.component.js +160 -0
- package/esm2015/lib/components/pager/table_pager.component.js +106 -0
- package/esm2015/lib/components/pager/table_pager.component.loc.js +22 -0
- package/esm2015/lib/core/handlers/classes/ColumnMetadataHandler.js +679 -0
- package/esm2015/lib/core/handlers/classes/DynamicModeHandler.js +64 -0
- package/esm2015/lib/core/handlers/classes/ExportHandler.js +43 -0
- package/esm2015/lib/core/handlers/classes/HierarchyModeHandler.js +136 -0
- package/esm2015/lib/core/handlers/classes/ItemsHandler.js +130 -0
- package/esm2015/lib/core/handlers/classes/ReportModeHandler.js +70 -0
- package/esm2015/lib/core/handlers/classes/RowGroupingHandler.js +475 -0
- package/esm2015/lib/core/handlers/classes/SelectionHandler.js +527 -0
- package/esm2015/lib/core/handlers/classes/UtilitiesHandler.js +169 -0
- package/esm2015/lib/core/handlers/index.js +10 -0
- package/esm2015/lib/domain/configuration/EsTableDefaultable.js +4 -0
- package/esm2015/lib/domain/configuration/EsTableModuleConfig.js +4 -0
- package/esm2015/lib/domain/internals/classes/EsTableColumn.js +1 -1
- package/esm2015/lib/domain/internals/classes/ThElement.js +2 -0
- package/esm2015/lib/domain/internals/index.js +2 -1
- package/esm2015/lib/es-table.module.js +6 -6
- package/esm2015/lib/tokens.js +1 -1
- package/esm2015/public-api.js +6 -6
- package/fesm2015/esfaenza-es-table.js +2876 -2694
- package/fesm2015/esfaenza-es-table.js.map +1 -1
- package/lib/components/es-table/es_table.component.d.ts +632 -0
- package/lib/{es_table.component.loc.d.ts → components/es-table/es_table.component.loc.d.ts} +0 -0
- package/lib/{es_td.component.d.ts → components/es-td/es_td.component.d.ts} +0 -0
- package/lib/{es_th.component.d.ts → components/es-th/es_th.component.d.ts} +6 -0
- package/lib/{pager → components/pager}/table_pager.component.d.ts +8 -1
- package/lib/{pager → components/pager}/table_pager.component.loc.d.ts +0 -0
- package/lib/core/handlers/classes/ColumnMetadataHandler.d.ts +159 -0
- package/lib/core/handlers/classes/DynamicModeHandler.d.ts +32 -0
- package/lib/core/handlers/classes/ExportHandler.d.ts +22 -0
- package/lib/core/handlers/classes/HierarchyModeHandler.d.ts +40 -0
- package/lib/core/handlers/classes/ItemsHandler.d.ts +41 -0
- package/lib/core/handlers/classes/ReportModeHandler.d.ts +21 -0
- package/lib/core/handlers/classes/RowGroupingHandler.d.ts +114 -0
- package/lib/core/handlers/classes/SelectionHandler.d.ts +149 -0
- package/lib/core/handlers/classes/UtilitiesHandler.d.ts +67 -0
- package/lib/core/handlers/index.d.ts +9 -0
- package/lib/{models → domain/configuration}/EsTableDefaultable.d.ts +0 -0
- package/lib/{models → domain/configuration}/EsTableModuleConfig.d.ts +0 -0
- package/lib/domain/internals/classes/EsTableColumn.d.ts +2 -0
- package/lib/domain/internals/classes/ThElement.d.ts +13 -0
- package/lib/domain/internals/index.d.ts +1 -0
- package/lib/es-table.module.d.ts +1 -1
- package/lib/tokens.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +5 -5
- package/esm2015/lib/es_table.component.js +0 -3444
- package/esm2015/lib/es_table.component.loc.js +0 -35
- package/esm2015/lib/es_td.component.js +0 -106
- package/esm2015/lib/es_th.component.js +0 -150
- package/esm2015/lib/models/EsTableDefaultable.js +0 -4
- package/esm2015/lib/models/EsTableModuleConfig.js +0 -4
- package/esm2015/lib/pager/table_pager.component.js +0 -92
- package/esm2015/lib/pager/table_pager.component.loc.js +0 -22
- package/lib/es_table.component.d.ts +0 -1186
|
@@ -1,1186 +0,0 @@
|
|
|
1
|
-
import { QueryList, ChangeDetectorRef, EventEmitter, OnChanges, SimpleChanges, ElementRef, TemplateRef } from '@angular/core';
|
|
2
|
-
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
3
|
-
import { HashingService, UtilityService, ExportService, MessageService, DateService } 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, AppOrdering, GenericItem, EsTableColumnsDefinition, CornerMenuOption, ReportResult, ReportColumn, EsTableOperationDefinition, EsTableColumn, GroupPager } from './domain';
|
|
8
|
-
import { EsTd } from './es_td.component';
|
|
9
|
-
import { EsTdDirective } from './directives/es_td.directive';
|
|
10
|
-
import { EsThDirective } from './directives/es_th.directive';
|
|
11
|
-
import { ItemsSelection } from './domain/externals/classes/appsearch/ItemsSelection';
|
|
12
|
-
import { Group } from "./domain/externals/classes/appsearch/Group";
|
|
13
|
-
import { EsTableDefaultable } from './models/EsTableDefaultable';
|
|
14
|
-
/** Componente che permette di rappresentare una griglia di valori */
|
|
15
|
-
export declare class EsTableComponent implements ControlValueAccessor, OnChanges {
|
|
16
|
-
ngControl: NgControl;
|
|
17
|
-
private prefService;
|
|
18
|
-
private deafults;
|
|
19
|
-
locale: string;
|
|
20
|
-
lc: LocalizationService;
|
|
21
|
-
private cdr;
|
|
22
|
-
private hashExts;
|
|
23
|
-
private utiExts;
|
|
24
|
-
private expExts;
|
|
25
|
-
private dateExts;
|
|
26
|
-
private msgExts;
|
|
27
|
-
/** @ignore */
|
|
28
|
-
constructor(ngControl: NgControl, prefService: PreferencesService, deafults: EsTableDefaultable, locale: string, lc: LocalizationService, cdr: ChangeDetectorRef, hashExts: HashingService, utiExts: UtilityService, expExts: ExportService, dateExts: DateService, msgExts: MessageService);
|
|
29
|
-
/** View finale su cui bindarsi lato Frontend, il tipo può essere IAppSearch<any> (per la **viewMode**), any[] (per l'**arrayMode**) e ReportDefinition per la **reportMode** */
|
|
30
|
-
View: any;
|
|
31
|
-
/** Modello da cui l'es-table mostra i pulsanti di paginazione in basso a destra */
|
|
32
|
-
arrayPulsanti: any;
|
|
33
|
-
/** Indica se l'es-table deve mostrare il check globale nell'header per fare il "seleziona tutto" */
|
|
34
|
-
globalCheck: boolean;
|
|
35
|
-
/** Tiene da conto l'ultimo elemento selezionato in modo da poter effettuare il SHIFT+CLICK */
|
|
36
|
-
private lastSelected;
|
|
37
|
-
/** Conteggio interno per il numero di elementi selezionati */
|
|
38
|
-
selectedObjects: number;
|
|
39
|
-
/** Indica se è possibile effettuare una selezione massiva */
|
|
40
|
-
canSelectAll: boolean;
|
|
41
|
-
/** Indica se il componente sta gestendo un IAppSearch<any> */
|
|
42
|
-
viewMode: boolean;
|
|
43
|
-
/** Indica se il componente sta gestendo un any[] */
|
|
44
|
-
arrayMode: boolean;
|
|
45
|
-
/** Indica se il componente sta gestendo un ReportDefinition */
|
|
46
|
-
reportMode: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Contenitore degli elementi da listare lato interfaccia dopo tutte le elaborazioni del caso,
|
|
49
|
-
* generalmente non sono altro che tutti gli oggetti da presentare con in più l'hash calcolato per identificare 1 oggetto con la propria riga
|
|
50
|
-
*/
|
|
51
|
-
boundSource: any[];
|
|
52
|
-
/** Stessa cosa della **boundSource**, utilizzata come appoggio temporaneo interno */
|
|
53
|
-
TMPBoundSource: any[];
|
|
54
|
-
/** "Fetta" di oggetti utilizzata nell'endless scroll, ogni elemento di questo array è un blocchetto di 100 elementi */
|
|
55
|
-
boundSubSources: any[];
|
|
56
|
-
/** Questa funge da indicatore per gli slice inseriti, la lunghezza dovrebbe essere corrispondente a **boundSubSources** */
|
|
57
|
-
addedSlices: number[];
|
|
58
|
-
/** Variabile che identifica il valore del "seleziona Tutto" nella paginazione */
|
|
59
|
-
defaultAllPageOverride: number;
|
|
60
|
-
/** Indica se utilizzare il sistema di Endless Scroll */
|
|
61
|
-
UseEndlessscroll: boolean;
|
|
62
|
-
/** Valori dell'eventuale report in visualizzazione */
|
|
63
|
-
ReportValues: ReportResult;
|
|
64
|
-
/** Serve per tenere in memoria il conteggio precedente e recuperarlo in caso diventi -2 (verificare con Ale perché la logica del -2) */
|
|
65
|
-
previousCount: number;
|
|
66
|
-
/** 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** */
|
|
67
|
-
autoUpdate: boolean;
|
|
68
|
-
/** Numero di secondi da fare trascorrere fra una ricerca e l'altra */
|
|
69
|
-
seconds: string;
|
|
70
|
-
/** Riferimento all'Interval che viene generato se **autoUpdate** è impostata a true in modo da poterlo ripulire */
|
|
71
|
-
updateTimer: any;
|
|
72
|
-
/** Impostata a true ogni volta che viene avviata una ricerca, e a false ogni volta che un nuovo valore viene ricevuto */
|
|
73
|
-
researchInProgress: boolean;
|
|
74
|
-
/** Modello rappresentante un singolo td della tabella, generato in base alle configurazioni e agli oggetti ricevuti */
|
|
75
|
-
RowTDs: {
|
|
76
|
-
[context: string]: EsTd[];
|
|
77
|
-
};
|
|
78
|
-
/** Modello di appoggio temporaneo per i **RowTDs** */
|
|
79
|
-
TMPRowTDs: {
|
|
80
|
-
[context: string]: EsTd[];
|
|
81
|
-
};
|
|
82
|
-
/** Modello rappresentante un singolo th della tabella, generato in base alle configurazioni e agli oggetti ricevuti */
|
|
83
|
-
RowTHs: {
|
|
84
|
-
Pinned: boolean;
|
|
85
|
-
Fixed: boolean;
|
|
86
|
-
ID: string;
|
|
87
|
-
Visible: boolean;
|
|
88
|
-
Class: string;
|
|
89
|
-
Content: string;
|
|
90
|
-
Order: string;
|
|
91
|
-
Orderable: boolean;
|
|
92
|
-
Template: TemplateRef<any>;
|
|
93
|
-
Wrap: boolean;
|
|
94
|
-
}[];
|
|
95
|
-
/** Modello di appoggio temporaneo per i **RowTHs** */
|
|
96
|
-
TMPRowTHs: {
|
|
97
|
-
Pinned: boolean;
|
|
98
|
-
Fixed: boolean;
|
|
99
|
-
ID: string;
|
|
100
|
-
Visible: boolean;
|
|
101
|
-
Class: string;
|
|
102
|
-
Content: string;
|
|
103
|
-
Order: string;
|
|
104
|
-
Orderable: boolean;
|
|
105
|
-
Template: TemplateRef<any>;
|
|
106
|
-
Wrap: boolean;
|
|
107
|
-
}[];
|
|
108
|
-
/** Modello di appoggio temporaneo per i **RowThGroups** */
|
|
109
|
-
TMPRowThGroups: {
|
|
110
|
-
Span: number;
|
|
111
|
-
Template: TemplateRef<any>;
|
|
112
|
-
}[][];
|
|
113
|
-
/** Modello rappresentante un singolo header group della tabella. Questa lista è già ordinata e pronta per essere utilizzata in ngFor */
|
|
114
|
-
RowThGroups: {
|
|
115
|
-
Span: number;
|
|
116
|
-
Template: TemplateRef<any>;
|
|
117
|
-
}[][];
|
|
118
|
-
/** Cache per i routerLink generati nelle tabelle dinamiche */
|
|
119
|
-
DynamicTableRouterLinkCache: {};
|
|
120
|
-
/**
|
|
121
|
-
* Lista dei contesti. Un contesto non è altro che un hash particolare calcolato su un oggetto che identifica univocamente tale oggetto.
|
|
122
|
-
*
|
|
123
|
-
* Ognuno di questi contesti rappresenterà a sua volta, univocamente, una riga all'interno della tabella
|
|
124
|
-
*/
|
|
125
|
-
RowContexts: any[];
|
|
126
|
-
/** Direttive di ordinamento delle colonne (non ordinamento dei dati ma delle colonne in se) */
|
|
127
|
-
OrderDirectives: string[];
|
|
128
|
-
/** Codice dell'ultimo oggetto solezionato */
|
|
129
|
-
lastSelectedItemID: any;
|
|
130
|
-
/**
|
|
131
|
-
* Indica se oltre alle colonne dinamiche specifiche di un tipo di oggetto ci sono anche colonne dinamiche aggiunte dall'utente
|
|
132
|
-
*
|
|
133
|
-
* Es. una colonna in cui mostrare sempre un iconcina
|
|
134
|
-
*/
|
|
135
|
-
UserDefinedDynamicCols: boolean;
|
|
136
|
-
/** Indica che questo è il primo Bind della tabella, viene settato a false non appena il primo bind viene terminato con successo */
|
|
137
|
-
FirstBind: boolean;
|
|
138
|
-
/** Lista di colonne che si possono visualizzare/ordinare fra di loro */
|
|
139
|
-
ColumnsList: EsTableColumn[];
|
|
140
|
-
/** Variabile d'appoggio usata dalla dialog di selezione/nascondimento, per evitare di danneggiare **ColumnsList** in caso di modifiche poi annullate */
|
|
141
|
-
TMPColumnsList: EsTableColumn[];
|
|
142
|
-
/** Valore del check globale di visibilità valido per tutte le colonne in **ColumnsList** */
|
|
143
|
-
globalColVisCheck: boolean;
|
|
144
|
-
/** Query per recuperare tutte le nuove direttive assegnati a direttiva (Per la modalità dinamica dell'es-table) */
|
|
145
|
-
EsTdsDirective: QueryList<EsTdDirective>;
|
|
146
|
-
/** Query per recuperare tutti gli es-td assegnati a direttiva (Per la modalità dinamica dell'es-table) */
|
|
147
|
-
EsThsDirective: QueryList<EsThDirective>;
|
|
148
|
-
/** @deprecated Query per recuperare tutti gli es-th */
|
|
149
|
-
private EsThs;
|
|
150
|
-
/** @deprecated Query per recuperare tutti gli es-td */
|
|
151
|
-
private EsTds;
|
|
152
|
-
/** @deprecated Query per recuperare le informazioni del body (punto della tabella dove vengono mostrate le righe) */
|
|
153
|
-
bodyRef: any;
|
|
154
|
-
/** @deprecated Query per recuperare le informazioni dell'header (punto della tabella dove vengono mostrate le intestazioni delle righe) */
|
|
155
|
-
headerRef: any;
|
|
156
|
-
/** Query per recuperare le informazioni sul raggruppamento degli header */
|
|
157
|
-
headerGroupRef: any;
|
|
158
|
-
/** Query per recuperare le informazioni sul raggruppamento di secondo livello degli header */
|
|
159
|
-
secondaryHeaderGroupRef: any;
|
|
160
|
-
/** Opzioni extra che devono apparire nel Menù contestuale in alto a destra, richiamato dai 3 pallini verticali */
|
|
161
|
-
CornerMenuOptions: CornerMenuOption[];
|
|
162
|
-
/** Indica se dev'essere possibile effettuare il resize delle colonne */
|
|
163
|
-
ColumnsResizable: boolean;
|
|
164
|
-
/** Indica se dev'essere disponibile il sistema di aggiornamento automatico */
|
|
165
|
-
AutoUpdate: boolean;
|
|
166
|
-
/** Indica se la tabella (configurata con **UseCustomCells**) deve mettersi in ascolto per i click sulle celle desiderate
|
|
167
|
-
*
|
|
168
|
-
* @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
|
|
169
|
-
*/
|
|
170
|
-
UseCustomCellActions: boolean;
|
|
171
|
-
/**
|
|
172
|
-
* Indica le celle desiderate su cui intercettare i click. Attiva solo quando **UseCustomCellActions** è true.
|
|
173
|
-
* Ogni cella dev'essere separata dalla successiva dal carattere del Simoleon:
|
|
174
|
-
*
|
|
175
|
-
* Es, "MiaCella1§MiaCella2"
|
|
176
|
-
*
|
|
177
|
-
* @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
|
|
178
|
-
*/
|
|
179
|
-
CustomCellActionsOn: string;
|
|
180
|
-
/**
|
|
181
|
-
* Serve per decidere di lanciare o meno il **event.stopPropagation()** al termine della gestione dell'evento
|
|
182
|
-
*
|
|
183
|
-
* @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
|
|
184
|
-
*/
|
|
185
|
-
CellActionPropagates: boolean;
|
|
186
|
-
/**
|
|
187
|
-
* Decide se utilizzare o meno le CustomCells. Impostandolo a **true** l'es-table diventa in grado di gestire nativamente:
|
|
188
|
-
*
|
|
189
|
-
* 1) Ordinamento e visibilità delle colonne
|
|
190
|
-
*
|
|
191
|
-
* 2) Ordinamento dei dati
|
|
192
|
-
*
|
|
193
|
-
* 3) Modalità Gerarchica
|
|
194
|
-
*
|
|
195
|
-
* ecc...
|
|
196
|
-
*/
|
|
197
|
-
UseCustomCells: boolean;
|
|
198
|
-
/** Permette di impostare l'altezza massima della tabella. Se null la dimensione si adatta al numero di elementi attualmente in visualizzazione */
|
|
199
|
-
MaxHeight: number;
|
|
200
|
-
/** Classi da applicare al contenitore della tabella */
|
|
201
|
-
ContainerClass: any;
|
|
202
|
-
/** Permette o meno l'export in formato XLSX */
|
|
203
|
-
XLSXExport: boolean;
|
|
204
|
-
/** Permette o meno l'export in formato CSV */
|
|
205
|
-
CSVExport: boolean;
|
|
206
|
-
/** Permette di visualizzare o meno l'opzione di paginazione "Tutti" */
|
|
207
|
-
AllSearch: any;
|
|
208
|
-
/** 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 */
|
|
209
|
-
HighCellDensity: boolean;
|
|
210
|
-
/** Abilita o meno la possibilità di selezionare oggetti */
|
|
211
|
-
Selection: boolean;
|
|
212
|
-
/** Mostra o meno un messaggio di Loading al primo caricamento della tabella */
|
|
213
|
-
ShowLoadingOnBootstrap: boolean;
|
|
214
|
-
/** Se impostato a **true** aggiunge una colonna con pulsante di eliminazione per effettuare l'elimina dell'oggetto relativo */
|
|
215
|
-
Removal: boolean;
|
|
216
|
-
/**
|
|
217
|
-
* Condizione che nasconde l'icona di eliminazione inserita impostando **Removal** a true qualora la condizione non venisse rispettata
|
|
218
|
-
*
|
|
219
|
-
* Come condizione si considera un semplice campo su cui effettuare un controllo booleano, come ad esempio "canremove"
|
|
220
|
-
*/
|
|
221
|
-
RemovalCondition: string;
|
|
222
|
-
/** Indica se abilitare la possibilità di esportare la vista dati attuale */
|
|
223
|
-
Export: boolean;
|
|
224
|
-
/** Indica se permettere la selezione multipla Windows-like cliccando un oggetto e facendo poi Shift + click su un oggetto successivo */
|
|
225
|
-
ShiftClick: boolean;
|
|
226
|
-
/** Indica se nascondere o mostrare il componente di paginazione */
|
|
227
|
-
HidePaging: boolean;
|
|
228
|
-
/** Indica se nascondere o mostrare il conteggio degli elementi trovati */
|
|
229
|
-
HidePagingCount: boolean;
|
|
230
|
-
/** Indica se nascondere o mostrare i pulsanti di paginazione */
|
|
231
|
-
HidePagingButtons: boolean;
|
|
232
|
-
/** Riferimento al ContextMenu (ngx-contextmenu) associato al click destro di uno o più elementi selezionati nella tabella */
|
|
233
|
-
ContextMenu: ContextMenuComponent;
|
|
234
|
-
/** Nome dell'esportazione generata da questa tabella */
|
|
235
|
-
ExportFileName: string;
|
|
236
|
-
/** Classe (HTML) di default della tabella */
|
|
237
|
-
TableClass: any;
|
|
238
|
-
/**
|
|
239
|
-
* Funzione da utilizzare in esportazione. Nel formato "Report" avrà un unico parametro "Formato" e nessun valore di ritorno.
|
|
240
|
-
*
|
|
241
|
-
* Nel formato "View" ha come parametro una callback con i dati completi da esportare (dato che di default la ricerca è paginata)
|
|
242
|
-
*/
|
|
243
|
-
ExportFunction: any;
|
|
244
|
-
/** @deprecated Indica la presenza di raggruppamenti a livello di header */
|
|
245
|
-
HasHeaderGroup: boolean;
|
|
246
|
-
/** @deprecated Indica la presenza di raggruppamenti a livello del raggruppamento precedentemente esistente, chiaramente è insensata senza **HasHeaderGroup** */
|
|
247
|
-
HasSecondaryHeaderGroup: boolean;
|
|
248
|
-
/** Utilizzato per dividere la sorgente in modalità EndlessScroll */
|
|
249
|
-
SliceSize: number;
|
|
250
|
-
/** Decide se utilizzare la modalità di EndlessScroll */
|
|
251
|
-
EndlessScroll: boolean;
|
|
252
|
-
/** Qualora **EndlessScroll** fosse true, indica se utilizzare questa modalità solo quando si cerca per "Tutti" o in generale */
|
|
253
|
-
EndlessScrollOnlyForAll: boolean;
|
|
254
|
-
/** Indica se nascondere gli Header della tabella */
|
|
255
|
-
HeaderHidden: boolean;
|
|
256
|
-
/** Indica se nascondere il Body della tabella */
|
|
257
|
-
BodyHidden: boolean;
|
|
258
|
-
/**
|
|
259
|
-
* Indica se la selezione è temporaneamente disabilitata. Rispetto all'Input **Selection** che visivamente gestisce se ci sono o no gli input di selezione,
|
|
260
|
-
* questo Input gestisce se questi input sono abilitati o meno
|
|
261
|
-
*/
|
|
262
|
-
SelectionDisabled: boolean;
|
|
263
|
-
/**
|
|
264
|
-
* Indica se forzare il sistema di selezione a gestire un elemento per volta.
|
|
265
|
-
* Selezionare un'altra riga con una già selezionata applicherà la selezione alla nuova riga, rimuovendola dall'attuale
|
|
266
|
-
*/
|
|
267
|
-
SingleSelection: boolean;
|
|
268
|
-
/** Callback che dato un oggetto resituisce l'eventuale classe da applicare alla riga collegata all'oggetto */
|
|
269
|
-
RowClassAssigner: any;
|
|
270
|
-
/** Permette di ordinare i dati in maniera discendente o ascendente */
|
|
271
|
-
OrderByColumn: boolean;
|
|
272
|
-
/** Permette di avere più direttive di ordinamento dei dati */
|
|
273
|
-
MultipleOrderingDirectives: boolean;
|
|
274
|
-
/** Permette di nascondere le colonne in base alle selezioni effettuate dal Menù contestuale in alto a destra */
|
|
275
|
-
HiddenColumns: boolean;
|
|
276
|
-
/** Permette di riordinare le colonne in base alle impostazioni effettuate dal Menù contestuale in alto a destra */
|
|
277
|
-
ColumnsOrdering: boolean;
|
|
278
|
-
/** Eventuale supporto alle ricerche applicate alla modalità Array */
|
|
279
|
-
SearchView: AppSearch<any>;
|
|
280
|
-
/** Abilita o disabilita il sistema che permette di selezionare tutti gli elementi nella vista */
|
|
281
|
-
SelectAll: boolean;
|
|
282
|
-
/** Simula la paginazione anche per le tabelle che funzionano in modalità Array */
|
|
283
|
-
UseArrayModePaging: boolean;
|
|
284
|
-
/** Definizione di colonne dinamche per la modalità, appunto, dinamica */
|
|
285
|
-
DynamicRowColumnsDefinition: EsTableColumnsDefinition[];
|
|
286
|
-
/** Indica operazioni dinamiche generiche che possono essere effettuate per riga. Appaiono come colonne extra sul lato sinistro della tabella */
|
|
287
|
-
DynamicOperations: EsTableOperationDefinition[];
|
|
288
|
-
/** Indica se visualizzare i dati in maniera gerarchica */
|
|
289
|
-
Hierarchy: boolean;
|
|
290
|
-
/** Nome della proprietà che contiene l'ID del padre. Da utilizzare se **Hierarchy** è impostato */
|
|
291
|
-
ParentKey: string;
|
|
292
|
-
/** Nome della proprietà che contiene l'ID dell'oggetto attuale. Da utilizzare se **Hierarchy** è impostato */
|
|
293
|
-
OwnKey: string;
|
|
294
|
-
/** Indica se partire con un albero espanso. Da utilizzare se **Hierarchy** è impostato */
|
|
295
|
-
StartsExpanded: boolean;
|
|
296
|
-
/** Indica se effettuare il salvataggio delle preferenze di ricerca */
|
|
297
|
-
SavePreferences: boolean;
|
|
298
|
-
/** Indica dove visualizzare le informazioni di paginazione, se sopra, sotto o in entrambi */
|
|
299
|
-
PagingStyle: 'both' | 'top' | 'bottom';
|
|
300
|
-
/** Indica dove visualizzare le informazioni di paginazione, se sopra, sotto o in entrambi */
|
|
301
|
-
RowGroupingPagingStyle: 'left' | 'right';
|
|
302
|
-
/**
|
|
303
|
-
* Sorgente dati secondaria
|
|
304
|
-
*
|
|
305
|
-
* @deprecated Utilizzato solo per un caso particolare del Metering
|
|
306
|
-
*/
|
|
307
|
-
SecondarySource: boolean;
|
|
308
|
-
/**
|
|
309
|
-
* Sorgente dati secondaria
|
|
310
|
-
*
|
|
311
|
-
* @deprecated Utilizzato solo per un caso particolare del Metering
|
|
312
|
-
*/
|
|
313
|
-
TertiarySource: boolean;
|
|
314
|
-
/** Indica se utilizzare la cache di selezione che permette di mantenere gli stati di selezione dei vari oggetti navigando da una pagina all'altra */
|
|
315
|
-
UseSelectionCache: any;
|
|
316
|
-
/** Permette di decidere se, in modalità raggruppamento, mostrare o meno il valore delle colonne di gruppo negli oggetti finali. Di default sono nascosti */
|
|
317
|
-
ShowItemGroupsColumns: any;
|
|
318
|
-
/** Evento che viene richiamato al cambio di oridnamento di una colonna */
|
|
319
|
-
onOrderChanged: EventEmitter<AppOrdering>;
|
|
320
|
-
/**
|
|
321
|
-
* Evento che viene richiamato quando l'es-table ritiene sia necessario ri-effettuare la ricerca.
|
|
322
|
-
* Il booleano dell'evento indica se viene suggerito di resettare la pagina o meno.
|
|
323
|
-
*
|
|
324
|
-
* 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,
|
|
325
|
-
* in quel caso l'applicazione ricevente dovrà onorare la richiesta spedendo al backand l'oggetto di ricerca AS-IS
|
|
326
|
-
*
|
|
327
|
-
* il tipo dell'Emitter invece di essere [boolean | AppSearch<any>] è stato impostato a "any" per evitare problemi di retrocompatibilità
|
|
328
|
-
*/
|
|
329
|
-
onSearchRequest: EventEmitter<any>;
|
|
330
|
-
/** Evento che parte ad ogni modifica di "checkaggio" in forma di comodo array. Espone l'oggetto con lo stato di check attuale */
|
|
331
|
-
onSelectionChanged: EventEmitter<ItemsSelection<any>>;
|
|
332
|
-
/** Evento richiamato all'eliminazione di un oggetto */
|
|
333
|
-
onRemoval: EventEmitter<any>;
|
|
334
|
-
/** Evento richiamato all'annullamento di un'eliminazione */
|
|
335
|
-
onAbortRemoval: EventEmitter<any>;
|
|
336
|
-
/** Evento richiamato al click su una cella quando **UseCustomCellActions** è attivo
|
|
337
|
-
*
|
|
338
|
-
* @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
|
|
339
|
-
*/
|
|
340
|
-
onCellClick: EventEmitter<{
|
|
341
|
-
column: string;
|
|
342
|
-
model: any;
|
|
343
|
-
}>;
|
|
344
|
-
/** Evento richiamato quando si clicca su un opzione definita nelle **CornerMenuOptions** */
|
|
345
|
-
onCornerAction: EventEmitter<{
|
|
346
|
-
id: string;
|
|
347
|
-
estable: any;
|
|
348
|
-
}>;
|
|
349
|
-
/** Evento richiamato quando si clicca su un opzione definita nelle **DynamicOperations** */
|
|
350
|
-
onDynamicOperation: EventEmitter<{
|
|
351
|
-
id: string;
|
|
352
|
-
item: any;
|
|
353
|
-
}>;
|
|
354
|
-
/** Dati esportati da ngx-csv */
|
|
355
|
-
data: any[];
|
|
356
|
-
/** Header dei dati esportati da ngx-csv */
|
|
357
|
-
headers: any[];
|
|
358
|
-
/** Elemento HTML da cliccare per l'esportazione */
|
|
359
|
-
exportDownloader: ElementRef;
|
|
360
|
-
/** Placeholder di menù contestuale per quando non ci sono opzioni nel placeholder "Vero" */
|
|
361
|
-
tableEmptyMenu: ContextMenuComponent;
|
|
362
|
-
/** Subscription sull'apertura del context menu da ripulire al destroy della classe */
|
|
363
|
-
private ctxMenuSubscription;
|
|
364
|
-
/** Pagina in visualizzazione (durante la paginazione in modalità Array) */
|
|
365
|
-
arraymodePage: number;
|
|
366
|
-
/** Numero di pagine (durante la paginazione in modalità Array) */
|
|
367
|
-
arraymodePages: number;
|
|
368
|
-
/** Oggetti per ogni pagina (durante la paginazione in modalità Array) */
|
|
369
|
-
ArraymodeItemsPerPage: any;
|
|
370
|
-
/** Oggetto di selezione per la modalità Array, che deve comportarsi come la controparte in modalità View */
|
|
371
|
-
arraymodeSelection: ItemsSelection<any>;
|
|
372
|
-
/** Colonne da visualizzare in modalità array */
|
|
373
|
-
arrayColumns: string[];
|
|
374
|
-
/** Ordine delle colonne da visualizzare in modalità array */
|
|
375
|
-
arrayColumnOrdering: string[];
|
|
376
|
-
/** Ordinamenti ASC-DESC sulle colonne in modalità array */
|
|
377
|
-
arrayOrders: AppOrdering[];
|
|
378
|
-
/**
|
|
379
|
-
* Variabile che serve a gestire il momento in cui l'es-table aggiorna la paginazione (pulsanti ecc).
|
|
380
|
-
* Essendo operazioni comunque costose le effettuo solo su binding esterni, non su rewrite generati internamente
|
|
381
|
-
*/
|
|
382
|
-
private internalWriteCall;
|
|
383
|
-
/**
|
|
384
|
-
* Cache che conterrà tutte le ricerche effettuate su gruppi diversi dal primo e su elementi contenuti nei gruppi.
|
|
385
|
-
* 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:
|
|
386
|
-
*
|
|
387
|
-
*
|
|
388
|
-
* **Cambio ordinamento sul primo gruppo**: reload completo, non mi occupo di ripulire gli elementi bindati in alcun modo
|
|
389
|
-
*
|
|
390
|
-
* **Cambio ordinamento sulla colonna relativa all'N-esimo gruppo**: reload completo del contenuto dei gruppi precedenti, ripulendo precedentemente
|
|
391
|
-
* tutti gli elementi con **_grouplevel** = N
|
|
392
|
-
*
|
|
393
|
-
* **Cambio ordinamento su una colonna non raggruppata**: reload completo per tutti i gruppi finali aperti, devo precedentemente ripulire tutti gli elementi con **_item** = true
|
|
394
|
-
*
|
|
395
|
-
* Altri eventi non dovrebbero rappresentare problemi:
|
|
396
|
-
* - Selezione: non cambia nulla
|
|
397
|
-
* - Paginazione: cambia a livello root quindi viene ricaricato tutto comunque, stesso vale per le paginazioni interne
|
|
398
|
-
*/
|
|
399
|
-
private groupSearchRequestsCache;
|
|
400
|
-
/** Variabile d'appoggio per capire se c'è bisogno di ri-effettuare una ricerca o meno */
|
|
401
|
-
private ResearchNeeded;
|
|
402
|
-
/** Colonne visibili della vista attuale. Valorizzato di default al numero massimo di colonne supportate dalla tabella per le casistiche in assenza di custom cells */
|
|
403
|
-
Columns: {
|
|
404
|
-
Visibile: number;
|
|
405
|
-
VisibleUnpinned: number;
|
|
406
|
-
Global: number;
|
|
407
|
-
};
|
|
408
|
-
/** In caso di Row Grouping qui viene salvata la vista principale dei gruppi base */
|
|
409
|
-
MainGroupView: AppSearch<any>;
|
|
410
|
-
/** 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" */
|
|
411
|
-
private BaseItemsCount;
|
|
412
|
-
/** Cache per salvare per ogni chiave di ogni gruppo chi è il gruppo rappresentato */
|
|
413
|
-
private rgGroupCache;
|
|
414
|
-
/** Cache per salvare per ogni chiave di ogni gruppo chi sono gli oggetti sottostanti, non dei sottogruppi */
|
|
415
|
-
private rgItemCache;
|
|
416
|
-
/** Cache per salvare per ogni chiave di ogni gruppo chi sono gli oggetti sottostanti, non dei sottogruppi */
|
|
417
|
-
private rgChildGroupsCache;
|
|
418
|
-
/** Cache di selezione Hash - Oggetto per la variabile **items** dell'itemSelector. Facilita le operazioni di lookup via hash*/
|
|
419
|
-
private itemsCache;
|
|
420
|
-
/** Cache di selezione Hash - Oggetto per la variabile **groups** dell'itemSelector. Facilita le operazioni di lookup via hash */
|
|
421
|
-
private groupsCache;
|
|
422
|
-
/** Cache di selezione Hash - Oggetto per la variabile **exclusions** dell'itemSelector. Facilita le operazioni di lookup via hash */
|
|
423
|
-
private exclusionsCache;
|
|
424
|
-
/** Cache di selezione Hash - Oggetto per la variabile **group_exclusions** dell'itemSelector. Facilita le operazioni di lookup via hash */
|
|
425
|
-
private group_exclusionsCache;
|
|
426
|
-
/** Cache di selezione Hash - Oggetto per la variabile **items** dell'itemSelector. Facilita le operazioni di lookup via indice*/
|
|
427
|
-
private i_itemsCache;
|
|
428
|
-
/** Cache di selezione Hash - Oggetto per la variabile **groups** dell'itemSelector. Facilita le operazioni di lookup via indice */
|
|
429
|
-
private i_groupsCache;
|
|
430
|
-
/** Cache di selezione Hash - Oggetto per la variabile **exclusions** dell'itemSelector. Facilita le operazioni di lookup via indice */
|
|
431
|
-
private i_exclusionsCache;
|
|
432
|
-
/** Cache di selezione Hash - Oggetto per la variabile **group_exclusions** dell'itemSelector. Facilita le operazioni di lookup via indice */
|
|
433
|
-
private i_group_exclusionsCache;
|
|
434
|
-
/** Indica se ci sono delle colonne pinnate e visibili. Serve per poter settare tutte le colonne prima che arrivino dati a pinned*/
|
|
435
|
-
HasPinnedColumns: boolean;
|
|
436
|
-
/** Larghezza calcolata del container delle colonne pinnate */
|
|
437
|
-
PinnedContainerWidth: number;
|
|
438
|
-
/** 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 */
|
|
439
|
-
ArrayGrouping: boolean;
|
|
440
|
-
PagerOptions: {
|
|
441
|
-
PagerCount: number;
|
|
442
|
-
ShowCount: boolean;
|
|
443
|
-
ShowPaging: boolean;
|
|
444
|
-
UsesView: boolean;
|
|
445
|
-
View: any;
|
|
446
|
-
Ready: boolean;
|
|
447
|
-
Searches: 'items' | 'groups';
|
|
448
|
-
};
|
|
449
|
-
/** @ignore */
|
|
450
|
-
ngOnInit(): void;
|
|
451
|
-
/** @ignore */
|
|
452
|
-
ngAfterViewInit(): void;
|
|
453
|
-
/**
|
|
454
|
-
* Se l'Input è null (valore non settato) vede se c'è un default con cui valorizzarlo. Se non c'è utilizza il valore di fallback (qualora fornito)
|
|
455
|
-
*
|
|
456
|
-
* @param {T} inputValue Valore dell'Input
|
|
457
|
-
* @param {T} defaultValue Valore di default impostato da configurazione
|
|
458
|
-
* @param {T} fallbackValue Valore dell'Input per quando non è stato assegnato dal programmatore e non ha un default
|
|
459
|
-
*/
|
|
460
|
-
private InputOrDefault;
|
|
461
|
-
/** @ignore */
|
|
462
|
-
ngOnDestroy(): void;
|
|
463
|
-
/** @ignore */
|
|
464
|
-
ngOnChanges(changes: SimpleChanges): Promise<void>;
|
|
465
|
-
/** @ignore */
|
|
466
|
-
registerOnChange(fn: any): void;
|
|
467
|
-
/** @ignore */
|
|
468
|
-
registerOnTouched(fn: any): void;
|
|
469
|
-
/** @ignore */
|
|
470
|
-
changed(): void;
|
|
471
|
-
/** @ignore */
|
|
472
|
-
propagateChange: (_: any) => void;
|
|
473
|
-
/** @ignore */
|
|
474
|
-
writeValue(obj: any): void;
|
|
475
|
-
/**
|
|
476
|
-
* Successivamente al bind del nuovo input questa funzione si occupa di finalizzare tutti i parametri di funzionamento dell'es-table
|
|
477
|
-
* in base a Input - Modello, e qualsiasi altra cosa possa servire
|
|
478
|
-
*/
|
|
479
|
-
private finalizeContext;
|
|
480
|
-
/** Genera le informzioni di paginazione per la vista globale dell'es-table */
|
|
481
|
-
private setupPagingInformations;
|
|
482
|
-
/**
|
|
483
|
-
* Ripulisce le cache di selezione
|
|
484
|
-
*
|
|
485
|
-
* @todo: SELECTION
|
|
486
|
-
*/
|
|
487
|
-
private clearSelectionCaches;
|
|
488
|
-
/**
|
|
489
|
-
* In base alla modalità specificata (ArrayMode, ViewMode, ecc...) questo metodo recupera l'array di oggetti da bindare ad interfaccia
|
|
490
|
-
*
|
|
491
|
-
* @param {boolean} onlyselected [false] Indica di prendere solo gli oggetti selezionati
|
|
492
|
-
* @param {boolean} refreshPaging [false] Indica se aggiornare le informazioni di paginazione o meno
|
|
493
|
-
* @param {boolean} allIfPossible [false] Indica se prendere tutti gli oggetti quaora possibile, usato solo in ArrayMode
|
|
494
|
-
*
|
|
495
|
-
* @returns {any[]} Lista degli oggetti su cui effettuare il bind lato interfaccia
|
|
496
|
-
*
|
|
497
|
-
* @todo: ITEMS
|
|
498
|
-
*/
|
|
499
|
-
private getItemsByMode;
|
|
500
|
-
/**
|
|
501
|
-
* @ignore
|
|
502
|
-
*
|
|
503
|
-
* @todo: ITEMS
|
|
504
|
-
*/
|
|
505
|
-
private getViewItemsBySource;
|
|
506
|
-
/**
|
|
507
|
-
* Helper per effettuare il caching delle aggregazioni. Le sposta da una lista di **GroupAggregation** a una **<Map<string, Map<string, string>>**
|
|
508
|
-
*
|
|
509
|
-
* @todo: ROWGROUPING
|
|
510
|
-
*/
|
|
511
|
-
private cacheAggregations;
|
|
512
|
-
/**
|
|
513
|
-
* Metodo che prende tutti gli oggetti di cui dispone divisi in bucket da 100 elementi
|
|
514
|
-
*
|
|
515
|
-
* @returns {any[][]} Matrice di array Nx100
|
|
516
|
-
*
|
|
517
|
-
* @todo: ITEMS
|
|
518
|
-
*/
|
|
519
|
-
private getItemSlices;
|
|
520
|
-
/**
|
|
521
|
-
* Metodo che gestisce l'endless scroll e in base a quanto la tabella è stata scrollata aggiunge degli elementi extra a **TMPBoundSource**
|
|
522
|
-
*
|
|
523
|
-
* @param {any} e Evento di scroll del browser
|
|
524
|
-
*/
|
|
525
|
-
onScroll(e: any): void;
|
|
526
|
-
/**
|
|
527
|
-
* Metodo lanciato dopo che la sorgente dati è stata correttamente bindata, si occupa di ricalcolare tutto ciò che serve
|
|
528
|
-
* all'es-table per renderizzare i valori da mostrare
|
|
529
|
-
*/
|
|
530
|
-
private postBoundSourceCalculation;
|
|
531
|
-
/**
|
|
532
|
-
* 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
|
|
533
|
-
*/
|
|
534
|
-
private internalPostBoundSource;
|
|
535
|
-
/**
|
|
536
|
-
* Se in modalità array applica gli ordinamenti ASC-DESC delle colonne
|
|
537
|
-
*
|
|
538
|
-
* @todo: INTERNALDB
|
|
539
|
-
*/
|
|
540
|
-
private arrayModeReviewOrderings;
|
|
541
|
-
/**
|
|
542
|
-
* Se in modalità array applica i raggruppamenti definiti lato row-grouping
|
|
543
|
-
*
|
|
544
|
-
* @param {ths: EsTh[] | EsThDirective[]} ths Header
|
|
545
|
-
*
|
|
546
|
-
* @todo: ROW GROUPING
|
|
547
|
-
*/
|
|
548
|
-
private arrayModeReviewGroupings;
|
|
549
|
-
/**
|
|
550
|
-
* Data la definizione dei gruppi da generare da una lista di oggetti, suddivide gli oggetti passati in gruppi e sottogruppi
|
|
551
|
-
*
|
|
552
|
-
* @param {Group[]} grps Definizione dei gruppi
|
|
553
|
-
* @param {number} currentIndex Indice di elaborazione. Al livello 0 ho tutti gli oggetti e devo generare i primi gruppi, a livello 1 ho tutti i gruppi principali e devo
|
|
554
|
-
* elaborare i sottogruppi, e così via ricorsivamente...
|
|
555
|
-
* @param {any[]} items Oggetti da raggruppare
|
|
556
|
-
* @param {GroupOrAggregation[]} aggregations Info di aggregazione
|
|
557
|
-
* @param {any} parent Riferimento al gruppo padre
|
|
558
|
-
*
|
|
559
|
-
* @todo: INTERNALDB
|
|
560
|
-
*/
|
|
561
|
-
private getGroupsRecursive;
|
|
562
|
-
/**
|
|
563
|
-
* Data una lista di oggetti genera le aggregazioni specificate. Si considera di avere tutti gli oggetti
|
|
564
|
-
*
|
|
565
|
-
* @param {any[]} items Oggetti di cui calcolare le aggregazione
|
|
566
|
-
* @param {GroupOrAggregation[]} aggregations Aggergazioni da generare
|
|
567
|
-
*
|
|
568
|
-
* @todo: INTERNALDB
|
|
569
|
-
*/
|
|
570
|
-
private generateAggregations;
|
|
571
|
-
/**
|
|
572
|
-
* Data una lista di oggetti effettua dei raggruppamenti in base alla proprietà **field**, restituendo un oggetto del tipo { Gruppo1: oggetti[], Gruppo2: oggetti[], ecc... }
|
|
573
|
-
*
|
|
574
|
-
* @param {any[]} array Lista degli oggetti da raggruppare
|
|
575
|
-
* @param {string} field Campo su cui effettuare i raggruppamenti
|
|
576
|
-
*
|
|
577
|
-
* @returns {{ [id: string]: any[] }} Dizionario dei gruppi
|
|
578
|
-
*
|
|
579
|
-
* @todo: INTERNALDB
|
|
580
|
-
*/
|
|
581
|
-
private groupBy;
|
|
582
|
-
/**
|
|
583
|
-
* Effettua il binding degli oggetti pervenuti da questa chiamata con gli oggetti effettivamente da graficare
|
|
584
|
-
*
|
|
585
|
-
* @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**
|
|
586
|
-
*/
|
|
587
|
-
private bindDisplayToLoadedItemsOrGroups;
|
|
588
|
-
/**
|
|
589
|
-
* In modalità rowgrouping quando mi arriva un nuovo blocco di oggetti devo aggiungerlo alla vista attuale:
|
|
590
|
-
*
|
|
591
|
-
* 1) Se non viene richiesto il dettaglio di alcun gruppo significa che devo considerare mi siano arrivati tutti i gruppi principali
|
|
592
|
-
* 2) Se viene richiesto il dettaglio di un gruppo diverso dall'ultimo devo aggiungere dopo al gruppo cliccato la lista dei sottogruppi
|
|
593
|
-
* 2) Se viene richiesto il dettaglio dell'ultimo gruppo devo aggiungere dopo al gruppo cliccato la lista degli oggetti
|
|
594
|
-
*
|
|
595
|
-
* @param {any} view AppSearch<T> da cui sono arrivati gli oggetti
|
|
596
|
-
* @param {number} groupingKeys Livelli di raggruppamento da aspettarsi sui dati
|
|
597
|
-
*
|
|
598
|
-
* @todo: ROWGROUPING
|
|
599
|
-
*/
|
|
600
|
-
private handleNewDataOnRowGrouping;
|
|
601
|
-
/**
|
|
602
|
-
* Metodo richiamato solo quando **TMPRowTDs** e **TMPRowTHs** sono completamente generati ed aggiustati. Serve per collegarli alle variabili usate lato binding HTML
|
|
603
|
-
*/
|
|
604
|
-
private MoveTemporaryVariablesToRealOnes;
|
|
605
|
-
/**
|
|
606
|
-
* Permette di selezionare o deselezionare in maniera arbitraria degli oggetti
|
|
607
|
-
*
|
|
608
|
-
* @param {any[]} items Oggetti da selezionare o deselezionare
|
|
609
|
-
* @param {boolean} select **true** per selezionarli, **false** per non toccarli
|
|
610
|
-
*
|
|
611
|
-
* @todo: SELECTION
|
|
612
|
-
*/
|
|
613
|
-
setSelectionStatus(items: any[], select: boolean): void;
|
|
614
|
-
/**
|
|
615
|
-
* Se non ho l'Input **DynamicRowColumnsDefinition** in modalità dinamica lo riempio con il default nome della colonna = testo della colonna
|
|
616
|
-
*/
|
|
617
|
-
private eventuallyReviewDynamicColumns;
|
|
618
|
-
/**
|
|
619
|
-
* Partendo dagli **EsThs** estrappolo la lista di **EsTableColumn** che questa tabella dovrà eventualmente gestire per Visibilità e Ordine
|
|
620
|
-
*
|
|
621
|
-
* Costo: 1 scan EsThs
|
|
622
|
-
*
|
|
623
|
-
* @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
|
|
624
|
-
*/
|
|
625
|
-
private reviewColumnsList;
|
|
626
|
-
/**
|
|
627
|
-
* Prende i th e i td in modalità diretive e li ordina in base a se ci sono colonne fixed o meno
|
|
628
|
-
*/
|
|
629
|
-
private moveFixedColumnsAtTheBeginning;
|
|
630
|
-
/**
|
|
631
|
-
* In base alla configurazione delle colonne calcola le dimenioni delle colonne pinnate
|
|
632
|
-
*/
|
|
633
|
-
private evaluatePinnedColumnsWidth;
|
|
634
|
-
/**
|
|
635
|
-
* Helper per spostare un oggetto di un array da un indice all'altro, in place
|
|
636
|
-
*/
|
|
637
|
-
private arrayMove;
|
|
638
|
-
/**
|
|
639
|
-
* Terminato il binding delle colonne da **reviewColumnsList** e della **View** dal **writeValue** questo metodo si occupa
|
|
640
|
-
* dell'allineamento delle informazioni fra le colonne calcolate internamente e le informazioni sulle colonne che arrivano dall'AppSearch
|
|
641
|
-
*
|
|
642
|
-
* @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
|
|
643
|
-
*/
|
|
644
|
-
private alignColumnsIfLoadedView;
|
|
645
|
-
/**
|
|
646
|
-
* Metodo che gestisce il cambio di Ordinamento di una colonna
|
|
647
|
-
*
|
|
648
|
-
* @param {string} id ID della colonna il cui oridnamento è cambiato
|
|
649
|
-
* @param {'DESC' | 'ASC'} order Nuovo ordine selezionato per la colonna
|
|
650
|
-
*/
|
|
651
|
-
thOrderChanged(id: string, order?: 'DESC' | 'ASC'): void;
|
|
652
|
-
/**
|
|
653
|
-
* Metodo da chiamare ogni volta che si vuole dare evidenza all'esterno del bisogno di rieffettuare la ricerca
|
|
654
|
-
*
|
|
655
|
-
* @param {boolean} resetsPage Indica al listener che deve resettare il numero di pagina
|
|
656
|
-
* @param {AppSearch<any>} viewOverride Override della view da emettere per questa ricerca
|
|
657
|
-
*/
|
|
658
|
-
private emitSearchRequest;
|
|
659
|
-
/**
|
|
660
|
-
* In base alla visibilità registrata nelle **ColumnsList** questo metodo si occupa di prendere tutti i **EsThs** ed **EsTds** relativi e nasonderli/mostrarli
|
|
661
|
-
*
|
|
662
|
-
* Costo: 1 scan ColumnsList, 1 scan EsThs, 1 scan EsTds
|
|
663
|
-
*
|
|
664
|
-
* @param {EsTh[] | EsThDirective[]} ths Header della tabella
|
|
665
|
-
* @param {EsTd[] | EsTdDirective[]} tds Celle della tabella
|
|
666
|
-
* @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
|
|
667
|
-
*/
|
|
668
|
-
private refreshColumnsVisibility;
|
|
669
|
-
/**
|
|
670
|
-
* Allinea gli ordinamenti dati fra le **EsThs** e le informazioni all'interno della View bindata
|
|
671
|
-
*
|
|
672
|
-
* @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
|
|
673
|
-
* @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
|
|
674
|
-
*/
|
|
675
|
-
private alignHeadersOrdering;
|
|
676
|
-
/**
|
|
677
|
-
* Partendo dagli **EsTds** bindati genera, all'interno del dizionario **TMPRowTDs** tutti i contesti dei vari oggetti.
|
|
678
|
-
*
|
|
679
|
-
* Vengono esclusi i TD "Interni" in quanto vengono generati dagli originali quindi includerli vorrebbe dire rieffettuare le operazioni due volte
|
|
680
|
-
*
|
|
681
|
-
* Costo: 2 scan EsThs, 1 scan EsTds
|
|
682
|
-
*
|
|
683
|
-
* @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
|
|
684
|
-
* @param {EsTd[] | EsTdDirective[]} tds Celle della tabella
|
|
685
|
-
*/
|
|
686
|
-
private evaluateRowTds;
|
|
687
|
-
/**
|
|
688
|
-
* Partendo dagli **EsThs** bindati genera, all'interno del dizionario **TMPRowTHs** tutti i contesti dei vari oggetti.
|
|
689
|
-
*
|
|
690
|
-
* Vengono esclusi i TH "Interni" in quanto vengono generati dagli originali quindi includerli vorrebbe dire rieffettuare le operazioni due volte
|
|
691
|
-
*
|
|
692
|
-
* Costo: 1 scan EsThs
|
|
693
|
-
*
|
|
694
|
-
* @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
|
|
695
|
-
*/
|
|
696
|
-
private evaluateRowThs;
|
|
697
|
-
private evaluateHeadersGroupingInfos;
|
|
698
|
-
/**
|
|
699
|
-
* Genera gli header groups da una lista di info sui th all'interno della variabile **TMPRowThGroups**
|
|
700
|
-
*/
|
|
701
|
-
private evaluateHeaderGroups;
|
|
702
|
-
/**
|
|
703
|
-
* Calcola il numero di salti da un header foglia all'ultimo parent della catena
|
|
704
|
-
*/
|
|
705
|
-
private jumpsToFinalParent;
|
|
706
|
-
/**
|
|
707
|
-
* Data una direttiva EsTh restituisce la lista delle aggregazioni richiesta per questa colonna o il gruppo che rappresenta
|
|
708
|
-
*
|
|
709
|
-
* @param {EsThDirective} th Direttiva
|
|
710
|
-
*
|
|
711
|
-
* @returns {GroupOrAggregation[]} Lista dei gruppi o aggregazioni relativi alla Direttiva passata
|
|
712
|
-
*/
|
|
713
|
-
private getGroupAggregations;
|
|
714
|
-
/**
|
|
715
|
-
* Data una direttiva con un formato restituisce tutte le coppie Funzione di Aggregazione - Formato
|
|
716
|
-
*
|
|
717
|
-
* @param {EsThDirective} th Direttiva EsTh di cui calcolare le funzioni di aggregazione usate
|
|
718
|
-
*
|
|
719
|
-
* @returns {{ func: string, format: string }[]} Lista delle funzioni di aggregazione rilevate
|
|
720
|
-
*/
|
|
721
|
-
private getEsThDirectiveListOfAggregations;
|
|
722
|
-
/**
|
|
723
|
-
* Metodo che genera l'ordine di default delle colonne
|
|
724
|
-
*
|
|
725
|
-
* @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
|
|
726
|
-
*/
|
|
727
|
-
private generateDefaultOrder;
|
|
728
|
-
/**
|
|
729
|
-
* Applica l'ordine specificato alle varie colonne
|
|
730
|
-
*
|
|
731
|
-
* @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
|
|
732
|
-
* @param {boolean} finalize Se **true** significa che non mi aspetto di dover effettuare altre operazioni e posso renderizzare la situazione in base ai RowContext
|
|
733
|
-
* Senza finalize significa che mi aspetto altre operazioni che prima o poi richiameranno questa funzione col finalize.
|
|
734
|
-
*
|
|
735
|
-
* Ad esempio, una volta selezionato ordinamento fisico/logico delle colonne so che parte un altra ricerca che mi rivalorizzerà da "writeValue", che già chiama questa funzione.
|
|
736
|
-
* Mettendo solo la chiamata da "writeValue" come "finalizzante" mi assicuro che smanattamenti a frontend non causino flickering fino a quando non servono
|
|
737
|
-
*/
|
|
738
|
-
private applyOrdering;
|
|
739
|
-
/**
|
|
740
|
-
* Ottiene un elemento di separazione fra Gruppi che serve per paginare le ricerche all'interno di ogni singolo gruppo
|
|
741
|
-
*
|
|
742
|
-
* @param {AppSearch<any>} view View utilizzata per la ricerca. Me ne salvo i parametri nel separatore attuale dato che ne ho bisogno per caricare altri elementi
|
|
743
|
-
* facenti riferimento allo stesso contesto
|
|
744
|
-
* @param {string} parent Parent path che rappresenta a quale gruppo è affibbiato questo separatore
|
|
745
|
-
* @param {GroupRouteFragment[]} route Route path che rappresenta a quale gruppo è affibbiato questo separatore
|
|
746
|
-
* @param {number} level Livello del gruppo di cui questo elemento è separatore, viene usato per applicare la classe "est-lvl-{{level}}"
|
|
747
|
-
*
|
|
748
|
-
* @returns {any} Elemento di separazione contenente tutti i bind per presentare una paginazione sotto questo gruppo lato interfaccia
|
|
749
|
-
*/
|
|
750
|
-
private getGroupSeparator;
|
|
751
|
-
/**
|
|
752
|
-
* Sposta la ricerca di una pagina in avanti (o indietro)
|
|
753
|
-
*
|
|
754
|
-
* @param {number} page Numero di pagine da aggiungere (o sottrarre, se negativo) alla pagina attuale
|
|
755
|
-
* @param {any} pager Elemento di separazione su cui è effettuata la ricerca
|
|
756
|
-
*/
|
|
757
|
-
addToPageGroup(page: number, pager: GroupPager): void;
|
|
758
|
-
/**
|
|
759
|
-
* Sposta la ricerca alla pagina specificata
|
|
760
|
-
*
|
|
761
|
-
* @param {number} page Pagina a cui navigare
|
|
762
|
-
* @param {any} pager Elemento di separazione su cui è effettuata la ricerca
|
|
763
|
-
*/
|
|
764
|
-
goToPageGroup(page: number, pager: GroupPager): void;
|
|
765
|
-
/**
|
|
766
|
-
* Data una colonna effettua la riemissione di tutte le ricerche relative.
|
|
767
|
-
*
|
|
768
|
-
* Es. Ho 2 campi di gruppo e ho espanso fino a vedere i valori fino ad un livello qualsiasi.
|
|
769
|
-
* Clicco l'ordinamento sul secondo gruppo.
|
|
770
|
-
* Tutte le ricerche relative ai primi gruppi devono essere rieseguite. Quando i risultati arriveranno ci penserà il metodo **bindDisplayToLoadedItemsOrGroups**
|
|
771
|
-
* a tagliare via gli oggetti non più visualizzati
|
|
772
|
-
*
|
|
773
|
-
* @param {string} column Colonna su cui si è effettuata un'operazione di ordinamento
|
|
774
|
-
* @param {AppOrdering[]} orderings Direttive di ordinamento da applicare alle varie sottoricerche
|
|
775
|
-
*
|
|
776
|
-
* @todo: Testare
|
|
777
|
-
*/
|
|
778
|
-
private emitRowGroupingSearches;
|
|
779
|
-
/**
|
|
780
|
-
* Helper che calcola il contenuto di una cella relativa a un gruppo riga, tenendo conto del formato delle eventuali aggregazioni
|
|
781
|
-
*
|
|
782
|
-
* @param {Group} grp Gruppo di cui mostrare le celle
|
|
783
|
-
* @param {string} cell Cella attuale di cui calcolare il testo
|
|
784
|
-
* @param {EsThDirective} header Header relativo alla cella attuale, utilizzata per identificare le informazioni di aggregazione
|
|
785
|
-
*
|
|
786
|
-
* @returns {string} Testo finale calcolato per la **cell** corrente, in base alle aggregazioni di **header**
|
|
787
|
-
*/
|
|
788
|
-
private getGroupCellDisplay;
|
|
789
|
-
/**
|
|
790
|
-
* Gestisce i click sulla tabella solo per le righe a gruppo.
|
|
791
|
-
* O rimuove gli elementi attualmente presenti o carica il contenuto del gruppo
|
|
792
|
-
*
|
|
793
|
-
* @param {any} group Gruppo bindato su cui si è effettuato il click
|
|
794
|
-
*
|
|
795
|
-
* @returns {boolean} **true** se l'operaizone è andata a buon fine, **false** altrimenti
|
|
796
|
-
*/
|
|
797
|
-
handleGroupClick(group: Group): boolean;
|
|
798
|
-
/**
|
|
799
|
-
* Funzione che dato un valore lo formatta in base al tipo
|
|
800
|
-
*
|
|
801
|
-
* @param {string} value Valore che generalemnte può essere una data o un numero
|
|
802
|
-
* @param {string} fromat Formato su cui formattare il valore. Può essere ad esempio "small", "long" "verylong" per le date o F{0-9} per i numeri decimali
|
|
803
|
-
*
|
|
804
|
-
* @returns {string} Valore dell'aggregazione formattato come si deve
|
|
805
|
-
*/
|
|
806
|
-
private formatAggregationValue;
|
|
807
|
-
/**
|
|
808
|
-
* All'interno della dialog "Ordinamento e Visibilità Colonne" mette la colonna specificata prima della colonna precedente
|
|
809
|
-
*
|
|
810
|
-
* @param {EsTableColumn} columnItem Colonna da spostare
|
|
811
|
-
*/
|
|
812
|
-
sendUp(columnItem: EsTableColumn): void;
|
|
813
|
-
/**
|
|
814
|
-
* All'interno della dialog "Ordinamento e Visibilità Colonne" mette la colonna specificata dopo la colonna successiva
|
|
815
|
-
*
|
|
816
|
-
* @param {EsTableColumn} columnItem Colonna da spostare
|
|
817
|
-
*/
|
|
818
|
-
sendDown(columnItem: EsTableColumn): void;
|
|
819
|
-
/**
|
|
820
|
-
* All'interno della dialog "Ordinamento e Visibilità Colonne" pinna la colonna specificata
|
|
821
|
-
*
|
|
822
|
-
* @param {EsTableColumn} columnItem Colonna da spostare
|
|
823
|
-
*/
|
|
824
|
-
pinOrUnpinColumn(columnItem: EsTableColumn): void;
|
|
825
|
-
/**
|
|
826
|
-
* All'interno della dialog "Ordinamento e Visibilità Colonne" inverte le impostazioni di visibilità della colonna
|
|
827
|
-
*
|
|
828
|
-
* @param {EsTableColumn} columnItem Colonna da spostare
|
|
829
|
-
*/
|
|
830
|
-
columnClicked(item: EsTableColumn): void;
|
|
831
|
-
/**
|
|
832
|
-
* All'apertura della dialog "Ordinamento e Visibilità Colonne" ricarica le informazioni attuali per permettere la modifica
|
|
833
|
-
*/
|
|
834
|
-
resetColumnVisSelection(): void;
|
|
835
|
-
/**
|
|
836
|
-
* Riaggiorna le **OrderDirectives** con le informazioni in **ColumnsList**
|
|
837
|
-
*/
|
|
838
|
-
private refreshColumnOrdering;
|
|
839
|
-
/**
|
|
840
|
-
* Effettua la selezione o meno del check globale (**globalColVisCheck**) di visibilità in base a se tutte le **TMPColumnsList** sono visibili o no
|
|
841
|
-
*/
|
|
842
|
-
updateGlobalColVisCheck(): void;
|
|
843
|
-
/**
|
|
844
|
-
* Funzione che effettua la conferma della visibilità e dell'ordine delle colonne.
|
|
845
|
-
*
|
|
846
|
-
* Questa selezione viene inoltre salvata nelle preferenze (**@esfaenza/preferences**), qualora l'Input **SavePreferences** fosse valorizzato
|
|
847
|
-
*
|
|
848
|
-
* @returns {boolean} **true** se non ci sono problemi, **false** altrimenti
|
|
849
|
-
*/
|
|
850
|
-
confirmColumnVisibilitySelection(): boolean;
|
|
851
|
-
/**
|
|
852
|
-
* Sul click nella checkbox di selezione globale si scorrono tutte le colonne e si impostano al valore della check globale
|
|
853
|
-
*/
|
|
854
|
-
globalColVisCheckChanged(): void;
|
|
855
|
-
/**
|
|
856
|
-
* Data una lista di oggetti assegno il livello gerarchico rispetto alla lista di oggetti passata
|
|
857
|
-
*
|
|
858
|
-
* @param {any[]} objs Lista di oggetti a cui aggiungere l'informazione del livello gerarchico
|
|
859
|
-
*/
|
|
860
|
-
private assignHierarchyLevels;
|
|
861
|
-
/**
|
|
862
|
-
* Per ognuno degli oggetti passati gli assegna un livello di gerarchia in base a **ParentKey** e **OwnKey**
|
|
863
|
-
*
|
|
864
|
-
* @param {any[]} objs Oggetti a cui assegnare il livello di gerarchia
|
|
865
|
-
* @param {number} levelToAssign Livello che sta assegnando attualmente questa iterazione (dato che è ricorsiva)
|
|
866
|
-
*
|
|
867
|
-
* @returns {number} Numero di oggetti a cui è stato assegnato un livello gerarchico
|
|
868
|
-
*/
|
|
869
|
-
private assignLevel;
|
|
870
|
-
/**
|
|
871
|
-
* Funzione che permette di effettuare l'espansione di un parent quando la tabella funziona in modalità gerarchica
|
|
872
|
-
*
|
|
873
|
-
* @param {string} key Chiave del parent da espandere
|
|
874
|
-
*/
|
|
875
|
-
expandParent(key: string): void;
|
|
876
|
-
/**
|
|
877
|
-
* Funzione che permette di effettuare il collapse di un parent quando la tabella funziona in modalità gerarchica
|
|
878
|
-
*
|
|
879
|
-
* @param {string} key Chiave del parent da collassare
|
|
880
|
-
*/
|
|
881
|
-
collapseParent(key: string): void;
|
|
882
|
-
/**
|
|
883
|
-
* Collassa ricorsivamente tutti i figli di un parent identificato dalla **parentKey**
|
|
884
|
-
*
|
|
885
|
-
* @param {string} parentKey Chiave del parent di cui collassare i figli
|
|
886
|
-
*/
|
|
887
|
-
private collapseChildOfParent;
|
|
888
|
-
/**
|
|
889
|
-
* Valuta quali elementi devono essere marcati come selezionati nella vista attuale. Si basa sull'oggetto **selection** interno all'AppSearch
|
|
890
|
-
*
|
|
891
|
-
* @param {any[]} items Oggetti di cui valutare la selezione
|
|
892
|
-
* @param {ItemsSelection<any>} selectionItem Oggetti di selezione derivante dalla view o dall'oggetto per Array
|
|
893
|
-
*/
|
|
894
|
-
private evaluateSelection;
|
|
895
|
-
/**
|
|
896
|
-
* Implementazione agnostica della valutazione delle selezioni degli oggetti. Richiede gli oggetti della vista attuale e l'itemSelector
|
|
897
|
-
*
|
|
898
|
-
* @param {any[]} items Oggetti di cui aggiornare lo stato di selezione
|
|
899
|
-
* @param {ItemsSelection<any>} selectionItem Oggetto contenente lo stato attuale di selezione
|
|
900
|
-
*/
|
|
901
|
-
private handleSelectionEvaluation;
|
|
902
|
-
/**
|
|
903
|
-
* Dato un oggetto trova la cella di cache in cui è registrato e aggiorna il contenuto
|
|
904
|
-
*
|
|
905
|
-
* @param {any} item Oggetto da aggiornare
|
|
906
|
-
*/
|
|
907
|
-
private rehidrateCache;
|
|
908
|
-
/**
|
|
909
|
-
* Dato un gruppo controlla ricorsivamente l'albero di cui fa parte se c'è stata una inclusione o esclusione diretta
|
|
910
|
-
*
|
|
911
|
-
* @param {any} grp Gruppo da controllare
|
|
912
|
-
*
|
|
913
|
-
* @returns {'none' | 'excluded' | 'included'}
|
|
914
|
-
* 'none' se non ci sono informazioni su inclusioni o esclusioni
|
|
915
|
-
* 'included' se il gruppo controllato è stato incluso in maniera esplicita dall'albero dei gruppi padri
|
|
916
|
-
* 'excluded' se il gruppo controllato è stato escluso in maniera esplicita dall'albero dei gruppi padri
|
|
917
|
-
*/
|
|
918
|
-
private parentTreeStatus;
|
|
919
|
-
/**
|
|
920
|
-
* Gestisce la selezione globale degli oggetti, sia per pagina che a livello di **SelectAll**
|
|
921
|
-
*
|
|
922
|
-
* @param {boolean} forcedVal Valore forzato di check da assegnare agli oggetti
|
|
923
|
-
*/
|
|
924
|
-
globalCheckChanged(forcedVal?: boolean): void;
|
|
925
|
-
/**
|
|
926
|
-
* Helper per gestire la selezione di N elementi utilizzando la Cache di selezione ed eventualmente aggiornando il concetto di "all selection"
|
|
927
|
-
*
|
|
928
|
-
* Vunziona sia in modalità Array che in modalità View Semplice o View Avanzata (con le Custom Cells)
|
|
929
|
-
*
|
|
930
|
-
* @param {any[]} items Oggetti da selezionare o deselezionare
|
|
931
|
-
* @param {boolean} forcedVal Valore forzato di check da assegnare agli oggetti
|
|
932
|
-
* @param {boolean} globalCheck Valore del check globale
|
|
933
|
-
*
|
|
934
|
-
* @returns {ItemsSelection<any>} Oggetto di selezione aggiornato con le informazioni sull'ultima operazione effettuata
|
|
935
|
-
*/
|
|
936
|
-
handleItemsSelection(items: any[], forcedVal?: boolean, globalCheck?: boolean): ItemsSelection<any>;
|
|
937
|
-
/**
|
|
938
|
-
* Dato L'oggetto di selezione, l'oggetto da selezionare/deselezionare e tutti i parametri del caso effettua le operazioni che servono.
|
|
939
|
-
*
|
|
940
|
-
* Logica semplificata rispetto all'originale **performSelectionOperations** per lavorare in una modalità in cui tutti gli elementi sono caricati (**ArrayGrouping** = true)
|
|
941
|
-
*/
|
|
942
|
-
private performSimpleSelectionOperations;
|
|
943
|
-
/**
|
|
944
|
-
* Helper per selezionare un gruppo e, ricorsivamente, se tutti i gruppi sottostanti al parent sono selezionati, selezionare i gruppi padri
|
|
945
|
-
*
|
|
946
|
-
* @param {any} group Gruppo da selezionare
|
|
947
|
-
*/
|
|
948
|
-
private selectGroup;
|
|
949
|
-
/**
|
|
950
|
-
* Dato L'oggetto di selezione, l'oggetto da selezionare/deselezionare e tutti i parametri del caso effettua le operazioni che servono.
|
|
951
|
-
*
|
|
952
|
-
* La logica di questa funzione è nata essenzialmente da spam di trial & error ed è stata testata solo fino a due livelli di raggruppamento,
|
|
953
|
-
* qualsiasi cosa vada oltre non è 100% detto che funzioni...
|
|
954
|
-
*/
|
|
955
|
-
private performSelectionOperations;
|
|
956
|
-
/**
|
|
957
|
-
* Helper per evitare di riscrivere ogni santa volta array.splice(array.indexof(item), 1);
|
|
958
|
-
*/
|
|
959
|
-
private removeItem;
|
|
960
|
-
/**
|
|
961
|
-
* Helper per evitare di riscrivere ogni santa volta array.push(item); e la gestione della
|
|
962
|
-
*/
|
|
963
|
-
private addItem;
|
|
964
|
-
/**
|
|
965
|
-
* Ottiene il trittico di selezione: L'array degli oggetti e le due cache
|
|
966
|
-
*/
|
|
967
|
-
private getTriptic;
|
|
968
|
-
/**
|
|
969
|
-
* Dato un oggetto restituisce il gruppo di cui fa parte, se esiste
|
|
970
|
-
*
|
|
971
|
-
* @param {any} item Oggetto di cui trovare il gruppo
|
|
972
|
-
*/
|
|
973
|
-
private getItemGroup;
|
|
974
|
-
/**
|
|
975
|
-
* Data la chiave di un gruppo restituisce tutti gli oggetti con quella chiave
|
|
976
|
-
*
|
|
977
|
-
* @param {any} group Chiave da cercare
|
|
978
|
-
* @param {'selected' | 'unselected'} status Stato degli elementi, selezionati o no
|
|
979
|
-
* @param {boolean} recursive Indica se cercare solo gli elementi direttamente collegati o se prendere anche quelli dei gruppi figli
|
|
980
|
-
*
|
|
981
|
-
* @returns {any[]} Oggetti di tipo **_item** facenti capo alla chiave **groupKey**
|
|
982
|
-
*/
|
|
983
|
-
private getGroupItems;
|
|
984
|
-
/**
|
|
985
|
-
* Data la chiave di un gruppo restituisce tutti gli oggetti con quella chiave
|
|
986
|
-
*
|
|
987
|
-
* @param {any} group Gruppo di cui cercare il parent
|
|
988
|
-
*
|
|
989
|
-
* @returns {any} Oggetto di tipo **_group** rappresentante il parent del **group** attuale
|
|
990
|
-
*/
|
|
991
|
-
private getGroupParent;
|
|
992
|
-
/**
|
|
993
|
-
* Data la chiave di un gruppo restituisce tutti i gruppi figli
|
|
994
|
-
*
|
|
995
|
-
* @param {string} group Gruppo che rappresenta il padre di cui cercare i figli
|
|
996
|
-
* @param {'selected' | 'unselected'} status Stato dei gruppi, selezionati o no
|
|
997
|
-
* @param {boolean} recursive Indica se cercare solo i gruppi direttamente collegati o se prendere anche quelli dei gruppi figli
|
|
998
|
-
*
|
|
999
|
-
* @returns {any[]} Oggetti di tipo **_group** facenti capo alla chiave **groupKey**
|
|
1000
|
-
*/
|
|
1001
|
-
private getGroupChildGroups;
|
|
1002
|
-
/**
|
|
1003
|
-
* Finalizza le informazioni di selezione del **ItemsSelection** corrente
|
|
1004
|
-
*/
|
|
1005
|
-
private finalizeSelectionInformations;
|
|
1006
|
-
/**
|
|
1007
|
-
* Compatta una cache di indici
|
|
1008
|
-
*/
|
|
1009
|
-
private compactIndexMap;
|
|
1010
|
-
/**
|
|
1011
|
-
* Gestisce i click sulla tabella, gestendo eventualmente anche gli Shift + Click per selezionare un range di oggetti
|
|
1012
|
-
*
|
|
1013
|
-
* @param {any} event Evento nativo HTML del click
|
|
1014
|
-
* @param {any} item Oggetto bindato su cui si è effettuato il click
|
|
1015
|
-
*
|
|
1016
|
-
* @returns {boolean} **true** se l'operaizone è andata a buon fine, **false** altrimenti
|
|
1017
|
-
*/
|
|
1018
|
-
handleClick(event: any, item: any): boolean;
|
|
1019
|
-
/**
|
|
1020
|
-
* Valuta la quantità di oggetti che sono stati selezionati al termine di un evento di selezione
|
|
1021
|
-
*
|
|
1022
|
-
* @returns {number} Numero di oggetti selezionati
|
|
1023
|
-
*/
|
|
1024
|
-
private evaluateSelected;
|
|
1025
|
-
/**
|
|
1026
|
-
* Gestisce il comando di "Seleziona tutto in tutte le pagine" o il suo contrario, cioè "Reimposta selezione"
|
|
1027
|
-
*/
|
|
1028
|
-
selectAllOrResetSelection(): void;
|
|
1029
|
-
/**
|
|
1030
|
-
* Sposta la ricerca di una pagina in avanti (o indeitro)
|
|
1031
|
-
*
|
|
1032
|
-
* @param {number} page Numero di pagine da aggiungere (o sottrarre, se negativo) alla pagina attuale
|
|
1033
|
-
*/
|
|
1034
|
-
addToPage(page: number): void;
|
|
1035
|
-
/**
|
|
1036
|
-
* Sposta la ricerca alla pagina specificata
|
|
1037
|
-
*
|
|
1038
|
-
* @param {number} page Pagina a cui navigare
|
|
1039
|
-
*/
|
|
1040
|
-
goToPage(page: number): void;
|
|
1041
|
-
/**
|
|
1042
|
-
* Evento richiamato sul cambio della paginazione. Verrà richiamato l'evento **emitSearchRequest**
|
|
1043
|
-
* per comunicare al componente che utilizza questa tabella che i dati sono da aggiornare
|
|
1044
|
-
*/
|
|
1045
|
-
onItemsPerPageChanged(newIpp: any): void;
|
|
1046
|
-
/**
|
|
1047
|
-
* Evento richiamato sul cambio della paginazione. Verrà richiamato l'evento **emitSearchRequest** con la vista del separatore
|
|
1048
|
-
*/
|
|
1049
|
-
onGroupItemsPerPageChanged(pager: GroupPager, newIpp: number): void;
|
|
1050
|
-
/**
|
|
1051
|
-
* Effettua l'esportazione dei dati
|
|
1052
|
-
*
|
|
1053
|
-
* @param {string} format Formato di esportazione. Letto solo in modalità Report della tabella
|
|
1054
|
-
*/
|
|
1055
|
-
tryExport(format?: string): void;
|
|
1056
|
-
/**
|
|
1057
|
-
* Metodo che effettivamente genera gli header e i dati per l'esportazione con **ngx-csv**
|
|
1058
|
-
*
|
|
1059
|
-
* @param {any[]} items Oggetti da esportare
|
|
1060
|
-
*/
|
|
1061
|
-
private setupExport;
|
|
1062
|
-
/**
|
|
1063
|
-
* Sul click dell'Header di una colonna questo metodo si occupa di applicare l'ordinamento successivo e di notificare con **emitSearchRequest**
|
|
1064
|
-
* il bisogno di aggiornare i dati da parte del componente che utilizza la tabella
|
|
1065
|
-
*
|
|
1066
|
-
* Utilizzato solo in modalità REport
|
|
1067
|
-
*
|
|
1068
|
-
* @param {ReportColumn} clm Colonna del report per cui ordinare
|
|
1069
|
-
*/
|
|
1070
|
-
setupNextOrderAndSearch(clm: ReportColumn): void;
|
|
1071
|
-
/**
|
|
1072
|
-
* Metodo che si occupa di gestire la grafica della tabella in base alle informazioni di ordinamento colonne e paginazione contenuti nel modello
|
|
1073
|
-
*/
|
|
1074
|
-
private reviewReportBindings;
|
|
1075
|
-
/**
|
|
1076
|
-
* Metodo che gestisce la modifica del tempo specificato per l'aggiornamento automatico
|
|
1077
|
-
*/
|
|
1078
|
-
autoUpdateChanged(): void;
|
|
1079
|
-
/**
|
|
1080
|
-
* Metodo chiamato dal click su una delle colonne generate dall'Input **DynamicOperations**
|
|
1081
|
-
*
|
|
1082
|
-
* @param {any} item L'oggetto su cui va effettuata l'operazione
|
|
1083
|
-
* @param {string} opid Codice identificativo dell'operazione da effettuarsi
|
|
1084
|
-
*/
|
|
1085
|
-
dynamicOperation(item: any, opid: string): void;
|
|
1086
|
-
/**
|
|
1087
|
-
* Ottiene il contenuto dell'EsTd da utilizzare per la colonna specificata
|
|
1088
|
-
*
|
|
1089
|
-
* @param {string} column Colonna per cui cercare la cella
|
|
1090
|
-
*
|
|
1091
|
-
* @returns {TemplateRef<any>} Template da usare per la colonna
|
|
1092
|
-
*/
|
|
1093
|
-
findEsTd(column: string): TemplateRef<any>;
|
|
1094
|
-
/**
|
|
1095
|
-
* Metodo di supporto alla creazione di un router link parametrizzato all'oggetto corrente utilizzato nella modalità dinamica
|
|
1096
|
-
*
|
|
1097
|
-
* @param {string} path Path su cui navigare con eventuali parametri riferiti all'oggetto cotnestuale come {0}, {1}, ecc...
|
|
1098
|
-
* @param {string[]} parameterProps Lista posizionale delle proprietà a cui bindare i riferimenti del parametro **path**
|
|
1099
|
-
* Es. Il valore dela proprietà all'indice 0 di questo array verrà sostituita al valore {0} del parametro **path**
|
|
1100
|
-
* @param {GenericItem} item Oggetto generico collegato a questo contesto
|
|
1101
|
-
*
|
|
1102
|
-
* @returns {any} Router link generato in base al parametri
|
|
1103
|
-
*/
|
|
1104
|
-
generateRouterLink(path: string, parameterProps: string[], item: GenericItem): any;
|
|
1105
|
-
/**
|
|
1106
|
-
* Crea un router link
|
|
1107
|
-
*
|
|
1108
|
-
* @param {string} path Path su cui navigare con eventuali parametri riferiti all'oggetto cotnestuale come {0}, {1}, ecc...
|
|
1109
|
-
* @param {string[]} pars Lista posizionale delle proprietà a cui bindare i riferimenti del parametro **path**
|
|
1110
|
-
* Es. Il valore dela proprietà all'indice 0 di questo array verrà sostituita al valore {0} del parametro **path**
|
|
1111
|
-
* @param {GenericItem} item Oggetto generico collegato a questo contesto
|
|
1112
|
-
*
|
|
1113
|
-
* @returns {any} Router link generato in base al parametri
|
|
1114
|
-
*/
|
|
1115
|
-
private getRouterLink;
|
|
1116
|
-
/**
|
|
1117
|
-
* Equivalente del metodo **addToPage** riadattato per la modalità array
|
|
1118
|
-
*
|
|
1119
|
-
* @param {number} page Numero di pagine da aggiungere (o sottrarre, se negativo) alla pagina attuale
|
|
1120
|
-
*/
|
|
1121
|
-
arrayAddToPage(page: number): void;
|
|
1122
|
-
/**
|
|
1123
|
-
* Equivalente del metodo **goToPage** riadattato per la modalità array
|
|
1124
|
-
*
|
|
1125
|
-
* @param {number} page Pagina a cui navigare
|
|
1126
|
-
*/
|
|
1127
|
-
arrayGoToPage(page: number): void;
|
|
1128
|
-
/**
|
|
1129
|
-
* Metodo per effettuare il refresh della paginazione sul cambiamento degli oggetti da visualizzare in una singola pagina.
|
|
1130
|
-
*
|
|
1131
|
-
* Vale solo per la modalità Array
|
|
1132
|
-
*
|
|
1133
|
-
* @param {number} pageSize Dimensione della pagina
|
|
1134
|
-
*/
|
|
1135
|
-
refreshPaging(pageSize: number): void;
|
|
1136
|
-
/**
|
|
1137
|
-
* Genera le informazioni di paginazione e taglia la View in modalità array per mostrare solo gli oggetti della pagina specificata
|
|
1138
|
-
*/
|
|
1139
|
-
private adaptViewToPaging;
|
|
1140
|
-
/**
|
|
1141
|
-
* Gestore dei click sulle celle per le quali era impostata una azione custom da **CustomCellActionsOn**
|
|
1142
|
-
*
|
|
1143
|
-
* @param {string} name Nome della cella su cui si è fatto click
|
|
1144
|
-
* @param {any} model Modello relativo alla cella cliccata
|
|
1145
|
-
*
|
|
1146
|
-
* @returns {boolean} **true** se il click è stato fatto su una cella cliccabile, **false** altrimenti
|
|
1147
|
-
*/
|
|
1148
|
-
cellClicked(name: string, model: any): boolean;
|
|
1149
|
-
/**
|
|
1150
|
-
* Gestione dei click sulle opzioni del menù contestuale in alto a destra generato dall'Input **CornerMenuOptions**
|
|
1151
|
-
*
|
|
1152
|
-
* @param {string} cornerid Codice dell'operazione selezionata
|
|
1153
|
-
*/
|
|
1154
|
-
cornerActionClicked(cornerid: string): void;
|
|
1155
|
-
/** Helper che identifica se il td attuale è di tipo **EsTd**. In caso contrario è da considerarsi **EsTdDirective** */
|
|
1156
|
-
private isEsTd;
|
|
1157
|
-
/** Helper che identifica se il th attuale è di tipo **EsTh**. In caso contrario è da considerarsi **EsThDirective** */
|
|
1158
|
-
private isEsTh;
|
|
1159
|
-
/** Impostazione modalità dell'EsTable */
|
|
1160
|
-
private setMode;
|
|
1161
|
-
/**
|
|
1162
|
-
* Helper per effettuare chiamate interne di allineamento alla funzione **writeValue**,
|
|
1163
|
-
* impostando prima **internalWriteCall** in modo da non effettuare operazioni inutili
|
|
1164
|
-
*/
|
|
1165
|
-
private internalWriteValue;
|
|
1166
|
-
/**
|
|
1167
|
-
* Date le informazioni di paginazione ottiene l'array dei pulsanti
|
|
1168
|
-
*
|
|
1169
|
-
* @param {number} maxBtns Numero massimo di pulsanti da visualizzare
|
|
1170
|
-
* @param {number} page Pagina corrente
|
|
1171
|
-
* @param {number} lastPage Ultima pagina disponibile
|
|
1172
|
-
*
|
|
1173
|
-
* @returns {any[]} Pseudo-array di pulsanti a cui ci si può bindare lato HTML
|
|
1174
|
-
*/
|
|
1175
|
-
private getPagesArray;
|
|
1176
|
-
/**
|
|
1177
|
-
* Calcola l'hash di un oggetto qualsiasi
|
|
1178
|
-
*
|
|
1179
|
-
* @param {any[]} items Oggetti per cui calcolare l'hash
|
|
1180
|
-
*/
|
|
1181
|
-
private calculateHash;
|
|
1182
|
-
/**
|
|
1183
|
-
* Metodo eventualmente richiamabile anche dal componente esterno che permette di forzare un refresh della tabella
|
|
1184
|
-
*/
|
|
1185
|
-
forceRefresh(): void;
|
|
1186
|
-
}
|