@esfaenza/es-table 11.2.21 → 11.2.22-beta4

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 (111) hide show
  1. package/bundles/esfaenza-es-table.umd.js +2262 -562
  2. package/bundles/esfaenza-es-table.umd.js.map +1 -1
  3. package/bundles/esfaenza-es-table.umd.min.js +2 -2
  4. package/bundles/esfaenza-es-table.umd.min.js.map +1 -1
  5. package/esfaenza-es-table.d.ts +5 -5
  6. package/esfaenza-es-table.metadata.json +1 -1
  7. package/esm2015/esfaenza-es-table.js +6 -6
  8. package/esm2015/lib/directives/es_td.directive.js +2 -4
  9. package/esm2015/lib/directives/es_th.directive.js +23 -7
  10. package/esm2015/lib/domain/externals/classes/CornerMenuOption.js +4 -0
  11. package/esm2015/lib/domain/externals/classes/EsTableColumnsDefinition.js +31 -0
  12. package/esm2015/lib/domain/externals/classes/EsTableOperationDefinition.js +22 -0
  13. package/esm2015/lib/domain/externals/classes/appsearch/AppOrdering.js +16 -0
  14. package/esm2015/lib/domain/externals/classes/appsearch/AppSearch.js +35 -0
  15. package/esm2015/lib/domain/externals/classes/appsearch/GenericItem.js +11 -0
  16. package/esm2015/lib/domain/externals/classes/appsearch/Group.js +17 -0
  17. package/esm2015/lib/domain/externals/classes/appsearch/GroupAggregation.js +16 -0
  18. package/esm2015/lib/domain/externals/classes/appsearch/GroupFilter.js +14 -0
  19. package/esm2015/lib/domain/externals/classes/appsearch/GroupOrAggregation.js +16 -0
  20. package/esm2015/lib/domain/externals/classes/appsearch/ItemsSelection.js +23 -0
  21. package/esm2015/lib/domain/externals/classes/report/ReportColumn.js +4 -0
  22. package/esm2015/lib/domain/externals/classes/report/ReportDefinition.js +4 -0
  23. package/esm2015/lib/domain/externals/classes/report/ReportOrder.js +4 -0
  24. package/esm2015/lib/domain/externals/classes/report/ReportParam.js +4 -0
  25. package/esm2015/lib/domain/externals/classes/report/ReportResult.js +4 -0
  26. package/esm2015/lib/domain/externals/classes/report/ReportRow.js +4 -0
  27. package/esm2015/lib/domain/externals/index.js +18 -0
  28. package/esm2015/lib/domain/index.js +3 -16
  29. package/esm2015/lib/domain/internals/classes/CacheTriptic.js +16 -0
  30. package/esm2015/lib/domain/internals/classes/EsTableColumn.js +24 -0
  31. package/esm2015/lib/domain/internals/classes/GroupPager.js +21 -0
  32. package/esm2015/lib/domain/internals/classes/GroupRouteFragment.js +17 -0
  33. package/esm2015/lib/domain/internals/classes/ThAggregation.js +16 -0
  34. package/esm2015/lib/domain/internals/index.js +6 -0
  35. package/esm2015/lib/es-table.module.js +9 -4
  36. package/esm2015/lib/es_table.component.js +1829 -343
  37. package/esm2015/lib/es_table.component.loc.js +6 -7
  38. package/esm2015/lib/es_td.component.js +28 -43
  39. package/esm2015/lib/es_th.component.js +16 -44
  40. package/esm2015/lib/models/EsTableDefaultable.js +4 -0
  41. package/esm2015/lib/models/EsTableModuleConfig.js +2 -4
  42. package/esm2015/lib/pager/table_pager.component.js +48 -26
  43. package/esm2015/lib/pager/table_pager.component.loc.js +5 -7
  44. package/esm2015/lib/tokens.js +6 -4
  45. package/esm2015/public-api.js +3 -2
  46. package/fesm2015/esfaenza-es-table.js +2145 -553
  47. package/fesm2015/esfaenza-es-table.js.map +1 -1
  48. package/lib/directives/es_td.directive.d.ts +1 -3
  49. package/lib/directives/es_th.directive.d.ts +18 -5
  50. package/lib/domain/externals/classes/CornerMenuOption.d.ts +7 -0
  51. package/lib/domain/{classes → externals/classes}/EsTableColumnsDefinition.d.ts +5 -7
  52. package/lib/domain/{classes → externals/classes}/EsTableOperationDefinition.d.ts +1 -3
  53. package/lib/domain/{classes → externals/classes/appsearch}/AppOrdering.d.ts +0 -0
  54. package/lib/domain/externals/classes/appsearch/AppSearch.d.ts +67 -0
  55. package/lib/domain/externals/classes/appsearch/GenericItem.d.ts +13 -0
  56. package/lib/domain/externals/classes/appsearch/Group.d.ts +17 -0
  57. package/lib/domain/externals/classes/appsearch/GroupAggregation.d.ts +14 -0
  58. package/lib/domain/externals/classes/appsearch/GroupFilter.d.ts +12 -0
  59. package/lib/domain/externals/classes/appsearch/GroupOrAggregation.d.ts +14 -0
  60. package/lib/domain/externals/classes/appsearch/ItemsSelection.d.ts +22 -0
  61. package/lib/domain/externals/classes/report/ReportColumn.d.ts +15 -0
  62. package/lib/domain/externals/classes/report/ReportDefinition.d.ts +24 -0
  63. package/lib/domain/externals/classes/report/ReportOrder.d.ts +7 -0
  64. package/lib/domain/externals/classes/report/ReportParam.d.ts +40 -0
  65. package/lib/domain/externals/classes/report/ReportResult.d.ts +12 -0
  66. package/lib/domain/externals/classes/report/ReportRow.d.ts +5 -0
  67. package/lib/domain/externals/index.d.ts +17 -0
  68. package/lib/domain/index.d.ts +2 -15
  69. package/lib/domain/internals/classes/CacheTriptic.d.ts +14 -0
  70. package/lib/domain/{classes → internals/classes}/EsTableColumn.d.ts +6 -4
  71. package/lib/domain/internals/classes/GroupPager.d.ts +22 -0
  72. package/lib/domain/internals/classes/GroupRouteFragment.d.ts +15 -0
  73. package/lib/domain/internals/classes/ThAggregation.d.ts +14 -0
  74. package/lib/domain/internals/index.d.ts +5 -0
  75. package/lib/es_table.component.d.ts +456 -62
  76. package/lib/es_table.component.loc.d.ts +2 -6
  77. package/lib/es_td.component.d.ts +14 -36
  78. package/lib/es_th.component.d.ts +21 -61
  79. package/lib/models/EsTableDefaultable.d.ts +19 -0
  80. package/lib/models/EsTableModuleConfig.d.ts +8 -7
  81. package/lib/pager/table_pager.component.d.ts +27 -30
  82. package/lib/pager/table_pager.component.loc.d.ts +2 -6
  83. package/lib/tokens.d.ts +6 -3
  84. package/package.json +2 -1
  85. package/public-api.d.ts +2 -1
  86. package/esm2015/lib/domain/classes/AppOrdering.js +0 -16
  87. package/esm2015/lib/domain/classes/AppSearch.js +0 -35
  88. package/esm2015/lib/domain/classes/CornerMenuOption.js +0 -6
  89. package/esm2015/lib/domain/classes/EsTableColumn.js +0 -22
  90. package/esm2015/lib/domain/classes/EsTableColumnsDefinition.js +0 -31
  91. package/esm2015/lib/domain/classes/EsTableOperationDefinition.js +0 -24
  92. package/esm2015/lib/domain/classes/GenericItem.js +0 -15
  93. package/esm2015/lib/domain/classes/IAppSearch.js +0 -2
  94. package/esm2015/lib/domain/classes/ItemsSelection.js +0 -25
  95. package/esm2015/lib/domain/classes/ReportColumn.js +0 -6
  96. package/esm2015/lib/domain/classes/ReportDefinition.js +0 -6
  97. package/esm2015/lib/domain/classes/ReportOrder.js +0 -6
  98. package/esm2015/lib/domain/classes/ReportParam.js +0 -6
  99. package/esm2015/lib/domain/classes/ReportResult.js +0 -6
  100. package/esm2015/lib/domain/classes/ReportRow.js +0 -6
  101. package/lib/domain/classes/AppSearch.d.ts +0 -76
  102. package/lib/domain/classes/CornerMenuOption.d.ts +0 -13
  103. package/lib/domain/classes/GenericItem.d.ts +0 -25
  104. package/lib/domain/classes/IAppSearch.d.ts +0 -67
  105. package/lib/domain/classes/ItemsSelection.d.ts +0 -27
  106. package/lib/domain/classes/ReportColumn.d.ts +0 -29
  107. package/lib/domain/classes/ReportDefinition.d.ts +0 -46
  108. package/lib/domain/classes/ReportOrder.d.ts +0 -13
  109. package/lib/domain/classes/ReportParam.d.ts +0 -76
  110. package/lib/domain/classes/ReportResult.d.ts +0 -22
  111. package/lib/domain/classes/ReportRow.d.ts +0 -9
@@ -1,7 +1,5 @@
1
1
  import { TemplateRef } from '@angular/core';
2
- /**
3
- * Direttiva per la dichiarazione snella di un EsTd da emettere per ogni elemento, data una colonna
4
- */
2
+ /** Direttiva per la dichiarazione snella di un EsTd da emettere per ogni elemento, data una colonna */
5
3
  export declare class EsTdDirective {
6
4
  Template: TemplateRef<any>;
7
5
  /** Variabile interna che indica il fatto che questo componente è una direttiva. Serve per disambigualrlo dell'EsTdComponent */
@@ -1,17 +1,26 @@
1
1
  import { TemplateRef } from "@angular/core";
2
- /**
3
- * Direttiva per la dichiarazione snella di un EsTh da emettere come header
4
- */
2
+ import { ThAggregation } from "../domain";
3
+ /** Direttiva per la dichiarazione snella di un EsTh da emettere come header */
5
4
  export declare class EsThDirective {
6
5
  Template: TemplateRef<any>;
6
+ /** Variabile interna all'interno della quale viene raccolta la cache delle aggregazioni specificate in thAggregation */
7
+ _thAggregations: ThAggregation[];
7
8
  /** Variabile interna che indica il fatto che questo componente è una direttiva. Serve per disambigualrlo dell'EsThComponent */
8
9
  _directive: boolean;
10
+ /** Variabile interna impostata dall'**EsTable**, per controllare che ci sia almeno un TD che utilizzi quest'header */
11
+ _referenced: boolean;
9
12
  /** Id della colonna, dev'essere lo stesso per tutti i **td** relativi */
10
13
  th: string;
14
+ /** Indica se la colonna è pinnata o no */
15
+ thPinned: boolean;
16
+ /** Indica le dimensioni che deve avere questa colonna quando viene pinnata, senza questo tutte le colonne mi collasserebbero l'una sull'altra */
17
+ thPinnedWidth: number;
11
18
  /** Indicazione sulla visibilità della colonna */
12
19
  thVisible: boolean;
13
20
  /** Indica se la colonna è fixed, cioè se non può né essere nascosta, né riposizionata. Solo le prime colonne possono essere Fixed */
14
21
  thFixed: boolean;
22
+ /** Indica che la colonna è sotto ad un raggruppamento padre, con questo nome nel **th** */
23
+ thParent: string;
15
24
  /** Ordinamento attuale della colonna */
16
25
  thOrder?: 'DESC' | 'ASC';
17
26
  /** Indica se questa colonna è ordinabile o meno */
@@ -22,10 +31,14 @@ export declare class EsThDirective {
22
31
  thResizable: boolean;
23
32
  /** Classi da applicare all'Header della colonna */
24
33
  thClass: string;
34
+ /** Classi da applicare alle righe quando rappresentano un Gruppo */
35
+ thGroupClass: string;
25
36
  /** Equivalente dell'NgIf sul th */
26
37
  thIf: boolean;
27
- /** Impostato dall'**EsTable**, per controllare che ci sia almeno un TD che utilizzi quest'header */
28
- Referenced: boolean;
38
+ /** Indica che bisogna fare un raggruppamento su questa colonna */
39
+ thGroup: boolean;
40
+ /** Indica che bisogna fare una aggregazione su questa colonna, a fronte di almeno un altra con un raggruppamento */
41
+ thAggregation: string;
29
42
  /**
30
43
  * @ignore
31
44
  */
@@ -0,0 +1,7 @@
1
+ /** Indica un'opzione cliccabile nel Corner Menù della tabella (il menù richiamabile dai 3 pallini verticli in alto a destra) */
2
+ export declare class CornerMenuOption {
3
+ /** Id dell'operazione. I callback relativi verranno effettuati con questo */
4
+ id: string;
5
+ /** Descrizione dell'operazione da presentare all'utente */
6
+ description: string;
7
+ }
@@ -1,6 +1,4 @@
1
- /**
2
- * Classe che identifica una colonna. Utilizzata in modalità "Colonne dinamiche"
3
- */
1
+ /** Classe che identifica una colonna. Utilizzata in modalità "Colonne dinamiche" */
4
2
  export declare class EsTableColumnsDefinition {
5
3
  description: string;
6
4
  propertyName: string;
@@ -11,6 +9,7 @@ export declare class EsTableColumnsDefinition {
11
9
  visible: boolean;
12
10
  clss: string;
13
11
  orderable: boolean;
12
+ headerWraps: boolean;
14
13
  /**
15
14
  * Costruttore
16
15
  *
@@ -24,10 +23,9 @@ export declare class EsTableColumnsDefinition {
24
23
  * @param {boolean} visible Visibilità o meno della colonna
25
24
  * @param {string} clss Classe da applicare sia ai TD che ai TH relativi a questa colonna
26
25
  * @param {boolean} orderable Indica se la colonna è ordinabile o no (nel senso ASC / DESC / NONE)
26
+ * @param {boolean} headerWraps Indica se il testo dell'header dev'essere wrappato all'interno del th. Di default no.
27
27
  */
28
- constructor(description: string, propertyName: string, routePath?: string, routeParameterProperties?: string[], dataOrder?: 'ASC' | 'DESC', columnOrder?: number, visible?: boolean, clss?: string, orderable?: boolean);
29
- /**
30
- * Routerlink che verrà generato a runtime basandosi sulle informazioni di **routePath** e **routeParameterProperties**
31
- */
28
+ constructor(description: string, propertyName: string, routePath?: string, routeParameterProperties?: string[], dataOrder?: 'ASC' | 'DESC', columnOrder?: number, visible?: boolean, clss?: string, orderable?: boolean, headerWraps?: boolean);
29
+ /** Routerlink che verrà generato a runtime basandosi sulle informazioni di **routePath** e **routeParameterProperties** */
32
30
  routerLink: any;
33
31
  }
@@ -1,6 +1,4 @@
1
- /**
2
- * Indica operazioni dinamiche generiche che possono essere effettuate per riga. Appaiono come colonne extra sul lato sinistro della tabella
3
- */
1
+ /** Indica operazioni dinamiche generiche che possono essere effettuate per riga. Appaiono come colonne extra sul lato sinistro della tabella */
4
2
  export declare class EsTableOperationDefinition {
5
3
  id: string;
6
4
  title: string;
@@ -0,0 +1,67 @@
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
+ /**
7
+ * Classe che identifica una ricerca paginata in tutte le sue sfumature (di grigio)
8
+ */
9
+ export declare class AppSearch<T> {
10
+ /**
11
+ * Costruttore che genera un'istanza coi valori di default e impostando **firstsearch** a **true**
12
+ */
13
+ constructor();
14
+ /** Indica se c'è una ricerca in corso */
15
+ searchinprogress: boolean;
16
+ /** Indica il numero totale di pagine trovate dalla ricerca. Ogni pagina è una lista di **itemsperpageoverride** oggetti */
17
+ pages: number;
18
+ /** Conteggio totale degli oggetti trovati (inclusi quelli in pagine non attualmente selezionate) */
19
+ objectcount: number;
20
+ /** Conteggio totale dei gruppi trovati (inclusi quelli in pagine non attualmente selezionate) */
21
+ groupcount: number;
22
+ /** Pagina attualmente in visualizzazione */
23
+ page: number;
24
+ /** Numero di oggetti da persentare in ogni pagina. Per convenzione si considera valorizzato a 15 se non fornito */
25
+ itemsperpageoverride: number;
26
+ /** Lista degli oggetti nella pagina attualmente in visualizzazione */
27
+ items: T[];
28
+ /** Dizionario contenente tutti i gruppi paginati */
29
+ groups: Group[];
30
+ /** Lista di colonne per cui ordinare */
31
+ orders: AppOrdering[];
32
+ /** Lista di colonne da visualizzare */
33
+ columns: string[];
34
+ /** Lista di colonne nell'ordine corretto */
35
+ column_ordering: string[];
36
+ /** 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 */
37
+ savedstate: boolean;
38
+ /** Indica se bisogna ancora effettuare la prima ricerca */
39
+ firstsearch: boolean;
40
+ /**
41
+ * Oggetto che indica la selezione corrente.
42
+ *
43
+ * Se **all** è **true** vuole dire che è tutto selezionato ed eventualmente ci sono delle esclusioni (**exclusions**)
44
+ * Se **all** è **false** vuol dire che sono selezionati **item** specifici
45
+ *
46
+ * In base all'Input **UseSelectionCache** le proprietà **exclusions** e **items** fanno riferimento o alla pagina corrente (se **false**)
47
+ * o all'intera ricerca (se **true**)
48
+ */
49
+ selection: ItemsSelection<T>;
50
+ /**
51
+ * Indica che la ricerca è stata richiesta dall'estable. Questa variabile NON deve essere toccata. È gestita al 100% dall'es-table.
52
+ *
53
+ * L'unica cosa che serve è che nel modello lato C# sia presente in modo da non perderla durante la serializzazione
54
+ */
55
+ internalsearchrequest: boolean;
56
+ /** Raggruppamenti da fare per questa query. Se impostato e non ci sono **filtergroup** mi aspetto di ricevere oggetti nel campo **groups** */
57
+ groupings: GroupOrAggregation[];
58
+ /**
59
+ * Filtro da applicare ai gruppi. Qualora il numero di filtri qui fosse uguale al numero di raggruppamenti mi inizio ad apettare di ricevere oggetti
60
+ * sul campo **items**, in caso contrario mi aspetto di ricevere o i gruppi nel campo **groups** o l'N-esimo livello dei gruppi
61
+ */
62
+ requestedgroups: GroupFilter[];
63
+ /**
64
+ * Permette di resettare questo oggetto ai valori di default
65
+ */
66
+ reset(): void;
67
+ }
@@ -0,0 +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
+ }
@@ -0,0 +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
+ }
@@ -0,0 +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
+ }
@@ -0,0 +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
+ }
@@ -0,0 +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
+ }
@@ -0,0 +1,22 @@
1
+ import { Group } from "../..";
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
+ }
@@ -0,0 +1,15 @@
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
+ }
@@ -0,0 +1,24 @@
1
+ import { ReportParam, ReportOrder, ReportResult } from "../..";
2
+ /** Definizione generica di un report che può o no disporre di paginazione/export e la cui richiesta è basata su uno o più parametri */
3
+ export declare class ReportDefinition {
4
+ /** Codice report */
5
+ id: string;
6
+ /** Descrizione report */
7
+ description: string;
8
+ /** Indica se questo report dispone/può disporre di paginazione */
9
+ pagingavailable: boolean;
10
+ /** Pagina attualmente in visualizzazione */
11
+ page: number;
12
+ /** Numero massimo di pagine */
13
+ pages: number;
14
+ /** Numero di elementi per pagina, si consideri 15 in caso questo parametro non fosse assegnato */
15
+ itemsperpageoverride: number;
16
+ /** Formato di Export disponibile */
17
+ expformat: string;
18
+ /** Parametri del report */
19
+ pars: ReportParam[];
20
+ /** Informazioni di ordinamento dati delle colonne relative al report */
21
+ orders: ReportOrder[];
22
+ /** Risultato della ricerca di un report, equivalente all'**items** dell'AppSearch e nel formato specifico dei report */
23
+ result: ReportResult;
24
+ }
@@ -0,0 +1,7 @@
1
+ /** Classe che identifica una direttiva di ordinamento per un report */
2
+ export declare class ReportOrder {
3
+ /** Ordine */
4
+ order: string;
5
+ /** Colonna relativa */
6
+ column: string;
7
+ }
@@ -0,0 +1,40 @@
1
+ /** Classe che identifica un parametro generico per un report */
2
+ export declare class ReportParam {
3
+ /** Codice del parametro */
4
+ id: string;
5
+ /** Descrizione del parametro */
6
+ description: string;
7
+ /** Tipo enumerabile del parametro (qualora fosse un dizionario di valori) */
8
+ enumtype: string;
9
+ /** Colonna relativa e questo parametro */
10
+ column: string;
11
+ /** Tipo del dizionario */
12
+ dictype: string;
13
+ /** Sequenza del parametro per ordinarlo logicamente rispetto agli altri */
14
+ seq: number;
15
+ /** Typecode C# della tipologia di parametro */
16
+ typecode: number;
17
+ /** Indica se i parametro è richiesto o meno */
18
+ required: boolean;
19
+ /** Valore del parametro, offerto sia come valore di default o in alternativa riempito lato UI */
20
+ value: any;
21
+ /** Indica se questo parametro si basa su un enum. Se questa proprietà è true mi aspetto che almeno **enumtype** sia valorizzato */
22
+ isenum: boolean;
23
+ /** Indica se questo parametro si basa su un dizionario. Se questa proprietà è true mi aspetto che almeno **dictype** sia valorizzato */
24
+ isdictionary: boolean;
25
+ /** Indica se il parametro è di tipo data */
26
+ isdate: boolean;
27
+ /** Indica se il parametro è di tipo boolean */
28
+ isboolean: boolean;
29
+ /** Indica un filtro da applicare nei confronti del Backend qualora si vogliano caricare solo le possibilità logicamente accettabili per questo parametro */
30
+ dictionaryfilter: string;
31
+ /** Valori disponibili per questo parametro, da valorizzare in caso **enumtype** o **dictype** fossero valorizzati */
32
+ availablevalues: {
33
+ id: string;
34
+ description: string;
35
+ }[];
36
+ /** Tipologia lato "typescript" di questo parametro, dev'essere sempre logicamente congruente al **typecode** */
37
+ type: "string" | "number" | "date" | "boolean";
38
+ /** Eventuale pattern di validazione per questo parametro */
39
+ pattern: string;
40
+ }
@@ -0,0 +1,12 @@
1
+ import { ReportColumn, ReportRow } from "../..";
2
+ /** Classe che rappresenta una lista di oggetti generati da un report */
3
+ export declare class ReportResult {
4
+ /** Numero di oggetti generati */
5
+ count: number;
6
+ /** Se il report è vuoto o no (essenzialmente è un **count == 0**) */
7
+ empty: boolean;
8
+ /** Colonne del report (indicazione delle varie proprietà da mostrare e Header con cui mostrarli) */
9
+ columns: ReportColumn[];
10
+ /** Righe del report: 1 riga = 1 oggetto */
11
+ rows: ReportRow[];
12
+ }
@@ -0,0 +1,5 @@
1
+ /** Classe che rappresenta i valori delle proprietà di un oggetto Report */
2
+ export declare class ReportRow {
3
+ /** Valori dell'oggetto in ordine sequenziale */
4
+ values: string[];
5
+ }
@@ -0,0 +1,17 @@
1
+ export * from "./classes/appsearch/AppOrdering";
2
+ export * from "./classes/appsearch/AppSearch";
3
+ export * from "./classes/EsTableColumnsDefinition";
4
+ export * from "./classes/appsearch/GenericItem";
5
+ export * from "./classes/CornerMenuOption";
6
+ export * from "./classes/report/ReportDefinition";
7
+ export * from "./classes/report/ReportOrder";
8
+ export * from "./classes/report/ReportColumn";
9
+ export * from "./classes/report/ReportResult";
10
+ export * from "./classes/report/ReportRow";
11
+ export * from "./classes/report/ReportParam";
12
+ export * from "./classes/EsTableOperationDefinition";
13
+ export * from "./classes/appsearch/ItemsSelection";
14
+ export * from "./classes/appsearch/Group";
15
+ export * from "./classes/appsearch/GroupAggregation";
16
+ export * from "./classes/appsearch/GroupFilter";
17
+ export * from "./classes/appsearch/GroupOrAggregation";
@@ -1,15 +1,2 @@
1
- export * from "./classes/AppOrdering";
2
- export * from "./classes/AppSearch";
3
- export * from "./classes/EsTableColumnsDefinition";
4
- export * from "./classes/GenericItem";
5
- export * from "./classes/IAppSearch";
6
- export * from "./classes/CornerMenuOption";
7
- export * from "./classes/ReportDefinition";
8
- export * from "./classes/ReportOrder";
9
- export * from "./classes/ReportColumn";
10
- export * from "./classes/ReportResult";
11
- export * from "./classes/ReportRow";
12
- export * from "./classes/ReportParam";
13
- export * from "./classes/EsTableOperationDefinition";
14
- export * from "./classes/EsTableColumn";
15
- export * from "./classes/ItemsSelection";
1
+ export * from "./externals";
2
+ export * from "./internals";
@@ -0,0 +1,14 @@
1
+ /** Rappresenta un trittico formato da un array e due cache relative a tale array per un accesso estremamente veloce per tutte le operazioni del caso */
2
+ export declare class CacheTriptic {
3
+ cache: Map<string, any>;
4
+ index_cache: Map<string, number>;
5
+ array: any[];
6
+ /**
7
+ * Costruttore
8
+ *
9
+ * @param {Map<string, any>} cache Cache Chiave-Oggetto
10
+ * @param {Map<string, number>} index_cache Cache Indice-Oggetto
11
+ * @param {any[]} array Array contenente gli oggetti
12
+ */
13
+ constructor(cache: Map<string, any>, index_cache: Map<string, number>, array: any[]);
14
+ }
@@ -1,12 +1,12 @@
1
1
  import { TemplateRef } from "@angular/core";
2
- /**
3
- * Definizione di una colonna
4
- */
2
+ /** Definizione di una colonna, utilizzato nella dialog che permette di modificare le posizioni e le visibilità */
5
3
  export declare class EsTableColumn {
6
4
  id: string;
7
5
  description: string;
8
6
  visible: boolean;
9
7
  fixed: boolean;
8
+ pinned: boolean;
9
+ pinnedWidth: number;
10
10
  template: TemplateRef<any>;
11
11
  /**
12
12
  * Costruttore
@@ -15,7 +15,9 @@ export declare class EsTableColumn {
15
15
  * @param {string} description Descrizione (Header)
16
16
  * @param {boolean} visible Indica se di default mostrarla o meno
17
17
  * @param {boolean} fixed Indica se è una colonna fixed
18
+ * @param {boolean} pinned Indica se è una colonna pinnata
19
+ * @param {number} pinnedWidth Indica la dimensione da assegnare a questa colonna quando è pinnata
18
20
  * @param {TemplateRef<any>} template Indica il template da usare per mostrare il testo dell'Header
19
21
  */
20
- constructor(id: string, description: string, visible: boolean, fixed: boolean, template: TemplateRef<any>);
22
+ constructor(id: string, description: string, visible: boolean, fixed: boolean, pinned: boolean, pinnedWidth: number, template: TemplateRef<any>);
21
23
  }
@@ -0,0 +1,22 @@
1
+ import { AppSearch, GroupRouteFragment } from "../..";
2
+ /** Classe che rappresenta un separatore da inserire fra gli oggetti dell'es-table per le operazioni di paginazione dei raggruppamenti per riga */
3
+ export declare class GroupPager {
4
+ _grouplevel: number;
5
+ _thisRoute: GroupRouteFragment[];
6
+ _parent: string;
7
+ view: AppSearch<any>;
8
+ searches: 'groups' | 'items';
9
+ /**
10
+ * Costruttore
11
+ *
12
+ * @param {number} groupLevel Livello del gruppo a cui questo separatore fa riferimento
13
+ * @param {string} parentKey Chiave del gruppo parent se esiste
14
+ * @param {AppSearch<any>} view Vista di ricerca collegata a questo elemento
15
+ * @param {'groups' | 'items'} searches Indica che cosa cerca questo separatore, se sottogruppi o oggetti
16
+ */
17
+ constructor(_grouplevel: number, _thisRoute: GroupRouteFragment[], _parent: string, view: AppSearch<any>, searches: 'groups' | 'items');
18
+ /** Indica che è un separatore, sempre impostato a **true** */
19
+ _sep: boolean;
20
+ /** Array dei pulsanti da collegare lato interfaccia per le paginazione */
21
+ buttons: any[];
22
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Classe che rappresenta un singolo frammento di route di un elemento gruppo o non. Un array di questi indica tutte le colonne di gruppo con i loro valori
3
+ * per arrivare ad una ricerca su sottogruppi o elementi relativi
4
+ */
5
+ export declare class GroupRouteFragment {
6
+ column: string;
7
+ value: string;
8
+ /**
9
+ * Costruttore
10
+ *
11
+ * @param {string} column Colonna di raggruppamento
12
+ * @param {string} value Valore della colonna di raggruppamento
13
+ */
14
+ constructor(column: string, value: string);
15
+ }
@@ -0,0 +1,14 @@
1
+ /** Classe rappresentante una singola aggregazione effettuata su una colonna */
2
+ export declare class ThAggregation {
3
+ func: 'min' | 'max' | 'sum';
4
+ format: string;
5
+ match: string;
6
+ /**
7
+ * Costruttore
8
+ *
9
+ * @param {'min' | 'max' | 'sum'} func Funzione di aggergazione, può essere **min**, **max** o **sum**
10
+ * @param {string} format Formato richiesto per il valore dell'aggregazione
11
+ * @param {string} match Match intero del pezzo di testo da cui si è estrapolata l'aggregazione, da rimpiazzare col valore calcolato
12
+ */
13
+ constructor(func: 'min' | 'max' | 'sum', format: string, match: string);
14
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./classes/CacheTriptic";
2
+ export * from "./classes/EsTableColumn";
3
+ export * from "./classes/GroupPager";
4
+ export * from "./classes/GroupRouteFragment";
5
+ export * from "./classes/ThAggregation";