@esfaenza/es-table 11.2.34 → 11.2.37-beta2

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 (29) hide show
  1. package/bundles/esfaenza-es-table.umd.js +333 -586
  2. package/bundles/esfaenza-es-table.umd.js.map +1 -1
  3. package/bundles/esfaenza-es-table.umd.min.js +1 -1
  4. package/bundles/esfaenza-es-table.umd.min.js.map +1 -1
  5. package/esfaenza-es-table.d.ts +2 -2
  6. package/esfaenza-es-table.metadata.json +1 -1
  7. package/esm2015/esfaenza-es-table.js +3 -3
  8. package/esm2015/lib/components/es-table/es_table.component.js +37 -170
  9. package/esm2015/lib/components/es-td/es_td.component.js +1 -35
  10. package/esm2015/lib/core/handlers/classes/ColumnMetadataHandler.js +44 -96
  11. package/esm2015/lib/core/handlers/classes/ItemsHandler.js +1 -19
  12. package/esm2015/lib/core/handlers/classes/RowGroupingHandler.js +2 -4
  13. package/esm2015/lib/core/handlers/classes/UtilitiesHandler.js +1 -15
  14. package/esm2015/lib/domain/internals/classes/TdElement.js +2 -0
  15. package/esm2015/lib/domain/internals/index.js +2 -1
  16. package/esm2015/lib/es-table.module.js +2 -2
  17. package/esm2015/public-api.js +3 -3
  18. package/fesm2015/esfaenza-es-table.js +315 -566
  19. package/fesm2015/esfaenza-es-table.js.map +1 -1
  20. package/lib/components/es-table/es_table.component.d.ts +8 -64
  21. package/lib/components/es-td/es_td.component.d.ts +0 -2
  22. package/lib/core/handlers/classes/ColumnMetadataHandler.d.ts +15 -16
  23. package/lib/core/handlers/classes/ItemsHandler.d.ts +0 -6
  24. package/lib/core/handlers/classes/RowGroupingHandler.d.ts +2 -3
  25. package/lib/core/handlers/classes/UtilitiesHandler.d.ts +0 -16
  26. package/lib/domain/internals/classes/TdElement.d.ts +19 -0
  27. package/lib/domain/internals/index.d.ts +1 -0
  28. package/package.json +2 -2
  29. package/public-api.d.ts +2 -2
@@ -4,8 +4,7 @@ import { UtilityService, ExportService, MessageService, DateService, CsvHeaders
4
4
  import { LocalizationService } from '@esfaenza/localizations';
5
5
  import { PreferencesService } from '@esfaenza/preferences';
6
6
  import { ContextMenuComponent } from '@esfaenza/ngx-contextmenu';
7
- import { AppSearch, AppOrdering, EsTableColumnsDefinition, CornerMenuOption, ReportResult, EsTableOperationDefinition, EsTableColumn, GroupPager, GroupRouteFragment, ThElement } from '../../domain';
8
- import { EsTd } from '../es-td/es_td.component';
7
+ import { AppSearch, AppOrdering, EsTableColumnsDefinition, CornerMenuOption, ReportResult, EsTableOperationDefinition, EsTableColumn, GroupPager, GroupRouteFragment, ThElement, TdElement } from '../../domain';
9
8
  import { EsTdDirective } from '../../directives/es_td.directive';
10
9
  import { EsThDirective } from '../../directives/es_th.directive';
11
10
  import { ItemsSelection } from '../../domain/externals/classes/appsearch/ItemsSelection';
@@ -66,8 +65,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
66
65
  addedSlices: number[];
67
66
  /** Variabile che identifica il valore del "seleziona Tutto" nella paginazione */
68
67
  defaultAllPageOverride: number;
69
- /** Indica se utilizzare il sistema di Endless Scroll */
70
- UseEndlessscroll: boolean;
71
68
  /** Valori dell'eventuale report in visualizzazione */
72
69
  ReportValues: ReportResult;
73
70
  /** Serve per tenere in memoria il conteggio precedente e recuperarlo in caso diventi -2 (verificare con Ale perché la logica del -2) */
@@ -82,11 +79,11 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
82
79
  researchInProgress: boolean;
83
80
  /** Modello rappresentante un singolo td della tabella, generato in base alle configurazioni e agli oggetti ricevuti */
84
81
  RowTDs: {
85
- [context: string]: EsTd[];
82
+ [context: string]: TdElement[];
86
83
  };
87
84
  /** Modello di appoggio temporaneo per i **RowTDs** */
88
85
  TMPRowTDs: {
89
- [context: string]: EsTd[];
86
+ [context: string]: TdElement[];
90
87
  };
91
88
  /** Modello rappresentante un singolo th della tabella, generato in base alle configurazioni e agli oggetti ricevuti */
92
89
  RowTHs: ThElement[];
@@ -132,13 +129,9 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
132
129
  EsTdsDirective: QueryList<EsTdDirective>;
133
130
  /** Query per recuperare tutti gli es-td assegnati a direttiva (Per la modalità dinamica dell'es-table) */
134
131
  EsThsDirective: QueryList<EsThDirective>;
135
- /** @deprecated Query per recuperare tutti gli es-th */
136
- private EsThs;
137
- /** @deprecated Query per recuperare tutti gli es-td */
138
- private EsTds;
139
- /** @deprecated Query per recuperare le informazioni del body (punto della tabella dove vengono mostrate le righe) */
132
+ /** Query per recuperare le informazioni del body (punto della tabella dove vengono mostrate le righe) */
140
133
  bodyRef: any;
141
- /** @deprecated Query per recuperare le informazioni dell'header (punto della tabella dove vengono mostrate le intestazioni delle righe) */
134
+ /** Query per recuperare le informazioni dell'header (punto della tabella dove vengono mostrate le intestazioni delle righe) */
142
135
  headerRef: any;
143
136
  /** Query per recuperare le informazioni sul raggruppamento degli header */
144
137
  headerGroupRef: any;
@@ -150,26 +143,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
150
143
  ColumnsResizable: boolean;
151
144
  /** Indica se dev'essere disponibile il sistema di aggiornamento automatico */
152
145
  AutoUpdate: boolean;
153
- /** Indica se la tabella (configurata con **UseCustomCells**) deve mettersi in ascolto per i click sulle celle desiderate
154
- *
155
- * @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
156
- */
157
- UseCustomCellActions: boolean;
158
- /**
159
- * Indica le celle desiderate su cui intercettare i click. Attiva solo quando **UseCustomCellActions** è true.
160
- * Ogni cella dev'essere separata dalla successiva dal carattere del Simoleon:
161
- *
162
- * Es, "MiaCella1§MiaCella2"
163
- *
164
- * @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
165
- */
166
- CustomCellActionsOn: string;
167
- /**
168
- * Serve per decidere di lanciare o meno il **event.stopPropagation()** al termine della gestione dell'evento
169
- *
170
- * @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
171
- */
172
- CellActionPropagates: boolean;
173
146
  /**
174
147
  * Decide se utilizzare o meno le CustomCells. Impostandolo a **true** l'es-table diventa in grado di gestire nativamente:
175
148
  *
@@ -234,12 +207,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
234
207
  HasHeaderGroup: boolean;
235
208
  /** Indica la presenza di raggruppamenti a livello del raggruppamento precedentemente esistente, chiaramente è insensata senza **HasHeaderGroup** */
236
209
  HasSecondaryHeaderGroup: boolean;
237
- /** Utilizzato per dividere la sorgente in modalità EndlessScroll */
238
- SliceSize: number;
239
- /** Decide se utilizzare la modalità di EndlessScroll */
240
- EndlessScroll: boolean;
241
- /** Qualora **EndlessScroll** fosse true, indica se utilizzare questa modalità solo quando si cerca per "Tutti" o in generale */
242
- EndlessScrollOnlyForAll: boolean;
243
210
  /** Indica se nascondere gli Header della tabella */
244
211
  HeaderHidden: boolean;
245
212
  /** Indica se nascondere il Body della tabella */
@@ -322,14 +289,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
322
289
  onRemoval: EventEmitter<any>;
323
290
  /** Evento richiamato all'annullamento di un'eliminazione */
324
291
  onAbortRemoval: EventEmitter<any>;
325
- /** Evento richiamato al click su una cella quando **UseCustomCellActions** è attivo
326
- *
327
- * @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
328
- */
329
- onCellClick: EventEmitter<{
330
- column: string;
331
- model: any;
332
- }>;
333
292
  /** Evento richiamato quando si clicca su un opzione definita nelle **CornerMenuOptions** */
334
293
  onCornerAction: EventEmitter<{
335
294
  id: string;
@@ -450,12 +409,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
450
409
  private finalizeContext;
451
410
  /** Genera le informzioni di paginazione per la vista globale dell'es-table */
452
411
  private setupPagingInformations;
453
- /**
454
- * Metodo che gestisce l'endless scroll e in base a quanto la tabella è stata scrollata aggiunge degli elementi extra a **TMPBoundSource**
455
- *
456
- * @param {any} e Evento di scroll del browser
457
- */
458
- onScroll(e: any): void;
459
412
  /**
460
413
  * Metodo lanciato dopo che la sorgente dati è stata correttamente bindata, si occupa di ricalcolare tutto ciò che serve
461
414
  * all'es-table per renderizzare i valori da mostrare
@@ -499,8 +452,8 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
499
452
  *
500
453
  * Costo: 2 scan EsThs, 1 scan EsTds
501
454
  *
502
- * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
503
- * @param {EsTd[] | EsTdDirective[]} tds Celle della tabella
455
+ * @param {EsThDirective[]} ths Colonne della tabella
456
+ * @param {EsTdDirective[]} tds Celle della tabella
504
457
  */
505
458
  private evaluateRowTds;
506
459
  /**
@@ -510,7 +463,7 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
510
463
  *
511
464
  * Costo: 1 scan EsThs
512
465
  *
513
- * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
466
+ * @param {EsThDirective[]} ths Colonne della tabella
514
467
  */
515
468
  private evaluateRowThs;
516
469
  /**
@@ -599,15 +552,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
599
552
  * @param {number} page Pagina a cui navigare
600
553
  */
601
554
  arrayGoToPage(page: number): void;
602
- /**
603
- * Gestore dei click sulle celle per le quali era impostata una azione custom da **CustomCellActionsOn**
604
- *
605
- * @param {string} name Nome della cella su cui si è fatto click
606
- * @param {any} model Modello relativo alla cella cliccata
607
- *
608
- * @returns {boolean} **true** se il click è stato fatto su una cella cliccabile, **false** altrimenti
609
- */
610
- cellClicked(name: string, model: any): boolean;
611
555
  /**
612
556
  * Gestione dei click sulle opzioni del menù contestuale in alto a destra generato dall'Input **CornerMenuOptions**
613
557
  *
@@ -40,6 +40,4 @@ export declare class EsTd {
40
40
  get Visible(): boolean;
41
41
  /** @ignore */
42
42
  ngAfterViewInit(): void;
43
- /** Ottiene il contesto della view su cui è istanziato il componente */
44
- private getTemplateContext;
45
43
  }
@@ -1,7 +1,6 @@
1
1
  import { UtilityService } from "@esfaenza/extensions";
2
2
  import { PreferencesService } from "@esfaenza/preferences";
3
3
  import { EsTd } from "../../../components/es-td/es_td.component";
4
- import { EsTh } from "../../../components/es-th/es_th.component";
5
4
  import { EsTableComponent } from "../../../components/es-table/es_table.component";
6
5
  import { EsTdDirective } from "../../../directives/es_td.directive";
7
6
  import { EsThDirective } from "../../../directives/es_th.directive";
@@ -29,13 +28,13 @@ export declare class ColumnMetadataHandler {
29
28
  *
30
29
  * Costo: 1 scan EsThs
31
30
  *
32
- * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
31
+ * @param {EsThDirective[]} ths Colonne della tabella
33
32
  */
34
- reviewColumnsList(ths: EsTh[] | EsThDirective[]): void;
33
+ reviewColumnsList(ths: EsThDirective[]): void;
35
34
  /**
36
35
  * Prende i th e i td in modalità diretive e li ordina in base a se ci sono colonne fixed o meno
37
36
  */
38
- moveFixedColumnsAtTheBeginning(ths: EsTh[] | EsThDirective[], tds: EsTd[] | EsTdDirective[]): void;
37
+ moveFixedColumnsAtTheBeginning(ths: EsThDirective[], tds: EsTd[] | EsTdDirective[]): void;
39
38
  /** In base alla configurazione delle colonne calcola le dimenioni delle colonne pinnate */
40
39
  evaluatePinnedColumnsWidth(): void;
41
40
  /**
@@ -50,28 +49,28 @@ export declare class ColumnMetadataHandler {
50
49
  *
51
50
  * Costo: 1 scan ColumnsList, 1 scan EsThs, 1 scan EsTds
52
51
  *
53
- * @param {EsTh[] | EsThDirective[]} ths Header della tabella
54
- * @param {EsTd[] | EsTdDirective[]} tds Celle della tabella
52
+ * @param {EsThDirective[]} ths Header della tabella
53
+ * @param {EsTdDirective[]} tds Celle della tabella
55
54
  * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
56
55
  */
57
- refreshColumnsVisibility(ths: EsTh[] | EsThDirective[], tds: EsTd[] | EsTdDirective[], view: AppSearch<any>): void;
56
+ refreshColumnsVisibility(ths: EsThDirective[], tds: EsTdDirective[], view: AppSearch<any>): void;
58
57
  /**
59
58
  * Allinea gli ordinamenti dati fra le **EsThs** e le informazioni all'interno della View bindata
60
59
  *
61
60
  * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
62
- * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
61
+ * @param {EsThDirective[]} ths Colonne della tabella
63
62
  */
64
- alignHeadersOrdering(ths: EsTh[] | EsThDirective[], view: AppSearch<any>): void;
63
+ alignHeadersOrdering(ths: EsThDirective[], view: AppSearch<any>): void;
65
64
  /**
66
65
  * Genera tutte le informazioni che servono per gestire il raggruppamento degli header
67
66
  *
68
- * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
67
+ * @param {EsThDirective[]} ths Colonne della tabella
69
68
  *
70
- * @returns {{ leafs: EsTh[] | EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} Oggetto contenente la lista delle foglie (header base), il livello
69
+ * @returns {{ leafs: EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} Oggetto contenente la lista delle foglie (header base), il livello
71
70
  * massimo di raggruppamento raggiunto, una cache in cui vengono indicati tutti i gruppi che sono "parent" (quindi che raggruppano almeno 1 header) e la cache degli header
72
71
  */
73
- evaluateHeadersGroupingInfos(ths: EsTh[] | EsThDirective[]): {
74
- leafs: EsTh[] | EsThDirective[];
72
+ evaluateHeadersGroupingInfos(ths: EsThDirective[]): {
73
+ leafs: EsThDirective[];
75
74
  groupingLevel: number;
76
75
  parentsCache: any;
77
76
  thsCache: any;
@@ -79,10 +78,10 @@ export declare class ColumnMetadataHandler {
79
78
  /**
80
79
  * Genera gli header groups da una lista di info sui th all'interno della variabile **TMPRowThGroups**
81
80
  *
82
- * @param {{ leafs: EsTh[] | EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} infos Informazioni di raggruppamento valutate precedentemente
81
+ * @param {{ leafs: EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} infos Informazioni di raggruppamento valutate precedentemente
83
82
  */
84
83
  evaluateHeaderGroups(infos: {
85
- leafs: EsTh[] | EsThDirective[];
84
+ leafs: EsThDirective[];
86
85
  groupingLevel: number;
87
86
  parentsCache: any;
88
87
  thsCache: any;
@@ -99,7 +98,7 @@ export declare class ColumnMetadataHandler {
99
98
  *
100
99
  * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
101
100
  */
102
- generateDefaultOrder(ths: EsTh[] | EsThDirective[], view: AppSearch<any>): void;
101
+ generateDefaultOrder(ths: EsThDirective[], view: AppSearch<any>): void;
103
102
  /**
104
103
  * Applica l'ordine specificato alle varie colonne
105
104
  *
@@ -30,12 +30,6 @@ export declare class ItemsHandler {
30
30
  private getViewItemsBySource;
31
31
  /** Genera le informazioni di paginazione e taglia la View in modalità array per mostrare solo gli oggetti della pagina specificata */
32
32
  private adaptViewToPaging;
33
- /**
34
- * Metodo che prende tutti gli oggetti di cui dispone divisi in bucket da 100 elementi
35
- *
36
- * @returns {any[][]} Matrice di array Nx100
37
- */
38
- getItemSlices(): any[][];
39
33
  /** Se in modalità array applica gli ordinamenti ASC-DESC delle colonne */
40
34
  arrayModeReviewOrderings(): void;
41
35
  }
@@ -1,5 +1,4 @@
1
1
  import { DateService } from "@esfaenza/extensions";
2
- import { EsTh } from "../../../components/es-th/es_th.component";
3
2
  import { EsThDirective } from "../../../directives/es_th.directive";
4
3
  import { EsTableComponent } from "../../../components/es-table/es_table.component";
5
4
  import { AppOrdering, AppSearch, Group, GroupOrAggregation, GroupPager, GroupRouteFragment } from "../../../domain";
@@ -31,9 +30,9 @@ export declare class RowGroupingHandler {
31
30
  /**
32
31
  * Se in modalità array applica i raggruppamenti definiti lato row-grouping
33
32
  *
34
- * @param {ths: EsTh[] | EsThDirective[]} ths Header
33
+ * @param {ths: EsThDirective[]} ths Header
35
34
  */
36
- arrayModeReviewGroupings(ths: EsTh[] | EsThDirective[]): void;
35
+ arrayModeReviewGroupings(ths: EsThDirective[]): void;
37
36
  /**
38
37
  * Data una direttiva EsTh restituisce la lista delle aggregazioni richiesta per questa colonna o il gruppo che rappresenta
39
38
  *
@@ -1,6 +1,4 @@
1
1
  import { HashingService } from "@esfaenza/extensions";
2
- import { EsTd } from "../../../components/es-td/es_td.component";
3
- import { EsTh } from "../../../components/es-th/es_th.component";
4
2
  /** Classe di utilità per le cose comuni */
5
3
  export declare class UtilitiesHandler {
6
4
  private hashExts;
@@ -26,20 +24,6 @@ export declare class UtilitiesHandler {
26
24
  cacheAggregations(group: any): void;
27
25
  /** Helper per spostare un oggetto di un array da un indice all'altro, in place */
28
26
  arrayMove(array: any[], oldI: number, newI: number): void;
29
- /**
30
- * Helper che identifica se il td attuale è di tipo **EsTd**. In caso contrario è da considerarsi **EsTdDirective**
31
- *
32
- * @param {any} td Cella da valutare
33
- * @returns {boolean} Restituisce **true** se il **td** è di tipo **EsTd**, **false** se è di tipo **EsTdDirective**
34
- */
35
- isEsTd(td: any): td is EsTd;
36
- /**
37
- * Helper che identifica se il th attuale è di tipo **EsTh**. In caso contrario è da considerarsi **EsThDirective**
38
- *
39
- * @param {any} td Header da valutare
40
- * @returns {boolean} Restituisce **true** se il **th** è di tipo **EsTh**, **false** se è di tipo **EsThDirective**
41
- */
42
- isEsTh(th: any): th is EsTh;
43
27
  /**
44
28
  * Date le informazioni di paginazione ottiene l'array dei pulsanti
45
29
  *
@@ -0,0 +1,19 @@
1
+ import { SafeHtml } from "@angular/platform-browser";
2
+ export interface TdElement {
3
+ /** Id della cella, dev'essere lo stesso della colonna **EsTh** relativa */
4
+ ID: string;
5
+ /** Indica se è una cella interna (rigenerata programmaticamente) o no */
6
+ Internal?: boolean;
7
+ /** RouterLink qualora il click su questa cella debba navigare da qualche parte */
8
+ RouterLink?: any;
9
+ /** Valore da mostrare all'interno della cella. Se omesso verrà proiettato il contenuto dal template in cui è stata usata */
10
+ Display?: string;
11
+ /** Template Angular da istanziare per questo TD */
12
+ Template?: any;
13
+ /** Classi da applicare alla cella */
14
+ Class?: string;
15
+ /** Contenuto da mostrare proiettato dal componente padre */
16
+ Content?: SafeHtml;
17
+ /** Contesto dell'oggetto a cui si riferisce il dato visualizzato. Contiene l'hash dell'oggetto in questione */
18
+ Context: string;
19
+ }
@@ -4,3 +4,4 @@ export * from "./classes/GroupPager";
4
4
  export * from "./classes/GroupRouteFragment";
5
5
  export * from "./classes/ThAggregation";
6
6
  export * from "./classes/ThElement";
7
+ export * from "./classes/TdElement";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/es-table",
3
- "version": "11.2.34",
3
+ "version": "11.2.37-beta2",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },
@@ -12,7 +12,7 @@
12
12
  "@esfaenza/localizations": "^11.2.6",
13
13
  "@ctrl/ngx-csv": "4.0.0",
14
14
  "@esfaenza/ngx-contextmenu": "^11.2.5",
15
- "@esfaenza/preferences": "^11.2.7",
15
+ "@esfaenza/preferences": "^11.2.18",
16
16
  "ngx-toastr": "13.2.1",
17
17
  "ngx-bootstrap": "7.0.0",
18
18
  "exceljs": "4.3.0",
package/public-api.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './lib/components/es-table/es_table.component';
2
- export * from './lib/components/es-th/es_th.component';
3
- export * from './lib/components/es-td/es_td.component';
2
+ export * from './lib/directives/es_td.directive';
3
+ export * from './lib/directives/es_th.directive';
4
4
  export * from './lib/domain/configuration/EsTableModuleConfig';
5
5
  export * from './lib/domain/configuration/EsTableDefaultable';
6
6
  export * from './lib/es-table.module';