@esfaenza/es-table 19.2.47 → 20.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/fesm2022/esfaenza-es-table.mjs +208 -208
  2. package/fesm2022/esfaenza-es-table.mjs.map +1 -1
  3. package/index.d.ts +2581 -3
  4. package/package.json +4 -4
  5. package/lib/components/es-table/es_table.component.d.ts +0 -774
  6. package/lib/components/es-table/es_table.component.loc.d.ts +0 -10
  7. package/lib/components/es-td/es_td.component.d.ts +0 -26
  8. package/lib/components/es-th/es_th.component.d.ts +0 -94
  9. package/lib/components/pager/table_pager.component.d.ts +0 -57
  10. package/lib/components/pager/table_pager.component.loc.d.ts +0 -10
  11. package/lib/components/pipes/est-format.pipe.d.ts +0 -10
  12. package/lib/components/pipes/est-lookup.pipe.d.ts +0 -13
  13. package/lib/components/pipes/est-propinsensitive.pipe.d.ts +0 -7
  14. package/lib/components/pipes/est-renderer.pipe.d.ts +0 -15
  15. package/lib/components/pipes/est-routerlink.pipe.d.ts +0 -20
  16. package/lib/components/pipes/est_editor.pipe.d.ts +0 -15
  17. package/lib/core/CopyPasteDetector.d.ts +0 -15
  18. package/lib/core/Logger.d.ts +0 -10
  19. package/lib/core/handlers/ColumnMetadataHandler.d.ts +0 -188
  20. package/lib/core/handlers/DynamicModeHandler.d.ts +0 -22
  21. package/lib/core/handlers/ExportHandler.d.ts +0 -19
  22. package/lib/core/handlers/HierarchyModeHandler.d.ts +0 -41
  23. package/lib/core/handlers/ItemsHandler.d.ts +0 -35
  24. package/lib/core/handlers/ReportModeHandler.d.ts +0 -27
  25. package/lib/core/handlers/RowGroupingHandler.d.ts +0 -118
  26. package/lib/core/handlers/SelectionHandler.d.ts +0 -230
  27. package/lib/core/handlers/UtilitiesHandler.d.ts +0 -57
  28. package/lib/directives/es_td.directive.d.ts +0 -42
  29. package/lib/directives/es_td_editor.directive.d.ts +0 -14
  30. package/lib/directives/es_th.directive.d.ts +0 -106
  31. package/lib/directives/es_th_td_provider.directive.d.ts +0 -15
  32. package/lib/domain/configuration/EsTableDefaultable.d.ts +0 -21
  33. package/lib/domain/configuration/EsTableModuleConfig.d.ts +0 -10
  34. package/lib/domain/externals/CornerMenuOption.d.ts +0 -7
  35. package/lib/domain/externals/EsTableColumnsDefinition.d.ts +0 -55
  36. package/lib/domain/externals/EsTableModelChange.d.ts +0 -17
  37. package/lib/domain/externals/EsTableOperationDefinition.d.ts +0 -20
  38. package/lib/domain/externals/ItemPropEditableReference.d.ts +0 -34
  39. package/lib/domain/externals/appsearch/AppOrdering.d.ts +0 -14
  40. package/lib/domain/externals/appsearch/AppSearch.d.ts +0 -100
  41. package/lib/domain/externals/appsearch/EsTableMultiValue.d.ts +0 -22
  42. package/lib/domain/externals/appsearch/GenericItem.d.ts +0 -13
  43. package/lib/domain/externals/appsearch/Group.d.ts +0 -17
  44. package/lib/domain/externals/appsearch/GroupAggregation.d.ts +0 -14
  45. package/lib/domain/externals/appsearch/GroupFilter.d.ts +0 -12
  46. package/lib/domain/externals/appsearch/GroupOrAggregation.d.ts +0 -14
  47. package/lib/domain/externals/appsearch/ItemsSelection.d.ts +0 -22
  48. package/lib/domain/externals/report/ReportColumn.d.ts +0 -19
  49. package/lib/domain/externals/report/ReportParam.d.ts +0 -40
  50. package/lib/domain/externals/report/ReportRow.d.ts +0 -9
  51. package/lib/domain/internals/CacheTriptic.d.ts +0 -14
  52. package/lib/domain/internals/EsTableColumn.d.ts +0 -41
  53. package/lib/domain/internals/GroupPager.d.ts +0 -26
  54. package/lib/domain/internals/GroupRouteFragment.d.ts +0 -15
  55. package/lib/domain/internals/PagerInfos.d.ts +0 -13
  56. package/lib/domain/internals/TdElement.d.ts +0 -59
  57. package/lib/domain/internals/ThAggregation.d.ts +0 -14
  58. package/lib/domain/internals/ThElement.d.ts +0 -24
  59. package/lib/domain/internals/ThGroup.d.ts +0 -10
  60. package/lib/domain/types.d.ts +0 -2
  61. package/lib/es-table.module.d.ts +0 -35
  62. package/lib/tokens.d.ts +0 -8
  63. package/public-api.d.ts +0 -28
@@ -1,10 +0,0 @@
1
- import { Injector } from "@angular/core";
2
- import { LocalizationService } from "@esfaenza/localizations";
3
- import * as i0 from "@angular/core";
4
- /** Classe di localizzazione per il componente **EsTableComponent** */
5
- export declare class EsTableLoc extends LocalizationService {
6
- /** @ignore */
7
- constructor(injector: Injector);
8
- static ɵfac: i0.ɵɵFactoryDeclaration<EsTableLoc, never>;
9
- static ɵprov: i0.ɵɵInjectableDeclaration<EsTableLoc>;
10
- }
@@ -1,26 +0,0 @@
1
- import { EventEmitter, ElementRef } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- /** Componente rappresentante una singola cella del body della tabella */
4
- export declare class EsTd {
5
- el: ElementRef;
6
- /** Id della cella, dev'essere lo stesso della colonna **EsTh** relativa */
7
- ID: import("@angular/core").InputSignal<string>;
8
- /** Contesto dell'oggetto a cui si riferisce il dato visualizzato. Contiene l'hash dell'oggetto in questione */
9
- Context: import("@angular/core").InputSignal<string>;
10
- /** Quando questa cella viene generata questo evento permette di dire "ehi, sono nato!" */
11
- onCellGeneration: EventEmitter<{
12
- id: string;
13
- hash: string;
14
- self: EsTd;
15
- }>;
16
- /** Errore attualmente presente sulla cella */
17
- ValidationError: import("@angular/core").WritableSignal<string>;
18
- /** @ignore */
19
- constructor(el: ElementRef);
20
- /** @ignore */
21
- ngAfterViewInit(): void;
22
- /** Api per impostare un "errore" su questa cella in maniera programmatica */
23
- validationError(error?: string): void;
24
- static ɵfac: i0.ɵɵFactoryDeclaration<EsTd, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<EsTd, "[es-td]", never, { "ID": { "alias": "es-td"; "required": false; "isSignal": true; }; "Context": { "alias": "Context"; "required": false; "isSignal": true; }; }, { "onCellGeneration": "onCellGeneration"; }, never, ["*"], false, never>;
26
- }
@@ -1,94 +0,0 @@
1
- import { EventEmitter, ElementRef, Renderer2, WritableSignal } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- /** Componente rappresentante una Colonna della tabella */
4
- export declare class EsTh {
5
- private myself;
6
- private renderer;
7
- /** Dizionario di mappatura con ordinamento attuale e ordinamento successivo per gestire i passaggi di stato */
8
- private orderNext;
9
- /** Indicazione sulla visibilità della colonna */
10
- private _Visible;
11
- /** Indica se si sta effettuando un'operazione di resize su questa colonna */
12
- private resizingThis;
13
- /**
14
- * Storicizza l'offset di partenza del resize dell'elemento HTML per poter calcolare la nuova dimensione richiesta durente il resize
15
- *
16
- * nuova width = startOffset + posizione X del mouse
17
- */
18
- private startOffset;
19
- /** Id della colonna, dev'essere lo stesso per tutti gli **EsTd** relativi */
20
- ID: import("@angular/core").InputSignal<string>;
21
- /** Ordinamento attuale della colonna */
22
- _Order: import("@angular/core").InputSignal<"DESC" | "ASC">;
23
- Order: WritableSignal<"DESC" | "ASC">;
24
- /** Indica se questa colonna è ordinabile o meno */
25
- Orderable: import("@angular/core").InputSignal<boolean>;
26
- /** Valore da mostrare all'interno della colonna. Se omesso verrà proiettato il contenuto dal template in cui è stata usata */
27
- Display: import("@angular/core").InputSignal<string>;
28
- /** Indica se le dimnsioni di questa colonna sono modificabili o meno */
29
- Resizable: import("@angular/core").InputSignal<boolean>;
30
- /** Indica se questo header è pinnato. In caso lo fosse presenta il tastino per effettuare lo spinning */
31
- Pinned: import("@angular/core").InputSignal<boolean>;
32
- /**
33
- * Indica se sta venendo eseguita una operazione di ricerca o meno, serve per evitare l'esecuzione di eventuale codice che potrebbe dare fastidio
34
- * come ad esempio l'escuzione di un ordinamento durante il caricamento di dati nuovi
35
- */
36
- SearchInProgress: import("@angular/core").InputSignal<boolean>;
37
- /** Impostato dall'**EsTable**, serve per permettere o meno di effettuare ordinamenti dati su questa colonna */
38
- OrderBy: import("@angular/core").InputSignal<boolean>;
39
- /** Indica se il testo presente in questo Header può andare a capo o meno, di default non può */
40
- Wrap: import("@angular/core").InputSignal<boolean>;
41
- /** Indica se la colonna è fixed, cioè se non può né essere nascosta, né riposizionata. Solo le prime colonne possono essere Fixed */
42
- Fixed: import("@angular/core").InputSignal<boolean>;
43
- /** Template Angular da istanziare per questo TH */
44
- Template?: any;
45
- /** Evento emesso al cambio di ordinamento effettuato su questa colonna */
46
- onOrderChange: EventEmitter<'DESC' | 'ASC' | null>;
47
- /** Evento emesso all'unpinning della colonna */
48
- onUnpinning: EventEmitter<string>;
49
- /** Proiezione del contenuto di questa colonna */
50
- content: ElementRef;
51
- /** Classi da applicare alla colonna */
52
- Class: WritableSignal<string>;
53
- /** Impostato dall'**EsTable**, per controllare che ci sia almeno un TD che utilizzi quest'header */
54
- _referenced: WritableSignal<boolean>;
55
- /** Variabile finale su cui è bindato il contenuto della cella. Sarà valorizzato a **Display** se specificato, all'**innerHTML** dell'elemento proiettato altrimenti */
56
- Description: import("@angular/core").Signal<string>;
57
- private setUnderlyingSignal;
58
- /** @ignore */
59
- constructor(myself: ElementRef, renderer: Renderer2);
60
- /**
61
- * Imposta la visibilità o meno della colonna, si traduce nell'applicazione o rimozione della classe **app-display-none**
62
- *
63
- * @param {boolean} expression Indicazione della visibilità
64
- */
65
- set Visible(expression: boolean);
66
- /**
67
- * Restituisce lo stato di Visibilità della colonna in oggetto
68
- *
69
- * @returns {boolean} **true** se visibile, **false** altrimenti
70
- */
71
- get Visible(): boolean;
72
- /** @ignore */
73
- ngAfterViewInit(): void;
74
- /** Emette l'evento di unpinning */
75
- unpin(): void;
76
- /** Gestisce la modifica dell'ordinamento qualora venisse cliccato su questa colonna */
77
- setupNextOrderAndNotify(): void;
78
- /**
79
- * Evento di inizio resize della colonna
80
- *
81
- * @param {any} ev Evento MouseDown
82
- */
83
- onResizeStart(ev: any): void;
84
- /** Listener per la fine dell'operazione di resize */
85
- onMouseUp(): void;
86
- /**
87
- * Listener per gestire il movimento del mouse qualora un'operazione di resize fosse in esecuzione
88
- *
89
- * @param {$event} ev Evento MouseMove
90
- */
91
- onMouseMove($event: any): void;
92
- static ɵfac: i0.ɵɵFactoryDeclaration<EsTh, never>;
93
- static ɵcmp: i0.ɵɵComponentDeclaration<EsTh, "[es-th]", never, { "ID": { "alias": "es-th"; "required": false; "isSignal": true; }; "_Order": { "alias": "Order"; "required": false; "isSignal": true; }; "Orderable": { "alias": "Orderable"; "required": false; "isSignal": true; }; "Display": { "alias": "Display"; "required": false; "isSignal": true; }; "Resizable": { "alias": "Resizable"; "required": false; "isSignal": true; }; "Pinned": { "alias": "Pinned"; "required": false; "isSignal": true; }; "SearchInProgress": { "alias": "SearchInProgress"; "required": false; "isSignal": true; }; "OrderBy": { "alias": "OrderBy"; "required": false; "isSignal": true; }; "Wrap": { "alias": "Wrap"; "required": false; "isSignal": true; }; "Fixed": { "alias": "Fixed"; "required": false; "isSignal": true; }; "Template": { "alias": "Template"; "required": false; }; "Visible": { "alias": "Visible"; "required": false; }; }, { "onOrderChange": "onOrderChange"; "onUnpinning": "onUnpinning"; }, never, ["*"], false, never>;
94
- }
@@ -1,57 +0,0 @@
1
- import { ChangeDetectorRef, EventEmitter } from "@angular/core";
2
- import { Signal, WritableSignal } from "@angular/core";
3
- import { LocalizationService } from "@esfaenza/localizations";
4
- import { MessageService } from "@esfaenza/extensions";
5
- import * as i0 from "@angular/core";
6
- /** Componente che si occupa della paginazione di una tabella */
7
- export declare class EsTablePagerComponent {
8
- private msgExts;
9
- lc: LocalizationService;
10
- cdr: ChangeDetectorRef;
11
- /** Dimensione di pagina attuale */
12
- CurrentPageSize: import("@angular/core").InputSignal<number>;
13
- /** View gestita, che può essere un IAppSearch o una ReportView */
14
- View: import("@angular/core").InputSignal<any>;
15
- /** Indica se deve mostrare un warning quando si cercano di solezionare come elementi da visualizzare "Tutti" */
16
- WarnOnAll: import("@angular/core").InputSignal<boolean>;
17
- /** Indica se dare la possibilità o meno di selezionare "Tutti" nelle opzioni di paginazione */
18
- AllSearch: import("@angular/core").InputSignal<boolean>;
19
- /** Placeholder che identifica il "Tutti" */
20
- DefaultAll: import("@angular/core").InputSignal<number>;
21
- /** Indica se attivare la modalità gruppo con stili più snelli per apparire sotto ai raggruppamenti */
22
- GroupMode: import("@angular/core").InputSignal<boolean>;
23
- /** Indica se utilizzare il conteggio dei gruppi o degli oggetti */
24
- GroupCount: import("@angular/core").InputSignal<boolean>;
25
- /** Indica il testo che va a sostituire "Oggetti Visualizzati" in caso si stia facendo qualcosa di custom, Ignorato in caso di gruppi */
26
- CountLabel: import("@angular/core").InputSignal<string>;
27
- /** Indica se visualizzare il numero totale di oggeti presenti */
28
- ShowCount: import("@angular/core").InputSignal<boolean>;
29
- /** Indica se visualizzare il numero totale di oggeti presenti */
30
- ShowPaging: import("@angular/core").InputSignal<boolean>;
31
- /** Indica il numero totale di oggeti presenti */
32
- PagerCount: import("@angular/core").InputSignal<number>;
33
- /** Indica se mostrare o meno il contenuto @deprecated usata solo da MatrixValuesComponent nella lib relativa */
34
- Hidden: import("@angular/core").InputSignal<boolean>;
35
- /** Output invocato quando il numero di elementi per pagina viene modificato da un click utente */
36
- pagingSelected: EventEmitter<number>;
37
- /** @ignore */
38
- constructor(msgExts: MessageService, lc: LocalizationService, cdr: ChangeDetectorRef);
39
- /** Modello su cui la select effettua operazioni di selezione */
40
- Model: WritableSignal<number>;
41
- /** Opzioni di paginazione */
42
- private _pagingOptions;
43
- PagingOptionsForSelect: Signal<{
44
- id: number;
45
- description: string;
46
- }[]>;
47
- /**
48
- * Funzione richiamata dal template quando un utente clicca su un numero di paginazione.
49
- *
50
- * Cliccare 2 volte sullo stesso numero causa comunque un refresh dei dati
51
- *
52
- * @param {number} pageSize Dimensione selezionata lato UI
53
- */
54
- choice(pageSize: number): void;
55
- static ɵfac: i0.ɵɵFactoryDeclaration<EsTablePagerComponent, never>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<EsTablePagerComponent, "es-paging", never, { "CurrentPageSize": { "alias": "CurrentPageSize"; "required": false; "isSignal": true; }; "View": { "alias": "View"; "required": false; "isSignal": true; }; "WarnOnAll": { "alias": "WarnOnAll"; "required": false; "isSignal": true; }; "AllSearch": { "alias": "AllSearch"; "required": false; "isSignal": true; }; "DefaultAll": { "alias": "DefaultAll"; "required": false; "isSignal": true; }; "GroupMode": { "alias": "GroupMode"; "required": false; "isSignal": true; }; "GroupCount": { "alias": "GroupCount"; "required": false; "isSignal": true; }; "CountLabel": { "alias": "CountLabel"; "required": false; "isSignal": true; }; "ShowCount": { "alias": "ShowCount"; "required": false; "isSignal": true; }; "ShowPaging": { "alias": "ShowPaging"; "required": false; "isSignal": true; }; "PagerCount": { "alias": "PagerCount"; "required": false; "isSignal": true; }; "Hidden": { "alias": "Hidden"; "required": false; "isSignal": true; }; }, { "pagingSelected": "pagingSelected"; }, never, never, false, never>;
57
- }
@@ -1,10 +0,0 @@
1
- import { Injector } from "@angular/core";
2
- import { LocalizationService } from "@esfaenza/localizations";
3
- import * as i0 from "@angular/core";
4
- /** Classe di localizzazione per il componente **EsTablePagerComponent** */
5
- export declare class TablePagerLoc extends LocalizationService {
6
- /** @ignore */
7
- constructor(injector: Injector);
8
- static ɵfac: i0.ɵɵFactoryDeclaration<TablePagerLoc, never>;
9
- static ɵprov: i0.ɵɵInjectableDeclaration<TablePagerLoc>;
10
- }
@@ -1,10 +0,0 @@
1
- import { PipeTransform } from "@angular/core";
2
- import { DateService } from "@esfaenza/extensions";
3
- import * as i0 from "@angular/core";
4
- export declare class EstFormatPipe implements PipeTransform {
5
- private dates;
6
- constructor(dates: DateService);
7
- transform(value: string, format: string): string;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<EstFormatPipe, never>;
9
- static ɵpipe: i0.ɵɵPipeDeclaration<EstFormatPipe, "est_format", false>;
10
- }
@@ -1,13 +0,0 @@
1
- import { PipeTransform } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export declare class EstLookupPipe implements PipeTransform {
4
- transform(value: string, source: {
5
- id: string;
6
- description: string;
7
- }[]): {
8
- id: string;
9
- description: string;
10
- };
11
- static ɵfac: i0.ɵɵFactoryDeclaration<EstLookupPipe, never>;
12
- static ɵpipe: i0.ɵɵPipeDeclaration<EstLookupPipe, "est_lookup", false>;
13
- }
@@ -1,7 +0,0 @@
1
- import { PipeTransform } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export declare class EstPropInsensitivePipe implements PipeTransform {
4
- transform(item: any, property: string): any;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<EstPropInsensitivePipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<EstPropInsensitivePipe, "est_propinsensitive", false>;
7
- }
@@ -1,15 +0,0 @@
1
- import { PipeTransform, QueryList } from "@angular/core";
2
- import { Logger } from "../../core/Logger";
3
- import { EsTdDirective } from "../../directives/es_td.directive";
4
- import * as i0 from "@angular/core";
5
- export declare class EstRendererPipe implements PipeTransform {
6
- private logger;
7
- constructor(logger: Logger);
8
- transform(propName: string, params: {
9
- name: string;
10
- src: QueryList<EsTdDirective>;
11
- fallback: any;
12
- }): any;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<EstRendererPipe, never>;
14
- static ɵpipe: i0.ɵɵPipeDeclaration<EstRendererPipe, "est_renderer", false>;
15
- }
@@ -1,20 +0,0 @@
1
- import { PipeTransform } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export declare class EstRouterLinkPipe implements PipeTransform {
4
- /** Cache per i routerLink generati nelle tabelle dinamiche */
5
- routerLinksCache: {};
6
- transform(item: any, path: string, parameters: string[]): any;
7
- /**
8
- * Crea un router link
9
- *
10
- * @param {string} path Path su cui navigare con eventuali parametri riferiti all'oggetto cotnestuale come {0}, {1}, ecc...
11
- * @param {string[]} pars Lista posizionale delle proprietà a cui bindare i riferimenti del parametro **path**
12
- * Es. Il valore dela proprietà all'indice 0 di questo array verrà sostituita al valore {0} del parametro **path**
13
- * @param {any} item Oggetto collegato a questo contesto. Può essere un oggetto generico (con "properties") o un oggetto ben definito
14
- *
15
- * @returns {any} Router link generato in base al parametri
16
- */
17
- private getRouterLink;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<EstRouterLinkPipe, never>;
19
- static ɵpipe: i0.ɵɵPipeDeclaration<EstRouterLinkPipe, "est_routerlink", false>;
20
- }
@@ -1,15 +0,0 @@
1
- import { PipeTransform, QueryList } from "@angular/core";
2
- import { Logger } from "../../core/Logger";
3
- import { EsTdEditorDirective } from "../../directives/es_td_editor.directive";
4
- import * as i0 from "@angular/core";
5
- export declare class EstEditorPipe implements PipeTransform {
6
- private logger;
7
- constructor(logger: Logger);
8
- transform(propName: string, params: {
9
- name: string;
10
- src: QueryList<EsTdEditorDirective>;
11
- fallback: any;
12
- }): any;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<EstEditorPipe, never>;
14
- static ɵpipe: i0.ɵɵPipeDeclaration<EstEditorPipe, "est_editor", false>;
15
- }
@@ -1,15 +0,0 @@
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
- /** Riferimento all'estable attiva per evitare di spammare copia incolla dove non servono */
10
- ActiveEstReference: any;
11
- /** @ignore */
12
- constructor();
13
- static ɵfac: i0.ɵɵFactoryDeclaration<CopyPasteDetector, never>;
14
- static ɵprov: i0.ɵɵInjectableDeclaration<CopyPasteDetector>;
15
- }
@@ -1,10 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- /** Classe che fornisce dei metodi di estensione in grado di riconoscere e dispatchare l'evento copia e incolla lanciato su una pagina web */
3
- export declare class Logger {
4
- debugMode: boolean;
5
- /** @ignore */
6
- constructor(debugMode: boolean);
7
- log(text: string): void;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<Logger, [{ optional: true; }]>;
9
- static ɵprov: i0.ɵɵInjectableDeclaration<Logger>;
10
- }
@@ -1,188 +0,0 @@
1
- import { CdkDrag, CdkDragDrop } from "@angular/cdk/drag-drop";
2
- import { UtilityService } from "@esfaenza/extensions";
3
- import { PreferencesService } from "@esfaenza/preferences";
4
- import { EsTableComponent } from "../../components/es-table/es_table.component";
5
- import { EsTdDirective } from "../../directives/es_td.directive";
6
- import { EsThDirective } from "../../directives/es_th.directive";
7
- import { UtilitiesHandler } from "./UtilitiesHandler";
8
- import { RowGroupingHandler } from "./RowGroupingHandler";
9
- import { AppSearch } from "../../domain/externals/appsearch/AppSearch";
10
- import { EsTableColumn } from "../../domain/internals/EsTableColumn";
11
- /** Classe che gestisce tutte le informaizoni relative alle colonne: visibilità, posizione, stato di pin/unpin, ecc ecc... */
12
- export declare class ColumnMetadataHandler {
13
- private est;
14
- private utilities;
15
- private utiExts;
16
- private prefService;
17
- private rgH;
18
- /** @ignore Costruttore*/
19
- constructor(est: EsTableComponent, utilities: UtilitiesHandler, utiExts: UtilityService, prefService: PreferencesService, rgH: RowGroupingHandler);
20
- /**
21
- * Metodo che gestisce il cambio di Ordinamento di una colonna
22
- *
23
- * @param {string} id ID della colonna il cui oridnamento è cambiato
24
- * @param {'DESC' | 'ASC'} order Nuovo ordine selezionato per la colonna
25
- */
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;
33
- /**
34
- * Partendo dagli **EsThs** estrappolo la lista di **EsTableColumn** che questa tabella dovrà eventualmente gestire per Visibilità e Ordine
35
- *
36
- * Costo: 1 scan EsThs
37
- *
38
- * @param {EsThDirective[]} ths Colonne della tabella
39
- */
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 */
42
- expandMultiThsAndTds(ths: EsThDirective[], tds: EsTdDirective[], items: any[]): {
43
- expThs: EsThDirective[];
44
- expTds: EsTdDirective[];
45
- };
46
- /**
47
- * Prende i th e i td in modalità diretive e li ordina in base a se ci sono colonne fixed o meno
48
- */
49
- moveFixedColumnsAtTheBeginning(ths: EsThDirective[], tds: EsTdDirective[]): void;
50
- /** In base alla configurazione delle colonne calcola le dimenioni delle colonne pinnate */
51
- evaluatePinnedColumnsWidth(): void;
52
- /**
53
- * Terminato il binding delle colonne da **reviewColumnsList** e della **View** dal **writeValue** questo metodo si occupa
54
- * dell'allineamento delle informazioni fra le colonne calcolate internamente e le informazioni sulle colonne che arrivano dall'AppSearch
55
- *
56
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
57
- */
58
- alignColumnsIfLoadedView(view: AppSearch<any>): void;
59
- /**
60
- * In base alla visibilità registrata nelle **ColumnsList** questo metodo si occupa di prendere tutti i **EsThDirective** ed **EsTdDirective** relativi e nasonderli/mostrarli
61
- *
62
- * Costo: 1 scan ColumnsList, 1 scan EsThDirectives, 1 scan EsTdDirectives
63
- *
64
- * @param {EsThDirective[]} ths Header della tabella
65
- * @param {EsTdDirective[]} tds Celle della tabella
66
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
67
- */
68
- refreshColumnsVisibility(ths: EsThDirective[], tds: EsTdDirective[], view: AppSearch<any>): void;
69
- /**
70
- * Allinea gli ordinamenti dati fra le **EsThs** e le informazioni all'interno della View bindata
71
- *
72
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
73
- * @param {EsThDirective[]} ths Colonne della tabella
74
- */
75
- alignHeadersOrdering(ths: EsThDirective[], view: AppSearch<any>): void;
76
- /**
77
- * Genera tutte le informazioni che servono per gestire il raggruppamento degli header
78
- *
79
- * @param {EsThDirective[]} ths Colonne della tabella
80
- *
81
- * @returns {{ leafs: EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} Oggetto contenente la lista delle foglie (header base), il livello
82
- * 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
83
- */
84
- evaluateHeadersGroupingInfos(ths: EsThDirective[]): {
85
- leafs: EsThDirective[];
86
- groupingLevel: number;
87
- parentsCache: any;
88
- thsCache: any;
89
- };
90
- /**
91
- * Genera gli header groups da una lista di info sui th all'interno della variabile **TMPRowThGroups**
92
- *
93
- * @param {{ leafs: EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} infos Informazioni di raggruppamento valutate precedentemente
94
- */
95
- evaluateHeaderGroups(infos: {
96
- leafs: EsThDirective[];
97
- groupingLevel: number;
98
- parentsCache: any;
99
- thsCache: {
100
- [index: string]: EsThDirective;
101
- };
102
- }): void;
103
- /**
104
- * Calcola il numero di salti da un header foglia all'ultimo parent della catena
105
- *
106
- * @param {EsThDirective} th Header da cui scorrere i padri per capire quanti livelli ci sono sopra
107
- * @param {{ [index: string]: EsThDirective }} thsCache Cache degli header
108
- */
109
- private jumpsToFinalParent;
110
- /**
111
- * Metodo che genera l'ordine di default delle colonne
112
- *
113
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
114
- */
115
- generateDefaultOrder(ths: EsThDirective[], view: AppSearch<any>): void;
116
- /**
117
- * Applica l'ordine specificato alle varie colonne
118
- *
119
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
120
- * @param {boolean} finalize Se **true** significa che non mi aspetto di dover effettuare altre operazioni e posso renderizzare la situazione in base ai RowContext
121
- * Senza finalize significa che mi aspetto altre operazioni che prima o poi richiameranno questa funzione col finalize.
122
- *
123
- * 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.
124
- * Mettendo solo la chiamata da "writeValue" come "finalizzante" mi assicuro che smanattamenti a frontend non causino flickering fino a quando non servono
125
- */
126
- applyOrdering(view: AppSearch<any>, finalize: boolean): void;
127
- /**
128
- * All'interno della dialog "Ordinamento e Visibilità Colonne" mette la colonna specificata prima della colonna precedente
129
- *
130
- * @param {EsTableColumn} columnItem Colonna da spostare
131
- */
132
- sendUp(columnItem: EsTableColumn): void;
133
- /**
134
- * All'interno della dialog "Ordinamento e Visibilità Colonne" mette la colonna specificata dopo la colonna successiva
135
- *
136
- * @param {EsTableColumn} columnItem Colonna da spostare
137
- */
138
- sendDown(columnItem: EsTableColumn): void;
139
- /**
140
- * All'interno della dialog "Ordinamento e Visibilità Colonne" pinna la colonna specificata
141
- *
142
- * @param {EsTableColumn} columnItem Colonna da spostare
143
- */
144
- pinOrUnpinColumn(columnItem: EsTableColumn): void;
145
- /**
146
- * All'interno della dialog "Ordinamento e Visibilità Colonne" inverte le impostazioni di visibilità della colonna
147
- *
148
- * @param {EsTableColumn} columnItem Colonna da spostare
149
- */
150
- columnClicked(item: EsTableColumn): void;
151
- /** All'apertura della dialog "Ordinamento e Visibilità Colonne" ricarica le informazioni attuali per permettere la modifica */
152
- resetColumnVisSelection(): void;
153
- /** Riaggiorna le **OrderDirectives** con le informazioni in **ColumnsList** */
154
- private refreshColumnOrdering;
155
- /** Effettua la selezione o meno del check globale (**globalColVisCheck**) di visibilità in base a se tutte le **TMPColumnsList** sono visibili o no */
156
- updateGlobalColVisCheck(): void;
157
- /**
158
- * Chiamato quando una colonna viene riordinata all'interno della lista delle visibilità/posizioni colonne
159
- *
160
- * @param {CdkDragDrop<EsTableColumn[]>} event Evento di drop della lista
161
- */
162
- columnReordered(event: CdkDragDrop<EsTableColumn[]>): void;
163
- /**
164
- * Chiamato quando una colonna viene riordinata all'interno della lista delle visibilità/posizioni colonne
165
- *
166
- * @param {number} index Indice in cui voglio droppare l'elemento draggato
167
- * @param {CdkDrag<EsTableColumn>} item Oggetto che sto draggando
168
- *
169
- * @returns {boolean} **true** se la colonna può essere spostata sull'indice **index**, **false** altrimenti
170
- */
171
- sortPredicate(index: number, item: CdkDrag<EsTableColumn>): boolean;
172
- /**
173
- * Funzione che effettua la conferma della visibilità e dell'ordine delle colonne.
174
- *
175
- * Questa selezione viene inoltre salvata nelle preferenze (**@esfaenza/preferences**), qualora l'Input **SavePreferences** fosse valorizzato
176
- *
177
- * @returns {boolean} **true** se non ci sono problemi, **false** altrimenti
178
- */
179
- confirmColumnVisibilitySelection(): boolean;
180
- /**
181
- * Effettuo l'unpinning di una colonna in maniera programmatica semplicemente eseguendo una per una le operazioni che verrebbero eseguite altrimenti
182
- *
183
- * @param {string} id Codice della colonna da spinnare
184
- */
185
- unpinColumn(id: string): void;
186
- /** Sul click nella checkbox di selezione globale si scorrono tutte le colonne e si impostano al valore della check globale */
187
- globalColVisCheckChanged(): void;
188
- }
@@ -1,22 +0,0 @@
1
- import { EsTableComponent } from "../../components/es-table/es_table.component";
2
- import { EsTdDirective } from "../../directives/es_td.directive";
3
- import { EsThDirective } from "../../directives/es_th.directive";
4
- /** Classe contenente le gestioni particolari della modalità dinamica dell'es-table */
5
- export declare class DynamicModeHandler {
6
- private est;
7
- /** @ignore Costruttore*/
8
- constructor(est: EsTableComponent);
9
- /** Se non ho l'Input **DynamicRowColumnsDefinition** in modalità dinamica lo riempio con il default nome della colonna = testo della colonna */
10
- eventuallyReviewDynamicColumns(): void;
11
- /** Genera partendo dalle **DynamicRowColumnsDefinition** la lista di **EsThDirective** e **EsTdDirective** che servono per la tabella */
12
- emitThsAndTdsBasedOnDynamicDefinition(): {
13
- ths: EsThDirective[];
14
- tds: EsTdDirective[];
15
- };
16
- /** @ignore Helper */
17
- private getThFromOperation;
18
- private getTdFromOperation;
19
- private getThFromColumnDef;
20
- /** @ignore Helper */
21
- private getTdFromColumnDef;
22
- }
@@ -1,19 +0,0 @@
1
- import { DateService, ExportService, MessageService, UtilityService } from "@esfaenza/extensions";
2
- import { EsTableComponent } from "../../components/es-table/es_table.component";
3
- /** Classe contenente la gestione delle importazioni */
4
- export declare class ExportHandler {
5
- private est;
6
- private expExts;
7
- private msgExts;
8
- private utiExts;
9
- private dateExts;
10
- private exportInProgress;
11
- /** @ignore Costruttore*/
12
- constructor(est: EsTableComponent, expExts: ExportService, msgExts: MessageService, utiExts: UtilityService, dateExts: DateService);
13
- /**
14
- * Effettua l'esportazione dei dati
15
- *
16
- * @param {string} format Formato di esportazione. Letto solo in modalità Report della tabella
17
- */
18
- tryExport(format?: 'CSV' | 'XLSX'): void;
19
- }
@@ -1,41 +0,0 @@
1
- import { EsTableComponent } from "../../components/es-table/es_table.component";
2
- /** Classe contenente la gestione della modalità gerarchica */
3
- export declare class HierarchyModeHandler {
4
- private est;
5
- /** @ignore Costruttore*/
6
- constructor(est: EsTableComponent);
7
- /**
8
- * Data una lista di oggetti assegno il livello gerarchico rispetto alla lista di oggetti passata
9
- *
10
- * @param {any[]} objs Lista di oggetti a cui aggiungere l'informazione del livello gerarchico
11
- */
12
- assignHierarchyLevels(objs: any[]): void;
13
- private orderItemsInPlace;
14
- /**
15
- * Per ognuno degli oggetti passati gli assegna un livello di gerarchia in base a **ParentKey** e **OwnKey**
16
- *
17
- * @param {any[]} objs Oggetti a cui assegnare il livello di gerarchia
18
- * @param {number} levelToAssign Livello che sta assegnando attualmente questa iterazione (dato che è ricorsiva)
19
- *
20
- * @returns {number} Numero di oggetti a cui è stato assegnato un livello gerarchico
21
- */
22
- private assignLevel;
23
- /**
24
- * Funzione che permette di effettuare l'espansione di un parent quando la tabella funziona in modalità gerarchica
25
- *
26
- * @param {string} key Chiave del parent da espandere
27
- */
28
- expandParent(key: string): void;
29
- /**
30
- * Funzione che permette di effettuare il collapse di un parent quando la tabella funziona in modalità gerarchica
31
- *
32
- * @param {string} key Chiave del parent da collassare
33
- */
34
- collapseParent(key: string): void;
35
- /**
36
- * Collassa ricorsivamente tutti i figli di un parent identificato dalla **parentKey**
37
- *
38
- * @param {string} parentKey Chiave del parent di cui collassare i figli
39
- */
40
- private collapseChildOfParent;
41
- }
@@ -1,35 +0,0 @@
1
- import { EsTableComponent } from "../../components/es-table/es_table.component";
2
- import { UtilitiesHandler } from "./UtilitiesHandler";
3
- /** Classe che si occupa della gestione del recupero degli oggetti, paginazione e tutto ciò in cui gli elementi caricati vengono manipolati direttamente */
4
- export declare class ItemsHandler {
5
- private est;
6
- private utilities;
7
- /** @ignore Costruttore */
8
- constructor(est: EsTableComponent, utilities: UtilitiesHandler);
9
- /**
10
- * In base alla modalità specificata (ArrayMode, ViewMode, ecc...) questo metodo recupera l'array di oggetti da bindare ad interfaccia
11
- *
12
- * @param {boolean} onlyselected [false] Indica di prendere solo gli oggetti selezionati
13
- * @param {boolean} refreshPaging [false] Indica se aggiornare le informazioni di paginazione o meno
14
- * @param {boolean} allIfPossible [false] Indica se prendere tutti gli oggetti quaora possibile, usato solo in ArrayMode
15
- *
16
- * @returns {any[]} Lista degli oggetti su cui effettuare il bind lato interfaccia
17
- */
18
- getItemsByMode(onlyselected?: boolean, refreshPaging?: boolean, allIfPossible?: boolean): any[];
19
- /**
20
- * Metodo per effettuare il refresh della paginazione sul cambiamento degli oggetti da visualizzare in una singola pagina.
21
- *
22
- * Vale solo per la modalità Array
23
- *
24
- * @param {number} pageSize Dimensione della pagina
25
- */
26
- refreshPaging(pageSize: number): void;
27
- /**
28
- * Ottiene gli oggetti in base alla sorgente
29
- */
30
- private getViewItemsBySource;
31
- /** Genera le informazioni di paginazione e taglia la View in modalità array per mostrare solo gli oggetti della pagina specificata */
32
- private adaptViewToPaging;
33
- /** Se in modalità array applica gli ordinamenti ASC-DESC delle colonne */
34
- arrayModeReviewOrderings(items: any[]): any[];
35
- }