@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.
- package/esm2022/esfaenza-es-table.mjs +4 -4
- package/esm2022/lib/components/es-table/es_table.component.loc.mjs +38 -38
- package/esm2022/lib/components/es-table/es_table.component.mjs +1891 -1891
- package/esm2022/lib/components/es-td/es_td.component.mjs +40 -40
- package/esm2022/lib/components/es-th/es_th.component.mjs +176 -176
- package/esm2022/lib/components/pager/table_pager.component.loc.mjs +20 -20
- package/esm2022/lib/components/pager/table_pager.component.mjs +111 -111
- package/esm2022/lib/components/pipes/est-format.pipe.mjs +44 -44
- package/esm2022/lib/components/pipes/est-lookup.pipe.mjs +19 -19
- package/esm2022/lib/components/pipes/est-propinsensitive.pipe.mjs +19 -19
- package/esm2022/lib/components/pipes/est-renderer.pipe.mjs +36 -36
- package/esm2022/lib/components/pipes/est-routerlink.pipe.mjs +41 -41
- package/esm2022/lib/components/pipes/est_editor.pipe.mjs +36 -36
- package/esm2022/lib/core/CopyPasteDetector.mjs +27 -27
- package/esm2022/lib/core/Logger.mjs +25 -25
- package/esm2022/lib/core/handlers/ColumnMetadataHandler.mjs +835 -835
- package/esm2022/lib/core/handlers/DynamicModeHandler.mjs +109 -109
- package/esm2022/lib/core/handlers/ExportHandler.mjs +32 -32
- package/esm2022/lib/core/handlers/HierarchyModeHandler.mjs +136 -136
- package/esm2022/lib/core/handlers/ItemsHandler.mjs +119 -119
- package/esm2022/lib/core/handlers/ReportModeHandler.mjs +60 -60
- package/esm2022/lib/core/handlers/RowGroupingHandler.mjs +480 -480
- package/esm2022/lib/core/handlers/SelectionHandler.mjs +778 -778
- package/esm2022/lib/core/handlers/UtilitiesHandler.mjs +151 -151
- package/esm2022/lib/directives/es_td.directive.mjs +54 -54
- package/esm2022/lib/directives/es_td_editor.directive.mjs +24 -24
- package/esm2022/lib/directives/es_th.directive.mjs +130 -130
- package/esm2022/lib/directives/es_th_td_provider.directive.mjs +34 -34
- package/esm2022/lib/domain/configuration/EsTableDefaultable.mjs +3 -3
- package/esm2022/lib/domain/configuration/EsTableModuleConfig.mjs +3 -3
- package/esm2022/lib/domain/externals/CornerMenuOption.mjs +3 -3
- package/esm2022/lib/domain/externals/EsTableColumnsDefinition.mjs +47 -47
- package/esm2022/lib/domain/externals/EsTableModelChange.mjs +18 -18
- package/esm2022/lib/domain/externals/EsTableOperationDefinition.mjs +21 -21
- package/esm2022/lib/domain/externals/ItemPropEditableReference.mjs +3 -3
- package/esm2022/lib/domain/externals/appsearch/AppOrdering.mjs +15 -15
- package/esm2022/lib/domain/externals/appsearch/AppSearch.mjs +65 -65
- package/esm2022/lib/domain/externals/appsearch/EsTableMultiValue.mjs +24 -24
- package/esm2022/lib/domain/externals/appsearch/GenericItem.mjs +10 -10
- package/esm2022/lib/domain/externals/appsearch/Group.mjs +16 -16
- package/esm2022/lib/domain/externals/appsearch/GroupAggregation.mjs +15 -15
- package/esm2022/lib/domain/externals/appsearch/GroupFilter.mjs +13 -13
- package/esm2022/lib/domain/externals/appsearch/GroupOrAggregation.mjs +15 -15
- package/esm2022/lib/domain/externals/appsearch/ItemsSelection.mjs +22 -22
- package/esm2022/lib/domain/externals/report/ReportColumn.mjs +3 -3
- package/esm2022/lib/domain/externals/report/ReportParam.mjs +3 -3
- package/esm2022/lib/domain/externals/report/ReportRow.mjs +3 -3
- package/esm2022/lib/domain/internals/CacheTriptic.mjs +15 -15
- package/esm2022/lib/domain/internals/EsTableColumn.mjs +31 -31
- package/esm2022/lib/domain/internals/GroupPager.mjs +22 -22
- package/esm2022/lib/domain/internals/GroupRouteFragment.mjs +16 -16
- package/esm2022/lib/domain/internals/PagerInfos.mjs +14 -14
- package/esm2022/lib/domain/internals/TdElement.mjs +1 -1
- package/esm2022/lib/domain/internals/ThAggregation.mjs +15 -15
- package/esm2022/lib/domain/internals/ThElement.mjs +1 -1
- package/esm2022/lib/domain/internals/ThGroup.mjs +1 -1
- package/esm2022/lib/domain/types.mjs +1 -1
- package/esm2022/lib/es-table.module.mjs +124 -124
- package/esm2022/lib/tokens.mjs +5 -5
- package/esm2022/public-api.mjs +27 -27
- package/fesm2022/esfaenza-es-table.mjs +5771 -5771
- package/fesm2022/esfaenza-es-table.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/components/es-table/es_table.component.d.ts +738 -738
- package/lib/components/es-table/es_table.component.loc.d.ts +10 -10
- package/lib/components/es-td/es_td.component.d.ts +26 -26
- package/lib/components/es-th/es_th.component.d.ts +92 -92
- package/lib/components/pager/table_pager.component.d.ts +56 -56
- package/lib/components/pager/table_pager.component.loc.d.ts +10 -10
- package/lib/components/pipes/est-format.pipe.d.ts +10 -10
- package/lib/components/pipes/est-lookup.pipe.d.ts +13 -13
- package/lib/components/pipes/est-propinsensitive.pipe.d.ts +7 -7
- package/lib/components/pipes/est-renderer.pipe.d.ts +15 -15
- package/lib/components/pipes/est-routerlink.pipe.d.ts +20 -20
- package/lib/components/pipes/est_editor.pipe.d.ts +15 -15
- package/lib/core/CopyPasteDetector.d.ts +15 -15
- package/lib/core/Logger.d.ts +10 -10
- package/lib/core/handlers/ColumnMetadataHandler.d.ts +189 -189
- package/lib/core/handlers/DynamicModeHandler.d.ts +22 -22
- package/lib/core/handlers/ExportHandler.d.ts +18 -18
- package/lib/core/handlers/HierarchyModeHandler.d.ts +40 -40
- package/lib/core/handlers/ItemsHandler.d.ts +35 -35
- package/lib/core/handlers/ReportModeHandler.d.ts +27 -27
- package/lib/core/handlers/RowGroupingHandler.d.ts +118 -118
- package/lib/core/handlers/SelectionHandler.d.ts +230 -230
- package/lib/core/handlers/UtilitiesHandler.d.ts +57 -57
- package/lib/directives/es_td.directive.d.ts +42 -42
- package/lib/directives/es_td_editor.directive.d.ts +14 -14
- package/lib/directives/es_th.directive.d.ts +107 -107
- package/lib/directives/es_th_td_provider.directive.d.ts +15 -15
- package/lib/domain/configuration/EsTableDefaultable.d.ts +21 -21
- package/lib/domain/configuration/EsTableModuleConfig.d.ts +8 -8
- package/lib/domain/externals/CornerMenuOption.d.ts +7 -7
- package/lib/domain/externals/EsTableColumnsDefinition.d.ts +56 -56
- package/lib/domain/externals/EsTableModelChange.d.ts +17 -17
- package/lib/domain/externals/EsTableOperationDefinition.d.ts +20 -20
- package/lib/domain/externals/ItemPropEditableReference.d.ts +34 -34
- package/lib/domain/externals/appsearch/AppOrdering.d.ts +14 -14
- package/lib/domain/externals/appsearch/AppSearch.d.ts +100 -100
- package/lib/domain/externals/appsearch/EsTableMultiValue.d.ts +22 -22
- package/lib/domain/externals/appsearch/GenericItem.d.ts +13 -13
- package/lib/domain/externals/appsearch/Group.d.ts +17 -17
- package/lib/domain/externals/appsearch/GroupAggregation.d.ts +14 -14
- package/lib/domain/externals/appsearch/GroupFilter.d.ts +12 -12
- package/lib/domain/externals/appsearch/GroupOrAggregation.d.ts +14 -14
- package/lib/domain/externals/appsearch/ItemsSelection.d.ts +22 -22
- package/lib/domain/externals/report/ReportColumn.d.ts +19 -19
- package/lib/domain/externals/report/ReportParam.d.ts +40 -40
- package/lib/domain/externals/report/ReportRow.d.ts +9 -9
- package/lib/domain/internals/CacheTriptic.d.ts +14 -14
- package/lib/domain/internals/EsTableColumn.d.ts +41 -41
- package/lib/domain/internals/GroupPager.d.ts +26 -26
- package/lib/domain/internals/GroupRouteFragment.d.ts +15 -15
- package/lib/domain/internals/PagerInfos.d.ts +13 -13
- package/lib/domain/internals/TdElement.d.ts +57 -57
- package/lib/domain/internals/ThAggregation.d.ts +14 -14
- package/lib/domain/internals/ThElement.d.ts +24 -24
- package/lib/domain/internals/ThGroup.d.ts +10 -10
- package/lib/domain/types.d.ts +2 -2
- package/lib/es-table.module.d.ts +35 -35
- package/lib/tokens.d.ts +6 -6
- package/package.json +14 -14
- package/public-api.d.ts +27 -27
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
3
|
-
// Configurazioni
|
|
4
|
-
import { LocalizationService } from "@esfaenza/localizations";
|
|
5
|
-
// Applicazione
|
|
6
|
-
import { TablePagerLoc } from "./table_pager.component.loc";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@esfaenza/extensions";
|
|
9
|
-
import * as i2 from "@esfaenza/localizations";
|
|
10
|
-
import * as i3 from "@angular/common";
|
|
11
|
-
import * as i4 from "@angular/forms";
|
|
12
|
-
import * as i5 from "@angular/material/legacy-form-field";
|
|
13
|
-
import * as i6 from "@angular/material/legacy-input";
|
|
14
|
-
/** Componente che si occupa della paginazione di una tabella */
|
|
15
|
-
export class TablePagerComponent {
|
|
16
|
-
/** @ignore */
|
|
17
|
-
constructor(msgExts, lc, cdr) {
|
|
18
|
-
this.msgExts = msgExts;
|
|
19
|
-
this.lc = lc;
|
|
20
|
-
this.cdr = cdr;
|
|
21
|
-
/** Indica se deve mostrare un warning quando si cercano di solezionare come elementi da visualizzare "Tutti" */
|
|
22
|
-
this.WarnOnAll = true;
|
|
23
|
-
/** Indica se dare la possibilità o meno di selezionare "Tutti" nelle opzioni di paginazione */
|
|
24
|
-
this.AllSearch = true;
|
|
25
|
-
/** Placeholder che identifica il "Tutti" */
|
|
26
|
-
this.DefaultAll = 999999;
|
|
27
|
-
/** Indica se attivare la modalità gruppo con stili più snelli per apparire sotto ai raggruppamenti */
|
|
28
|
-
this.GroupMode = false;
|
|
29
|
-
/** Indica se utilizzare il conteggio dei gruppi o degli oggetti */
|
|
30
|
-
this.GroupCount = false;
|
|
31
|
-
/** Indica il testo che va a sostituire "Oggetti Visualizzati" in caso si stia facendo qualcosa di custom, Ignorato in caso di gruppi */
|
|
32
|
-
this.CountLabel = null;
|
|
33
|
-
/** Indica se visualizzare il numero totale di oggeti presenti */
|
|
34
|
-
this.ShowCount = true;
|
|
35
|
-
/** Indica se visualizzare il numero totale di oggeti presenti */
|
|
36
|
-
this.ShowPaging = true;
|
|
37
|
-
/** Output invocato quando il numero di elementi per pagina viene modificato da un click utente */
|
|
38
|
-
this.pagingSelected = new EventEmitter();
|
|
39
|
-
/** Opzioni di paginazione */
|
|
40
|
-
this.PagingOptions = [5, 10, 15, 30, 45, 100];
|
|
41
|
-
}
|
|
42
|
-
/** @ignore */
|
|
43
|
-
ngOnInit() {
|
|
44
|
-
this.Model = this.View ? (this.View.itemsperpageoverride || 15) : this.CurrentPageSize;
|
|
45
|
-
if (this.AllSearch)
|
|
46
|
-
this.PagingOptions.push(this.DefaultAll);
|
|
47
|
-
}
|
|
48
|
-
/** @ignore */
|
|
49
|
-
ngOnChanges(changes) {
|
|
50
|
-
let newView = changes['View'];
|
|
51
|
-
let newCPS = changes['CurrentPageSize'];
|
|
52
|
-
if ((newView && !newView.firstChange) || (newCPS && !newCPS.firstChange))
|
|
53
|
-
this.Model = newView?.currentValue ? (newView.currentValue.itemsperpageoverride || 15) : newCPS?.currentValue ? newCPS.currentValue : null;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Funzione richiamata dal template quando un utente clicca su un numero di paginazione.
|
|
57
|
-
*
|
|
58
|
-
* Cliccare 2 volte sullo stesso numero causa comunque un refresh dei dati
|
|
59
|
-
*
|
|
60
|
-
* @param {number} pageSize Dimensione selezionata lato UI
|
|
61
|
-
*/
|
|
62
|
-
choice(pageSize) {
|
|
63
|
-
if (pageSize == this.DefaultAll && this.WarnOnAll) {
|
|
64
|
-
this.msgExts.simpleWarningWithChoice(this.lc.loc("Are you sure you want to retrieve all results?"), this.lc.loc("This might slow down the page and possibly crash the entire application"), () => { this.pagingSelected.emit(pageSize); this.Model = pageSize; }, () => {
|
|
65
|
-
// Dio solo sa perché mi tocca fare sta roba... qui dentro per qualche motivo la CD non prende
|
|
66
|
-
let prevModel = this.Model;
|
|
67
|
-
this.Model = null;
|
|
68
|
-
this.cdr.detectChanges();
|
|
69
|
-
this.Model = prevModel;
|
|
70
|
-
this.cdr.detectChanges();
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.pagingSelected.emit(pageSize);
|
|
75
|
-
this.Model = pageSize;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
79
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
80
|
-
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
82
|
-
type: Component,
|
|
83
|
-
args: [{ selector: "app-paging", viewProviders: [{ provide: LocalizationService, useClass: TablePagerLoc }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!Hidden\">\r\n <span class=\"est-fs-14\"> {{CountLabel && !GroupMode ? CountLabel : ((GroupMode ? 'Shown Groups' : 'Shown Elements') | localize : lc)}}: </span>\r\n <ng-container *ngIf=\"ShowPaging && Model && PagerCount > 10\">\r\n <mat-form-field [appearance]=\"'legacy'\" class=\"mat-paginator-page-size-select est-fs-14 est-ipp-bold\">\r\n <select matNativeControl [ngModel]=\"Model\" name=\"input\" (ngModelChange)=\"choice($event)\">\r\n <ng-container *ngFor=\"let pOpt of PagingOptions; let i = index\">\r\n <option *ngIf=\"pOpt == DefaultAll || PagerCount >= pOpt || PagerCount == -1 || (i > 0 && PagerCount >= PagingOptions[i-1])\" [value]=\"pOpt\">{{ pOpt == DefaultAll ? ('All' | localize : lc) : pOpt.toString()}}</option>\r\n </ng-container>\r\n </select>\r\n </mat-form-field>\r\n <span class=\"est-fs-14 est-ipp-bold\" *ngIf=\"ShowCount && PagerCount != -1\"> / </span>\r\n </ng-container>\r\n <span class=\"est-fs-14 est-ipp-bold\" *ngIf=\"ShowCount && PagerCount != -1\">{{PagerCount | number : '0.0-0' : lc.Locale}}</span>\r\n</ng-container>", styles: [".est-rg-ipp-sel-all,.est-rg-ipp-sel,.est-ipp-sel-all,.est-ipp-sel{color:#0275d8!important;cursor:pointer;text-decoration:none;display:block;display:inline}.est-ipp-bold{font-weight:700}.mat-paginator-page-size-select{margin:6px 4px 0;width:50px}.mat-paginator-page-size-select .mat-form-field-wrapper{height:52px!important;margin-top:-15px!important;padding:0!important}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{margin-top:-5.5px!important}\n"] }]
|
|
84
|
-
}], ctorParameters:
|
|
85
|
-
type: Input
|
|
86
|
-
}], View: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], WarnOnAll: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], AllSearch: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], DefaultAll: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], GroupMode: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], GroupCount: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}], CountLabel: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], ShowCount: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], ShowPaging: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], PagerCount: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], Hidden: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], pagingSelected: [{
|
|
109
|
-
type: Output
|
|
110
|
-
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVfcGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VyL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlci90YWJsZV9wYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBWSxNQUFNLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZLLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RCxlQUFlO0FBQ2YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7OztBQUU1RCxnRUFBZ0U7QUFTaEUsTUFBTSxPQUFPLG1CQUFtQjtJQXlDNUIsY0FBYztJQUNkLFlBQW9CLE9BQXVCLEVBQVMsRUFBdUIsRUFBUyxHQUFzQjtRQUF0RixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFTLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFsQzFHLGdIQUFnSDtRQUN2RyxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRW5DLCtGQUErRjtRQUN0RixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRW5DLDRDQUE0QztRQUNuQyxlQUFVLEdBQUcsTUFBTSxDQUFDO1FBRTdCLHNHQUFzRztRQUM3RixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTNCLG1FQUFtRTtRQUMxRCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRTVCLHdJQUF3STtRQUMvSCxlQUFVLEdBQVcsSUFBSSxDQUFD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USxFQUFFLGFBQWEsRUFBRSxDQUFDLGlCQUczRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO3VLQUt0QyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0ksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IFRhYmxlUGFnZXJMb2MgfSBmcm9tIFwiLi90YWJsZV9wYWdlci5jb21wb25lbnQubG9jXCI7XHJcblxyXG4vKiogQ29tcG9uZW50ZSBjaGUgc2kgb2NjdXBhIGRlbGxhIHBhZ2luYXppb25lIGRpIHVuYSB0YWJlbGxhICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYXBwLXBhZ2luZ1wiLFxyXG4gICAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogTG9jYWxpemF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IFRhYmxlUGFnZXJMb2MgfV0sXHJcbiAgICBzdHlsZVVybHM6IFsnLi90YWJsZV9wYWdlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZV9wYWdlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVBhZ2VyQ29tcG9uZW50IHtcclxuXHJcbiAgICAvKiogRGltZW5zaW9uZSBkaSBwYWdpbmEgYXR0dWFsZSAqL1xyXG4gICAgQElucHV0KCkgQ3VycmVudFBhZ2VTaXplOiBhbnk7XHJcblxyXG4gICAgLyoqIFZpZXcgZ2VzdGl0YSwgY2hlIHB1w7IgZXNzZXJlIHVuIElBcHBTZWFyY2ggbyB1bmEgUmVwb3J0VmlldyAqL1xyXG4gICAgQElucHV0KCkgVmlldzogYW55O1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgZGV2ZSBtb3N0cmFyZSB1biB3YXJuaW5nIHF1YW5kbyBzaSBjZXJjYW5vIGRpIHNvbGV6aW9uYXJlIGNvbWUgZWxlbWVudGkgZGEgdmlzdWFsaXp6YXJlIFwiVHV0dGlcIiAqL1xyXG4gICAgQElucHV0KCkgV2Fybk9uQWxsOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIGRhcmUgbGEgcG9zc2liaWxpdMOgIG8gbWVubyBkaSBzZWxlemlvbmFyZSBcIlR1dHRpXCIgbmVsbGUgb3B6aW9uaSBkaSBwYWdpbmF6aW9uZSAqL1xyXG4gICAgQElucHV0KCkgQWxsU2VhcmNoOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIFxyXG4gICAgLyoqIFBsYWNlaG9sZGVyIGNoZSBpZGVudGlmaWNhIGlsIFwiVHV0dGlcIiAqL1xyXG4gICAgQElucHV0KCkgRGVmYXVsdEFsbCA9IDk5OTk5OTtcclxuICAgIFxyXG4gICAgLyoqIEluZGljYSBzZSBhdHRpdmFyZSBsYSBtb2RhbGl0w6AgZ3J1cHBvIGNvbiBzdGlsaSBwacO5IHNuZWxsaSBwZXIgYXBwYXJpcmUgc290dG8gYWkgcmFnZ3J1cHBhbWVudGkgKi9cclxuICAgIEBJbnB1dCgpIEdyb3VwTW9kZSA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgdXRpbGl6emFyZSBpbCBjb250ZWdnaW8gZGVpIGdydXBwaSBvIGRlZ2xpIG9nZ2V0dGkgKi9cclxuICAgIEBJbnB1dCgpIEdyb3VwQ291bnQgPSBmYWxzZTtcclxuXHJcbiAgICAvKiogSW5kaWNhIGlsIHRlc3RvIGNoZSB2YSBhIHNvc3RpdHVpcmUgXCJPZ2dldHRpIFZpc3VhbGl6emF0aVwiIGluIGNhc28gc2kgc3RpYSBmYWNlbmRvIHF1YWxjb3NhIGRpIGN1c3RvbSwgSWdub3JhdG8gaW4gY2FzbyBkaSBncnVwcGkgKi9cclxuICAgIEBJbnB1dCgpIENvdW50TGFiZWw6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSB2aXN1YWxpenphcmUgaWwgbnVtZXJvIHRvdGFsZSBkaSBvZ2dldGkgcHJlc2VudGkgKi9cclxuICAgIEBJbnB1dCgpIFNob3dDb3VudDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSB2aXN1YWxpenphcmUgaWwgbnVtZXJvIHRvdGFsZSBkaSBvZ2dldGkgcHJlc2VudGkgKi9cclxuICAgIEBJbnB1dCgpIFNob3dQYWdpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBJbmRpY2EgaWwgbnVtZXJvIHRvdGFsZSBkaSBvZ2dldGkgcHJlc2VudGkgKi9cclxuICAgIEBJbnB1dCgpIFBhZ2VyQ291bnQ6IG51bWJlcjtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIG1vc3RyYXJlIG8gbWVubyBpbCBjb250ZW51dG8gQGRlcHJlY2F0ZWQgdXNhdGEgc29sbyBkYSBNYXRyaXhWYWx1ZXNDb21wb25lbnQgbmVsbGEgbGliIHJlbGF0aXZhICovXHJcbiAgICBASW5wdXQoKSBIaWRkZW46IGJvb2xlYW47XHJcblxyXG4gICAgLyoqIE91dHB1dCBpbnZvY2F0byBxdWFuZG8gaWwgbnVtZXJvIGRpIGVsZW1lbnRpIHBlciBwYWdpbmEgdmllbmUgbW9kaWZpY2F0byBkYSB1biBjbGljayB1dGVudGUgKi9cclxuICAgIEBPdXRwdXQoKSBwYWdpbmdTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1zZ0V4dHM6IE1lc3NhZ2VTZXJ2aWNlLCBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgICAvKiogTW9kZWxsbyBzdSBjdWkgbGEgc2VsZWN0IGVmZmV0dHVhIG9wZXJhemlvbmkgZGkgc2VsZXppb25lICovXHJcbiAgICBwdWJsaWMgTW9kZWw6IG51bWJlcjtcclxuXHJcbiAgICAvKiogT3B6aW9uaSBkaSBwYWdpbmF6aW9uZSAqL1xyXG4gICAgcHVibGljIFBhZ2luZ09wdGlvbnM6IG51bWJlcltdID0gWzUsIDEwLCAxNSwgMzAsIDQ1LCAxMDAgXTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5Nb2RlbCA9IHRoaXMuVmlldyA/ICh0aGlzLlZpZXcuaXRlbXNwZXJwYWdlb3ZlcnJpZGUgfHwgMTUpIDogdGhpcy5DdXJyZW50UGFnZVNpemU7XHJcbiAgICAgICAgaWYgKHRoaXMuQWxsU2VhcmNoKVxyXG4gICAgICAgICAgICB0aGlzLlBhZ2luZ09wdGlvbnMucHVzaCh0aGlzLkRlZmF1bHRBbGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgbGV0IG5ld1ZpZXcgPSBjaGFuZ2VzWydWaWV3J107XHJcbiAgICAgICAgbGV0IG5ld0NQUyA9IGNoYW5nZXNbJ0N1cnJlbnRQYWdlU2l6ZSddO1xyXG5cclxuICAgICAgICBpZiAoKG5ld1ZpZXcgJiYgIW5ld1ZpZXcuZmlyc3RDaGFuZ2UpIHx8IChuZXdDUFMgJiYgIW5ld0NQUy5maXJzdENoYW5nZSkpXHJcbiAgICAgICAgICAgIHRoaXMuTW9kZWwgPSBuZXdWaWV3Py5jdXJyZW50VmFsdWUgPyAobmV3Vmlldy5jdXJyZW50VmFsdWUuaXRlbXNwZXJwYWdlb3ZlcnJpZGUgfHwgMTUpIDogbmV3Q1BTPy5jdXJyZW50VmFsdWUgPyBuZXdDUFMuY3VycmVudFZhbHVlIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bnppb25lIHJpY2hpYW1hdGEgZGFsIHRlbXBsYXRlIHF1YW5kbyB1biB1dGVudGUgY2xpY2NhIHN1IHVuIG51bWVybyBkaSBwYWdpbmF6aW9uZS5cclxuICAgICAqIFxyXG4gICAgICogQ2xpY2NhcmUgMiB2b2x0ZSBzdWxsbyBzdGVzc28gbnVtZXJvIGNhdXNhIGNvbXVucXVlIHVuIHJlZnJlc2ggZGVpIGRhdGlcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHBhZ2VTaXplIERpbWVuc2lvbmUgc2VsZXppb25hdGEgbGF0byBVSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hvaWNlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAocGFnZVNpemUgPT0gdGhpcy5EZWZhdWx0QWxsICYmIHRoaXMuV2Fybk9uQWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubXNnRXh0cy5zaW1wbGVXYXJuaW5nV2l0aENob2ljZShcclxuICAgICAgICAgICAgICAgIHRoaXMubGMubG9jKFwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJldHJpZXZlIGFsbCByZXN1bHRzP1wiKSxcclxuICAgICAgICAgICAgICAgIHRoaXMubGMubG9jKFwiVGhpcyBtaWdodCBzbG93IGRvd24gdGhlIHBhZ2UgYW5kIHBvc3NpYmx5IGNyYXNoIHRoZSBlbnRpcmUgYXBwbGljYXRpb25cIiksXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7IHRoaXMucGFnaW5nU2VsZWN0ZWQuZW1pdChwYWdlU2l6ZSk7IHRoaXMuTW9kZWwgPSBwYWdlU2l6ZTsgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBEaW8gc29sbyBzYSBwZXJjaMOpIG1pIHRvY2NhIGZhcmUgc3RhIHJvYmEuLi4gcXVpIGRlbnRybyBwZXIgcXVhbGNoZSBtb3Rpdm8gbGEgQ0Qgbm9uIHByZW5kZVxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwcmV2TW9kZWwgPSB0aGlzLk1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuTW9kZWwgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLk1vZGVsID0gcHJldk1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmdTZWxlY3RlZC5lbWl0KHBhZ2VTaXplKTtcclxuICAgICAgICAgICAgdGhpcy5Nb2RlbCA9IHBhZ2VTaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhSGlkZGVuXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJlc3QtZnMtMTRcIj4ge3tDb3VudExhYmVsICYmICFHcm91cE1vZGUgPyBDb3VudExhYmVsIDogKChHcm91cE1vZGUgPyAnU2hvd24gR3JvdXBzJyA6ICdTaG93biBFbGVtZW50cycpIHwgbG9jYWxpemUgOiBsYyl9fTombmJzcDs8L3NwYW4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlNob3dQYWdpbmcgJiYgTW9kZWwgJiYgUGFnZXJDb3VudCA+IDEwXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiJ2xlZ2FjeSdcIiBjbGFzcz1cIm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLXNlbGVjdCBlc3QtZnMtMTQgZXN0LWlwcC1ib2xkXCI+XHJcbiAgICAgIDxzZWxlY3QgbWF0TmF0aXZlQ29udHJvbCBbbmdNb2RlbF09XCJNb2RlbFwiIG5hbWU9XCJpbnB1dFwiIChuZ01vZGVsQ2hhbmdlKT1cImNob2ljZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcE9wdCBvZiBQYWdpbmdPcHRpb25zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8b3B0aW9uICpuZ0lmPVwicE9wdCA9PSBEZWZhdWx0QWxsIHx8IFBhZ2VyQ291bnQgPj0gcE9wdCB8fCBQYWdlckNvdW50ID09IC0xIHx8IChpID4gMCAmJiBQYWdlckNvdW50ID49IFBhZ2luZ09wdGlvbnNbaS0xXSlcIiBbdmFsdWVdPVwicE9wdFwiPnt7IHBPcHQgPT0gRGVmYXVsdEFsbCA/ICgnQWxsJyB8IGxvY2FsaXplIDogbGMpIDogcE9wdC50b1N0cmluZygpfX08L29wdGlvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJlc3QtZnMtMTQgZXN0LWlwcC1ib2xkXCIgKm5nSWY9XCJTaG93Q291bnQgJiYgUGFnZXJDb3VudCAhPSAtMVwiPiZuYnNwOy8mbmJzcDs8L3NwYW4+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHNwYW4gY2xhc3M9XCJlc3QtZnMtMTQgZXN0LWlwcC1ib2xkXCIgKm5nSWY9XCJTaG93Q291bnQgJiYgUGFnZXJDb3VudCAhPSAtMVwiPnt7UGFnZXJDb3VudCB8IG51bWJlciA6ICcwLjAtMCcgOiBsYy5Mb2NhbGV9fTwvc3Bhbj5cclxuPC9uZy1jb250YWluZXI+Il19
|
|
1
|
+
// Angular
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
// Configurazioni
|
|
4
|
+
import { LocalizationService } from "@esfaenza/localizations";
|
|
5
|
+
// Applicazione
|
|
6
|
+
import { TablePagerLoc } from "./table_pager.component.loc";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@esfaenza/extensions";
|
|
9
|
+
import * as i2 from "@esfaenza/localizations";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
import * as i4 from "@angular/forms";
|
|
12
|
+
import * as i5 from "@angular/material/legacy-form-field";
|
|
13
|
+
import * as i6 from "@angular/material/legacy-input";
|
|
14
|
+
/** Componente che si occupa della paginazione di una tabella */
|
|
15
|
+
export class TablePagerComponent {
|
|
16
|
+
/** @ignore */
|
|
17
|
+
constructor(msgExts, lc, cdr) {
|
|
18
|
+
this.msgExts = msgExts;
|
|
19
|
+
this.lc = lc;
|
|
20
|
+
this.cdr = cdr;
|
|
21
|
+
/** Indica se deve mostrare un warning quando si cercano di solezionare come elementi da visualizzare "Tutti" */
|
|
22
|
+
this.WarnOnAll = true;
|
|
23
|
+
/** Indica se dare la possibilità o meno di selezionare "Tutti" nelle opzioni di paginazione */
|
|
24
|
+
this.AllSearch = true;
|
|
25
|
+
/** Placeholder che identifica il "Tutti" */
|
|
26
|
+
this.DefaultAll = 999999;
|
|
27
|
+
/** Indica se attivare la modalità gruppo con stili più snelli per apparire sotto ai raggruppamenti */
|
|
28
|
+
this.GroupMode = false;
|
|
29
|
+
/** Indica se utilizzare il conteggio dei gruppi o degli oggetti */
|
|
30
|
+
this.GroupCount = false;
|
|
31
|
+
/** Indica il testo che va a sostituire "Oggetti Visualizzati" in caso si stia facendo qualcosa di custom, Ignorato in caso di gruppi */
|
|
32
|
+
this.CountLabel = null;
|
|
33
|
+
/** Indica se visualizzare il numero totale di oggeti presenti */
|
|
34
|
+
this.ShowCount = true;
|
|
35
|
+
/** Indica se visualizzare il numero totale di oggeti presenti */
|
|
36
|
+
this.ShowPaging = true;
|
|
37
|
+
/** Output invocato quando il numero di elementi per pagina viene modificato da un click utente */
|
|
38
|
+
this.pagingSelected = new EventEmitter();
|
|
39
|
+
/** Opzioni di paginazione */
|
|
40
|
+
this.PagingOptions = [5, 10, 15, 30, 45, 100];
|
|
41
|
+
}
|
|
42
|
+
/** @ignore */
|
|
43
|
+
ngOnInit() {
|
|
44
|
+
this.Model = this.View ? (this.View.itemsperpageoverride || 15) : this.CurrentPageSize;
|
|
45
|
+
if (this.AllSearch)
|
|
46
|
+
this.PagingOptions.push(this.DefaultAll);
|
|
47
|
+
}
|
|
48
|
+
/** @ignore */
|
|
49
|
+
ngOnChanges(changes) {
|
|
50
|
+
let newView = changes['View'];
|
|
51
|
+
let newCPS = changes['CurrentPageSize'];
|
|
52
|
+
if ((newView && !newView.firstChange) || (newCPS && !newCPS.firstChange))
|
|
53
|
+
this.Model = newView?.currentValue ? (newView.currentValue.itemsperpageoverride || 15) : newCPS?.currentValue ? newCPS.currentValue : null;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Funzione richiamata dal template quando un utente clicca su un numero di paginazione.
|
|
57
|
+
*
|
|
58
|
+
* Cliccare 2 volte sullo stesso numero causa comunque un refresh dei dati
|
|
59
|
+
*
|
|
60
|
+
* @param {number} pageSize Dimensione selezionata lato UI
|
|
61
|
+
*/
|
|
62
|
+
choice(pageSize) {
|
|
63
|
+
if (pageSize == this.DefaultAll && this.WarnOnAll) {
|
|
64
|
+
this.msgExts.simpleWarningWithChoice(this.lc.loc("Are you sure you want to retrieve all results?"), this.lc.loc("This might slow down the page and possibly crash the entire application"), () => { this.pagingSelected.emit(pageSize); this.Model = pageSize; }, () => {
|
|
65
|
+
// Dio solo sa perché mi tocca fare sta roba... qui dentro per qualche motivo la CD non prende
|
|
66
|
+
let prevModel = this.Model;
|
|
67
|
+
this.Model = null;
|
|
68
|
+
this.cdr.detectChanges();
|
|
69
|
+
this.Model = prevModel;
|
|
70
|
+
this.cdr.detectChanges();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.pagingSelected.emit(pageSize);
|
|
75
|
+
this.Model = pageSize;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TablePagerComponent, deps: [{ token: i1.MessageService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TablePagerComponent, selector: "app-paging", inputs: { CurrentPageSize: "CurrentPageSize", View: "View", WarnOnAll: "WarnOnAll", AllSearch: "AllSearch", DefaultAll: "DefaultAll", GroupMode: "GroupMode", GroupCount: "GroupCount", CountLabel: "CountLabel", ShowCount: "ShowCount", ShowPaging: "ShowPaging", PagerCount: "PagerCount", Hidden: "Hidden" }, outputs: { pagingSelected: "pagingSelected" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!Hidden\">\r\n <span class=\"est-fs-14\"> {{CountLabel && !GroupMode ? CountLabel : ((GroupMode ? 'Shown Groups' : 'Shown Elements') | localize : lc)}}: </span>\r\n <ng-container *ngIf=\"ShowPaging && Model && PagerCount > 10\">\r\n <mat-form-field [appearance]=\"'legacy'\" class=\"mat-paginator-page-size-select est-fs-14 est-ipp-bold\">\r\n <select matNativeControl [ngModel]=\"Model\" name=\"input\" (ngModelChange)=\"choice($event)\">\r\n <ng-container *ngFor=\"let pOpt of PagingOptions; let i = index\">\r\n <option *ngIf=\"pOpt == DefaultAll || PagerCount >= pOpt || PagerCount == -1 || (i > 0 && PagerCount >= PagingOptions[i-1])\" [value]=\"pOpt\">{{ pOpt == DefaultAll ? ('All' | localize : lc) : pOpt.toString()}}</option>\r\n </ng-container>\r\n </select>\r\n </mat-form-field>\r\n <span class=\"est-fs-14 est-ipp-bold\" *ngIf=\"ShowCount && PagerCount != -1\"> / </span>\r\n </ng-container>\r\n <span class=\"est-fs-14 est-ipp-bold\" *ngIf=\"ShowCount && PagerCount != -1\">{{PagerCount | number : '0.0-0' : lc.Locale}}</span>\r\n</ng-container>", styles: [".est-rg-ipp-sel-all,.est-rg-ipp-sel,.est-ipp-sel-all,.est-ipp-sel{color:#0275d8!important;cursor:pointer;text-decoration:none;display:block;display:inline}.est-ipp-bold{font-weight:700}.mat-paginator-page-size-select{margin:6px 4px 0;width:50px}.mat-paginator-page-size-select .mat-form-field-wrapper{height:52px!important;margin-top:-15px!important;padding:0!important}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{margin-top:-5.5px!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }, { kind: "pipe", type: i2.LocalizePipe, name: "localize" }], viewProviders: [{ provide: LocalizationService, useClass: TablePagerLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TablePagerComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ selector: "app-paging", viewProviders: [{ provide: LocalizationService, useClass: TablePagerLoc }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!Hidden\">\r\n <span class=\"est-fs-14\"> {{CountLabel && !GroupMode ? CountLabel : ((GroupMode ? 'Shown Groups' : 'Shown Elements') | localize : lc)}}: </span>\r\n <ng-container *ngIf=\"ShowPaging && Model && PagerCount > 10\">\r\n <mat-form-field [appearance]=\"'legacy'\" class=\"mat-paginator-page-size-select est-fs-14 est-ipp-bold\">\r\n <select matNativeControl [ngModel]=\"Model\" name=\"input\" (ngModelChange)=\"choice($event)\">\r\n <ng-container *ngFor=\"let pOpt of PagingOptions; let i = index\">\r\n <option *ngIf=\"pOpt == DefaultAll || PagerCount >= pOpt || PagerCount == -1 || (i > 0 && PagerCount >= PagingOptions[i-1])\" [value]=\"pOpt\">{{ pOpt == DefaultAll ? ('All' | localize : lc) : pOpt.toString()}}</option>\r\n </ng-container>\r\n </select>\r\n </mat-form-field>\r\n <span class=\"est-fs-14 est-ipp-bold\" *ngIf=\"ShowCount && PagerCount != -1\"> / </span>\r\n </ng-container>\r\n <span class=\"est-fs-14 est-ipp-bold\" *ngIf=\"ShowCount && PagerCount != -1\">{{PagerCount | number : '0.0-0' : lc.Locale}}</span>\r\n</ng-container>", styles: [".est-rg-ipp-sel-all,.est-rg-ipp-sel,.est-ipp-sel-all,.est-ipp-sel{color:#0275d8!important;cursor:pointer;text-decoration:none;display:block;display:inline}.est-ipp-bold{font-weight:700}.mat-paginator-page-size-select{margin:6px 4px 0;width:50px}.mat-paginator-page-size-select .mat-form-field-wrapper{height:52px!important;margin-top:-15px!important;padding:0!important}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{margin-top:-5.5px!important}\n"] }]
|
|
84
|
+
}], ctorParameters: () => [{ type: i1.MessageService }, { type: i2.LocalizationService }, { type: i0.ChangeDetectorRef }], propDecorators: { CurrentPageSize: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], View: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], WarnOnAll: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], AllSearch: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], DefaultAll: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], GroupMode: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], GroupCount: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], CountLabel: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], ShowCount: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], ShowPaging: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], PagerCount: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], Hidden: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], pagingSelected: [{
|
|
109
|
+
type: Output
|
|
110
|
+
}] } });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVfcGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VyL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlci90YWJsZV9wYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBWSxNQUFNLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZLLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RCxlQUFlO0FBQ2YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7OztBQUU1RCxnRUFBZ0U7QUFTaEUsTUFBTSxPQUFPLG1CQUFtQjtJQXlDNUIsY0FBYztJQUNkLFlBQW9CLE9BQXVCLEVBQVMsRUFBdUIsRUFBUyxHQUFzQjtRQUF0RixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFTLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFsQzFHLGdIQUFnSDtRQUN2RyxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRW5DLCtGQUErRjtRQUN0RixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRW5DLDRDQUE0QztRQUNuQyxlQUFVLEdBQUcsTUFBTSxDQUFDO1FBRTdCLHNHQUFzRztRQUM3RixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTNCLG1FQUFtRTtRQUMxRCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRTVCLHdJQUF3STtRQUMvSCxlQUFVLEdBQVcsSUFBSSxDQUFD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RUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLENBQUMsaUJBRzNELGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07cUpBS3RDLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgVGFibGVQYWdlckxvYyB9IGZyb20gXCIuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5sb2NcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIGNoZSBzaSBvY2N1cGEgZGVsbGEgcGFnaW5hemlvbmUgZGkgdW5hIHRhYmVsbGEgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhcHAtcGFnaW5nXCIsXHJcbiAgICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogVGFibGVQYWdlckxvYyB9XSxcclxuICAgIHN0eWxlVXJsczogWycuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlUGFnZXJDb21wb25lbnQge1xyXG5cclxuICAgIC8qKiBEaW1lbnNpb25lIGRpIHBhZ2luYSBhdHR1YWxlICovXHJcbiAgICBASW5wdXQoKSBDdXJyZW50UGFnZVNpemU6IGFueTtcclxuXHJcbiAgICAvKiogVmlldyBnZXN0aXRhLCBjaGUgcHXDsiBlc3NlcmUgdW4gSUFwcFNlYXJjaCBvIHVuYSBSZXBvcnRWaWV3ICovXHJcbiAgICBASW5wdXQoKSBWaWV3OiBhbnk7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBkZXZlIG1vc3RyYXJlIHVuIHdhcm5pbmcgcXVhbmRvIHNpIGNlcmNhbm8gZGkgc29sZXppb25hcmUgY29tZSBlbGVtZW50aSBkYSB2aXN1YWxpenphcmUgXCJUdXR0aVwiICovXHJcbiAgICBASW5wdXQoKSBXYXJuT25BbGw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgZGFyZSBsYSBwb3NzaWJpbGl0w6AgbyBtZW5vIGRpIHNlbGV6aW9uYXJlIFwiVHV0dGlcIiBuZWxsZSBvcHppb25pIGRpIHBhZ2luYXppb25lICovXHJcbiAgICBASW5wdXQoKSBBbGxTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgXHJcbiAgICAvKiogUGxhY2Vob2xkZXIgY2hlIGlkZW50aWZpY2EgaWwgXCJUdXR0aVwiICovXHJcbiAgICBASW5wdXQoKSBEZWZhdWx0QWxsID0gOTk5OTk5O1xyXG4gICAgXHJcbiAgICAvKiogSW5kaWNhIHNlIGF0dGl2YXJlIGxhIG1vZGFsaXTDoCBncnVwcG8gY29uIHN0aWxpIHBpw7kgc25lbGxpIHBlciBhcHBhcmlyZSBzb3R0byBhaSByYWdncnVwcGFtZW50aSAqL1xyXG4gICAgQElucHV0KCkgR3JvdXBNb2RlID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSB1dGlsaXp6YXJlIGlsIGNvbnRlZ2dpbyBkZWkgZ3J1cHBpIG8gZGVnbGkgb2dnZXR0aSAqL1xyXG4gICAgQElucHV0KCkgR3JvdXBDb3VudCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2EgaWwgdGVzdG8gY2hlIHZhIGEgc29zdGl0dWlyZSBcIk9nZ2V0dGkgVmlzdWFsaXp6YXRpXCIgaW4gY2FzbyBzaSBzdGlhIGZhY2VuZG8gcXVhbGNvc2EgZGkgY3VzdG9tLCBJZ25vcmF0byBpbiBjYXNvIGRpIGdydXBwaSAqL1xyXG4gICAgQElucHV0KCkgQ291bnRMYWJlbDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHZpc3VhbGl6emFyZSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgU2hvd0NvdW50OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHZpc3VhbGl6emFyZSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgU2hvd1BhZ2luZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqIEluZGljYSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgUGFnZXJDb3VudDogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbW9zdHJhcmUgbyBtZW5vIGlsIGNvbnRlbnV0byBAZGVwcmVjYXRlZCB1c2F0YSBzb2xvIGRhIE1hdHJpeFZhbHVlc0NvbXBvbmVudCBuZWxsYSBsaWIgcmVsYXRpdmEgKi9cclxuICAgIEBJbnB1dCgpIEhpZGRlbjogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogT3V0cHV0IGludm9jYXRvIHF1YW5kbyBpbCBudW1lcm8gZGkgZWxlbWVudGkgcGVyIHBhZ2luYSB2aWVuZSBtb2RpZmljYXRvIGRhIHVuIGNsaWNrIHV0ZW50ZSAqL1xyXG4gICAgQE91dHB1dCgpIHBhZ2luZ1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbXNnRXh0czogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxyXG5cclxuICAgIC8qKiBNb2RlbGxvIHN1IGN1aSBsYSBzZWxlY3QgZWZmZXR0dWEgb3BlcmF6aW9uaSBkaSBzZWxlemlvbmUgKi9cclxuICAgIHB1YmxpYyBNb2RlbDogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBPcHppb25pIGRpIHBhZ2luYXppb25lICovXHJcbiAgICBwdWJsaWMgUGFnaW5nT3B0aW9uczogbnVtYmVyW10gPSBbNSwgMTAsIDE1LCAzMCwgNDUsIDEwMCBdO1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLk1vZGVsID0gdGhpcy5WaWV3ID8gKHRoaXMuVmlldy5pdGVtc3BlcnBhZ2VvdmVycmlkZSB8fCAxNSkgOiB0aGlzLkN1cnJlbnRQYWdlU2l6ZTtcclxuICAgICAgICBpZiAodGhpcy5BbGxTZWFyY2gpXHJcbiAgICAgICAgICAgIHRoaXMuUGFnaW5nT3B0aW9ucy5wdXNoKHRoaXMuRGVmYXVsdEFsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBsZXQgbmV3VmlldyA9IGNoYW5nZXNbJ1ZpZXcnXTtcclxuICAgICAgICBsZXQgbmV3Q1BTID0gY2hhbmdlc1snQ3VycmVudFBhZ2VTaXplJ107XHJcblxyXG4gICAgICAgIGlmICgobmV3VmlldyAmJiAhbmV3Vmlldy5maXJzdENoYW5nZSkgfHwgKG5ld0NQUyAmJiAhbmV3Q1BTLmZpcnN0Q2hhbmdlKSlcclxuICAgICAgICAgICAgdGhpcy5Nb2RlbCA9IG5ld1ZpZXc/LmN1cnJlbnRWYWx1ZSA/IChuZXdWaWV3LmN1cnJlbnRWYWx1ZS5pdGVtc3BlcnBhZ2VvdmVycmlkZSB8fCAxNSkgOiBuZXdDUFM/LmN1cnJlbnRWYWx1ZSA/IG5ld0NQUy5jdXJyZW50VmFsdWUgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuemlvbmUgcmljaGlhbWF0YSBkYWwgdGVtcGxhdGUgcXVhbmRvIHVuIHV0ZW50ZSBjbGljY2Egc3UgdW4gbnVtZXJvIGRpIHBhZ2luYXppb25lLlxyXG4gICAgICogXHJcbiAgICAgKiBDbGljY2FyZSAyIHZvbHRlIHN1bGxvIHN0ZXNzbyBudW1lcm8gY2F1c2EgY29tdW5xdWUgdW4gcmVmcmVzaCBkZWkgZGF0aVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gcGFnZVNpemUgRGltZW5zaW9uZSBzZWxlemlvbmF0YSBsYXRvIFVJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaG9pY2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgICAgIGlmIChwYWdlU2l6ZSA9PSB0aGlzLkRlZmF1bHRBbGwgJiYgdGhpcy5XYXJuT25BbGwpIHtcclxuICAgICAgICAgICAgdGhpcy5tc2dFeHRzLnNpbXBsZVdhcm5pbmdXaXRoQ2hvaWNlKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5sYy5sb2MoXCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmV0cmlldmUgYWxsIHJlc3VsdHM/XCIpLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5sYy5sb2MoXCJUaGlzIG1pZ2h0IHNsb3cgZG93biB0aGUgcGFnZSBhbmQgcG9zc2libHkgY3Jhc2ggdGhlIGVudGlyZSBhcHBsaWNhdGlvblwiKSxcclxuICAgICAgICAgICAgICAgICgpID0+IHsgdGhpcy5wYWdpbmdTZWxlY3RlZC5lbWl0KHBhZ2VTaXplKTsgdGhpcy5Nb2RlbCA9IHBhZ2VTaXplOyB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERpbyBzb2xvIHNhIHBlcmNow6kgbWkgdG9jY2EgZmFyZSBzdGEgcm9iYS4uLiBxdWkgZGVudHJvIHBlciBxdWFsY2hlIG1vdGl2byBsYSBDRCBub24gcHJlbmRlXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByZXZNb2RlbCA9IHRoaXMuTW9kZWw7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Nb2RlbCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuTW9kZWwgPSBwcmV2TW9kZWw7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnBhZ2luZ1NlbGVjdGVkLmVtaXQocGFnZVNpemUpO1xyXG4gICAgICAgICAgICB0aGlzLk1vZGVsID0gcGFnZVNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFIaWRkZW5cIj5cclxuICA8c3BhbiBjbGFzcz1cImVzdC1mcy0xNFwiPiB7e0NvdW50TGFiZWwgJiYgIUdyb3VwTW9kZSA/IENvdW50TGFiZWwgOiAoKEdyb3VwTW9kZSA/ICdTaG93biBHcm91cHMnIDogJ1Nob3duIEVsZW1lbnRzJykgfCBsb2NhbGl6ZSA6IGxjKX19OiZuYnNwOzwvc3Bhbj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiU2hvd1BhZ2luZyAmJiBNb2RlbCAmJiBQYWdlckNvdW50ID4gMTBcIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCInbGVnYWN5J1wiIGNsYXNzPVwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUtc2VsZWN0IGVzdC1mcy0xNCBlc3QtaXBwLWJvbGRcIj5cclxuICAgICAgPHNlbGVjdCBtYXROYXRpdmVDb250cm9sIFtuZ01vZGVsXT1cIk1vZGVsXCIgbmFtZT1cImlucHV0XCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hvaWNlKCRldmVudClcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwT3B0IG9mIFBhZ2luZ09wdGlvbnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxvcHRpb24gKm5nSWY9XCJwT3B0ID09IERlZmF1bHRBbGwgfHwgUGFnZXJDb3VudCA+PSBwT3B0IHx8IFBhZ2VyQ291bnQgPT0gLTEgfHwgKGkgPiAwICYmIFBhZ2VyQ291bnQgPj0gUGFnaW5nT3B0aW9uc1tpLTFdKVwiIFt2YWx1ZV09XCJwT3B0XCI+e3sgcE9wdCA9PSBEZWZhdWx0QWxsID8gKCdBbGwnIHwgbG9jYWxpemUgOiBsYykgOiBwT3B0LnRvU3RyaW5nKCl9fTwvb3B0aW9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8c3BhbiBjbGFzcz1cImVzdC1mcy0xNCBlc3QtaXBwLWJvbGRcIiAqbmdJZj1cIlNob3dDb3VudCAmJiBQYWdlckNvdW50ICE9IC0xXCI+Jm5ic3A7LyZuYnNwOzwvc3Bhbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8c3BhbiBjbGFzcz1cImVzdC1mcy0xNCBlc3QtaXBwLWJvbGRcIiAqbmdJZj1cIlNob3dDb3VudCAmJiBQYWdlckNvdW50ICE9IC0xXCI+e3tQYWdlckNvdW50IHwgbnVtYmVyIDogJzAuMC0wJyA6IGxjLkxvY2FsZX19PC9zcGFuPlxyXG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { Pipe } from "@angular/core";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@esfaenza/extensions";
|
|
5
|
-
export class EstFormatPipe {
|
|
6
|
-
constructor(dates) {
|
|
7
|
-
this.dates = dates;
|
|
8
|
-
}
|
|
9
|
-
transform(value, format) {
|
|
10
|
-
if (!format) {
|
|
11
|
-
// Se è un formato data mi assicuro di non stampare mai una data 00:00:00 altrimenti in esportazione viene uno schifo
|
|
12
|
-
return value ? this.dates.trimSeconds(value.toString()) : "";
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
// Caso formato numerico
|
|
16
|
-
if (format.startsWith("F")) {
|
|
17
|
-
if (!value)
|
|
18
|
-
return "";
|
|
19
|
-
if (format.length != 2)
|
|
20
|
-
return value.toString().replace(/,/, "").replace(".", ",");
|
|
21
|
-
else {
|
|
22
|
-
let tmp = parseFloat(value);
|
|
23
|
-
let cifre = parseInt(format[1]);
|
|
24
|
-
if (isNaN(tmp) || isNaN(cifre))
|
|
25
|
-
return "";
|
|
26
|
-
return (Math.trunc(tmp * Math.pow(10, cifre)) / Math.pow(10, cifre)).toString();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
// Se ho un formato data trasformo in dayjs, formatto ed esporto
|
|
31
|
-
// Per la trasformazione in dayjs provo prima a passargli la stringa di netto, sperando la riconosca
|
|
32
|
-
// Se non funziona provo a definirgli la formattazione standard del metering per quel linguaggio
|
|
33
|
-
return this.dates.getFormatted(value, format.length <= 10, format.length > 16);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
38
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
41
|
-
type: Pipe,
|
|
42
|
-
args: [{ name: 'est_format' }]
|
|
43
|
-
}], ctorParameters:
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
// Angular
|
|
2
|
+
import { Pipe } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@esfaenza/extensions";
|
|
5
|
+
export class EstFormatPipe {
|
|
6
|
+
constructor(dates) {
|
|
7
|
+
this.dates = dates;
|
|
8
|
+
}
|
|
9
|
+
transform(value, format) {
|
|
10
|
+
if (!format) {
|
|
11
|
+
// Se è un formato data mi assicuro di non stampare mai una data 00:00:00 altrimenti in esportazione viene uno schifo
|
|
12
|
+
return value ? this.dates.trimSeconds(value.toString()) : "";
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
// Caso formato numerico
|
|
16
|
+
if (format.startsWith("F")) {
|
|
17
|
+
if (!value)
|
|
18
|
+
return "";
|
|
19
|
+
if (format.length != 2)
|
|
20
|
+
return value.toString().replace(/,/, "").replace(".", ",");
|
|
21
|
+
else {
|
|
22
|
+
let tmp = parseFloat(value);
|
|
23
|
+
let cifre = parseInt(format[1]);
|
|
24
|
+
if (isNaN(tmp) || isNaN(cifre))
|
|
25
|
+
return "";
|
|
26
|
+
return (Math.trunc(tmp * Math.pow(10, cifre)) / Math.pow(10, cifre)).toString();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// Se ho un formato data trasformo in dayjs, formatto ed esporto
|
|
31
|
+
// Per la trasformazione in dayjs provo prima a passargli la stringa di netto, sperando la riconosca
|
|
32
|
+
// Se non funziona provo a definirgli la formattazione standard del metering per quel linguaggio
|
|
33
|
+
return this.dates.getFormatted(value, format.length <= 10, format.length > 16);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EstFormatPipe, deps: [{ token: i1.DateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
38
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: EstFormatPipe, name: "est_format" }); }
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EstFormatPipe, decorators: [{
|
|
41
|
+
type: Pipe,
|
|
42
|
+
args: [{ name: 'est_format' }]
|
|
43
|
+
}], ctorParameters: () => [{ type: i1.DateService }] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0LWZvcm1hdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3BpcGVzL2VzdC1mb3JtYXQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQUlwRCxNQUFNLE9BQU8sYUFBYTtJQUV0QixZQUFvQixLQUFrQjtRQUFsQixVQUFLLEdBQUwsS0FBSyxDQUFhO0lBQUksQ0FBQztJQUUzQyxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQWM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1YscUhBQXFIO1lBQ3JILE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pFLENBQUM7YUFBTSxDQUFDO1lBQ0osd0JBQXdCO1lBQ3hCLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsS0FBSztvQkFDTixPQUFPLEVBQUUsQ0FBQztnQkFFZCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQztvQkFDbEIsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUUxRCxDQUFDO29CQUNGLElBQUksR0FBRyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDNUIsSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO3dCQUFFLE9BQU8sRUFBRSxDQUFDO29CQUUxQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNwRixDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLGdFQUFnRTtnQkFDaEUsb0dBQW9HO2dCQUNwRyxnR0FBZ0c7Z0JBQ2hHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDbkYsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDOytHQS9CUSxhQUFhOzZHQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRGF0ZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuXHJcbkBQaXBlKHsgbmFtZTogJ2VzdF9mb3JtYXQnIH0pXHJcbmV4cG9ydCBjbGFzcyBFc3RGb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlczogRGF0ZVNlcnZpY2UpIHsgfVxyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZykge1xyXG4gICAgICAgIGlmICghZm9ybWF0KSB7XHJcbiAgICAgICAgICAgIC8vIFNlIMOoIHVuIGZvcm1hdG8gZGF0YSBtaSBhc3NpY3VybyBkaSBub24gc3RhbXBhcmUgbWFpIHVuYSBkYXRhIDAwOjAwOjAwIGFsdHJpbWVudGkgaW4gZXNwb3J0YXppb25lIHZpZW5lIHVubyBzY2hpZm9cclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlID8gdGhpcy5kYXRlcy50cmltU2Vjb25kcyh2YWx1ZS50b1N0cmluZygpKSA6IFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gQ2FzbyBmb3JtYXRvIG51bWVyaWNvXHJcbiAgICAgICAgICAgIGlmIChmb3JtYXQuc3RhcnRzV2l0aChcIkZcIikpIHtcclxuICAgICAgICAgICAgICAgIGlmICghdmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGZvcm1hdC5sZW5ndGggIT0gMilcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKC8sLywgXCJcIikucmVwbGFjZShcIi5cIiwgXCIsXCIpO1xyXG5cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0bXAgPSBwYXJzZUZsb2F0KHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY2lmcmUgPSBwYXJzZUludChmb3JtYXRbMV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc05hTih0bXApIHx8IGlzTmFOKGNpZnJlKSkgcmV0dXJuIFwiXCI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoTWF0aC50cnVuYyh0bXAgKiBNYXRoLnBvdygxMCwgY2lmcmUpKSAvIE1hdGgucG93KDEwLCBjaWZyZSkpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBTZSBobyB1biBmb3JtYXRvIGRhdGEgdHJhc2Zvcm1vIGluIGRheWpzLCBmb3JtYXR0byBlZCBlc3BvcnRvXHJcbiAgICAgICAgICAgICAgICAvLyBQZXIgbGEgdHJhc2Zvcm1hemlvbmUgaW4gZGF5anMgcHJvdm8gcHJpbWEgYSBwYXNzYXJnbGkgbGEgc3RyaW5nYSBkaSBuZXR0bywgc3BlcmFuZG8gbGEgcmljb25vc2NhXHJcbiAgICAgICAgICAgICAgICAvLyBTZSBub24gZnVuemlvbmEgcHJvdm8gYSBkZWZpbmlyZ2xpIGxhIGZvcm1hdHRhemlvbmUgc3RhbmRhcmQgZGVsIG1ldGVyaW5nIHBlciBxdWVsIGxpbmd1YWdnaW9cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGVzLmdldEZvcm1hdHRlZCh2YWx1ZSwgZm9ybWF0Lmxlbmd0aCA8PSAxMCwgZm9ybWF0Lmxlbmd0aCA+IDE2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { Pipe } from "@angular/core";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class EstLookupPipe {
|
|
5
|
-
transform(value, source) {
|
|
6
|
-
for (let i = 0; i < source.length; i++) {
|
|
7
|
-
if (source[i].id == value)
|
|
8
|
-
return source[i];
|
|
9
|
-
}
|
|
10
|
-
return { id: "", description: "" };
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
13
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
-
type: Pipe,
|
|
17
|
-
args: [{ name: 'est_lookup' }]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
// Angular
|
|
2
|
+
import { Pipe } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class EstLookupPipe {
|
|
5
|
+
transform(value, source) {
|
|
6
|
+
for (let i = 0; i < source.length; i++) {
|
|
7
|
+
if (source[i].id == value)
|
|
8
|
+
return source[i];
|
|
9
|
+
}
|
|
10
|
+
return { id: "", description: "" };
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EstLookupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: EstLookupPipe, name: "est_lookup" }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EstLookupPipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{ name: 'est_lookup' }]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0LWxvb2t1cC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3BpcGVzL2VzdC1sb29rdXAucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTyxhQUFhO0lBRXRCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBNkM7UUFDbEUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNyQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSztnQkFDckIsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUN2QyxDQUFDOytHQVJRLGFBQWE7NkdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFEekIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAnZXN0X2xvb2t1cCcgfSlcclxuZXhwb3J0IGNsYXNzIEVzdExvb2t1cFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgc291cmNlOiB7IGlkOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcgfVtdKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3VyY2UubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHNvdXJjZVtpXS5pZCA9PSB2YWx1ZSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBzb3VyY2VbaV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7IGlkOiBcIlwiLCBkZXNjcmlwdGlvbjogXCJcIiB9O1xyXG4gICAgfVxyXG59Il19
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { Pipe } from "@angular/core";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class EstPropInsensitivePipe {
|
|
5
|
-
transform(item, property) {
|
|
6
|
-
for (let prop in item) {
|
|
7
|
-
if (prop.toLowerCase() == property.toLowerCase())
|
|
8
|
-
return item[prop];
|
|
9
|
-
}
|
|
10
|
-
return "";
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
13
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
-
type: Pipe,
|
|
17
|
-
args: [{ name: 'est_propinsensitive' }]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
// Angular
|
|
2
|
+
import { Pipe } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class EstPropInsensitivePipe {
|
|
5
|
+
transform(item, property) {
|
|
6
|
+
for (let prop in item) {
|
|
7
|
+
if (prop.toLowerCase() == property.toLowerCase())
|
|
8
|
+
return item[prop];
|
|
9
|
+
}
|
|
10
|
+
return "";
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EstPropInsensitivePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: EstPropInsensitivePipe, name: "est_propinsensitive" }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EstPropInsensitivePipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{ name: 'est_propinsensitive' }]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0LXByb3BpbnNlbnNpdGl2ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3BpcGVzL2VzdC1wcm9waW5zZW5zaXRpdmUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTyxzQkFBc0I7SUFFL0IsU0FBUyxDQUFDLElBQVMsRUFBRSxRQUFnQjtRQUNqQyxLQUFLLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUU7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7K0dBUlEsc0JBQXNCOzZHQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAnZXN0X3Byb3BpbnNlbnNpdGl2ZScgfSlcclxuZXhwb3J0IGNsYXNzIEVzdFByb3BJbnNlbnNpdGl2ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICB0cmFuc2Zvcm0oaXRlbTogYW55LCBwcm9wZXJ0eTogc3RyaW5nKSB7XHJcbiAgICAgICAgZm9yIChsZXQgcHJvcCBpbiBpdGVtKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wLnRvTG93ZXJDYXNlKCkgPT0gcHJvcGVydHkudG9Mb3dlckNhc2UoKSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtW3Byb3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { Pipe } from "@angular/core";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../core/Logger";
|
|
5
|
-
export class EstRendererPipe {
|
|
6
|
-
constructor(logger) {
|
|
7
|
-
this.logger = logger;
|
|
8
|
-
}
|
|
9
|
-
transform(propName, params) {
|
|
10
|
-
var EsTd = null;
|
|
11
|
-
// Perf. Version di `params.src.find((item) => params.name ? item.td === params.name : item.tdForProperty === propName);`
|
|
12
|
-
for (let i = 0; i < params.src.length; i++) {
|
|
13
|
-
let item = params.src.get(i);
|
|
14
|
-
if (params.name && item.td === params.name ||
|
|
15
|
-
!params.name && item.tdForProperty === propName) {
|
|
16
|
-
EsTd = item;
|
|
17
|
-
break;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
// Name non trovato, fallback al nome della colonna
|
|
21
|
-
if (propName && params.name && !EsTd) {
|
|
22
|
-
this.logger.log(`Renderer retrieved in a non performant way`);
|
|
23
|
-
EsTd = params.src.find((item) => item.tdForProperty === propName);
|
|
24
|
-
}
|
|
25
|
-
this.logger.log(`Renderer ${EsTd ? 'found' : 'NOT found'} for '${propName}${params.name ? '/' + params.name : ''}'${!EsTd ? '. Using fallback renderer' : ''}`);
|
|
26
|
-
var ret = EsTd ? EsTd.Template : params.fallback;
|
|
27
|
-
return ret;
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
30
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
33
|
-
type: Pipe,
|
|
34
|
-
args: [{ name: 'est_renderer' }]
|
|
35
|
-
}], ctorParameters:
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
// Angular
|
|
2
|
+
import { Pipe } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../core/Logger";
|
|
5
|
+
export class EstRendererPipe {
|
|
6
|
+
constructor(logger) {
|
|
7
|
+
this.logger = logger;
|
|
8
|
+
}
|
|
9
|
+
transform(propName, params) {
|
|
10
|
+
var EsTd = null;
|
|
11
|
+
// Perf. Version di `params.src.find((item) => params.name ? item.td === params.name : item.tdForProperty === propName);`
|
|
12
|
+
for (let i = 0; i < params.src.length; i++) {
|
|
13
|
+
let item = params.src.get(i);
|
|
14
|
+
if (params.name && item.td === params.name ||
|
|
15
|
+
!params.name && item.tdForProperty === propName) {
|
|
16
|
+
EsTd = item;
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// Name non trovato, fallback al nome della colonna
|
|
21
|
+
if (propName && params.name && !EsTd) {
|
|
22
|
+
this.logger.log(`Renderer retrieved in a non performant way`);
|
|
23
|
+
EsTd = params.src.find((item) => item.tdForProperty === propName);
|
|
24
|
+
}
|
|
25
|
+
this.logger.log(`Renderer ${EsTd ? 'found' : 'NOT found'} for '${propName}${params.name ? '/' + params.name : ''}'${!EsTd ? '. Using fallback renderer' : ''}`);
|
|
26
|
+
var ret = EsTd ? EsTd.Template : params.fallback;
|
|
27
|
+
return ret;
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EstRendererPipe, deps: [{ token: i1.Logger }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
30
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: EstRendererPipe, name: "est_renderer" }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EstRendererPipe, decorators: [{
|
|
33
|
+
type: Pipe,
|
|
34
|
+
args: [{ name: 'est_renderer' }]
|
|
35
|
+
}], ctorParameters: () => [{ type: i1.Logger }] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0LXJlbmRlcmVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy10YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvcGlwZXMvZXN0LXJlbmRlcmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxJQUFJLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7QUFTL0QsTUFBTSxPQUFPLGVBQWU7SUFFeEIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBSSxDQUFDO0lBRXZDLFNBQVMsQ0FBQyxRQUFnQixFQUFFLE1BQXNFO1FBRTlGLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQix5SEFBeUg7UUFDekgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDekMsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLElBQUk7Z0JBQ3RDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNsRCxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUNaLE1BQU07WUFDVixDQUFDO1FBQ0wsQ0FBQztRQUVELG1EQUFtRDtRQUNuRCxJQUFJLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsQ0FBQztZQUM5RCxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsU0FBUyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEssSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRWpELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzsrR0EzQlEsZUFBZTs2R0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgUXVlcnlMaXN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIFNlcnZpY2VzXHJcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCIuLi8uLi9jb3JlL0xvZ2dlclwiO1xyXG5cclxuLy8gQ29tcG9uZW50aSAvIERpcmV0dGl2ZVxyXG5pbXBvcnQgeyBFc1RkRGlyZWN0aXZlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvZXNfdGQuZGlyZWN0aXZlXCI7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdlc3RfcmVuZGVyZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBFc3RSZW5kZXJlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZ2dlcjogTG9nZ2VyKSB7IH1cclxuXHJcbiAgICB0cmFuc2Zvcm0ocHJvcE5hbWU6IHN0cmluZywgcGFyYW1zOiB7IG5hbWU6IHN0cmluZywgc3JjOiBRdWVyeUxpc3Q8RXNUZERpcmVjdGl2ZT4sIGZhbGxiYWNrOiBhbnkgfSkge1xyXG5cclxuICAgICAgICB2YXIgRXNUZCA9IG51bGw7XHJcbiAgICAgICAgLy8gUGVyZi4gVmVyc2lvbiBkaSBgcGFyYW1zLnNyYy5maW5kKChpdGVtKSA9PiBwYXJhbXMubmFtZSA/IGl0ZW0udGQgPT09IHBhcmFtcy5uYW1lIDogaXRlbS50ZEZvclByb3BlcnR5ID09PSBwcm9wTmFtZSk7YFxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyYW1zLnNyYy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaXRlbSA9IHBhcmFtcy5zcmMuZ2V0KGkpO1xyXG4gICAgICAgICAgICBpZiAocGFyYW1zLm5hbWUgJiYgaXRlbS50ZCA9PT0gcGFyYW1zLm5hbWUgfHxcclxuICAgICAgICAgICAgICAgICFwYXJhbXMubmFtZSAmJiBpdGVtLnRkRm9yUHJvcGVydHkgPT09IHByb3BOYW1lKSB7XHJcbiAgICAgICAgICAgICAgICBFc1RkID0gaXRlbTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBOYW1lIG5vbiB0cm92YXRvLCBmYWxsYmFjayBhbCBub21lIGRlbGxhIGNvbG9ubmFcclxuICAgICAgICBpZiAocHJvcE5hbWUgJiYgcGFyYW1zLm5hbWUgJiYgIUVzVGQpIHtcclxuICAgICAgICAgICAgdGhpcy5sb2dnZXIubG9nKGBSZW5kZXJlciByZXRyaWV2ZWQgaW4gYSBub24gcGVyZm9ybWFudCB3YXlgKTtcclxuICAgICAgICAgICAgRXNUZCA9IHBhcmFtcy5zcmMuZmluZCgoaXRlbSkgPT4gaXRlbS50ZEZvclByb3BlcnR5ID09PSBwcm9wTmFtZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmxvZ2dlci5sb2coYFJlbmRlcmVyICR7RXNUZCA/ICdmb3VuZCcgOiAnTk9UIGZvdW5kJ30gZm9yICcke3Byb3BOYW1lfSR7cGFyYW1zLm5hbWUgPyAnLycgKyBwYXJhbXMubmFtZSA6ICcnfSckeyFFc1RkID8gJy4gVXNpbmcgZmFsbGJhY2sgcmVuZGVyZXInIDogJyd9YCk7XHJcbiAgICAgICAgdmFyIHJldCA9IEVzVGQgPyBFc1RkLlRlbXBsYXRlIDogcGFyYW1zLmZhbGxiYWNrO1xyXG5cclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG59Il19
|