@esfaenza/es-table 13.3.2 → 14.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/esm2020/lib/components/es-table/es_table.component.loc.mjs +7 -5
  2. package/esm2020/lib/components/es-table/es_table.component.mjs +309 -76
  3. package/esm2020/lib/components/es-table-template/es_table_template.component.mjs +21 -0
  4. package/esm2020/lib/components/es-td/es_td.component.mjs +21 -9
  5. package/esm2020/lib/components/es-th/es_th.component.mjs +4 -4
  6. package/esm2020/lib/components/pager/table_pager.component.loc.mjs +4 -4
  7. package/esm2020/lib/components/pager/table_pager.component.mjs +9 -9
  8. package/esm2020/lib/core/CopyPasteDetector.mjs +25 -0
  9. package/esm2020/lib/core/handlers/ColumnMetadataHandler.mjs +34 -15
  10. package/esm2020/lib/core/handlers/ExportHandler.mjs +12 -3
  11. package/esm2020/lib/core/handlers/ItemsHandler.mjs +13 -5
  12. package/esm2020/lib/core/handlers/ReportModeHandler.mjs +10 -1
  13. package/esm2020/lib/core/handlers/SelectionHandler.mjs +263 -1
  14. package/esm2020/lib/core/handlers/UtilitiesHandler.mjs +6 -4
  15. package/esm2020/lib/directives/es_td.directive.mjs +10 -6
  16. package/esm2020/lib/directives/es_td_editor.directive.mjs +24 -0
  17. package/esm2020/lib/directives/es_th.directive.mjs +19 -9
  18. package/esm2020/lib/domain/externals/EsTableColumnsDefinition.mjs +34 -22
  19. package/esm2020/lib/domain/externals/EsTableModelChange.mjs +19 -0
  20. package/esm2020/lib/domain/externals/ItemPropEditableReference.mjs +4 -0
  21. package/esm2020/lib/domain/externals/appsearch/AppSearch.mjs +32 -14
  22. package/esm2020/lib/domain/internals/EsTableColumn.mjs +2 -1
  23. package/esm2020/lib/domain/internals/GroupPager.mjs +4 -3
  24. package/esm2020/lib/domain/internals/TdElement.mjs +1 -1
  25. package/esm2020/lib/domain/internals/ThElement.mjs +1 -1
  26. package/esm2020/lib/domain/types.mjs +2 -0
  27. package/esm2020/lib/es-table.module.mjs +27 -21
  28. package/esm2020/public-api.mjs +6 -1
  29. package/fesm2015/esfaenza-es-table.mjs +892 -193
  30. package/fesm2015/esfaenza-es-table.mjs.map +1 -1
  31. package/fesm2020/esfaenza-es-table.mjs +878 -192
  32. package/fesm2020/esfaenza-es-table.mjs.map +1 -1
  33. package/{esfaenza-es-table.d.ts → index.d.ts} +0 -0
  34. package/lib/components/es-table/es_table.component.d.ts +103 -30
  35. package/lib/components/es-table-template/es_table_template.component.d.ts +18 -0
  36. package/lib/components/es-td/es_td.component.d.ts +12 -4
  37. package/lib/components/es-th/es_th.component.d.ts +1 -1
  38. package/lib/components/pager/table_pager.component.d.ts +1 -1
  39. package/lib/core/CopyPasteDetector.d.ts +13 -0
  40. package/lib/core/handlers/ColumnMetadataHandler.d.ts +7 -0
  41. package/lib/core/handlers/ItemsHandler.d.ts +1 -1
  42. package/lib/core/handlers/ReportModeHandler.d.ts +9 -0
  43. package/lib/core/handlers/SelectionHandler.d.ts +77 -0
  44. package/lib/directives/es_td.directive.d.ts +4 -2
  45. package/lib/directives/es_td_editor.directive.d.ts +14 -0
  46. package/lib/directives/es_th.directive.d.ts +12 -11
  47. package/lib/domain/externals/EsTableColumnsDefinition.d.ts +43 -21
  48. package/lib/domain/externals/EsTableModelChange.d.ts +17 -0
  49. package/lib/domain/externals/ItemPropEditableReference.d.ts +30 -0
  50. package/lib/domain/externals/appsearch/AppSearch.d.ts +15 -2
  51. package/lib/domain/internals/EsTableColumn.d.ts +1 -0
  52. package/lib/domain/internals/GroupPager.d.ts +3 -2
  53. package/lib/domain/internals/TdElement.d.ts +10 -5
  54. package/lib/domain/internals/ThElement.d.ts +5 -0
  55. package/lib/domain/types.d.ts +2 -0
  56. package/lib/es-table.module.d.ts +17 -14
  57. package/package.json +14 -14
  58. package/public-api.d.ts +5 -0
File without changes
@@ -1,6 +1,6 @@
1
1
  import { QueryList, ChangeDetectorRef, EventEmitter, OnChanges, SimpleChanges, ElementRef, TemplateRef } from '@angular/core';
2
2
  import { ControlValueAccessor, NgControl } from '@angular/forms';
3
- import { UtilityService, ExportService, MessageService, DateService, CsvHeaders } from '@esfaenza/extensions';
3
+ import { UtilityService, ExportService, MessageService, DateService, CsvHeaders, ClipboardService } from '@esfaenza/extensions';
4
4
  import { LocalizationService } from '@esfaenza/localizations';
5
5
  import { PreferencesService } from '@esfaenza/preferences';
6
6
  import { ContextMenuComponent } from '@esfaenza/ngx-contextmenu';
@@ -16,9 +16,13 @@ import { ThElement } from "../../domain/internals/ThElement";
16
16
  import { TdElement } from "../../domain/internals/TdElement";
17
17
  import { ItemsSelection } from '../../domain/externals/appsearch/ItemsSelection';
18
18
  import { Group } from "../../domain/externals/appsearch/Group";
19
+ import { EsTableModelChange } from '../../domain/externals/EsTableModelChange';
20
+ import { ItemPropEditableReference } from '../../domain/externals/ItemPropEditableReference';
19
21
  import { EsTableDefaultable } from '../../domain/configuration/EsTableDefaultable';
20
22
  import { EsTdDirective } from '../../directives/es_td.directive';
21
23
  import { EsThDirective } from '../../directives/es_th.directive';
24
+ import { EsTdEditorDirective } from '../../directives/es_td_editor.directive';
25
+ import { IEsTableTemplateWrapper } from '../es-table-template/es_table_template.component';
22
26
  import { ExportHandler } from "../../core/handlers/ExportHandler";
23
27
  import { ColumnMetadataHandler } from "../../core/handlers/ColumnMetadataHandler";
24
28
  import { DynamicModeHandler } from "../../core/handlers/DynamicModeHandler";
@@ -28,7 +32,9 @@ import { ReportModeHandler } from "../../core/handlers/ReportModeHandler";
28
32
  import { RowGroupingHandler } from "../../core/handlers/RowGroupingHandler";
29
33
  import { SelectionHandler } from "../../core/handlers/SelectionHandler";
30
34
  import { UtilitiesHandler } from "../../core/handlers/UtilitiesHandler";
35
+ import { CopyPasteDetector } from '../../core/CopyPasteDetector';
31
36
  import { Subject } from 'rxjs';
37
+ import { EsTd } from '../es-td/es_td.component';
32
38
  import * as i0 from "@angular/core";
33
39
  /** Componente che permette di rappresentare una griglia di valori */
34
40
  export declare class EsTableComponent implements ControlValueAccessor, OnChanges {
@@ -39,27 +45,31 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
39
45
  lc: LocalizationService;
40
46
  cdr: ChangeDetectorRef;
41
47
  private utilities_H;
42
- private utiExts;
48
+ utiExts: UtilityService;
43
49
  private expExts;
44
- private dateExts;
50
+ dateExts: DateService;
45
51
  private msgExts;
46
- export_H: ExportHandler;
47
- columnMetadata_H: ColumnMetadataHandler;
48
- dynamicMode_H: DynamicModeHandler;
49
- hierarchyMode_H: HierarchyModeHandler;
50
- items_H: ItemsHandler;
51
- reportMode_H: ReportModeHandler;
52
- rowGrouping_H: RowGroupingHandler;
53
- selection_H: SelectionHandler;
52
+ private copyPasteDetector;
53
+ private clipboardService;
54
+ /** @ignore */ export_H: ExportHandler;
55
+ /** @ignore */ columnMetadata_H: ColumnMetadataHandler;
56
+ /** @ignore */ dynamicMode_H: DynamicModeHandler;
57
+ /** @ignore */ hierarchyMode_H: HierarchyModeHandler;
58
+ /** @ignore */ items_H: ItemsHandler;
59
+ /** @ignore */ reportMode_H: ReportModeHandler;
60
+ /** @ignore */ rowGrouping_H: RowGroupingHandler;
61
+ /** @ignore */ selection_H: SelectionHandler;
62
+ /** @ignore */ private copySubscription;
63
+ /** @ignore */ private pasteSubscription;
54
64
  /** @ignore */
55
- constructor(ngControl: NgControl, prefService: PreferencesService, deafults: EsTableDefaultable, locale: string, lc: LocalizationService, cdr: ChangeDetectorRef, utilities_H: UtilitiesHandler, utiExts: UtilityService, expExts: ExportService, dateExts: DateService, msgExts: MessageService);
65
+ constructor(ngControl: NgControl, prefService: PreferencesService, deafults: EsTableDefaultable, locale: string, lc: LocalizationService, cdr: ChangeDetectorRef, utilities_H: UtilitiesHandler, utiExts: UtilityService, expExts: ExportService, dateExts: DateService, msgExts: MessageService, copyPasteDetector: CopyPasteDetector, clipboardService: ClipboardService);
56
66
  /** Subject utilizzato internamente lato EsTable per causare il Focus lato componente di Input */
57
67
  FocusSubject: Subject<void>;
58
68
  /** Timer che verrà impostato a **doubleClickBufferMs** per capire se è stato effettuato un click singolo o un doubleclick */
59
69
  private cellDbClickTimer;
60
70
  /** Se vengono effettuati 2 click a distanza inferiore a questi Millisecondi viene considerato un doppio click */
61
71
  private doubleClickBufferMs;
62
- /** 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** */
72
+ /** View finale su cui bindarsi lato Frontend, il tipo può essere IAppSearch<any> (per la **viewMode**), any[] (per l'**arrayMode**) */
63
73
  View: any;
64
74
  /** Modello da cui l'es-table mostra i pulsanti di paginazione in basso a destra */
65
75
  arrayPulsanti: any;
@@ -148,10 +158,14 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
148
158
  TMPColumnsList: EsTableColumn[];
149
159
  /** Valore del check globale di visibilità valido per tutte le colonne in **ColumnsList** */
150
160
  globalColVisCheck: boolean;
161
+ /** Query per recuperare tutte le direttive per gli editor custom delle celle */
162
+ EsTdEditorDirectives: QueryList<EsTdEditorDirective>;
151
163
  /** Query per recuperare tutte le nuove direttive assegnati a direttiva (Per la modalità dinamica dell'es-table) */
152
164
  EsTdsDirective: QueryList<EsTdDirective>;
153
165
  /** Query per recuperare tutti gli es-td assegnati a direttiva (Per la modalità dinamica dell'es-table) */
154
166
  EsThsDirective: QueryList<EsThDirective>;
167
+ /** Input collegato a un template che contiene le direttive per renderizzare questa tabella. se ci sono **EsTdsDirective** e **EsThsDirective** questi hanno la priorità */
168
+ EsTableTemplate: IEsTableTemplateWrapper;
155
169
  /** Query per recuperare le informazioni del body (punto della tabella dove vengono mostrate le righe) */
156
170
  bodyRef: any;
157
171
  /** Query per recuperare le informazioni dell'header (punto della tabella dove vengono mostrate le intestazioni delle righe) */
@@ -170,6 +184,12 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
170
184
  ColumnsPinnable: boolean;
171
185
  /** Indica se dev'essere disponibile il sistema di aggiornamento automatico */
172
186
  AutoUpdate: boolean;
187
+ /**
188
+ * @experimental Indica se dev'essere l'estable a gestire la ricerca, anche la prima.
189
+ *
190
+ * **ATTENZIONE: RICHIEDE MODIFICHE NON TRIVIALI ALLA PAGINA DI RICERCA CHE UTILIZZA QUESTO TIPO DI ES-TABLE. NON UTILIZZARE SE NON SI SA CIO' CHE SI STA FACENDO**
191
+ **/
192
+ EsTableHandledSearch: boolean;
173
193
  /**
174
194
  * Decide se utilizzare o meno le CustomCells. Impostandolo a **true** l'es-table diventa in grado di gestire nativamente:
175
195
  *
@@ -289,7 +309,11 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
289
309
  /** Permette di decidere se, in modalità raggruppamento, mostrare o meno il valore delle colonne di gruppo negli oggetti finali. Di default sono nascosti */
290
310
  ShowItemGroupsColumns: any;
291
311
  /** Indica che tutti i campi che definiscono le modalità di modifica campo possono essere modificati in base alle impostazioni */
292
- UserEdits: boolean;
312
+ Editable: boolean;
313
+ /** Indica se è possibile effettuare selezioni a range per poi farci eventualmente copia incolla */
314
+ RangeSelection: boolean;
315
+ /** Indica il numero di millisecondi per cui debouncare il writeValue per la modalità **EsTableHandledSearch** */
316
+ SearchThrottle: number;
293
317
  /** Evento che viene richiamato al cambio di oridnamento di una colonna */
294
318
  onOrderChanged: EventEmitter<AppOrdering>;
295
319
  /**
@@ -308,6 +332,8 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
308
332
  onRemoval: EventEmitter<any>;
309
333
  /** Evento richiamato all'annullamento di un'eliminazione */
310
334
  onAbortRemoval: EventEmitter<any>;
335
+ /** Evento richiamato alla modifica dei modelli bindati */
336
+ onModelChange: EventEmitter<EsTableModelChange[]>;
311
337
  /** Evento richiamato quando si clicca su un opzione definita nelle **CornerMenuOptions** */
312
338
  onCornerAction: EventEmitter<{
313
339
  id: string;
@@ -389,6 +415,14 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
389
415
  ArrayGrouping: boolean;
390
416
  /** Indica che l'es-table è basata sulle direttive (nuova modalità) */
391
417
  DirectivesBased: boolean;
418
+ /** Indica lo stato di selezione per singola cella */
419
+ selectionStatus: {
420
+ [index: number]: {
421
+ [index: number]: ItemPropEditableReference;
422
+ };
423
+ };
424
+ /** Chiamata reale al writeValue dopo il passaggio di **SearchThrottle** millisecondi. Solo modalità EsTableHandledSearch */
425
+ private callTimeout;
392
426
  /** Opzioni di paginazione */
393
427
  PagerOptions: {
394
428
  PagerCount: number;
@@ -414,11 +448,11 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
414
448
  /** @ignore */
415
449
  registerOnTouched(fn: any): void;
416
450
  /** @ignore */
417
- changed(): void;
418
- /** @ignore */
419
451
  propagateChange: (_: any) => void;
420
452
  /** @ignore */
421
- writeValue(obj: any): Promise<void>;
453
+ changed(clearItems?: boolean): void;
454
+ /** @ignore */
455
+ writeValue(obj: any, throttle?: boolean): Promise<void>;
422
456
  /** Funzione di trackby per il body che dovrebbe evitare il 90% delle change detection */
423
457
  bodyTrackBy: (index: number, item: any) => any;
424
458
  /**
@@ -508,6 +542,8 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
508
542
  */
509
543
  goToPageGroup(page: number, pager: GroupPager): void;
510
544
  /**
545
+ * @TODO Spostare in SelectionHandler
546
+ *
511
547
  * Gestisce i click sulla tabella solo per le righe a gruppo.
512
548
  * O rimuove gli elementi attualmente presenti o carica il contenuto del gruppo
513
549
  *
@@ -523,6 +559,8 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
523
559
  */
524
560
  globalCheckChanged(forcedVal?: boolean): void;
525
561
  /**
562
+ * @TODO Spostare in SelectionHandler
563
+ *
526
564
  * Gestisce i click sulla tabella, gestendo eventualmente anche gli Shift + Click per selezionare un range di oggetti
527
565
  *
528
566
  * @param {any} event Evento nativo HTML del click
@@ -563,10 +601,20 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
563
601
  * Ottiene il contenuto dell'EsTd da utilizzare per la colonna specificata
564
602
  *
565
603
  * @param {string} column Colonna per cui cercare la cella
604
+ * @param {string} name Nome diretto per cercare il TD con l'ID. Questa variabile ha priorità rispetto a **column**
605
+ *
606
+ * @returns {TemplateRef<any>} Template da usare per la colonna
607
+ */
608
+ findEsTd(column: string, name?: string): TemplateRef<any>;
609
+ /**
610
+ * Ottiene il contenuto dell'editor EsTd da utilizzare per la colonna specificata
611
+ *
612
+ * @param {string} column Colonna per cui cercare l'editor
613
+ * @param {string} name Nome diretto per cercare l'Editor con l'ID. Questa variabile ha priorità rispetto a **column**
566
614
  *
567
615
  * @returns {TemplateRef<any>} Template da usare per la colonna
568
616
  */
569
- findEsTd(column: string): TemplateRef<any>;
617
+ findEditor(column: string, name?: string): TemplateRef<any>;
570
618
  /**
571
619
  * Equivalente del metodo **addToPage** riadattato per la modalità array
572
620
  *
@@ -604,11 +652,14 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
604
652
  * @param {any} $event Evento nativo javascript
605
653
  * @param {TdElement} rowItem Riferimento a binder della riga
606
654
  * @param {any} item Item che rappresenta il contesto su cui è stato effettuato un click
607
- */
608
- dbClickEditOrSingleClickRowSelection($event: any, rowItem: TdElement, item: any): void;
609
- /**
610
- * Ripulisce il timer utilizzato per capire se è stato effettuato un doppio click o meno
611
- */
655
+ * @param {number} rowIndex Indice della riga
656
+ */
657
+ dbClickEditOrSingleClickRowSelection($event: any, rowItem: TdElement, item: any, rowIndex: number): void;
658
+ /** Evento che gestisce il comando "Copia" buttando i valori selezionati nella clipboard in base al loro tipo */
659
+ private handleCopy;
660
+ /** Evento che gestisce il comando "Incolla" prendendo i dati della clipboard e applicandoli al range di selezione attuale in base al tipo delle celle sotto */
661
+ handlePaste(): void;
662
+ /** Ripulisce il timer utilizzato per capire se è stato effettuato un doppio click o meno */
612
663
  private clearCellClickTimer;
613
664
  /**
614
665
  * Handler click singolo su una riga
@@ -616,24 +667,46 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
616
667
  * @param {any} $event Evento nativo javascript
617
668
  * @param {any} item Item che rappresenta il contesto su cui è stato effettuato un click
618
669
  * @param {boolean} selection Indica se la selezione è attiva
619
- *
670
+ * @param {boolean} internalCall Indica se la chiamata a questa funzione è interna: permette di skippare i check sulle CustomCells
620
671
  */
621
- handleRowClick($event: any, item: any, selection: boolean): void;
672
+ handleRowClick($event: any, item: any, selection: boolean, internalCall?: boolean): boolean;
622
673
  /**
623
674
  * La modifica dell'utente è iniziata. Si imposta la variabile relativa a "true" in modo da mostrare l'input di testo
624
675
  *
625
676
  * Dopo che l'input è apparso, dopo un ciclo di Change Detection viene attivato il Subject collegato all'input che servirà a effettuare il focus
626
677
  *
627
678
  * @param {TdElement} rowItem Elemento di riga su cui è stata attivata la modifica
679
+ * @param {any} item Oggetto sopra il quale è stata attivata la modifica
628
680
  */
629
- setupUserEdit(rowItem: TdElement): void;
681
+ setupUserEdit(rowItem: TdElement, item: any): void;
630
682
  /**
631
- * La modifica dell'utente è terminata. Si reimposta la variabile relativa a "false" in modo da nascondere l'input di testo
683
+ * La modifica dell'utente è terminata. Si reimposta la variabile relativa a "false" in modo da nascondere l'input di testo e si emette la modifica del valore
632
684
  *
633
685
  * @param {TdElement} rowItem Elemento di riga su cui è stata attivata la modifica
634
686
  * @param {any} item Oggetto sopra il quale è stata attivata la modifica
687
+ * @param {number} columnIndex Indice della colonna su cui è avvenuta la modifica
635
688
  */
636
- finalizeUserEdit(rowItem: TdElement, item: any): void;
637
- static ɵfac: i0.ɵɵFactoryDeclaration<EsTableComponent, [{ optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null, null, null, null, null, null, null]>;
638
- static ɵcmp: i0.ɵɵComponentDeclaration<EsTableComponent, "es-table", never, { "CornerMenuOptions": "CornerMenuOptions"; "ColumnsResizable": "ColumnsResizable"; "ColumnsPinnable": "ColumnsPinnable"; "AutoUpdate": "AutoUpdate"; "UseCustomCells": "UseCustomCells"; "MaxHeight": "MaxHeight"; "ContainerClass": "ContainerClass"; "XLSXExport": "XLSXExport"; "CSVExport": "CSVExport"; "AllSearch": "AllSearch"; "HighCellDensity": "HighCellDensity"; "Selection": "Selection"; "ShowLoadingOnBootstrap": "ShowLoadingOnBootstrap"; "Removal": "Removal"; "RemovalCondition": "RemovalCondition"; "Export": "Export"; "ShiftClick": "ShiftClick"; "CountLabel": "CountLabel"; "HidePaging": "HidePaging"; "HidePagingCount": "HidePagingCount"; "HidePagingButtons": "HidePagingButtons"; "ContextMenu": "ContextMenu"; "ExportFileName": "ExportFileName"; "TableClass": "TableClass"; "ExportFunction": "ExportFunction"; "HasHeaderGroup": "HasHeaderGroup"; "HasSecondaryHeaderGroup": "HasSecondaryHeaderGroup"; "HeaderHidden": "HeaderHidden"; "BodyHidden": "BodyHidden"; "SelectionDisabled": "SelectionDisabled"; "SingleSelection": "SingleSelection"; "RowClassAssigner": "RowClassAssigner"; "OrderByColumn": "OrderByColumn"; "MultipleOrderingDirectives": "MultipleOrderingDirectives"; "HiddenColumns": "HiddenColumns"; "ColumnsOrdering": "ColumnsOrdering"; "SearchView": "SearchView"; "SelectAll": "SelectAll"; "UseArrayModePaging": "UseArrayModePaging"; "DynamicRowColumnsDefinition": "DynamicRowColumnsDefinition"; "DynamicOperations": "DynamicOperations"; "Hierarchy": "Hierarchy"; "ParentKey": "ParentKey"; "OwnKey": "OwnKey"; "StartsExpanded": "StartsExpanded"; "SavePreferences": "SavePreferences"; "PagingStyle": "PagingStyle"; "RowGroupingPagingStyle": "RowGroupingPagingStyle"; "ItemSourceProperty": "ItemSourceProperty"; "UseSelectionCache": "UseSelectionCache"; "ShowItemGroupsColumns": "ShowItemGroupsColumns"; "UserEdits": "UserEdits"; "ArraymodeItemsPerPage": "ArraymodeItemsPerPage"; }, { "onOrderChanged": "onOrderChanged"; "onSearchRequest": "onSearchRequest"; "onSelectionChanged": "onSelectionChanged"; "onRemoval": "onRemoval"; "onAbortRemoval": "onAbortRemoval"; "onCornerAction": "onCornerAction"; "onDynamicOperation": "onDynamicOperation"; }, ["bodyRef", "headerRef", "headerGroupRef", "secondaryHeaderGroupRef", "EsTdsDirective", "EsThsDirective"], never>;
689
+ finalizeUserEdit(rowItem: TdElement, item: any, columnIndex: number): void;
690
+ getSelected(source: {
691
+ id: string;
692
+ description: string;
693
+ }[], value: string): {
694
+ id: string;
695
+ description: string;
696
+ };
697
+ private mouseIsDown;
698
+ private firstCoordinates;
699
+ mousedown(event: MouseEvent, rowItem: any, item: any): void;
700
+ mouseenter(event: MouseEvent): void;
701
+ mouseup(event: any): void;
702
+ private EsTdsList;
703
+ getCellReference(object: any, column: string): EsTd;
704
+ registerCell(event: EsTdReference): void;
705
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsTableComponent, [{ optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null, null, null, null, null, null, null, null, null]>;
706
+ static ɵcmp: i0.ɵɵComponentDeclaration<EsTableComponent, "es-table", never, { "EsTableTemplate": "EsTableTemplate"; "CornerMenuOptions": "CornerMenuOptions"; "ColumnsResizable": "ColumnsResizable"; "ColumnsPinnable": "ColumnsPinnable"; "AutoUpdate": "AutoUpdate"; "EsTableHandledSearch": "EsTableHandledSearch"; "UseCustomCells": "UseCustomCells"; "MaxHeight": "MaxHeight"; "ContainerClass": "ContainerClass"; "XLSXExport": "XLSXExport"; "CSVExport": "CSVExport"; "AllSearch": "AllSearch"; "HighCellDensity": "HighCellDensity"; "Selection": "Selection"; "ShowLoadingOnBootstrap": "ShowLoadingOnBootstrap"; "Removal": "Removal"; "RemovalCondition": "RemovalCondition"; "Export": "Export"; "ShiftClick": "ShiftClick"; "CountLabel": "CountLabel"; "HidePaging": "HidePaging"; "HidePagingCount": "HidePagingCount"; "HidePagingButtons": "HidePagingButtons"; "ContextMenu": "ContextMenu"; "ExportFileName": "ExportFileName"; "TableClass": "TableClass"; "ExportFunction": "ExportFunction"; "HasHeaderGroup": "HasHeaderGroup"; "HasSecondaryHeaderGroup": "HasSecondaryHeaderGroup"; "HeaderHidden": "HeaderHidden"; "BodyHidden": "BodyHidden"; "SelectionDisabled": "SelectionDisabled"; "SingleSelection": "SingleSelection"; "RowClassAssigner": "RowClassAssigner"; "OrderByColumn": "OrderByColumn"; "MultipleOrderingDirectives": "MultipleOrderingDirectives"; "HiddenColumns": "HiddenColumns"; "ColumnsOrdering": "ColumnsOrdering"; "SearchView": "SearchView"; "SelectAll": "SelectAll"; "UseArrayModePaging": "UseArrayModePaging"; "DynamicRowColumnsDefinition": "DynamicRowColumnsDefinition"; "DynamicOperations": "DynamicOperations"; "Hierarchy": "Hierarchy"; "ParentKey": "ParentKey"; "OwnKey": "OwnKey"; "StartsExpanded": "StartsExpanded"; "SavePreferences": "SavePreferences"; "PagingStyle": "PagingStyle"; "RowGroupingPagingStyle": "RowGroupingPagingStyle"; "ItemSourceProperty": "ItemSourceProperty"; "UseSelectionCache": "UseSelectionCache"; "ShowItemGroupsColumns": "ShowItemGroupsColumns"; "Editable": "Editable"; "RangeSelection": "RangeSelection"; "SearchThrottle": "SearchThrottle"; "ArraymodeItemsPerPage": "ArraymodeItemsPerPage"; }, { "onOrderChanged": "onOrderChanged"; "onSearchRequest": "onSearchRequest"; "onSelectionChanged": "onSelectionChanged"; "onRemoval": "onRemoval"; "onAbortRemoval": "onAbortRemoval"; "onModelChange": "onModelChange"; "onCornerAction": "onCornerAction"; "onDynamicOperation": "onDynamicOperation"; }, ["bodyRef", "headerRef", "headerGroupRef", "secondaryHeaderGroupRef", "EsTdEditorDirectives", "EsTdsDirective", "EsThsDirective"], never, false>;
707
+ }
708
+ export declare class EsTdReference {
709
+ id: string;
710
+ hash: string;
711
+ self: EsTd;
639
712
  }
@@ -0,0 +1,18 @@
1
+ import { QueryList } from "@angular/core";
2
+ import { EsTdDirective } from "../../directives/es_td.directive";
3
+ import { EsThDirective } from "../../directives/es_th.directive";
4
+ import * as i0 from "@angular/core";
5
+ /** Componente rappresentante un template di th coi loro relativi td da poter riutilizzare quandomminchia si vuole */
6
+ export declare class EsTableTemplate {
7
+ /** Query per recuperare tutte le nuove direttive assegnati a direttiva (Per la modalità dinamica dell'es-table) */
8
+ EsTdsDirective: QueryList<EsTdDirective>;
9
+ /** Query per recuperare tutti gli es-td assegnati a direttiva (Per la modalità dinamica dell'es-table) */
10
+ EsThsDirective: QueryList<EsThDirective>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsTableTemplate, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<EsTableTemplate, "es-table-template", never, {}, {}, ["EsTdsDirective", "EsThsDirective"], never, false>;
13
+ }
14
+ /** Interfaccia che definisce il contratto con cui l'es-table legge le direttive interne a un template */
15
+ export interface IEsTableTemplateWrapper {
16
+ /** @ignore */
17
+ Template: EsTableTemplate;
18
+ }
@@ -1,11 +1,11 @@
1
- import { Renderer2, ElementRef, ViewContainerRef } from "@angular/core";
1
+ import { Renderer2, ElementRef, EventEmitter, ChangeDetectorRef } from "@angular/core";
2
2
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
3
  import * as i0 from "@angular/core";
4
4
  /** Componente rappresentante una singola cella del body della tabella */
5
5
  export declare class EsTd {
6
+ private cdr;
6
7
  private myself;
7
8
  private renderer;
8
- private _viewContainer;
9
9
  protected sanitizer: DomSanitizer;
10
10
  /** Id della cella, dev'essere lo stesso della colonna **EsTh** relativa */
11
11
  ID: string;
@@ -23,10 +23,16 @@ export declare class EsTd {
23
23
  Content?: SafeHtml;
24
24
  /** Contesto dell'oggetto a cui si riferisce il dato visualizzato. Contiene l'hash dell'oggetto in questione */
25
25
  Context: string;
26
+ /** Quando questa cella viene generata questo evento permette di dire "ehi, sono nato!" */
27
+ onCellGeneration: EventEmitter<{
28
+ id: string;
29
+ hash: string;
30
+ self: EsTd;
31
+ }>;
26
32
  /** Indicazioni sulla visibilità della cella */
27
33
  private _Visible?;
28
34
  /** @ignore */
29
- constructor(myself: ElementRef, renderer: Renderer2, _viewContainer: ViewContainerRef, sanitizer: DomSanitizer);
35
+ constructor(cdr: ChangeDetectorRef, myself: ElementRef, renderer: Renderer2, sanitizer: DomSanitizer);
30
36
  /**
31
37
  * Imposta la visibilità o meno della cella, si traduce nell'applicazione o rimozione della classe **app-display-none**
32
38
  *
@@ -41,6 +47,8 @@ export declare class EsTd {
41
47
  get Visible(): boolean;
42
48
  /** @ignore */
43
49
  ngAfterViewInit(): void;
50
+ ValidationError: string;
51
+ validationError(isError: boolean, error?: string): void;
44
52
  static ɵfac: i0.ɵɵFactoryDeclaration<EsTd, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<EsTd, "[es-td]", never, { "ID": "es-td"; "Internal": "Internal"; "RouterLink": "RouterLink"; "Display": "Display"; "Template": "Template"; "Context": "Context"; "Visible": "Visible"; }, {}, never, ["*"]>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<EsTd, "[es-td]", never, { "ID": "es-td"; "Internal": "Internal"; "RouterLink": "RouterLink"; "Display": "Display"; "Template": "Template"; "Context": "Context"; "Visible": "Visible"; }, { "onCellGeneration": "onCellGeneration"; }, never, ["*"], false>;
46
54
  }
@@ -88,5 +88,5 @@ export declare class EsTh {
88
88
  */
89
89
  onMouseMove($event: any): void;
90
90
  static ɵfac: i0.ɵɵFactoryDeclaration<EsTh, never>;
91
- static ɵcmp: i0.ɵɵComponentDeclaration<EsTh, "[es-th]", never, { "ID": "es-th"; "Order": "Order"; "Orderable": "Orderable"; "Display": "Display"; "Resizable": "Resizable"; "Pinned": "Pinned"; "SearchInProgress": "SearchInProgress"; "OrderBy": "OrderBy"; "Wrap": "Wrap"; "Fixed": "Fixed"; "Template": "Template"; "Visible": "Visible"; }, { "onOrderChange": "onOrderChange"; "onUnpinning": "onUnpinning"; }, never, ["*"]>;
91
+ static ɵcmp: i0.ɵɵComponentDeclaration<EsTh, "[es-th]", never, { "ID": "es-th"; "Order": "Order"; "Orderable": "Orderable"; "Display": "Display"; "Resizable": "Resizable"; "Pinned": "Pinned"; "SearchInProgress": "SearchInProgress"; "OrderBy": "OrderBy"; "Wrap": "Wrap"; "Fixed": "Fixed"; "Template": "Template"; "Visible": "Visible"; }, { "onOrderChange": "onOrderChange"; "onUnpinning": "onUnpinning"; }, never, ["*"], false>;
92
92
  }
@@ -53,5 +53,5 @@ export declare class TablePagerComponent {
53
53
  */
54
54
  choice(pageSize: number): void;
55
55
  static ɵfac: i0.ɵɵFactoryDeclaration<TablePagerComponent, [null, null, null, { optional: true; }]>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<TablePagerComponent, "app-paging", never, { "CurrentPageSize": "CurrentPageSize"; "View": "View"; "WarnOnAll": "WarnOnAll"; "AllSearch": "AllSearch"; "DefaultAll": "DefaultAll"; "GroupMode": "GroupMode"; "GroupCount": "GroupCount"; "CountLabel": "CountLabel"; "ShowCount": "ShowCount"; "ShowPaging": "ShowPaging"; "PagerCount": "PagerCount"; "Hidden": "Hidden"; }, { "pagingSelected": "pagingSelected"; }, never, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<TablePagerComponent, "app-paging", never, { "CurrentPageSize": "CurrentPageSize"; "View": "View"; "WarnOnAll": "WarnOnAll"; "AllSearch": "AllSearch"; "DefaultAll": "DefaultAll"; "GroupMode": "GroupMode"; "GroupCount": "GroupCount"; "CountLabel": "CountLabel"; "ShowCount": "ShowCount"; "ShowPaging": "ShowPaging"; "PagerCount": "PagerCount"; "Hidden": "Hidden"; }, { "pagingSelected": "pagingSelected"; }, never, never, false>;
57
57
  }
@@ -0,0 +1,13 @@
1
+ import { Subject } from "rxjs";
2
+ import * as i0 from "@angular/core";
3
+ /** Classe che fornisce dei metodi di estensione in grado di riconoscere e dispatchare l'evento copia e incolla lanciato su una pagina web */
4
+ export declare class CopyPasteDetector {
5
+ /** Dispatcher del Copia */
6
+ OnCopy: Subject<void>;
7
+ /** Dispatcher dell' Incolla */
8
+ OnPaste: Subject<void>;
9
+ /** @ignore */
10
+ constructor();
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<CopyPasteDetector, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<CopyPasteDetector>;
13
+ }
@@ -24,6 +24,12 @@ export declare class ColumnMetadataHandler {
24
24
  * @param {'DESC' | 'ASC'} order Nuovo ordine selezionato per la colonna
25
25
  */
26
26
  handleTHOrderChange(id: string, order: 'DESC' | 'ASC'): void;
27
+ /**
28
+ * Registra le preference relative alla view passata come parametro
29
+ *
30
+ * @param {any} castedView View di cui salvare colonne e ordinamento colonne
31
+ */
32
+ registerViewPreferences(castedView: AppSearch<any>): boolean;
27
33
  /**
28
34
  * Partendo dagli **EsThs** estrappolo la lista di **EsTableColumn** che questa tabella dovrà eventualmente gestire per Visibilità e Ordine
29
35
  *
@@ -32,6 +38,7 @@ export declare class ColumnMetadataHandler {
32
38
  * @param {EsThDirective[]} ths Colonne della tabella
33
39
  */
34
40
  reviewColumnsList(ths: EsThDirective[]): void;
41
+ /** In caso siano configurati dei th "Multi" (vedere la descrizione del campo **thMulti** di **EsThDirective**) questo metodo li "srotola" in tutti i th/td che devono effettivamente diventare */
35
42
  expandMultiThsAndTds(ths: EsThDirective[], tds: EsTdDirective[], items: any[]): {
36
43
  expThs: EsThDirective[];
37
44
  expTds: EsTdDirective[];
@@ -31,5 +31,5 @@ export declare class ItemsHandler {
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
33
  /** Se in modalità array applica gli ordinamenti ASC-DESC delle colonne */
34
- arrayModeReviewOrderings(): void;
34
+ arrayModeReviewOrderings(items: any[]): any[];
35
35
  }
@@ -11,6 +11,15 @@ export declare class ReportModeHandler {
11
11
  constructor(est: EsTableComponent, utilities: UtilitiesHandler);
12
12
  /** Metodo che si occupa di gestire la grafica della tabella in base alle informazioni di ordinamento colonne e paginazione contenuti nel modello */
13
13
  reviewReportBindings(): void;
14
+ /**
15
+ * Data una AppSearch questo metodo genera la lista di th e td che si possono collegare al giro standard.
16
+ * Se non ci fosse questo passaggio intermedio la gestione della modalità report sarebbe 100% custom,
17
+ * come poi lo era prima che la facessi passare dal giro che fanno tutte le altre modalità
18
+ *
19
+ * @param {AppSearch<any>} view View in modalità report contenente le informazioni sulle colonne
20
+ *
21
+ * @returns {{ ths: EsThDirective[], tds: EsTdDirective[] }} Lista di direttive per gli header e per il body
22
+ */
14
23
  generateThsAndTdsFromView(view: AppSearch<any>): {
15
24
  ths: EsThDirective[];
16
25
  tds: EsTdDirective[];
@@ -1,5 +1,9 @@
1
1
  import { ItemsSelection } from "../../domain/externals/appsearch/ItemsSelection";
2
+ import { ItemPropEditableReference } from "../../domain/externals/ItemPropEditableReference";
3
+ import { EsTableColumnsDefinition } from "../../domain/externals/EsTableColumnsDefinition";
4
+ import { InputType } from '../../domain/types';
2
5
  import { EsTableComponent } from "../../components/es-table/es_table.component";
6
+ import { EsThDirective } from "../../directives/es_th.directive";
3
7
  import { RowGroupingHandler } from "./RowGroupingHandler";
4
8
  /** Classe che gestisce le selezioni degli oggetti */
5
9
  export declare class SelectionHandler {
@@ -21,6 +25,8 @@ export declare class SelectionHandler {
21
25
  private i_exclusionsCache;
22
26
  /** Cache di selezione Hash - Oggetto per la variabile **group_exclusions** dell'itemSelector. Facilita le operazioni di lookup via indice */
23
27
  private i_group_exclusionsCache;
28
+ /** Ultima cella selezionata singolarmente */
29
+ private lastSingleSelection;
24
30
  /** @ignore Costruttore */
25
31
  constructor(est: EsTableComponent, rgHandler: RowGroupingHandler);
26
32
  /** Ripulisce le cache di selezione */
@@ -32,6 +38,17 @@ export declare class SelectionHandler {
32
38
  * @param {ItemsSelection<any>} selectionItem Oggetti di selezione derivante dalla view o dall'oggetto per Array
33
39
  */
34
40
  evaluateSelection(items: any[], selectionItem: ItemsSelection<any>): void;
41
+ /**
42
+ * Precompila le informazioni sullo stato di selezione tutto a false per le celle della tabella
43
+ *
44
+ * @param {any[]} items Oggetti attualmente bindati sulla tabella
45
+ * @param {EsThDirective[]} ths Colonne su cui gli oggetti sono bindati
46
+ */
47
+ evaluateSingleCellSelection(items: any[], ths: EsThDirective[], dyn: EsTableColumnsDefinition[]): void;
48
+ /** @ignore */
49
+ private fillSelectionStatusByDynamicColumns;
50
+ /** @ignore */
51
+ private fillSelectionStatusByEsThs;
35
52
  /**
36
53
  * Implementazione agnostica della valutazione delle selezioni degli oggetti. Richiede gli oggetti della vista attuale e l'itemSelector
37
54
  *
@@ -146,4 +163,64 @@ export declare class SelectionHandler {
146
163
  private evaluateSelected;
147
164
  /** Gestisce il comando di "Seleziona tutto in tutte le pagine" o il suo contrario, cioè "Reimposta selezione" */
148
165
  selectAllOrResetSelection(): void;
166
+ /**
167
+ * @TODO Spostare in SelectionHandler
168
+ *
169
+ * Registra la selezione singola su una cella sulla combo di comandi "CTRL + Click".
170
+ * Se viene premuto anche il tasto Shift viene creato un range di selezione il cui status di "selezionato" viene salvato nella
171
+ * matrice virtuale **selectionStatus**
172
+ *
173
+ * @param {any} event Evento Javascript di Click
174
+ * @param {number} row Indice della riga. Non è l'indice vero e proprio ma è l'ordinale (.ordinal) dell'oggetto bindato su quella riga
175
+ * @param {number} column Indice della colonna preso banalmente dall'ngIf sui thElement
176
+ * @param {{ row: number, column: number }} firstSelectionOverride Permette di overridare il primo elemento selezionato
177
+ */
178
+ singleCellSelection(event: any, row: number, column: number, firstSelectionOverride?: {
179
+ row: number;
180
+ column: number;
181
+ }): void;
182
+ /**
183
+ * Helper per ripulire lo stato di selezione delle singole celle della tabella, ad esclusione di una singola coordinata
184
+ *
185
+ * @param {{row: number, column: number}} exclusion Coordinata da escludere nella pulizia
186
+ */
187
+ clearSelectionStatus(exclusion?: {
188
+ row: number;
189
+ column: number;
190
+ }): void;
191
+ /**
192
+ * Helper che esamina la matrice **selectionStatus** e ne estrappola gli elementi selezionati in una comoda matrice
193
+ *
194
+ * @returns {{ value: string, type: InputType, val_setter: Function }[][]} Matrice di elementi selezionati con la loro informazione sul tipo
195
+ */
196
+ getSelectionStatusSelection(): ItemPropEditableReference[][];
197
+ /**
198
+ * Helper per ripulire la selezione lato HTML
199
+ *
200
+ * @param {any} event Evento nativo Javascript
201
+ */
202
+ clearTextSelection(event: any): boolean;
203
+ /**
204
+ * Data la matrice di selezione generata dal metodo **getSelectionStatusSelection** genera la strigna vera e propria da copiare nella Clipboard
205
+ *
206
+ * @param {{ value: string, type: InputType }[][]} sel Matrice di selezione con valori e tipi dei dati selezionati
207
+ *
208
+ * @returns {string} Stringa da copiare nella clipboard, le stringhe vengono wrappate fra doppi apici e fra un valore e l'altro viene messo un tab
209
+ * in modo che siano compatibili anche con la copia su Excel
210
+ */
211
+ getClipbardTextFromSelection(sel: {
212
+ value: string;
213
+ type: InputType | string;
214
+ }[][]): string;
215
+ /**
216
+ * Ottiene la rappresentazione stringa di un valore dato un tipo
217
+ *
218
+ * @param {{ value: string, type: InputType }} valType Oggetto Valore - Tipo da cui estrapolare la rappresentazione del dato in stringa
219
+ *
220
+ * @returns {string} Valore convertito in stringa in base al tipo
221
+ */
222
+ getValueByType(valType: {
223
+ value: string;
224
+ type: InputType | string;
225
+ }): string;
149
226
  }
@@ -11,6 +11,8 @@ export declare class EsTdDirective {
11
11
  tdVisible: boolean;
12
12
  /** Id della colonna, fa riferimento al **th** padre */
13
13
  td: string;
14
+ /** Se questo td viene usato come renderer in questa proprietà è scritto il nome della proprietà dell'oggetto bindato per cui fare apparire il **Template** */
15
+ tdForProperty: string;
14
16
  /** Equivalente dell'NgIf sul td */
15
17
  tdIf: boolean;
16
18
  /** Eventuali classi da applicare al **td** generato */
@@ -21,6 +23,6 @@ export declare class EsTdDirective {
21
23
  * @ignore
22
24
  */
23
25
  constructor(Template: TemplateRef<any>);
24
- static ɵfac: i0.ɵɵFactoryDeclaration<EsTdDirective, never>;
25
- static ɵdir: i0.ɵɵDirectiveDeclaration<EsTdDirective, "[td]", never, { "tdVisible": "tdVisible"; "td": "td"; "tdIf": "tdIf"; "tdClass": "tdClass"; "tdPropertyAccessor": "tdPropertyAccessor"; }, {}, never>;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsTdDirective, [{ self: true; }]>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EsTdDirective, "[td]", never, { "tdVisible": "tdVisible"; "td": "td"; "tdForProperty": "tdForProperty"; "tdIf": "tdIf"; "tdClass": "tdClass"; "tdPropertyAccessor": "tdPropertyAccessor"; }, {}, never, never, false>;
26
28
  }
@@ -0,0 +1,14 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /** Direttiva che rappresenta il template dell'editor di una cella all'interno della tabella */
4
+ export declare class EsTdEditorDirective {
5
+ Template: TemplateRef<any>;
6
+ /** Id dell'Editor */
7
+ editor: string;
8
+ /** In questa proprietà è scritto il nome della proprietà dell'oggetto bindato per cui fare apparire il **Template** */
9
+ editorForProperty: string;
10
+ /** @ignore */
11
+ constructor(Template: TemplateRef<any>);
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsTdEditorDirective, [{ optional: true; self: true; }]>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EsTdEditorDirective, "[editor]", never, { "editor": "editor"; "editorForProperty": "editorForProperty"; }, {}, never, never, false>;
14
+ }
@@ -1,5 +1,6 @@
1
1
  import { TemplateRef } from "@angular/core";
2
2
  import { ThAggregation } from "../domain/internals/ThAggregation";
3
+ import { InputType } from "../domain/types";
3
4
  import * as i0 from "@angular/core";
4
5
  /** Direttiva per la dichiarazione snella di un EsTh da emettere come header */
5
6
  export declare class EsThDirective {
@@ -53,15 +54,15 @@ export declare class EsThDirective {
53
54
  thGroup: boolean;
54
55
  /** Indica che bisogna fare una aggregazione su questa colonna, a fronte di almeno un altra con un raggruppamento */
55
56
  thAggregation: string;
56
- /** Impostazioni per la modifica inline di questo campo: la **Property** di riferimento e il **Type** (a scelta fra quelli supportati dal form-adaptive) */
57
- thUserEdits: {
58
- Property: string;
59
- Type: 'string' | 'float' | 'date' | 'number' | 'int' | 'boolean' | 'enum' | 'autocomplete' | 'datetime' | 'time' | 'file' | 'currency';
60
- Source: {
61
- id: string;
62
- description: string;
63
- }[];
64
- };
57
+ /** Proprietà JS a cui si riferisce questa cella */
58
+ thProperty: string;
59
+ /** Tipo della proprietà JS a cui si riferisce questa cella. Se valorizzato l'utente la potrà modificare facendo doppio click */
60
+ thType: InputType | string;
61
+ /** Sorgente dei valori disponibili per questa cella se il **Type** è di tipo 'enum' */
62
+ thSource: {
63
+ id: string;
64
+ description: string;
65
+ }[];
65
66
  /** Indica che questo header deve essere emesso una volta per ogni valore presente nella lista di **EsTableMultiValue** alla proprietà **th** dell'oggetto corrente */
66
67
  thMulti: boolean;
67
68
  /** Indica un contenuto statico da mostrare piuttosto che utilizzare il **Template**. Serve in caso questo oggetto venga generato programmaticamente */
@@ -70,6 +71,6 @@ export declare class EsThDirective {
70
71
  thBackgroundColor: string;
71
72
  /** @ignore */
72
73
  constructor(Template: TemplateRef<any>);
73
- static ɵfac: i0.ɵɵFactoryDeclaration<EsThDirective, never>;
74
- static ɵdir: i0.ɵɵDirectiveDeclaration<EsThDirective, "[th]", never, { "th": "th"; "thPinned": "thPinned"; "thPinnable": "thPinnable"; "thPinnedWidth": "thPinnedWidth"; "thVisible": "thVisible"; "thFixed": "thFixed"; "thParent": "thParent"; "thOrder": "thOrder"; "thOrderable": "thOrderable"; "thWrap": "thWrap"; "thResizable": "thResizable"; "thClass": "thClass"; "thGroupClass": "thGroupClass"; "thIf": "thIf"; "thEmpty": "thEmpty"; "thGroup": "thGroup"; "thAggregation": "thAggregation"; "thUserEdits": "thUserEdits"; "thMulti": "thMulti"; "thStaticContent": "thStaticContent"; "thBackgroundColor": "thBackgroundColor"; }, {}, never>;
74
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsThDirective, [{ self: true; }]>;
75
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EsThDirective, "[th]", never, { "th": "th"; "thPinned": "thPinned"; "thPinnable": "thPinnable"; "thPinnedWidth": "thPinnedWidth"; "thVisible": "thVisible"; "thFixed": "thFixed"; "thParent": "thParent"; "thOrder": "thOrder"; "thOrderable": "thOrderable"; "thWrap": "thWrap"; "thResizable": "thResizable"; "thClass": "thClass"; "thGroupClass": "thGroupClass"; "thIf": "thIf"; "thEmpty": "thEmpty"; "thGroup": "thGroup"; "thAggregation": "thAggregation"; "thProperty": "thProperty"; "thType": "thType"; "thSource": "thSource"; "thMulti": "thMulti"; "thStaticContent": "thStaticContent"; "thBackgroundColor": "thBackgroundColor"; }, {}, never, never, false>;
75
76
  }