@esfaenza/es-table 16.2.29 → 17.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 (123) hide show
  1. package/esm2022/esfaenza-es-table.mjs +4 -4
  2. package/esm2022/lib/components/es-table/es_table.component.loc.mjs +38 -38
  3. package/esm2022/lib/components/es-table/es_table.component.mjs +1891 -1891
  4. package/esm2022/lib/components/es-td/es_td.component.mjs +40 -40
  5. package/esm2022/lib/components/es-th/es_th.component.mjs +176 -176
  6. package/esm2022/lib/components/pager/table_pager.component.loc.mjs +20 -20
  7. package/esm2022/lib/components/pager/table_pager.component.mjs +111 -111
  8. package/esm2022/lib/components/pipes/est-format.pipe.mjs +44 -44
  9. package/esm2022/lib/components/pipes/est-lookup.pipe.mjs +19 -19
  10. package/esm2022/lib/components/pipes/est-propinsensitive.pipe.mjs +19 -19
  11. package/esm2022/lib/components/pipes/est-renderer.pipe.mjs +36 -36
  12. package/esm2022/lib/components/pipes/est-routerlink.pipe.mjs +41 -41
  13. package/esm2022/lib/components/pipes/est_editor.pipe.mjs +36 -36
  14. package/esm2022/lib/core/CopyPasteDetector.mjs +27 -27
  15. package/esm2022/lib/core/Logger.mjs +25 -25
  16. package/esm2022/lib/core/handlers/ColumnMetadataHandler.mjs +835 -835
  17. package/esm2022/lib/core/handlers/DynamicModeHandler.mjs +109 -109
  18. package/esm2022/lib/core/handlers/ExportHandler.mjs +32 -32
  19. package/esm2022/lib/core/handlers/HierarchyModeHandler.mjs +136 -136
  20. package/esm2022/lib/core/handlers/ItemsHandler.mjs +119 -119
  21. package/esm2022/lib/core/handlers/ReportModeHandler.mjs +60 -60
  22. package/esm2022/lib/core/handlers/RowGroupingHandler.mjs +480 -480
  23. package/esm2022/lib/core/handlers/SelectionHandler.mjs +778 -778
  24. package/esm2022/lib/core/handlers/UtilitiesHandler.mjs +151 -151
  25. package/esm2022/lib/directives/es_td.directive.mjs +54 -54
  26. package/esm2022/lib/directives/es_td_editor.directive.mjs +24 -24
  27. package/esm2022/lib/directives/es_th.directive.mjs +130 -130
  28. package/esm2022/lib/directives/es_th_td_provider.directive.mjs +34 -34
  29. package/esm2022/lib/domain/configuration/EsTableDefaultable.mjs +3 -3
  30. package/esm2022/lib/domain/configuration/EsTableModuleConfig.mjs +3 -3
  31. package/esm2022/lib/domain/externals/CornerMenuOption.mjs +3 -3
  32. package/esm2022/lib/domain/externals/EsTableColumnsDefinition.mjs +47 -47
  33. package/esm2022/lib/domain/externals/EsTableModelChange.mjs +18 -18
  34. package/esm2022/lib/domain/externals/EsTableOperationDefinition.mjs +21 -21
  35. package/esm2022/lib/domain/externals/ItemPropEditableReference.mjs +3 -3
  36. package/esm2022/lib/domain/externals/appsearch/AppOrdering.mjs +15 -15
  37. package/esm2022/lib/domain/externals/appsearch/AppSearch.mjs +65 -65
  38. package/esm2022/lib/domain/externals/appsearch/EsTableMultiValue.mjs +24 -24
  39. package/esm2022/lib/domain/externals/appsearch/GenericItem.mjs +10 -10
  40. package/esm2022/lib/domain/externals/appsearch/Group.mjs +16 -16
  41. package/esm2022/lib/domain/externals/appsearch/GroupAggregation.mjs +15 -15
  42. package/esm2022/lib/domain/externals/appsearch/GroupFilter.mjs +13 -13
  43. package/esm2022/lib/domain/externals/appsearch/GroupOrAggregation.mjs +15 -15
  44. package/esm2022/lib/domain/externals/appsearch/ItemsSelection.mjs +22 -22
  45. package/esm2022/lib/domain/externals/report/ReportColumn.mjs +3 -3
  46. package/esm2022/lib/domain/externals/report/ReportParam.mjs +3 -3
  47. package/esm2022/lib/domain/externals/report/ReportRow.mjs +3 -3
  48. package/esm2022/lib/domain/internals/CacheTriptic.mjs +15 -15
  49. package/esm2022/lib/domain/internals/EsTableColumn.mjs +31 -31
  50. package/esm2022/lib/domain/internals/GroupPager.mjs +22 -22
  51. package/esm2022/lib/domain/internals/GroupRouteFragment.mjs +16 -16
  52. package/esm2022/lib/domain/internals/PagerInfos.mjs +14 -14
  53. package/esm2022/lib/domain/internals/TdElement.mjs +1 -1
  54. package/esm2022/lib/domain/internals/ThAggregation.mjs +15 -15
  55. package/esm2022/lib/domain/internals/ThElement.mjs +1 -1
  56. package/esm2022/lib/domain/internals/ThGroup.mjs +1 -1
  57. package/esm2022/lib/domain/types.mjs +1 -1
  58. package/esm2022/lib/es-table.module.mjs +124 -124
  59. package/esm2022/lib/tokens.mjs +5 -5
  60. package/esm2022/public-api.mjs +27 -27
  61. package/fesm2022/esfaenza-es-table.mjs +5771 -5771
  62. package/fesm2022/esfaenza-es-table.mjs.map +1 -1
  63. package/index.d.ts +5 -5
  64. package/lib/components/es-table/es_table.component.d.ts +738 -738
  65. package/lib/components/es-table/es_table.component.loc.d.ts +10 -10
  66. package/lib/components/es-td/es_td.component.d.ts +26 -26
  67. package/lib/components/es-th/es_th.component.d.ts +92 -92
  68. package/lib/components/pager/table_pager.component.d.ts +56 -56
  69. package/lib/components/pager/table_pager.component.loc.d.ts +10 -10
  70. package/lib/components/pipes/est-format.pipe.d.ts +10 -10
  71. package/lib/components/pipes/est-lookup.pipe.d.ts +13 -13
  72. package/lib/components/pipes/est-propinsensitive.pipe.d.ts +7 -7
  73. package/lib/components/pipes/est-renderer.pipe.d.ts +15 -15
  74. package/lib/components/pipes/est-routerlink.pipe.d.ts +20 -20
  75. package/lib/components/pipes/est_editor.pipe.d.ts +15 -15
  76. package/lib/core/CopyPasteDetector.d.ts +15 -15
  77. package/lib/core/Logger.d.ts +10 -10
  78. package/lib/core/handlers/ColumnMetadataHandler.d.ts +189 -189
  79. package/lib/core/handlers/DynamicModeHandler.d.ts +22 -22
  80. package/lib/core/handlers/ExportHandler.d.ts +18 -18
  81. package/lib/core/handlers/HierarchyModeHandler.d.ts +40 -40
  82. package/lib/core/handlers/ItemsHandler.d.ts +35 -35
  83. package/lib/core/handlers/ReportModeHandler.d.ts +27 -27
  84. package/lib/core/handlers/RowGroupingHandler.d.ts +118 -118
  85. package/lib/core/handlers/SelectionHandler.d.ts +230 -230
  86. package/lib/core/handlers/UtilitiesHandler.d.ts +57 -57
  87. package/lib/directives/es_td.directive.d.ts +42 -42
  88. package/lib/directives/es_td_editor.directive.d.ts +14 -14
  89. package/lib/directives/es_th.directive.d.ts +107 -107
  90. package/lib/directives/es_th_td_provider.directive.d.ts +15 -15
  91. package/lib/domain/configuration/EsTableDefaultable.d.ts +21 -21
  92. package/lib/domain/configuration/EsTableModuleConfig.d.ts +8 -8
  93. package/lib/domain/externals/CornerMenuOption.d.ts +7 -7
  94. package/lib/domain/externals/EsTableColumnsDefinition.d.ts +56 -56
  95. package/lib/domain/externals/EsTableModelChange.d.ts +17 -17
  96. package/lib/domain/externals/EsTableOperationDefinition.d.ts +20 -20
  97. package/lib/domain/externals/ItemPropEditableReference.d.ts +34 -34
  98. package/lib/domain/externals/appsearch/AppOrdering.d.ts +14 -14
  99. package/lib/domain/externals/appsearch/AppSearch.d.ts +100 -100
  100. package/lib/domain/externals/appsearch/EsTableMultiValue.d.ts +22 -22
  101. package/lib/domain/externals/appsearch/GenericItem.d.ts +13 -13
  102. package/lib/domain/externals/appsearch/Group.d.ts +17 -17
  103. package/lib/domain/externals/appsearch/GroupAggregation.d.ts +14 -14
  104. package/lib/domain/externals/appsearch/GroupFilter.d.ts +12 -12
  105. package/lib/domain/externals/appsearch/GroupOrAggregation.d.ts +14 -14
  106. package/lib/domain/externals/appsearch/ItemsSelection.d.ts +22 -22
  107. package/lib/domain/externals/report/ReportColumn.d.ts +19 -19
  108. package/lib/domain/externals/report/ReportParam.d.ts +40 -40
  109. package/lib/domain/externals/report/ReportRow.d.ts +9 -9
  110. package/lib/domain/internals/CacheTriptic.d.ts +14 -14
  111. package/lib/domain/internals/EsTableColumn.d.ts +41 -41
  112. package/lib/domain/internals/GroupPager.d.ts +26 -26
  113. package/lib/domain/internals/GroupRouteFragment.d.ts +15 -15
  114. package/lib/domain/internals/PagerInfos.d.ts +13 -13
  115. package/lib/domain/internals/TdElement.d.ts +57 -57
  116. package/lib/domain/internals/ThAggregation.d.ts +14 -14
  117. package/lib/domain/internals/ThElement.d.ts +24 -24
  118. package/lib/domain/internals/ThGroup.d.ts +10 -10
  119. package/lib/domain/types.d.ts +2 -2
  120. package/lib/es-table.module.d.ts +35 -35
  121. package/lib/tokens.d.ts +6 -6
  122. package/package.json +14 -14
  123. package/public-api.d.ts +27 -27
@@ -1,20 +1,20 @@
1
- /** Indica operazioni dinamiche generiche che possono essere effettuate per riga. Appaiono come colonne extra sul lato sinistro della tabella */
2
- export declare class EsTableOperationDefinition {
3
- id: string;
4
- title: string;
5
- iconClass?: string;
6
- text?: string;
7
- conditionField?: string;
8
- conditionValue?: string;
9
- /**
10
- * Costruttore
11
- *
12
- * @param {string} id Codice dell'operazione
13
- * @param {string} title Titolo dell'operazione, da presentare all'utente su hover della cella
14
- * @param {string} iconClass Classe che fornisca un iconcina Es. "fa fa-remove"
15
- * @param {string} text Eventuale testo presentato nella cella, genericamente va in alternativa a **iconClass**
16
- * @param {string} conditionField Indica il campo dell'oggetto sottostante su cui verificare la visibilità o meno di questa icona
17
- * @param {string} conditionValue Indica il valore che la proprietà **conditionField** dell'oggetto sottostante deve assumere affinché questa opzione si veda
18
- */
19
- constructor(id: string, title: string, iconClass?: string, text?: string, conditionField?: string, conditionValue?: string);
20
- }
1
+ /** Indica operazioni dinamiche generiche che possono essere effettuate per riga. Appaiono come colonne extra sul lato sinistro della tabella */
2
+ export declare class EsTableOperationDefinition {
3
+ id: string;
4
+ title: string;
5
+ iconClass?: string;
6
+ text?: string;
7
+ conditionField?: string;
8
+ conditionValue?: string;
9
+ /**
10
+ * Costruttore
11
+ *
12
+ * @param {string} id Codice dell'operazione
13
+ * @param {string} title Titolo dell'operazione, da presentare all'utente su hover della cella
14
+ * @param {string} iconClass Classe che fornisca un iconcina Es. "fa fa-remove"
15
+ * @param {string} text Eventuale testo presentato nella cella, genericamente va in alternativa a **iconClass**
16
+ * @param {string} conditionField Indica il campo dell'oggetto sottostante su cui verificare la visibilità o meno di questa icona
17
+ * @param {string} conditionValue Indica il valore che la proprietà **conditionField** dell'oggetto sottostante deve assumere affinché questa opzione si veda
18
+ */
19
+ constructor(id: string, title: string, iconClass?: string, text?: string, conditionField?: string, conditionValue?: string);
20
+ }
@@ -1,34 +1,34 @@
1
- import { InputType } from "../types";
2
- /** Classe che rappresenta il riferimento ad una proprietà di un oggetto bindato sulla tabella */
3
- export declare class ItemPropEditableReference {
4
- /** Stato di selezione della cella relativa */
5
- selected: boolean;
6
- /** Oggetto relativo su cui si modificano le proprietà */
7
- item: any;
8
- /** ID dell'header in modifica (riferimento al TH relativo) */
9
- header: string;
10
- /** Proprietà Javascript effettivamente in modifica */
11
- property: string;
12
- /** Tipo dell'input */
13
- type: InputType | string;
14
- /** Valore attuale della proprietà **property** dell'oggetto **item** */
15
- value: string;
16
- /** Indica se la cella deve avere il bordino a sinistra */
17
- lborder?: boolean;
18
- /** Indica se la cella deve avere il bordino in alto */
19
- tborder?: boolean;
20
- /** Indica se la cella deve avere il bordino a destra */
21
- rborder?: boolean;
22
- /** Indica se la cella deve avere il bordino in basso */
23
- bborder?: boolean;
24
- /** Indica se il bordo a sinistra overlappa su un bordo di selezione destro della cella precedente */
25
- loverlaps?: boolean;
26
- /** Indica se il bordo a destra overlappa su un bordo di selezione sinistro della cella successiva */
27
- roverlaps?: boolean;
28
- /** Indica se il bordo in alto overlappa su un bordo di selezione basso della cella precedente */
29
- toverlaps?: boolean;
30
- /** Indica se il bordo in basso overlappa su un bordo di selezione in alto della cella successiva */
31
- boverlaps?: boolean;
32
- /** Funzione che imposta il nuovo valore della proprietà **property** dell'oggetto **item** ed aggiorna il **value** di questo oggetto */
33
- val_setter?: (value: string) => any;
34
- }
1
+ import { InputType } from "../types";
2
+ /** Classe che rappresenta il riferimento ad una proprietà di un oggetto bindato sulla tabella */
3
+ export declare class ItemPropEditableReference {
4
+ /** Stato di selezione della cella relativa */
5
+ selected: boolean;
6
+ /** Oggetto relativo su cui si modificano le proprietà */
7
+ item: any;
8
+ /** ID dell'header in modifica (riferimento al TH relativo) */
9
+ header: string;
10
+ /** Proprietà Javascript effettivamente in modifica */
11
+ property: string;
12
+ /** Tipo dell'input */
13
+ type: InputType | string;
14
+ /** Valore attuale della proprietà **property** dell'oggetto **item** */
15
+ value: string;
16
+ /** Indica se la cella deve avere il bordino a sinistra */
17
+ lborder?: boolean;
18
+ /** Indica se la cella deve avere il bordino in alto */
19
+ tborder?: boolean;
20
+ /** Indica se la cella deve avere il bordino a destra */
21
+ rborder?: boolean;
22
+ /** Indica se la cella deve avere il bordino in basso */
23
+ bborder?: boolean;
24
+ /** Indica se il bordo a sinistra overlappa su un bordo di selezione destro della cella precedente */
25
+ loverlaps?: boolean;
26
+ /** Indica se il bordo a destra overlappa su un bordo di selezione sinistro della cella successiva */
27
+ roverlaps?: boolean;
28
+ /** Indica se il bordo in alto overlappa su un bordo di selezione basso della cella precedente */
29
+ toverlaps?: boolean;
30
+ /** Indica se il bordo in basso overlappa su un bordo di selezione in alto della cella successiva */
31
+ boverlaps?: boolean;
32
+ /** Funzione che imposta il nuovo valore della proprietà **property** dell'oggetto **item** ed aggiorna il **value** di questo oggetto */
33
+ val_setter?: (value: string) => any;
34
+ }
@@ -1,14 +1,14 @@
1
- /**
2
- * Classe che identifica un ordinamento di una colonna
3
- */
4
- export declare class AppOrdering {
5
- id: string;
6
- order?: 'DESC' | 'ASC';
7
- /**
8
- * Costruttore
9
- *
10
- * @param {string} id ID della colonna a cui si vogliono applicare ordinamenti, deve combaciare all'id messo nella dichiarazione dell'ES-TD/TH
11
- * @param {'DESC' | 'ASC' } order Ordinamento da applicare alla colonna, Discendente/Ascendente, default 'null' per indicare assenza di ordine
12
- */
13
- constructor(id: string, order?: 'DESC' | 'ASC');
14
- }
1
+ /**
2
+ * Classe che identifica un ordinamento di una colonna
3
+ */
4
+ export declare class AppOrdering {
5
+ id: string;
6
+ order?: 'DESC' | 'ASC';
7
+ /**
8
+ * Costruttore
9
+ *
10
+ * @param {string} id ID della colonna a cui si vogliono applicare ordinamenti, deve combaciare all'id messo nella dichiarazione dell'ES-TD/TH
11
+ * @param {'DESC' | 'ASC' } order Ordinamento da applicare alla colonna, Discendente/Ascendente, default 'null' per indicare assenza di ordine
12
+ */
13
+ constructor(id: string, order?: 'DESC' | 'ASC');
14
+ }
@@ -1,100 +1,100 @@
1
- import { AppOrdering } from './AppOrdering';
2
- import { ItemsSelection } from './ItemsSelection';
3
- import { Group } from './Group';
4
- import { GroupFilter } from './GroupFilter';
5
- import { GroupOrAggregation } from './GroupOrAggregation';
6
- import { ReportParam } from '../report/ReportParam';
7
- import { ReportColumn } from '../report/ReportColumn';
8
- /**
9
- * Classe che identifica una ricerca paginata in tutte le sue sfumature (di grigio)
10
- */
11
- export declare class AppSearch<T> {
12
- /**
13
- * Costruttore che genera un'istanza coi valori di default e impostando **firstsearch** a **true**
14
- */
15
- constructor();
16
- /** ID della ricerca, sempre inutile a meno che non sia la ricerca dei risultati di un report */
17
- searchid: string;
18
- /** Descrizione della ricerca, sempre inutile a meno che non sia la ricerca dei risultati di un report */
19
- searchdescription: string;
20
- /** Indica se la paginazione per questa ricerca è disponibile */
21
- pagingavailable: boolean;
22
- /** Indica il formato di export disponibile per questa ricerca. Utilizzato solo per la ricerca dei risultati di un report */
23
- expformat: boolean;
24
- /** Parametri di ricerca per i risultati in modalità report */
25
- pars: ReportParam[];
26
- /** Indicazione delle colonne presenti nel report */
27
- report_columns: ReportColumn[];
28
- /** Indica se c'è una ricerca in corso */
29
- searchinprogress: boolean;
30
- /** Indica il numero totale di pagine trovate dalla ricerca. Ogni pagina è una lista di **itemsperpageoverride** oggetti */
31
- pages: number;
32
- /** Conteggio totale degli oggetti trovati (inclusi quelli in pagine non attualmente selezionate) */
33
- objectcount: number;
34
- /** Conteggio totale dei gruppi trovati (inclusi quelli in pagine non attualmente selezionate) */
35
- groupcount: number;
36
- /** Pagina attualmente in visualizzazione */
37
- page: number;
38
- /** Numero di oggetti da persentare in ogni pagina. Per convenzione si considera valorizzato a 15 se non fornito */
39
- itemsperpageoverride: number;
40
- /** Lista degli oggetti nella pagina attualmente in visualizzazione */
41
- items: T[];
42
- /** Dizionario contenente tutti i gruppi paginati */
43
- groups: Group[];
44
- /** Lista di colonne per cui ordinare */
45
- orders: AppOrdering[];
46
- /** Lista di colonne da visualizzare */
47
- columns: string[];
48
- /** Lista di colonne nell'ordine corretto */
49
- column_ordering: string[];
50
- /** Indica se la ricerca era salvata. Qualora fosse questo il caso, al caricamento l'es-table si occuperà di ri-effettuare la ricerca ed aggiornare il modello */
51
- savedstate: boolean;
52
- /** Indica se bisogna ancora effettuare la prima ricerca */
53
- firstsearch: boolean;
54
- /** Indica se sto effettuando la ricerca post bind */
55
- selfsearch: boolean;
56
- /**
57
- * Oggetto che indica la selezione corrente.
58
- *
59
- * Se **all** è **true** vuole dire che è tutto selezionato ed eventualmente ci sono delle esclusioni (**exclusions**)
60
- * Se **all** è **false** vuol dire che sono selezionati **item** specifici
61
- *
62
- * In base all'Input **UseSelectionCache** le proprietà **exclusions** e **items** fanno riferimento o alla pagina corrente (se **false**)
63
- * o all'intera ricerca (se **true**)
64
- */
65
- selection: ItemsSelection<T>;
66
- /**
67
- * Indica che la ricerca è stata richiesta dall'estable. Questa variabile NON deve essere toccata. È gestita al 100% dall'es-table.
68
- *
69
- * L'unica cosa che serve è che nel modello lato C# sia presente in modo da non perderla durante la serializzazione
70
- */
71
- internalsearchrequest: boolean;
72
- /** Raggruppamenti da fare per questa query. Se impostato e non ci sono **filtergroup** mi aspetto di ricevere oggetti nel campo **groups** */
73
- groupings: GroupOrAggregation[];
74
- /**
75
- * Filtro da applicare ai gruppi. Qualora il numero di filtri qui fosse uguale al numero di raggruppamenti mi inizio ad apettare di ricevere oggetti
76
- * sul campo **items**, in caso contrario mi aspetto di ricevere o i gruppi nel campo **groups** o l'N-esimo livello dei gruppi
77
- */
78
- requestedgroups: GroupFilter[];
79
- /**
80
- * Permette di resettare un AppSearch ai valori di default.
81
- * Reso statico perché fra una deserializzazione e l'altra si potrebbe perdere il prototype del costruttore
82
- *
83
- * @param {AppSearch<T>} aps AppSearch da resettare
84
- */
85
- static reset<T extends AppSearch<any>>(aps: T): void;
86
- /**
87
- * Partendo da un appsearch con filtri impostati permette di crearne la stessa versione solo con la ricerca impostata a "tutto"
88
- *
89
- * @param {AppSearch<T>} aps AppSearch da cui partire
90
- */
91
- static toSelectAll<T extends AppSearch<any>>(aps: T): T;
92
- /**
93
- * Permette di ottenere un nuovo riferimento all'AppSearch passata come parametro.
94
- * Internamente utilizza il JSON.parse(JSON.stringify(X)) con la differenza che prima stacca il riferimento agli items per evitare di
95
- * reserializzare potenzialmente centinaia di elementi. Il riferimento viene poi ricollegato alla nuova appsearch generata
96
- *
97
- * @param {AppSearch<T>} aps AppSearch di cui estrarre un nuovo riferimento equivalente
98
- */
99
- static newref<T extends AppSearch<any>>(aps: T, retainItems?: boolean): T;
100
- }
1
+ import { AppOrdering } from './AppOrdering';
2
+ import { ItemsSelection } from './ItemsSelection';
3
+ import { Group } from './Group';
4
+ import { GroupFilter } from './GroupFilter';
5
+ import { GroupOrAggregation } from './GroupOrAggregation';
6
+ import { ReportParam } from '../report/ReportParam';
7
+ import { ReportColumn } from '../report/ReportColumn';
8
+ /**
9
+ * Classe che identifica una ricerca paginata in tutte le sue sfumature (di grigio)
10
+ */
11
+ export declare class AppSearch<T> {
12
+ /**
13
+ * Costruttore che genera un'istanza coi valori di default e impostando **firstsearch** a **true**
14
+ */
15
+ constructor();
16
+ /** ID della ricerca, sempre inutile a meno che non sia la ricerca dei risultati di un report */
17
+ searchid: string;
18
+ /** Descrizione della ricerca, sempre inutile a meno che non sia la ricerca dei risultati di un report */
19
+ searchdescription: string;
20
+ /** Indica se la paginazione per questa ricerca è disponibile */
21
+ pagingavailable: boolean;
22
+ /** Indica il formato di export disponibile per questa ricerca. Utilizzato solo per la ricerca dei risultati di un report */
23
+ expformat: boolean;
24
+ /** Parametri di ricerca per i risultati in modalità report */
25
+ pars: ReportParam[];
26
+ /** Indicazione delle colonne presenti nel report */
27
+ report_columns: ReportColumn[];
28
+ /** Indica se c'è una ricerca in corso */
29
+ searchinprogress: boolean;
30
+ /** Indica il numero totale di pagine trovate dalla ricerca. Ogni pagina è una lista di **itemsperpageoverride** oggetti */
31
+ pages: number;
32
+ /** Conteggio totale degli oggetti trovati (inclusi quelli in pagine non attualmente selezionate) */
33
+ objectcount: number;
34
+ /** Conteggio totale dei gruppi trovati (inclusi quelli in pagine non attualmente selezionate) */
35
+ groupcount: number;
36
+ /** Pagina attualmente in visualizzazione */
37
+ page: number;
38
+ /** Numero di oggetti da persentare in ogni pagina. Per convenzione si considera valorizzato a 15 se non fornito */
39
+ itemsperpageoverride: number;
40
+ /** Lista degli oggetti nella pagina attualmente in visualizzazione */
41
+ items: T[];
42
+ /** Dizionario contenente tutti i gruppi paginati */
43
+ groups: Group[];
44
+ /** Lista di colonne per cui ordinare */
45
+ orders: AppOrdering[];
46
+ /** Lista di colonne da visualizzare */
47
+ columns: string[];
48
+ /** Lista di colonne nell'ordine corretto */
49
+ column_ordering: string[];
50
+ /** Indica se la ricerca era salvata. Qualora fosse questo il caso, al caricamento l'es-table si occuperà di ri-effettuare la ricerca ed aggiornare il modello */
51
+ savedstate: boolean;
52
+ /** Indica se bisogna ancora effettuare la prima ricerca */
53
+ firstsearch: boolean;
54
+ /** Indica se sto effettuando la ricerca post bind */
55
+ selfsearch: boolean;
56
+ /**
57
+ * Oggetto che indica la selezione corrente.
58
+ *
59
+ * Se **all** è **true** vuole dire che è tutto selezionato ed eventualmente ci sono delle esclusioni (**exclusions**)
60
+ * Se **all** è **false** vuol dire che sono selezionati **item** specifici
61
+ *
62
+ * In base all'Input **UseSelectionCache** le proprietà **exclusions** e **items** fanno riferimento o alla pagina corrente (se **false**)
63
+ * o all'intera ricerca (se **true**)
64
+ */
65
+ selection: ItemsSelection<T>;
66
+ /**
67
+ * Indica che la ricerca è stata richiesta dall'estable. Questa variabile NON deve essere toccata. È gestita al 100% dall'es-table.
68
+ *
69
+ * L'unica cosa che serve è che nel modello lato C# sia presente in modo da non perderla durante la serializzazione
70
+ */
71
+ internalsearchrequest: boolean;
72
+ /** Raggruppamenti da fare per questa query. Se impostato e non ci sono **filtergroup** mi aspetto di ricevere oggetti nel campo **groups** */
73
+ groupings: GroupOrAggregation[];
74
+ /**
75
+ * Filtro da applicare ai gruppi. Qualora il numero di filtri qui fosse uguale al numero di raggruppamenti mi inizio ad apettare di ricevere oggetti
76
+ * sul campo **items**, in caso contrario mi aspetto di ricevere o i gruppi nel campo **groups** o l'N-esimo livello dei gruppi
77
+ */
78
+ requestedgroups: GroupFilter[];
79
+ /**
80
+ * Permette di resettare un AppSearch ai valori di default.
81
+ * Reso statico perché fra una deserializzazione e l'altra si potrebbe perdere il prototype del costruttore
82
+ *
83
+ * @param {AppSearch<T>} aps AppSearch da resettare
84
+ */
85
+ static reset<T extends AppSearch<any>>(aps: T): void;
86
+ /**
87
+ * Partendo da un appsearch con filtri impostati permette di crearne la stessa versione solo con la ricerca impostata a "tutto"
88
+ *
89
+ * @param {AppSearch<T>} aps AppSearch da cui partire
90
+ */
91
+ static toSelectAll<T extends AppSearch<any>>(aps: T): T;
92
+ /**
93
+ * Permette di ottenere un nuovo riferimento all'AppSearch passata come parametro.
94
+ * Internamente utilizza il JSON.parse(JSON.stringify(X)) con la differenza che prima stacca il riferimento agli items per evitare di
95
+ * reserializzare potenzialmente centinaia di elementi. Il riferimento viene poi ricollegato alla nuova appsearch generata
96
+ *
97
+ * @param {AppSearch<T>} aps AppSearch di cui estrarre un nuovo riferimento equivalente
98
+ */
99
+ static newref<T extends AppSearch<any>>(aps: T, retainItems?: boolean): T;
100
+ }
@@ -1,22 +1,22 @@
1
- /** Classe che definisce un multi-elemento, cioè una proprietà particolare di un oggetto da visualizzare in es-table che genera dinamicamente gruppi di Header e valori sottostanti */
2
- export declare class EsTableMultiValue {
3
- value: any;
4
- header: string;
5
- header_group: string;
6
- /**
7
- * Costruttore
8
- *
9
- * @param {string} value Valore di questo elemento
10
- * @param {string} header Nome di questo header
11
- * @param {string} header_group Gruppo dell'header, in caso di multipli gruppi innestati usare la sintassi "G1 > G2 > G3" ecc...
12
- * @param {boolean} exports Indica se questo header con questo valore dev'essere esportato
13
- * @param {string} export_format Qualora **export** fosse **true** indica il formato per l'esportazione
14
- */
15
- constructor(value: any, header: string, header_group: string, exports?: boolean, export_format?: string);
16
- /** Indica se questo header con questo valore dev'essere esportato */
17
- exports?: boolean;
18
- /** Qualora **export** fosse **true** indica il formato per l'esportazione */
19
- export_format?: string;
20
- /** Generato automaticamente da **header_group** se passato da costruttore, altrimenti generato da es-table. Contiene la lista di gerarchie degli header groups (cioè **header_group** splittato su ">" e trimmato) */
21
- _headersHierarchy?: string[];
22
- }
1
+ /** Classe che definisce un multi-elemento, cioè una proprietà particolare di un oggetto da visualizzare in es-table che genera dinamicamente gruppi di Header e valori sottostanti */
2
+ export declare class EsTableMultiValue {
3
+ value: any;
4
+ header: string;
5
+ header_group: string;
6
+ /**
7
+ * Costruttore
8
+ *
9
+ * @param {string} value Valore di questo elemento
10
+ * @param {string} header Nome di questo header
11
+ * @param {string} header_group Gruppo dell'header, in caso di multipli gruppi innestati usare la sintassi "G1 > G2 > G3" ecc...
12
+ * @param {boolean} exports Indica se questo header con questo valore dev'essere esportato
13
+ * @param {string} export_format Qualora **export** fosse **true** indica il formato per l'esportazione
14
+ */
15
+ constructor(value: any, header: string, header_group: string, exports?: boolean, export_format?: string);
16
+ /** Indica se questo header con questo valore dev'essere esportato */
17
+ exports?: boolean;
18
+ /** Qualora **export** fosse **true** indica il formato per l'esportazione */
19
+ export_format?: string;
20
+ /** Generato automaticamente da **header_group** se passato da costruttore, altrimenti generato da es-table. Contiene la lista di gerarchie degli header groups (cioè **header_group** splittato su ">" e trimmato) */
21
+ _headersHierarchy?: string[];
22
+ }
@@ -1,13 +1,13 @@
1
- /** Classe che definisce un oggetto generico come lista di proprietà-valore */
2
- export declare class GenericItem {
3
- /** @ignore */
4
- constructor();
5
- /** Dizionario delle proprietà dell'oggeto con il loro valore */
6
- properties: Record<string, string>;
7
- /** Indica se l'oggetto in questione è selezionato o meno */
8
- _selected: boolean;
9
- /** Viene valorizzato da un eventuale **RowClassAssigner** (o automaticamente se in modalità gerarchica) e serve applicare stili particolari alla intera riga */
10
- _rowClass: string;
11
- /** Hash dell'oggetto per generare i contesti di bind all'interno dell'es-table (vedere eventualmente l'implementazione specifica) */
12
- _hash: string;
13
- }
1
+ /** Classe che definisce un oggetto generico come lista di proprietà-valore */
2
+ export declare class GenericItem {
3
+ /** @ignore */
4
+ constructor();
5
+ /** Dizionario delle proprietà dell'oggeto con il loro valore */
6
+ properties: Record<string, string>;
7
+ /** Indica se l'oggetto in questione è selezionato o meno */
8
+ _selected: boolean;
9
+ /** Viene valorizzato da un eventuale **RowClassAssigner** (o automaticamente se in modalità gerarchica) e serve applicare stili particolari alla intera riga */
10
+ _rowClass: string;
11
+ /** Hash dell'oggetto per generare i contesti di bind all'interno dell'es-table (vedere eventualmente l'implementazione specifica) */
12
+ _hash: string;
13
+ }
@@ -1,17 +1,17 @@
1
- import { GroupAggregation } from "./GroupAggregation";
2
- /** Classe che rappresenta un Gruppo con le proprie aggregazioni */
3
- export declare class Group {
4
- column: string;
5
- count: number;
6
- value: string;
7
- /**
8
- * Costruttore
9
- *
10
- * @param {string} column ID della colonna raggruppata
11
- * @param {number} count Numero di elementi raggruppati sotto questa colonna
12
- * @param {string} value Valore del Gruppo
13
- */
14
- constructor(column: string, count: number, value: string);
15
- /** Aggregazioni presenti su questo gruppo, valide per tutte le altre colonne (non a loro volta gruppate) */
16
- aggregations: GroupAggregation[];
17
- }
1
+ import { GroupAggregation } from "./GroupAggregation";
2
+ /** Classe che rappresenta un Gruppo con le proprie aggregazioni */
3
+ export declare class Group {
4
+ column: string;
5
+ count: number;
6
+ value: string;
7
+ /**
8
+ * Costruttore
9
+ *
10
+ * @param {string} column ID della colonna raggruppata
11
+ * @param {number} count Numero di elementi raggruppati sotto questa colonna
12
+ * @param {string} value Valore del Gruppo
13
+ */
14
+ constructor(column: string, count: number, value: string);
15
+ /** Aggregazioni presenti su questo gruppo, valide per tutte le altre colonne (non a loro volta gruppate) */
16
+ aggregations: GroupAggregation[];
17
+ }
@@ -1,14 +1,14 @@
1
- /** Classe che rappresenta un'aggregazione */
2
- export declare class GroupAggregation {
3
- column: string;
4
- aggregation: 'min' | 'max' | 'sum';
5
- value: string;
6
- /**
7
- * Costruttore
8
- *
9
- * @param {string} column ID della colonna aggregata
10
- * @param {'min' | 'max' | 'sum' } aggregation Aggregazione da effettuare su questa colonna
11
- * @param {string} value Valore dell'aggregazione
12
- */
13
- constructor(column: string, aggregation: 'min' | 'max' | 'sum', value: string);
14
- }
1
+ /** Classe che rappresenta un'aggregazione */
2
+ export declare class GroupAggregation {
3
+ column: string;
4
+ aggregation: 'min' | 'max' | 'sum';
5
+ value: string;
6
+ /**
7
+ * Costruttore
8
+ *
9
+ * @param {string} column ID della colonna aggregata
10
+ * @param {'min' | 'max' | 'sum' } aggregation Aggregazione da effettuare su questa colonna
11
+ * @param {string} value Valore dell'aggregazione
12
+ */
13
+ constructor(column: string, aggregation: 'min' | 'max' | 'sum', value: string);
14
+ }
@@ -1,12 +1,12 @@
1
- /** Classe che rappresenta un filtro su un gruppo */
2
- export declare class GroupFilter {
3
- column: string;
4
- value: string;
5
- /**
6
- * Costruttore
7
- *
8
- * @param {string} column ID della colonna gruppata per cui si richiede di filtrare
9
- * @param {string} value Valore del gruppo su questa **column** per cui si richiede di filtrare
10
- */
11
- constructor(column: string, value: string);
12
- }
1
+ /** Classe che rappresenta un filtro su un gruppo */
2
+ export declare class GroupFilter {
3
+ column: string;
4
+ value: string;
5
+ /**
6
+ * Costruttore
7
+ *
8
+ * @param {string} column ID della colonna gruppata per cui si richiede di filtrare
9
+ * @param {string} value Valore del gruppo su questa **column** per cui si richiede di filtrare
10
+ */
11
+ constructor(column: string, value: string);
12
+ }
@@ -1,14 +1,14 @@
1
- /** Classe che rappresenta o un gruppo o una aggregazione su una colonna. Usata solo internamente */
2
- export declare class GroupOrAggregation {
3
- column: string;
4
- aggregation?: 'min' | 'max' | 'sum';
5
- datatype?: 'string' | 'date' | 'number';
6
- /**
7
- * Costruttore
8
- *
9
- * @param {string} column Colonna su cui è presente o un gruppo o un'aggregazione
10
- * @param {'min' | 'max' | 'sum' } aggregation Aggregazione presente sulla **column**. Se questo campo è nullo significa che è un gruppo.
11
- * @param {'string' | 'date' | 'number'} datatype Tipo di dati contenuto nella colonna **column** se non c'è alcuna aggregazione è inutile, pertanto non sarà valorizzato
12
- */
13
- constructor(column: string, aggregation?: 'min' | 'max' | 'sum', datatype?: 'string' | 'date' | 'number');
14
- }
1
+ /** Classe che rappresenta o un gruppo o una aggregazione su una colonna. Usata solo internamente */
2
+ export declare class GroupOrAggregation {
3
+ column: string;
4
+ aggregation?: 'min' | 'max' | 'sum';
5
+ datatype?: 'string' | 'date' | 'number';
6
+ /**
7
+ * Costruttore
8
+ *
9
+ * @param {string} column Colonna su cui è presente o un gruppo o un'aggregazione
10
+ * @param {'min' | 'max' | 'sum' } aggregation Aggregazione presente sulla **column**. Se questo campo è nullo significa che è un gruppo.
11
+ * @param {'string' | 'date' | 'number'} datatype Tipo di dati contenuto nella colonna **column** se non c'è alcuna aggregazione è inutile, pertanto non sarà valorizzato
12
+ */
13
+ constructor(column: string, aggregation?: 'min' | 'max' | 'sum', datatype?: 'string' | 'date' | 'number');
14
+ }
@@ -1,22 +1,22 @@
1
- import { Group } from "./Group";
2
- /** Identifica una selezione applicabile agli oggetti presentati in una tabella */
3
- export declare class ItemsSelection<T> {
4
- /**
5
- * Costruttore
6
- *
7
- * @param {T[]} selected Oggetti da considerare selezionati
8
- */
9
- constructor(selected: T[]);
10
- /** Conteggio degli oggetti selezionati */
11
- count: number;
12
- /** Se **all** è **false** indica gli elementi da includere, altrimenti è insensato */
13
- items: T[];
14
- /** Se **all** è **false** indica i gruppi, altrimenti è insensato */
15
- groups: Group[];
16
- /** Indica se tutti gli elementi sono da considerarsi selezionati (anche quelli di altre pagine) */
17
- all: boolean;
18
- /** Se **all** è **true**, indica gli elementi da escludere, altrimenti è insensato */
19
- exclusions: T[];
20
- /** Se **all** è **true**, indica i gruppi da escludere, altrimenti è insensato */
21
- group_exclusions: Group[];
22
- }
1
+ import { Group } from "./Group";
2
+ /** Identifica una selezione applicabile agli oggetti presentati in una tabella */
3
+ export declare class ItemsSelection<T> {
4
+ /**
5
+ * Costruttore
6
+ *
7
+ * @param {T[]} selected Oggetti da considerare selezionati
8
+ */
9
+ constructor(selected: T[]);
10
+ /** Conteggio degli oggetti selezionati */
11
+ count: number;
12
+ /** Se **all** è **false** indica gli elementi da includere, altrimenti è insensato */
13
+ items: T[];
14
+ /** Se **all** è **false** indica i gruppi, altrimenti è insensato */
15
+ groups: Group[];
16
+ /** Indica se tutti gli elementi sono da considerarsi selezionati (anche quelli di altre pagine) */
17
+ all: boolean;
18
+ /** Se **all** è **true**, indica gli elementi da escludere, altrimenti è insensato */
19
+ exclusions: T[];
20
+ /** Se **all** è **true**, indica i gruppi da escludere, altrimenti è insensato */
21
+ group_exclusions: Group[];
22
+ }
@@ -1,19 +1,19 @@
1
- /** Classe che rappresenta una colonna di un report */
2
- export declare class ReportColumn {
3
- /** Id della colonna */
4
- id: string;
5
- /** Descrizione della colonna (Header) */
6
- description: string;
7
- /** Colore in notazione HTML */
8
- color: string;
9
- /** Tipo di campo contenuto in questa colonna */
10
- type: number;
11
- /** Sequenza per eventuali ordinamenti */
12
- seq: number;
13
- /** Ordinamento dei dati presentati */
14
- order?: string;
15
- /** Allineamento da tenere per questa colonna: **Center**, **Left** o **Right** */
16
- alignment?: string;
17
- /** Formato dei dati da presentare in questa colonna */
18
- format?: string;
19
- }
1
+ /** Classe che rappresenta una colonna di un report */
2
+ export declare class ReportColumn {
3
+ /** Id della colonna */
4
+ id: string;
5
+ /** Descrizione della colonna (Header) */
6
+ description: string;
7
+ /** Colore in notazione HTML */
8
+ color: string;
9
+ /** Tipo di campo contenuto in questa colonna */
10
+ type: number;
11
+ /** Sequenza per eventuali ordinamenti */
12
+ seq: number;
13
+ /** Ordinamento dei dati presentati */
14
+ order?: string;
15
+ /** Allineamento da tenere per questa colonna: **Center**, **Left** o **Right** */
16
+ alignment?: string;
17
+ /** Formato dei dati da presentare in questa colonna */
18
+ format?: string;
19
+ }