@esfaenza/es-table 18.2.2 → 19.2.1
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/fesm2022/esfaenza-es-table.mjs +108 -78
- package/fesm2022/esfaenza-es-table.mjs.map +1 -1
- package/package.json +15 -17
- package/esm2022/esfaenza-es-table.mjs +0 -5
- package/esm2022/lib/components/es-table/es_table.component.loc.mjs +0 -39
- package/esm2022/lib/components/es-table/es_table.component.mjs +0 -1891
- package/esm2022/lib/components/es-td/es_td.component.mjs +0 -40
- package/esm2022/lib/components/es-th/es_th.component.mjs +0 -176
- package/esm2022/lib/components/pager/table_pager.component.loc.mjs +0 -21
- package/esm2022/lib/components/pager/table_pager.component.mjs +0 -111
- package/esm2022/lib/components/pipes/est-format.pipe.mjs +0 -44
- package/esm2022/lib/components/pipes/est-lookup.pipe.mjs +0 -19
- package/esm2022/lib/components/pipes/est-propinsensitive.pipe.mjs +0 -19
- package/esm2022/lib/components/pipes/est-renderer.pipe.mjs +0 -36
- package/esm2022/lib/components/pipes/est-routerlink.pipe.mjs +0 -41
- package/esm2022/lib/components/pipes/est_editor.pipe.mjs +0 -36
- package/esm2022/lib/core/CopyPasteDetector.mjs +0 -28
- package/esm2022/lib/core/Logger.mjs +0 -26
- package/esm2022/lib/core/handlers/ColumnMetadataHandler.mjs +0 -835
- package/esm2022/lib/core/handlers/DynamicModeHandler.mjs +0 -109
- package/esm2022/lib/core/handlers/ExportHandler.mjs +0 -32
- package/esm2022/lib/core/handlers/HierarchyModeHandler.mjs +0 -136
- package/esm2022/lib/core/handlers/ItemsHandler.mjs +0 -119
- package/esm2022/lib/core/handlers/ReportModeHandler.mjs +0 -60
- package/esm2022/lib/core/handlers/RowGroupingHandler.mjs +0 -480
- package/esm2022/lib/core/handlers/SelectionHandler.mjs +0 -778
- package/esm2022/lib/core/handlers/UtilitiesHandler.mjs +0 -151
- package/esm2022/lib/directives/es_td.directive.mjs +0 -54
- package/esm2022/lib/directives/es_td_editor.directive.mjs +0 -24
- package/esm2022/lib/directives/es_th.directive.mjs +0 -130
- package/esm2022/lib/directives/es_th_td_provider.directive.mjs +0 -35
- package/esm2022/lib/domain/configuration/EsTableDefaultable.mjs +0 -4
- package/esm2022/lib/domain/configuration/EsTableModuleConfig.mjs +0 -4
- package/esm2022/lib/domain/externals/CornerMenuOption.mjs +0 -4
- package/esm2022/lib/domain/externals/EsTableColumnsDefinition.mjs +0 -48
- package/esm2022/lib/domain/externals/EsTableModelChange.mjs +0 -19
- package/esm2022/lib/domain/externals/EsTableOperationDefinition.mjs +0 -22
- package/esm2022/lib/domain/externals/ItemPropEditableReference.mjs +0 -4
- package/esm2022/lib/domain/externals/appsearch/AppOrdering.mjs +0 -16
- package/esm2022/lib/domain/externals/appsearch/AppSearch.mjs +0 -66
- package/esm2022/lib/domain/externals/appsearch/EsTableMultiValue.mjs +0 -25
- package/esm2022/lib/domain/externals/appsearch/GenericItem.mjs +0 -11
- package/esm2022/lib/domain/externals/appsearch/Group.mjs +0 -17
- package/esm2022/lib/domain/externals/appsearch/GroupAggregation.mjs +0 -16
- package/esm2022/lib/domain/externals/appsearch/GroupFilter.mjs +0 -14
- package/esm2022/lib/domain/externals/appsearch/GroupOrAggregation.mjs +0 -16
- package/esm2022/lib/domain/externals/appsearch/ItemsSelection.mjs +0 -23
- package/esm2022/lib/domain/externals/report/ReportColumn.mjs +0 -4
- package/esm2022/lib/domain/externals/report/ReportParam.mjs +0 -4
- package/esm2022/lib/domain/externals/report/ReportRow.mjs +0 -4
- package/esm2022/lib/domain/internals/CacheTriptic.mjs +0 -16
- package/esm2022/lib/domain/internals/EsTableColumn.mjs +0 -32
- package/esm2022/lib/domain/internals/GroupPager.mjs +0 -23
- package/esm2022/lib/domain/internals/GroupRouteFragment.mjs +0 -17
- package/esm2022/lib/domain/internals/PagerInfos.mjs +0 -15
- package/esm2022/lib/domain/internals/TdElement.mjs +0 -2
- package/esm2022/lib/domain/internals/ThAggregation.mjs +0 -16
- package/esm2022/lib/domain/internals/ThElement.mjs +0 -2
- package/esm2022/lib/domain/internals/ThGroup.mjs +0 -2
- package/esm2022/lib/domain/types.mjs +0 -2
- package/esm2022/lib/es-table.module.mjs +0 -125
- package/esm2022/lib/tokens.mjs +0 -6
- package/esm2022/public-api.mjs +0 -28
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { EsTdDirective } from "../../directives/es_td.directive";
|
|
2
|
-
import { EsThDirective } from "../../directives/es_th.directive";
|
|
3
|
-
// Dominio
|
|
4
|
-
import { EsTableColumnsDefinition } from "../../domain/externals/EsTableColumnsDefinition";
|
|
5
|
-
/** Classe contenente le gestioni particolari della modalità dinamica dell'es-table */
|
|
6
|
-
export class DynamicModeHandler {
|
|
7
|
-
/** @ignore Costruttore*/
|
|
8
|
-
constructor(est) {
|
|
9
|
-
this.est = est;
|
|
10
|
-
}
|
|
11
|
-
/** Se non ho l'Input **DynamicRowColumnsDefinition** in modalità dinamica lo riempio con il default nome della colonna = testo della colonna */
|
|
12
|
-
eventuallyReviewDynamicColumns() {
|
|
13
|
-
// Senza oggetti esco
|
|
14
|
-
if (!this.est.TMPBoundSource || this.est.TMPBoundSource.length == 0)
|
|
15
|
-
return;
|
|
16
|
-
var useGenericItems = !!this.est.TMPBoundSource[0]["properties"];
|
|
17
|
-
if (!useGenericItems || (!this.est.FirstBind && this.est.DynamicRowColumnsDefinition && this.est.DynamicRowColumnsDefinition.length > 0))
|
|
18
|
-
return;
|
|
19
|
-
if ((!this.est.DynamicRowColumnsDefinition || this.est.DynamicRowColumnsDefinition.length == 0)) {
|
|
20
|
-
var props = this.est.TMPBoundSource[0]["properties"];
|
|
21
|
-
this.est.DynamicRowColumnsDefinition = [];
|
|
22
|
-
for (let key in props)
|
|
23
|
-
this.est.DynamicRowColumnsDefinition.push(new EsTableColumnsDefinition(key, key));
|
|
24
|
-
this.est.UserDefinedDynamicCols = false;
|
|
25
|
-
}
|
|
26
|
-
else
|
|
27
|
-
this.est.UserDefinedDynamicCols = true;
|
|
28
|
-
}
|
|
29
|
-
/** Genera partendo dalle **DynamicRowColumnsDefinition** la lista di **EsThDirective** e **EsTdDirective** che servono per la tabella */
|
|
30
|
-
emitThsAndTdsBasedOnDynamicDefinition() {
|
|
31
|
-
// Senza dynamic columns esco
|
|
32
|
-
if (!this.est.DynamicRowColumnsDefinition || this.est.DynamicRowColumnsDefinition.length == 0)
|
|
33
|
-
return null;
|
|
34
|
-
let ths = [];
|
|
35
|
-
let tds = [];
|
|
36
|
-
for (let i = 0; i < this.est.DynamicOperations.length; i++) {
|
|
37
|
-
let op = this.est.DynamicOperations[i];
|
|
38
|
-
ths.push(this.getThFromOperation(op));
|
|
39
|
-
tds.push(this.getTdFromOperation(op));
|
|
40
|
-
}
|
|
41
|
-
for (let i = 0; i < this.est.DynamicRowColumnsDefinition.length; i++) {
|
|
42
|
-
let col = this.est.DynamicRowColumnsDefinition[i];
|
|
43
|
-
ths.push(this.getThFromColumnDef(col));
|
|
44
|
-
tds.push(this.getTdFromColumnDef(col));
|
|
45
|
-
}
|
|
46
|
-
return { ths, tds };
|
|
47
|
-
}
|
|
48
|
-
/** @ignore Helper */
|
|
49
|
-
getThFromOperation(op) {
|
|
50
|
-
let th = new EsThDirective(null);
|
|
51
|
-
th.th = op.id;
|
|
52
|
-
th.thFixed = true;
|
|
53
|
-
th.thVisible = true;
|
|
54
|
-
th.thStaticContent = "";
|
|
55
|
-
return th;
|
|
56
|
-
}
|
|
57
|
-
getTdFromOperation(op) {
|
|
58
|
-
let td = new EsTdDirective(null);
|
|
59
|
-
td.td = op.id;
|
|
60
|
-
td.tdVisible = true;
|
|
61
|
-
td.tdIconClass = op.iconClass;
|
|
62
|
-
td.tdConditionField = op.conditionField;
|
|
63
|
-
td.tdConditionValue = op.conditionValue;
|
|
64
|
-
td.tdTitle = op.title;
|
|
65
|
-
td.tdContent = op.text;
|
|
66
|
-
return td;
|
|
67
|
-
}
|
|
68
|
-
getThFromColumnDef(col) {
|
|
69
|
-
var ret = new EsThDirective(null);
|
|
70
|
-
ret.th = col.PropertyName;
|
|
71
|
-
ret.thPinned = col.Pinned;
|
|
72
|
-
ret.thPinnable = col.Pinnable;
|
|
73
|
-
ret.thPinnedWidth = col.PinnedWidth;
|
|
74
|
-
ret.thVisible = col.Visible;
|
|
75
|
-
ret.thOrder = col.DataOrder;
|
|
76
|
-
ret.thOrderable = col.Orderable;
|
|
77
|
-
ret.thWrap = col.HeaderWraps;
|
|
78
|
-
ret.thClass = col.Clss;
|
|
79
|
-
ret.thProperty = col.PropertyName;
|
|
80
|
-
ret.thType = col.PropertyType;
|
|
81
|
-
ret.thSource = col.PropertySource;
|
|
82
|
-
ret.thEditorName = col.EditorName;
|
|
83
|
-
ret.thEditorOptions = col.EditorOptions;
|
|
84
|
-
ret.thRendererName = col.RendererName;
|
|
85
|
-
ret.thRoutePath = col.RoutePath;
|
|
86
|
-
ret.thRouteParameterProperties = col.RouteParameterProperties;
|
|
87
|
-
ret.thStaticContent = col.Description;
|
|
88
|
-
//ret.thFixed = col.Fixed;
|
|
89
|
-
//ret.thResizable = col.Resizable;
|
|
90
|
-
//ret.thGroupClass = col.GroupClass;
|
|
91
|
-
//ret.thGroup = col.Group;
|
|
92
|
-
//ret.thAggregation = col.Aggregation;
|
|
93
|
-
//ret.thMulti = col.Multi;
|
|
94
|
-
//ret.thBackgroundColor = col.BackgroundColor;
|
|
95
|
-
//ret.thAlignment = col.Alignment;
|
|
96
|
-
//ret.thFormat = col.Format;
|
|
97
|
-
return ret;
|
|
98
|
-
}
|
|
99
|
-
/** @ignore Helper */
|
|
100
|
-
getTdFromColumnDef(col) {
|
|
101
|
-
var ret = new EsTdDirective(null);
|
|
102
|
-
ret.td = col.PropertyName;
|
|
103
|
-
ret.tdClass = col.Clss;
|
|
104
|
-
//ret.tdAlignment = col.Alignment;
|
|
105
|
-
//ret.tdFormat = col.Format;
|
|
106
|
-
return ret;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01vZGVIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb3JlL2hhbmRsZXJzL0R5bmFtaWNNb2RlSGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpFLFVBQVU7QUFDVixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUczRixzRkFBc0Y7QUFDdEYsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQix5QkFBeUI7SUFDekIsWUFBb0IsR0FBcUI7UUFBckIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7SUFBSSxDQUFDO0lBRTlDLGdKQUFnSjtJQUN6SSw4QkFBOEI7UUFDakMscUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUMvRCxPQUFPO1FBRVgsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsMkJBQTJCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3BJLE9BQU87UUFFWCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDJCQUEyQixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsTUFB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R0FBRyxDQUFDLGFBQWEsQ0FBQTtRQUN2QyxHQUFHLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdEMsR0FBRyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ2hDLEdBQUcsQ0FBQywwQkFBMEIsR0FBRyxHQUFHLENBQUMsd0JBQXdCLENBQUM7UUFDOUQsR0FBRyxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBRXRDLDBCQUEwQjtRQUMxQixrQ0FBa0M7UUFDbEMsb0NBQW9DO1FBQ3BDLDBCQUEwQjtRQUMxQixzQ0FBc0M7UUFDdEMsMEJBQTBCO1FBQzFCLDhDQUE4QztRQUM5QyxrQ0FBa0M7UUFDbEMsNEJBQTRCO1FBQzVCLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELHFCQUFxQjtJQUNiLGtCQUFrQixDQUFDLEdBQTZCO1FBQ3BELElBQUksR0FBRyxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUMxQixHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDdkIsa0NBQWtDO1FBQ2xDLDRCQUE0QjtRQUM1QixPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvbXBvbmVudGlcclxuaW1wb3J0IHsgRXNUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2VzLXRhYmxlL2VzX3RhYmxlLmNvbXBvbmVudFwiXHJcbmltcG9ydCB7IEVzVGREaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9lc190ZC5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgRXNUaERpcmVjdGl2ZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2VzX3RoLmRpcmVjdGl2ZVwiO1xyXG5cclxuLy8gRG9taW5pb1xyXG5pbXBvcnQgeyBFc1RhYmxlQ29sdW1uc0RlZmluaXRpb24gfSBmcm9tIFwiLi4vLi4vZG9tYWluL2V4dGVybmFscy9Fc1RhYmxlQ29sdW1uc0RlZmluaXRpb25cIjtcclxuaW1wb3J0IHsgRXNUYWJsZU9wZXJhdGlvbkRlZmluaXRpb24gfSBmcm9tIFwiLi4vLi4vZG9tYWluL2V4dGVybmFscy9Fc1RhYmxlT3BlcmF0aW9uRGVmaW5pdGlvblwiO1xyXG5cclxuLyoqIENsYXNzZSBjb250ZW5lbnRlIGxlIGdlc3Rpb25pIHBhcnRpY29sYXJpIGRlbGxhIG1vZGFsaXTDoCBkaW5hbWljYSBkZWxsJ2VzLXRhYmxlICovXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljTW9kZUhhbmRsZXIge1xyXG5cclxuICAgIC8qKiBAaWdub3JlIENvc3RydXR0b3JlKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXN0OiBFc1RhYmxlQ29tcG9uZW50KSB7IH1cclxuXHJcbiAgICAvKiogU2Ugbm9uIGhvIGwnSW5wdXQgKipEeW5hbWljUm93Q29sdW1uc0RlZmluaXRpb24qKiBpbiBtb2RhbGl0w6AgZGluYW1pY2EgbG8gcmllbXBpbyBjb24gaWwgZGVmYXVsdCBub21lIGRlbGxhIGNvbG9ubmEgPSB0ZXN0byBkZWxsYSBjb2xvbm5hICovXHJcbiAgICBwdWJsaWMgZXZlbnR1YWxseVJldmlld0R5bmFtaWNDb2x1bW5zKCkge1xyXG4gICAgICAgIC8vIFNlbnphIG9nZ2V0dGkgZXNjb1xyXG4gICAgICAgIGlmICghdGhpcy5lc3QuVE1QQm91bmRTb3VyY2UgfHwgdGhpcy5lc3QuVE1QQm91bmRTb3VyY2UubGVuZ3RoID09IDApXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdmFyIHVzZUdlbmVyaWNJdGVtcyA9ICEhdGhpcy5lc3QuVE1QQm91bmRTb3VyY2VbMF1bXCJwcm9wZXJ0aWVzXCJdO1xyXG4gICAgICAgIGlmICghdXNlR2VuZXJpY0l0ZW1zIHx8ICghdGhpcy5lc3QuRmlyc3RCaW5kICYmIHRoaXMuZXN0LkR5bmFtaWNSb3dDb2x1bW5zRGVmaW5pdGlvbiAmJiB0aGlzLmVzdC5EeW5hbWljUm93Q29sdW1uc0RlZmluaXRpb24ubGVuZ3RoID4gMCkpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKCghdGhpcy5lc3QuRHluYW1pY1Jvd0NvbHVtbnNEZWZpbml0aW9uIHx8IHRoaXMuZXN0LkR5bmFtaWNSb3dDb2x1bW5zRGVmaW5pdGlvbi5sZW5ndGggPT0gMCkpIHtcclxuICAgICAgICAgICAgdmFyIHByb3BzID0gPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+dGhpcy5lc3QuVE1QQm91bmRTb3VyY2VbMF1bXCJwcm9wZXJ0aWVzXCJdO1xyXG4gICAgICAgICAgICB0aGlzLmVzdC5EeW5hbWljUm93Q29sdW1uc0RlZmluaXRpb24gPSBbXTtcclxuICAgICAgICAgICAgZm9yIChsZXQga2V5IGluIHByb3BzKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5lc3QuRHluYW1pY1Jvd0NvbHVtbnNEZWZpbml0aW9uLnB1c2gobmV3IEVzVGFibGVDb2x1bW5zRGVmaW5pdGlvbihrZXksIGtleSkpO1xyXG4gICAgICAgICAgICB0aGlzLmVzdC5Vc2VyRGVmaW5lZER5bmFtaWNDb2xzID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5lc3QuVXNlckRlZmluZWREeW5hbWljQ29scyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEdlbmVyYSBwYXJ0ZW5kbyBkYWxsZSAqKkR5bmFtaWNSb3dDb2x1bW5zRGVmaW5pdGlvbioqIGxhIGxpc3RhIGRpICoqRXNUaERpcmVjdGl2ZSoqIGUgKipFc1RkRGlyZWN0aXZlKiogY2hlIHNlcnZvbm8gcGVyIGxhIHRhYmVsbGEgKi9cclxuICAgIHB1YmxpYyBlbWl0VGhzQW5kVGRzQmFzZWRPbkR5bmFtaWNEZWZpbml0aW9uKCk6IHsgdGhzOiBFc1RoRGlyZWN0aXZlW10sIHRkczogRXNUZERpcmVjdGl2ZVtdIH0ge1xyXG4gICAgICAgIC8vIFNlbnphIGR5bmFtaWMgY29sdW1ucyBlc2NvXHJcbiAgICAgICAgaWYgKCF0aGlzLmVzdC5EeW5hbWljUm93Q29sdW1uc0RlZmluaXRpb24gfHwgdGhpcy5lc3QuRHluYW1pY1Jvd0NvbHVtbnNEZWZpbml0aW9uLmxlbmd0aCA9PSAwKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgbGV0IHRocyA9IFtdO1xyXG4gICAgICAgIGxldCB0ZHMgPSBbXTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmVzdC5EeW5hbWljT3BlcmF0aW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgb3AgPSB0aGlzLmVzdC5EeW5hbWljT3BlcmF0aW9uc1tpXTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRocy5wdXNoKHRoaXMuZ2V0VGhGcm9tT3BlcmF0aW9uKG9wKSk7XHJcbiAgICAgICAgICAgIHRkcy5wdXNoKHRoaXMuZ2V0VGRGcm9tT3BlcmF0aW9uKG9wKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZXN0LkR5bmFtaWNSb3dDb2x1bW5zRGVmaW5pdGlvbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgY29sID0gdGhpcy5lc3QuRHluYW1pY1Jvd0NvbHVtbnNEZWZpbml0aW9uW2ldO1xyXG5cclxuICAgICAgICAgICAgdGhzLnB1c2godGhpcy5nZXRUaEZyb21Db2x1bW5EZWYoY29sKSk7XHJcbiAgICAgICAgICAgIHRkcy5wdXNoKHRoaXMuZ2V0VGRGcm9tQ29sdW1uRGVmKGNvbCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4geyB0aHMsIHRkcyB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlIEhlbHBlciAqL1xyXG4gICAgcHJpdmF0ZSBnZXRUaEZyb21PcGVyYXRpb24ob3A6IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uKTogRXNUaERpcmVjdGl2ZSB7XHJcbiAgICAgICAgbGV0IHRoID0gbmV3IEVzVGhEaXJlY3RpdmUobnVsbCk7XHJcbiAgICAgICAgdGgudGggPSBvcC5pZDtcclxuICAgICAgICB0aC50aEZpeGVkID0gdHJ1ZTtcclxuICAgICAgICB0aC50aFZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIHRoLnRoU3RhdGljQ29udGVudCA9IFwiXCI7XHJcbiAgICAgICAgcmV0dXJuIHRoO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0VGRGcm9tT3BlcmF0aW9uKG9wOiBFc1RhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbik6IEVzVGREaXJlY3RpdmUge1xyXG4gICAgICAgIGxldCB0ZCA9IG5ldyBFc1RkRGlyZWN0aXZlKG51bGwpO1xyXG4gICAgICAgIHRkLnRkID0gb3AuaWQ7XHJcbiAgICAgICAgdGQudGRWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICB0ZC50ZEljb25DbGFzcyA9IG9wLmljb25DbGFzcztcclxuICAgICAgICB0ZC50ZENvbmRpdGlvbkZpZWxkID0gb3AuY29uZGl0aW9uRmllbGQ7XHJcbiAgICAgICAgdGQudGRDb25kaXRpb25WYWx1ZSA9IG9wLmNvbmRpdGlvblZhbHVlO1xyXG4gICAgICAgIHRkLnRkVGl0bGUgPSBvcC50aXRsZTtcclxuICAgICAgICB0ZC50ZENvbnRlbnQgPSBvcC50ZXh0O1xyXG4gICAgICAgIHJldHVybiB0ZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFRoRnJvbUNvbHVtbkRlZihjb2w6IEVzVGFibGVDb2x1bW5zRGVmaW5pdGlvbik6IEVzVGhEaXJlY3RpdmUge1xyXG4gICAgICAgIHZhciByZXQgPSBuZXcgRXNUaERpcmVjdGl2ZShudWxsKTtcclxuICAgICAgICByZXQudGggPSBjb2wuUHJvcGVydHlOYW1lO1xyXG4gICAgICAgIHJldC50aFBpbm5lZCA9IGNvbC5QaW5uZWQ7XHJcbiAgICAgICAgcmV0LnRoUGlubmFibGUgPSBjb2wuUGlubmFibGU7XHJcbiAgICAgICAgcmV0LnRoUGlubmVkV2lkdGggPSBjb2wuUGlubmVkV2lkdGg7XHJcbiAgICAgICAgcmV0LnRoVmlzaWJsZSA9IGNvbC5WaXNpYmxlO1xyXG4gICAgICAgIHJldC50aE9yZGVyID0gY29sLkRhdGFPcmRlcjtcclxuICAgICAgICByZXQudGhPcmRlcmFibGUgPSBjb2wuT3JkZXJhYmxlO1xyXG4gICAgICAgIHJldC50aFdyYXAgPSBjb2wuSGVhZGVyV3JhcHM7XHJcbiAgICAgICAgcmV0LnRoQ2xhc3MgPSBjb2wuQ2xzcztcclxuICAgICAgICByZXQudGhQcm9wZXJ0eSA9IGNvbC5Qcm9wZXJ0eU5hbWU7XHJcbiAgICAgICAgcmV0LnRoVHlwZSA9IGNvbC5Qcm9wZXJ0eVR5cGU7XHJcbiAgICAgICAgcmV0LnRoU291cmNlID0gY29sLlByb3BlcnR5U291cmNlO1xyXG4gICAgICAgIHJldC50aEVkaXRvck5hbWUgPSBjb2wuRWRpdG9yTmFtZTtcclxuICAgICAgICByZXQudGhFZGl0b3JPcHRpb25zID0gY29sLkVkaXRvck9wdGlvbnNcclxuICAgICAgICByZXQudGhSZW5kZXJlck5hbWUgPSBjb2wuUmVuZGVyZXJOYW1lO1xyXG4gICAgICAgIHJldC50aFJvdXRlUGF0aCA9IGNvbC5Sb3V0ZVBhdGg7XHJcbiAgICAgICAgcmV0LnRoUm91dGVQYXJhbWV0ZXJQcm9wZXJ0aWVzID0gY29sLlJvdXRlUGFyYW1ldGVyUHJvcGVydGllcztcclxuICAgICAgICByZXQudGhTdGF0aWNDb250ZW50ID0gY29sLkRlc2NyaXB0aW9uO1xyXG5cclxuICAgICAgICAvL3JldC50aEZpeGVkID0gY29sLkZpeGVkO1xyXG4gICAgICAgIC8vcmV0LnRoUmVzaXphYmxlID0gY29sLlJlc2l6YWJsZTtcclxuICAgICAgICAvL3JldC50aEdyb3VwQ2xhc3MgPSBjb2wuR3JvdXBDbGFzcztcclxuICAgICAgICAvL3JldC50aEdyb3VwID0gY29sLkdyb3VwO1xyXG4gICAgICAgIC8vcmV0LnRoQWdncmVnYXRpb24gPSBjb2wuQWdncmVnYXRpb247XHJcbiAgICAgICAgLy9yZXQudGhNdWx0aSA9IGNvbC5NdWx0aTtcclxuICAgICAgICAvL3JldC50aEJhY2tncm91bmRDb2xvciA9IGNvbC5CYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICAgICAgLy9yZXQudGhBbGlnbm1lbnQgPSBjb2wuQWxpZ25tZW50O1xyXG4gICAgICAgIC8vcmV0LnRoRm9ybWF0ID0gY29sLkZvcm1hdDtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlIEhlbHBlciAqL1xyXG4gICAgcHJpdmF0ZSBnZXRUZEZyb21Db2x1bW5EZWYoY29sOiBFc1RhYmxlQ29sdW1uc0RlZmluaXRpb24pOiBFc1RkRGlyZWN0aXZlIHtcclxuICAgICAgICB2YXIgcmV0ID0gbmV3IEVzVGREaXJlY3RpdmUobnVsbCk7XHJcbiAgICAgICAgcmV0LnRkID0gY29sLlByb3BlcnR5TmFtZTtcclxuICAgICAgICByZXQudGRDbGFzcyA9IGNvbC5DbHNzO1xyXG4gICAgICAgIC8vcmV0LnRkQWxpZ25tZW50ID0gY29sLkFsaWdubWVudDtcclxuICAgICAgICAvL3JldC50ZEZvcm1hdCA9IGNvbC5Gb3JtYXQ7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/** Classe contenente la gestione delle importazioni */
|
|
2
|
-
export class ExportHandler {
|
|
3
|
-
/** @ignore Costruttore*/
|
|
4
|
-
constructor(est, expExts, msgExts, utiExts, dateExts) {
|
|
5
|
-
this.est = est;
|
|
6
|
-
this.expExts = expExts;
|
|
7
|
-
this.msgExts = msgExts;
|
|
8
|
-
this.utiExts = utiExts;
|
|
9
|
-
this.dateExts = dateExts;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Effettua l'esportazione dei dati
|
|
13
|
-
*
|
|
14
|
-
* @param {string} format Formato di esportazione. Letto solo in modalità Report della tabella
|
|
15
|
-
*/
|
|
16
|
-
tryExport(format) {
|
|
17
|
-
if (!this.est.ExportFunction)
|
|
18
|
-
return;
|
|
19
|
-
else
|
|
20
|
-
this.est.ExportFunction(async (data, type) => {
|
|
21
|
-
if (data.length == 0) {
|
|
22
|
-
this.msgExts.simpleWarning(this.est.lc.loc("Cannot export an empty dataset"));
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
let drcd = this.est.DynamicRowColumnsDefinition;
|
|
26
|
-
let columnsFilter = this.est.ExportOnlyVisibleColumns ? this.est.ColumnsList.filter(t => t.visible).map(t => t.id) : null;
|
|
27
|
-
let csvHeadersOverride = drcd && drcd.length > 0 ? drcd.map(t => { return { label: t.Description, key: t.PropertyName, propKey: t.PropertyName, order: t.ColumnOrder, type: 'string' }; }) : null;
|
|
28
|
-
this.expExts.export(data, format, this.est.ExportFileName, type, columnsFilter, csvHeadersOverride);
|
|
29
|
-
}, format);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwb3J0SGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29yZS9oYW5kbGVycy9FeHBvcnRIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLHVEQUF1RDtBQUN2RCxNQUFNLE9BQU8sYUFBYTtJQUV0Qix5QkFBeUI7SUFDekIsWUFBb0IsR0FBcUIsRUFBVSxPQUFzQixFQUFVLE9BQXVCLEVBQVUsT0FBdUIsRUFBVSxRQUFxQjtRQUF0SixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBYTtJQUFJLENBQUM7SUFFL0s7Ozs7T0FJRztJQUNJLFNBQVMsQ0FBQyxNQUF1QjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjO1lBQ3hCLE9BQU87O1lBR1AsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLElBQVcsRUFBRSxJQUFlLEVBQUUsRUFBRTtnQkFFM0QsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO29CQUM5RSxPQUFPO2dCQUNYLENBQUM7Z0JBRUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQztnQkFDaEQsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUMxSCxJQUFJLGtCQUFrQixHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFFOU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDeEcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBMaWJyZXJpZVxyXG5pbXBvcnQgeyBDc3ZIZWFkZXJzLCBEYXRlU2VydmljZSwgRXhwb3J0U2VydmljZSwgTWVzc2FnZVNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBDb21wb25lbnRpXHJcbmltcG9ydCB7IEVzVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9lcy10YWJsZS9lc190YWJsZS5jb21wb25lbnRcIlxyXG5cclxuXHJcbi8qKiBDbGFzc2UgY29udGVuZW50ZSBsYSBnZXN0aW9uZSBkZWxsZSBpbXBvcnRhemlvbmkgKi9cclxuZXhwb3J0IGNsYXNzIEV4cG9ydEhhbmRsZXIge1xyXG5cclxuICAgIC8qKiBAaWdub3JlIENvc3RydXR0b3JlKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXN0OiBFc1RhYmxlQ29tcG9uZW50LCBwcml2YXRlIGV4cEV4dHM6IEV4cG9ydFNlcnZpY2UsIHByaXZhdGUgbXNnRXh0czogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgdXRpRXh0czogVXRpbGl0eVNlcnZpY2UsIHByaXZhdGUgZGF0ZUV4dHM6IERhdGVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEVmZmV0dHVhIGwnZXNwb3J0YXppb25lIGRlaSBkYXRpXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZvcm1hdCBGb3JtYXRvIGRpIGVzcG9ydGF6aW9uZS4gTGV0dG8gc29sbyBpbiBtb2RhbGl0w6AgUmVwb3J0IGRlbGxhIHRhYmVsbGFcclxuICAgICAqL1xyXG4gICAgcHVibGljIHRyeUV4cG9ydChmb3JtYXQ/OiAnQ1NWJyB8ICdYTFNYJykge1xyXG4gICAgICAgIGlmICghdGhpcy5lc3QuRXhwb3J0RnVuY3Rpb24pXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLmVzdC5FeHBvcnRGdW5jdGlvbihhc3luYyAoZGF0YTogYW55W10sIHR5cGU6IFR5cGU8YW55PikgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tc2dFeHRzLnNpbXBsZVdhcm5pbmcodGhpcy5lc3QubGMubG9jKFwiQ2Fubm90IGV4cG9ydCBhbiBlbXB0eSBkYXRhc2V0XCIpKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IGRyY2QgPSB0aGlzLmVzdC5EeW5hbWljUm93Q29sdW1uc0RlZmluaXRpb247XHJcbiAgICAgICAgICAgICAgICBsZXQgY29sdW1uc0ZpbHRlciA9IHRoaXMuZXN0LkV4cG9ydE9ubHlWaXNpYmxlQ29sdW1ucyA/IHRoaXMuZXN0LkNvbHVtbnNMaXN0LmZpbHRlcih0ID0+IHQudmlzaWJsZSkubWFwKHQgPT4gdC5pZCkgOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgbGV0IGNzdkhlYWRlcnNPdmVycmlkZSA9IGRyY2QgJiYgZHJjZC5sZW5ndGggPiAwID8gZHJjZC5tYXAodCA9PiB7IHJldHVybiA8Q3N2SGVhZGVycz57IGxhYmVsOiB0LkRlc2NyaXB0aW9uLCBrZXk6IHQuUHJvcGVydHlOYW1lLCBwcm9wS2V5OiB0LlByb3BlcnR5TmFtZSwgb3JkZXI6IHQuQ29sdW1uT3JkZXIsIHR5cGU6ICdzdHJpbmcnIH07IH0pIDogbnVsbDtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4cEV4dHMuZXhwb3J0KGRhdGEsIGZvcm1hdCwgdGhpcy5lc3QuRXhwb3J0RmlsZU5hbWUsIHR5cGUsIGNvbHVtbnNGaWx0ZXIsIGNzdkhlYWRlcnNPdmVycmlkZSk7XHJcbiAgICAgICAgICAgIH0sIGZvcm1hdCk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/** Classe contenente la gestione della modalità gerarchica */
|
|
2
|
-
export class HierarchyModeHandler {
|
|
3
|
-
/** @ignore Costruttore*/
|
|
4
|
-
constructor(est) {
|
|
5
|
-
this.est = est;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Data una lista di oggetti assegno il livello gerarchico rispetto alla lista di oggetti passata
|
|
9
|
-
*
|
|
10
|
-
* @param {any[]} objs Lista di oggetti a cui aggiungere l'informazione del livello gerarchico
|
|
11
|
-
*/
|
|
12
|
-
assignHierarchyLevels(objs) {
|
|
13
|
-
// Casistica input nullo
|
|
14
|
-
if (!objs || !objs.length)
|
|
15
|
-
return;
|
|
16
|
-
//Se mancano entrambe le info le cerco di valorizzare in automatico coi default "parentid" e "id" (posto che le props esistano nell'oggetto)
|
|
17
|
-
if (!this.est.ParentKey && !this.est.OwnKey) {
|
|
18
|
-
if (objs[0]['parentid'] !== undefined)
|
|
19
|
-
this.est.ParentKey = 'parentid';
|
|
20
|
-
if (objs[0]['id'] !== undefined)
|
|
21
|
-
this.est.OwnKey = 'id';
|
|
22
|
-
}
|
|
23
|
-
//Check finale per assicurarmi che le props ci siano
|
|
24
|
-
if (!this.est.ParentKey || !this.est.OwnKey) {
|
|
25
|
-
console.error('Per utilizzare il sistema in modalità gerarchica è obbligatorio specificare sia ParentKey che OwnKey. Fallback a sistema non gerarchico');
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
// Valorizzazione campi level, expanded, e visible per ogni item
|
|
29
|
-
let currentLevel = 1;
|
|
30
|
-
let assigned = 0;
|
|
31
|
-
do {
|
|
32
|
-
assigned = this.assignLevel(objs, currentLevel);
|
|
33
|
-
currentLevel++;
|
|
34
|
-
} while (assigned > 0);
|
|
35
|
-
// butto su lato html e poi me la gioco là con padding = 20 * (level - 1) per far capire il diverso livello
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Per ognuno degli oggetti passati gli assegna un livello di gerarchia in base a **ParentKey** e **OwnKey**
|
|
39
|
-
*
|
|
40
|
-
* @param {any[]} objs Oggetti a cui assegnare il livello di gerarchia
|
|
41
|
-
* @param {number} levelToAssign Livello che sta assegnando attualmente questa iterazione (dato che è ricorsiva)
|
|
42
|
-
*
|
|
43
|
-
* @returns {number} Numero di oggetti a cui è stato assegnato un livello gerarchico
|
|
44
|
-
*/
|
|
45
|
-
assignLevel(objs, levelToAssign) {
|
|
46
|
-
let assigned = 0;
|
|
47
|
-
for (let i = 0; i < objs.length; i++) {
|
|
48
|
-
let obj = objs[i];
|
|
49
|
-
// Se la parentKey non è valorizzata, questo è il livello 0 (1... perché gli 0 son perciolosi)
|
|
50
|
-
if (!obj[this.est.ParentKey] && levelToAssign == 1) {
|
|
51
|
-
obj._level = 1;
|
|
52
|
-
obj._visible = true;
|
|
53
|
-
obj._expanded = this.est.StartsExpanded;
|
|
54
|
-
assigned++;
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
// Per i livelli superiore al primo
|
|
58
|
-
if (obj[this.est.ParentKey] && levelToAssign > 1) {
|
|
59
|
-
// trovo il parent
|
|
60
|
-
for (let p = 0; p < objs.length; p++) {
|
|
61
|
-
let possibleParent = objs[p];
|
|
62
|
-
// Trovato il parent dell'item, assegno all'item il livello giusto
|
|
63
|
-
if (possibleParent[this.est.OwnKey] == obj[this.est.ParentKey] && possibleParent._level == levelToAssign - 1) {
|
|
64
|
-
obj._level = levelToAssign;
|
|
65
|
-
// So che questo item ha un parent. Ribadisco che il parent è espanso in base alle impostazione e stessa logica
|
|
66
|
-
// per la visibilità del figlio
|
|
67
|
-
possibleParent._expanded = this.est.StartsExpanded;
|
|
68
|
-
possibleParent.parent = true;
|
|
69
|
-
obj._visible = this.est.StartsExpanded;
|
|
70
|
-
assigned++;
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return assigned;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Funzione che permette di effettuare l'espansione di un parent quando la tabella funziona in modalità gerarchica
|
|
80
|
-
*
|
|
81
|
-
* @param {string} key Chiave del parent da espandere
|
|
82
|
-
*/
|
|
83
|
-
expandParent(key) {
|
|
84
|
-
for (let i = 0; i < this.est.boundSource.length; i++) {
|
|
85
|
-
let obj = this.est.boundSource[i];
|
|
86
|
-
// Trovo il parent con quell'id e lo espando
|
|
87
|
-
if (obj[this.est.OwnKey] == key) {
|
|
88
|
-
obj._expanded = true;
|
|
89
|
-
for (let ic = 0; ic < this.est.boundSource.length; ic++) {
|
|
90
|
-
let child = this.est.boundSource[ic];
|
|
91
|
-
// Trovo tutti i child di quel parent e li rendo visibili
|
|
92
|
-
if (child[this.est.ParentKey] == key)
|
|
93
|
-
child._visible = true;
|
|
94
|
-
}
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Funzione che permette di effettuare il collapse di un parent quando la tabella funziona in modalità gerarchica
|
|
101
|
-
*
|
|
102
|
-
* @param {string} key Chiave del parent da collassare
|
|
103
|
-
*/
|
|
104
|
-
collapseParent(key) {
|
|
105
|
-
for (let i = 0; i < this.est.boundSource.length; i++) {
|
|
106
|
-
let obj = this.est.boundSource[i];
|
|
107
|
-
// Trovo il parent con quell'id e lo collasso
|
|
108
|
-
if (obj[this.est.OwnKey] == key) {
|
|
109
|
-
obj._expanded = false;
|
|
110
|
-
// Collasso/nascondo tutti i child del parent
|
|
111
|
-
this.collapseChildOfParent(key);
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Collassa ricorsivamente tutti i figli di un parent identificato dalla **parentKey**
|
|
118
|
-
*
|
|
119
|
-
* @param {string} parentKey Chiave del parent di cui collassare i figli
|
|
120
|
-
*/
|
|
121
|
-
collapseChildOfParent(parentKey) {
|
|
122
|
-
for (let ic = 0; ic < this.est.boundSource.length; ic++) {
|
|
123
|
-
let child = this.est.boundSource[ic];
|
|
124
|
-
// Trovo tutti i child di quel parent e li rendo invisibili. Se il child trovato è a sua volta un parent,
|
|
125
|
-
// lo collasso e vado in ricorsione sui figli
|
|
126
|
-
if (child[this.est.ParentKey] == parentKey && !child.parent)
|
|
127
|
-
child._visible = false;
|
|
128
|
-
else if (child[this.est.ParentKey] == parentKey && child.parent) {
|
|
129
|
-
child._expanded = false;
|
|
130
|
-
child._visible = false;
|
|
131
|
-
this.collapseChildOfParent(child[this.est.OwnKey]);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGllcmFyY2h5TW9kZUhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy10YWJsZS9zcmMvbGliL2NvcmUvaGFuZGxlcnMvSGllcmFyY2h5TW9kZUhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsOERBQThEO0FBQzlELE1BQU0sT0FBTyxvQkFBb0I7SUFFN0IseUJBQXlCO0lBQ3pCLFlBQW9CLEdBQXFCO1FBQXJCLFFBQUcsR0FBSCxHQUFHLENBQWtCO0lBQUksQ0FBQztJQUU5Qzs7OztPQUlHO0lBQ0kscUJBQXFCLENBQUMsSUFBVztRQUNwQyx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ3JCLE9BQU87UUFFWCw0SUFBNEk7UUFDNUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxTQUFTO2dCQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7WUFDcEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUztnQkFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUM7UUFFRCxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLHlJQUF5SSxDQUFDLENBQUM7WUFDekosT0FBTztRQUNYLENBQUM7UUFFRCxnRUFBZ0U7UUFDaEUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixHQUFHLENBQUM7WUFDQSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDaEQsWUFBWSxFQUFFLENBQUM7UUFDbkIsQ0FBQyxRQUFRLFFBQVEsR0FBRyxDQUFDLEVBQUU7UUFDdkIsMkdBQTJHO0lBQy9HLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssV0FBVyxDQUFDLElBQVcsRUFBRSxhQUFxQjtRQUNsRCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbEIsOEZBQThGO1lBQzlGLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNmLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO2dCQUN4QyxRQUFRLEVBQUUsQ0FBQztnQkFDWCxTQUFTO1lBQ2IsQ0FBQztZQUVELG1DQUFtQztZQUNuQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLGFBQWEsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDL0Msa0JBQWtCO2dCQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNuQyxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBRTdCLGtFQUFrRTtvQkFDbEUsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxjQUFjLENBQUMsTUFBTSxJQUFJLGFBQWEsR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDM0csR0FBRyxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUM7d0JBRTNCLCtHQUErRzt3QkFDL0csK0JBQStCO3dCQUMvQixjQUFjLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO3dCQUNuRCxjQUFjLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzt3QkFDN0IsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQzt3QkFDdkMsUUFBUSxFQUFFLENBQUM7d0JBQ1gsTUFBTTtvQkFDVixDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLEdBQVc7UUFDM0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25ELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxDLDRDQUE0QztZQUM1QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUM5QixHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFFckIsS0FBSyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO29CQUN0RCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFFckMseURBQXlEO29CQUN6RCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUc7d0JBQ2hDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUM5QixDQUFDO2dCQUNELE9BQU87WUFDWCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLEdBQVc7UUFDN0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25ELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxDLDZDQUE2QztZQUM3QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUM5QixHQUFHLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFFdEIsNkNBQTZDO2dCQUM3QyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hDLE9BQU87WUFDWCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0sscUJBQXFCLENBQUMsU0FBaUI7UUFDM0MsS0FBSyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3RELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXJDLHlHQUF5RztZQUN6Ryw2Q0FBNkM7WUFDN0MsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDdkQsS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7aUJBQ3RCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDOUQsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9lcy10YWJsZS9lc190YWJsZS5jb21wb25lbnRcIlxyXG5cclxuLyoqIENsYXNzZSBjb250ZW5lbnRlIGxhIGdlc3Rpb25lIGRlbGxhIG1vZGFsaXTDoCBnZXJhcmNoaWNhICovXHJcbmV4cG9ydCBjbGFzcyBIaWVyYXJjaHlNb2RlSGFuZGxlciB7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgQ29zdHJ1dHRvcmUqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlc3Q6IEVzVGFibGVDb21wb25lbnQpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGF0YSB1bmEgbGlzdGEgZGkgb2dnZXR0aSBhc3NlZ25vIGlsIGxpdmVsbG8gZ2VyYXJjaGljbyByaXNwZXR0byBhbGxhIGxpc3RhIGRpIG9nZ2V0dGkgcGFzc2F0YVxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7YW55W119IG9ianMgTGlzdGEgZGkgb2dnZXR0aSBhIGN1aSBhZ2dpdW5nZXJlIGwnaW5mb3JtYXppb25lIGRlbCBsaXZlbGxvIGdlcmFyY2hpY29cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzc2lnbkhpZXJhcmNoeUxldmVscyhvYmpzOiBhbnlbXSkge1xyXG4gICAgICAgIC8vIENhc2lzdGljYSBpbnB1dCBudWxsb1xyXG4gICAgICAgIGlmICghb2JqcyB8fCAhb2Jqcy5sZW5ndGgpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgLy9TZSBtYW5jYW5vIGVudHJhbWJlIGxlIGluZm8gbGUgY2VyY28gZGkgdmFsb3JpenphcmUgaW4gYXV0b21hdGljbyBjb2kgZGVmYXVsdCBcInBhcmVudGlkXCIgZSBcImlkXCIgKHBvc3RvIGNoZSBsZSBwcm9wcyBlc2lzdGFubyBuZWxsJ29nZ2V0dG8pXHJcbiAgICAgICAgaWYgKCF0aGlzLmVzdC5QYXJlbnRLZXkgJiYgIXRoaXMuZXN0Lk93bktleSkge1xyXG4gICAgICAgICAgICBpZiAob2Jqc1swXVsncGFyZW50aWQnXSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5lc3QuUGFyZW50S2V5ID0gJ3BhcmVudGlkJztcclxuICAgICAgICAgICAgaWYgKG9ianNbMF1bJ2lkJ10gIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgICAgIHRoaXMuZXN0Lk93bktleSA9ICdpZCc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL0NoZWNrIGZpbmFsZSBwZXIgYXNzaWN1cmFybWkgY2hlIGxlIHByb3BzIGNpIHNpYW5vXHJcbiAgICAgICAgaWYgKCF0aGlzLmVzdC5QYXJlbnRLZXkgfHwgIXRoaXMuZXN0Lk93bktleSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdQZXIgdXRpbGl6emFyZSBpbCBzaXN0ZW1hIGluIG1vZGFsaXTDoCBnZXJhcmNoaWNhIMOoIG9iYmxpZ2F0b3JpbyBzcGVjaWZpY2FyZSBzaWEgUGFyZW50S2V5IGNoZSBPd25LZXkuIEZhbGxiYWNrIGEgc2lzdGVtYSBub24gZ2VyYXJjaGljbycpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBWYWxvcml6emF6aW9uZSBjYW1waSBsZXZlbCwgZXhwYW5kZWQsIGUgdmlzaWJsZSBwZXIgb2duaSBpdGVtXHJcbiAgICAgICAgbGV0IGN1cnJlbnRMZXZlbCA9IDE7XHJcbiAgICAgICAgbGV0IGFzc2lnbmVkID0gMDtcclxuICAgICAgICBkbyB7XHJcbiAgICAgICAgICAgIGFzc2lnbmVkID0gdGhpcy5hc3NpZ25MZXZlbChvYmpzLCBjdXJyZW50TGV2ZWwpO1xyXG4gICAgICAgICAgICBjdXJyZW50TGV2ZWwrKztcclxuICAgICAgICB9IHdoaWxlIChhc3NpZ25lZCA+IDApO1xyXG4gICAgICAgIC8vIGJ1dHRvIHN1IGxhdG8gaHRtbCBlIHBvaSBtZSBsYSBnaW9jbyBsw6AgY29uIHBhZGRpbmcgPSAyMCAqIChsZXZlbCAtIDEpIHBlciBmYXIgY2FwaXJlIGlsIGRpdmVyc28gbGl2ZWxsb1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVyIG9nbnVubyBkZWdsaSBvZ2dldHRpIHBhc3NhdGkgZ2xpIGFzc2VnbmEgdW4gbGl2ZWxsbyBkaSBnZXJhcmNoaWEgaW4gYmFzZSBhICoqUGFyZW50S2V5KiogZSAqKk93bktleSoqXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHthbnlbXX0gb2JqcyBPZ2dldHRpIGEgY3VpIGFzc2VnbmFyZSBpbCBsaXZlbGxvIGRpIGdlcmFyY2hpYVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGxldmVsVG9Bc3NpZ24gTGl2ZWxsbyBjaGUgc3RhIGFzc2VnbmFuZG8gYXR0dWFsbWVudGUgcXVlc3RhIGl0ZXJhemlvbmUgKGRhdG8gY2hlIMOoIHJpY29yc2l2YSlcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBOdW1lcm8gZGkgb2dnZXR0aSBhIGN1aSDDqCBzdGF0byBhc3NlZ25hdG8gdW4gbGl2ZWxsbyBnZXJhcmNoaWNvXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYXNzaWduTGV2ZWwob2JqczogYW55W10sIGxldmVsVG9Bc3NpZ246IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAgICAgbGV0IGFzc2lnbmVkID0gMDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9ianMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IG9iaiA9IG9ianNbaV07XHJcblxyXG4gICAgICAgICAgICAvLyBTZSBsYSBwYXJlbnRLZXkgbm9uIMOoIHZhbG9yaXp6YXRhLCBxdWVzdG8gw6ggaWwgbGl2ZWxsbyAwICgxLi4uIHBlcmNow6kgZ2xpIDAgc29uIHBlcmNpb2xvc2kpXHJcbiAgICAgICAgICAgIGlmICghb2JqW3RoaXMuZXN0LlBhcmVudEtleV0gJiYgbGV2ZWxUb0Fzc2lnbiA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgICBvYmouX2xldmVsID0gMTtcclxuICAgICAgICAgICAgICAgIG9iai5fdmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBvYmouX2V4cGFuZGVkID0gdGhpcy5lc3QuU3RhcnRzRXhwYW5kZWQ7XHJcbiAgICAgICAgICAgICAgICBhc3NpZ25lZCsrO1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIFBlciBpIGxpdmVsbGkgc3VwZXJpb3JlIGFsIHByaW1vXHJcbiAgICAgICAgICAgIGlmIChvYmpbdGhpcy5lc3QuUGFyZW50S2V5XSAmJiBsZXZlbFRvQXNzaWduID4gMSkge1xyXG4gICAgICAgICAgICAgICAgLy8gdHJvdm8gaWwgcGFyZW50XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBwID0gMDsgcCA8IG9ianMubGVuZ3RoOyBwKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcG9zc2libGVQYXJlbnQgPSBvYmpzW3BdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBUcm92YXRvIGlsIHBhcmVudCBkZWxsJ2l0ZW0sIGFzc2Vnbm8gYWxsJ2l0ZW0gaWwgbGl2ZWxsbyBnaXVzdG9cclxuICAgICAgICAgICAgICAgICAgICBpZiAocG9zc2libGVQYXJlbnRbdGhpcy5lc3QuT3duS2V5XSA9PSBvYmpbdGhpcy5lc3QuUGFyZW50S2V5XSAmJiBwb3NzaWJsZVBhcmVudC5fbGV2ZWwgPT0gbGV2ZWxUb0Fzc2lnbiAtIDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JqLl9sZXZlbCA9IGxldmVsVG9Bc3NpZ247XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTbyBjaGUgcXVlc3RvIGl0ZW0gaGEgdW4gcGFyZW50LiBSaWJhZGlzY28gY2hlIGlsIHBhcmVudCDDqCBlc3BhbnNvIGluIGJhc2UgYWxsZSBpbXBvc3RhemlvbmUgZSBzdGVzc2EgbG9naWNhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBlciBsYSB2aXNpYmlsaXTDoCBkZWwgZmlnbGlvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmxlUGFyZW50Ll9leHBhbmRlZCA9IHRoaXMuZXN0LlN0YXJ0c0V4cGFuZGVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NzaWJsZVBhcmVudC5wYXJlbnQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmouX3Zpc2libGUgPSB0aGlzLmVzdC5TdGFydHNFeHBhbmRlZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXNzaWduZWQrKztcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhc3NpZ25lZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bnppb25lIGNoZSBwZXJtZXR0ZSBkaSBlZmZldHR1YXJlIGwnZXNwYW5zaW9uZSBkaSB1biBwYXJlbnQgcXVhbmRvIGxhIHRhYmVsbGEgZnVuemlvbmEgaW4gbW9kYWxpdMOgIGdlcmFyY2hpY2FcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IENoaWF2ZSBkZWwgcGFyZW50IGRhIGVzcGFuZGVyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZXhwYW5kUGFyZW50KGtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmVzdC5ib3VuZFNvdXJjZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgb2JqID0gdGhpcy5lc3QuYm91bmRTb3VyY2VbaV07XHJcblxyXG4gICAgICAgICAgICAvLyBUcm92byBpbCBwYXJlbnQgY29uIHF1ZWxsJ2lkIGUgbG8gZXNwYW5kb1xyXG4gICAgICAgICAgICBpZiAob2JqW3RoaXMuZXN0Lk93bktleV0gPT0ga2V5KSB7XHJcbiAgICAgICAgICAgICAgICBvYmouX2V4cGFuZGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpYyA9IDA7IGljIDwgdGhpcy5lc3QuYm91bmRTb3VyY2UubGVuZ3RoOyBpYysrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNoaWxkID0gdGhpcy5lc3QuYm91bmRTb3VyY2VbaWNdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBUcm92byB0dXR0aSBpIGNoaWxkIGRpIHF1ZWwgcGFyZW50IGUgbGkgcmVuZG8gdmlzaWJpbGlcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGRbdGhpcy5lc3QuUGFyZW50S2V5XSA9PSBrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLl92aXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bnppb25lIGNoZSBwZXJtZXR0ZSBkaSBlZmZldHR1YXJlIGlsIGNvbGxhcHNlIGRpIHVuIHBhcmVudCBxdWFuZG8gbGEgdGFiZWxsYSBmdW56aW9uYSBpbiBtb2RhbGl0w6AgZ2VyYXJjaGljYVxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgQ2hpYXZlIGRlbCBwYXJlbnQgZGEgY29sbGFzc2FyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29sbGFwc2VQYXJlbnQoa2V5OiBzdHJpbmcpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZXN0LmJvdW5kU291cmNlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBvYmogPSB0aGlzLmVzdC5ib3VuZFNvdXJjZVtpXTtcclxuXHJcbiAgICAgICAgICAgIC8vIFRyb3ZvIGlsIHBhcmVudCBjb24gcXVlbGwnaWQgZSBsbyBjb2xsYXNzb1xyXG4gICAgICAgICAgICBpZiAob2JqW3RoaXMuZXN0Lk93bktleV0gPT0ga2V5KSB7XHJcbiAgICAgICAgICAgICAgICBvYmouX2V4cGFuZGVkID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ29sbGFzc28vbmFzY29uZG8gdHV0dGkgaSBjaGlsZCBkZWwgcGFyZW50XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlQ2hpbGRPZlBhcmVudChrZXkpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29sbGFzc2Egcmljb3JzaXZhbWVudGUgdHV0dGkgaSBmaWdsaSBkaSB1biBwYXJlbnQgaWRlbnRpZmljYXRvIGRhbGxhICoqcGFyZW50S2V5KipcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyZW50S2V5IENoaWF2ZSBkZWwgcGFyZW50IGRpIGN1aSBjb2xsYXNzYXJlIGkgZmlnbGlcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBjb2xsYXBzZUNoaWxkT2ZQYXJlbnQocGFyZW50S2V5OiBzdHJpbmcpIHtcclxuICAgICAgICBmb3IgKGxldCBpYyA9IDA7IGljIDwgdGhpcy5lc3QuYm91bmRTb3VyY2UubGVuZ3RoOyBpYysrKSB7XHJcbiAgICAgICAgICAgIGxldCBjaGlsZCA9IHRoaXMuZXN0LmJvdW5kU291cmNlW2ljXTtcclxuXHJcbiAgICAgICAgICAgIC8vIFRyb3ZvIHR1dHRpIGkgY2hpbGQgZGkgcXVlbCBwYXJlbnQgZSBsaSByZW5kbyBpbnZpc2liaWxpLiBTZSBpbCBjaGlsZCB0cm92YXRvIMOoIGEgc3VhIHZvbHRhIHVuIHBhcmVudCxcclxuICAgICAgICAgICAgLy8gbG8gY29sbGFzc28gZSB2YWRvIGluIHJpY29yc2lvbmUgc3VpIGZpZ2xpXHJcbiAgICAgICAgICAgIGlmIChjaGlsZFt0aGlzLmVzdC5QYXJlbnRLZXldID09IHBhcmVudEtleSAmJiAhY2hpbGQucGFyZW50KVxyXG4gICAgICAgICAgICAgICAgY2hpbGQuX3Zpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgZWxzZSBpZiAoY2hpbGRbdGhpcy5lc3QuUGFyZW50S2V5XSA9PSBwYXJlbnRLZXkgJiYgY2hpbGQucGFyZW50KSB7XHJcbiAgICAgICAgICAgICAgICBjaGlsZC5fZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGNoaWxkLl92aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlQ2hpbGRPZlBhcmVudChjaGlsZFt0aGlzLmVzdC5Pd25LZXldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
// Modelli
|
|
2
|
-
import { AppSearch } from "../../domain/externals/appsearch/AppSearch";
|
|
3
|
-
/** Classe che si occupa della gestione del recupero degli oggetti, paginazione e tutto ciò in cui gli elementi caricati vengono manipolati direttamente */
|
|
4
|
-
export class ItemsHandler {
|
|
5
|
-
/** @ignore Costruttore */
|
|
6
|
-
constructor(est, utilities) {
|
|
7
|
-
this.est = est;
|
|
8
|
-
this.utilities = utilities;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* In base alla modalità specificata (ArrayMode, ViewMode, ecc...) questo metodo recupera l'array di oggetti da bindare ad interfaccia
|
|
12
|
-
*
|
|
13
|
-
* @param {boolean} onlyselected [false] Indica di prendere solo gli oggetti selezionati
|
|
14
|
-
* @param {boolean} refreshPaging [false] Indica se aggiornare le informazioni di paginazione o meno
|
|
15
|
-
* @param {boolean} allIfPossible [false] Indica se prendere tutti gli oggetti quaora possibile, usato solo in ArrayMode
|
|
16
|
-
*
|
|
17
|
-
* @returns {any[]} Lista degli oggetti su cui effettuare il bind lato interfaccia
|
|
18
|
-
*/
|
|
19
|
-
getItemsByMode(onlyselected = false, refreshPaging = false, allIfPossible = false) {
|
|
20
|
-
let items = [];
|
|
21
|
-
if ((this.est.viewMode && this.est.View instanceof AppSearch)) {
|
|
22
|
-
items = this.getViewItemsBySource();
|
|
23
|
-
}
|
|
24
|
-
else if (this.est.arrayMode) {
|
|
25
|
-
this.est.View.forEach(itm => { itm._item = true; });
|
|
26
|
-
// Se faccio dei raggruppamenti ignoro la paginazione
|
|
27
|
-
if (this.est.UseArrayModePaging && !allIfPossible) {
|
|
28
|
-
// Se sono in modalità array ma la ricerca dipende da una view devo riallineare gli itemperpage
|
|
29
|
-
if (this.est.SearchView) {
|
|
30
|
-
this.est.ArraymodeItemsPerPage = this.est.SearchView.itemsperpageoverride;
|
|
31
|
-
this.est.arraymodePage = this.est.SearchView.page;
|
|
32
|
-
this.est.arraymodePages = this.est.SearchView.pages;
|
|
33
|
-
}
|
|
34
|
-
// Devo chiamare il refresh page solo se vengo richiamato da un binding esterno
|
|
35
|
-
else if (refreshPaging)
|
|
36
|
-
this.refreshPaging(this.est.ArraymodeItemsPerPage);
|
|
37
|
-
items = this.adaptViewToPaging();
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
items = this.est.View;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// Se voglio solo i selezionati filtro
|
|
44
|
-
if (onlyselected)
|
|
45
|
-
return items.filter(t => t._selected);
|
|
46
|
-
return items;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Metodo per effettuare il refresh della paginazione sul cambiamento degli oggetti da visualizzare in una singola pagina.
|
|
50
|
-
*
|
|
51
|
-
* Vale solo per la modalità Array
|
|
52
|
-
*
|
|
53
|
-
* @param {number} pageSize Dimensione della pagina
|
|
54
|
-
*/
|
|
55
|
-
refreshPaging(pageSize) {
|
|
56
|
-
this.est.ArraymodeItemsPerPage = pageSize;
|
|
57
|
-
this.est.arraymodePages = Math.ceil(this.est.View.length / this.est.ArraymodeItemsPerPage);
|
|
58
|
-
this.est.arraymodePage = 1;
|
|
59
|
-
// Riforzo il writevalue in modo che il codice passi dalla gestione come se fosse fatta ripartire una ricerca
|
|
60
|
-
this.est.internalWriteValue();
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Ottiene gli oggetti in base alla sorgente
|
|
64
|
-
*/
|
|
65
|
-
getViewItemsBySource() {
|
|
66
|
-
let castedView = this.est.View;
|
|
67
|
-
let groupKeys = castedView.groupings ? castedView.groupings.filter(t => !t.aggregation).length : 0;
|
|
68
|
-
//Gruppi intermedi
|
|
69
|
-
if ((castedView.requestedgroups?.length != groupKeys || castedView.requestedgroups?.length == 0) && groupKeys > 0) {
|
|
70
|
-
let ret = castedView.groups;
|
|
71
|
-
ret.forEach(itm => {
|
|
72
|
-
// Setto variabile interna per capire che questo è in realtà un gruppo
|
|
73
|
-
itm._group = true;
|
|
74
|
-
// Le informazioni passate come lista le metto dentro a una cache per velocizzarne l'accesso quando devo tirare fuori il display della proprietà
|
|
75
|
-
this.utilities.cacheAggregations(itm);
|
|
76
|
-
});
|
|
77
|
-
return ret;
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
let ret = this.est.ItemSourceProperty ? this.est.View[this.est.ItemSourceProperty] : this.est.View.items;
|
|
81
|
-
if (!ret)
|
|
82
|
-
ret = [];
|
|
83
|
-
// Setto variabile interna per specificare che questo è un elemento normale, non un gruppo o altro
|
|
84
|
-
ret.forEach(itm => { itm._item = true; });
|
|
85
|
-
return ret;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
/** Genera le informazioni di paginazione e taglia la View in modalità array per mostrare solo gli oggetti della pagina specificata */
|
|
89
|
-
adaptViewToPaging() {
|
|
90
|
-
let tmpItems = [];
|
|
91
|
-
// Se ho una search view l'array pulsanti viene calcolato da lei, non devo prendere quello della modalità array,
|
|
92
|
-
// inoltre non ho bisogno di fare ragionamenti su quanti elementi ci sono e sulla pagina, dato che viene tutto gestito esternamente,
|
|
93
|
-
// unendo al risultato della view tutti gli oggetti addizionali
|
|
94
|
-
if (!this.est.SearchView)
|
|
95
|
-
this.est.arrayPulsanti = this.utilities.getPagesArray(6, this.est.arraymodePage, this.est.arraymodePages);
|
|
96
|
-
else
|
|
97
|
-
return this.est.View;
|
|
98
|
-
// Applico eventuali oridnamenti lato Array prima di tirare fuori la pagina selezionata
|
|
99
|
-
let items = this.est.View;
|
|
100
|
-
if (this.est)
|
|
101
|
-
items = this.arrayModeReviewOrderings(items);
|
|
102
|
-
// Poi per tutti i valori dopo compresi fra la pagina - 1 e la pagina
|
|
103
|
-
for (let i = ((this.est.arraymodePage - 1) * this.est.ArraymodeItemsPerPage); i < this.est.arraymodePage * this.est.ArraymodeItemsPerPage; i++) {
|
|
104
|
-
if (i <= items.length - 1)
|
|
105
|
-
tmpItems.push(items[i]);
|
|
106
|
-
}
|
|
107
|
-
return tmpItems;
|
|
108
|
-
}
|
|
109
|
-
/** Se in modalità array applica gli ordinamenti ASC-DESC delle colonne */
|
|
110
|
-
arrayModeReviewOrderings(items) {
|
|
111
|
-
let tmp = items;
|
|
112
|
-
if (this.est.arrayOrders.length > 0)
|
|
113
|
-
this.est.arrayOrders.forEach(t => {
|
|
114
|
-
tmp = tmp.sort((a, b) => (a[t.id] > b[t.id] ? 1 : -1) * (t.order == 'DESC' ? -1 : 1));
|
|
115
|
-
});
|
|
116
|
-
return tmp;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXRlbXNIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb3JlL2hhbmRsZXJzL0l0ZW1zSGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBS3ZFLDJKQUEySjtBQUMzSixNQUFNLE9BQU8sWUFBWTtJQUVyQiwwQkFBMEI7SUFDMUIsWUFBb0IsR0FBcUIsRUFBVSxTQUEyQjtRQUExRCxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQUksQ0FBQztJQUVuRjs7Ozs7Ozs7T0FRRztJQUNJLGNBQWMsQ0FBQyxlQUF3QixLQUFLLEVBQUUsZ0JBQXlCLEtBQUssRUFBRSxnQkFBeUIsS0FBSztRQUMvRyxJQUFJLEtBQUssR0FBVSxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxZQUFZLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDNUQsS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3hDLENBQUM7YUFDSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwRCxxREFBcUQ7WUFDckQsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBRWhELCtGQUErRjtnQkFDL0YsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFVB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LFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRCwwRUFBMEU7SUFDbkUsd0JBQXdCLENBQUMsS0FBWTtRQUN4QyxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzdCLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRixDQUFDLENBQUMsQ0FBQztRQUNQLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29tcG9uZW50aVxyXG5pbXBvcnQgeyBFc1RhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvZXMtdGFibGUvZXNfdGFibGUuY29tcG9uZW50XCJcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgQXBwU2VhcmNoIH0gZnJvbSBcIi4uLy4uL2RvbWFpbi9leHRlcm5hbHMvYXBwc2VhcmNoL0FwcFNlYXJjaFwiO1xyXG5cclxuLy8gVXRpbGl0aWVzXHJcbmltcG9ydCB7IFV0aWxpdGllc0hhbmRsZXIgfSBmcm9tIFwiLi9VdGlsaXRpZXNIYW5kbGVyXCI7XHJcblxyXG4vKiogQ2xhc3NlIGNoZSBzaSBvY2N1cGEgZGVsbGEgZ2VzdGlvbmUgZGVsIHJlY3VwZXJvIGRlZ2xpIG9nZ2V0dGksIHBhZ2luYXppb25lIGUgdHV0dG8gY2nDsiBpbiBjdWkgZ2xpIGVsZW1lbnRpIGNhcmljYXRpIHZlbmdvbm8gbWFuaXBvbGF0aSBkaXJldHRhbWVudGUgKi9cclxuZXhwb3J0IGNsYXNzIEl0ZW1zSGFuZGxlciB7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgQ29zdHJ1dHRvcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXN0OiBFc1RhYmxlQ29tcG9uZW50LCBwcml2YXRlIHV0aWxpdGllczogVXRpbGl0aWVzSGFuZGxlcikgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbiBiYXNlIGFsbGEgbW9kYWxpdMOgIHNwZWNpZmljYXRhIChBcnJheU1vZGUsIFZpZXdNb2RlLCBlY2MuLi4pIHF1ZXN0byBtZXRvZG8gcmVjdXBlcmEgbCdhcnJheSBkaSBvZ2dldHRpIGRhIGJpbmRhcmUgYWQgaW50ZXJmYWNjaWFcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9ubHlzZWxlY3RlZCBbZmFsc2VdIEluZGljYSBkaSBwcmVuZGVyZSBzb2xvIGdsaSBvZ2dldHRpIHNlbGV6aW9uYXRpXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJlZnJlc2hQYWdpbmcgW2ZhbHNlXSBJbmRpY2Egc2UgYWdnaW9ybmFyZSBsZSBpbmZvcm1hemlvbmkgZGkgcGFnaW5hemlvbmUgbyBtZW5vXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGFsbElmUG9zc2libGUgW2ZhbHNlXSBJbmRpY2Egc2UgcHJlbmRlcmUgdHV0dGkgZ2xpIG9nZ2V0dGkgcXVhb3JhIHBvc3NpYmlsZSwgdXNhdG8gc29sbyBpbiBBcnJheU1vZGVcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7YW55W119IExpc3RhIGRlZ2xpIG9nZ2V0dGkgc3UgY3VpIGVmZmV0dHVhcmUgaWwgYmluZCBsYXRvIGludGVyZmFjY2lhXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRJdGVtc0J5TW9kZShvbmx5c2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZSwgcmVmcmVzaFBhZ2luZzogYm9vbGVhbiA9IGZhbHNlLCBhbGxJZlBvc3NpYmxlOiBib29sZWFuID0gZmFsc2UpOiBhbnlbXSB7XHJcbiAgICAgICAgbGV0IGl0ZW1zOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAoKHRoaXMuZXN0LnZpZXdNb2RlICYmIHRoaXMuZXN0LlZpZXcgaW5zdGFuY2VvZiBBcHBTZWFyY2gpKSB7XHJcbiAgICAgICAgICAgIGl0ZW1zID0gdGhpcy5nZXRWaWV3SXRlbXNCeVNvdXJjZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLmVzdC5hcnJheU1vZGUpIHtcclxuICAgICAgICAgICAgdGhpcy5lc3QuVmlldy5mb3JFYWNoKGl0bSA9PiB7IGl0bS5faXRlbSA9IHRydWU7IH0pO1xyXG5cclxuICAgICAgICAgICAgLy8gU2UgZmFjY2lvIGRlaSByYWdncnVwcGFtZW50aSBpZ25vcm8gbGEgcGFnaW5hemlvbmVcclxuICAgICAgICAgICAgaWYgKHRoaXMuZXN0LlVzZUFycmF5TW9kZVBhZ2luZyAmJiAhYWxsSWZQb3NzaWJsZSkge1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIFNlIHNvbm8gaW4gbW9kYWxpdMOgIGFycmF5IG1hIGxhIHJpY2VyY2EgZGlwZW5kZSBkYSB1bmEgdmlldyBkZXZvIHJpYWxsaW5lYXJlIGdsaSBpdGVtcGVycGFnZVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXN0LlNlYXJjaFZpZXcpXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lc3QuQXJyYXltb2RlSXRlbXNQZXJQYWdlID0gdGhpcy5lc3QuU2VhcmNoVmlldy5pdGVtc3BlcnBhZ2VvdmVycmlkZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVzdC5hcnJheW1vZGVQYWdlID0gdGhpcy5lc3QuU2VhcmNoVmlldy5wYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXN0LmFycmF5bW9kZVBhZ2VzID0gdGhpcy5lc3QuU2VhcmNoVmlldy5wYWdlcztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIERldm8gY2hpYW1hcmUgaWwgcmVmcmVzaCBwYWdlIHNvbG8gc2UgdmVuZ28gcmljaGlhbWF0byBkYSB1biBiaW5kaW5nIGVzdGVybm9cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZnJlc2hQYWdpbmcpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoUGFnaW5nKHRoaXMuZXN0LkFycmF5bW9kZUl0ZW1zUGVyUGFnZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaXRlbXMgPSB0aGlzLmFkYXB0Vmlld1RvUGFnaW5nKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtcyA9IHRoaXMuZXN0LlZpZXcgYXMgYW55W107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFNlIHZvZ2xpbyBzb2xvIGkgc2VsZXppb25hdGkgZmlsdHJvXHJcbiAgICAgICAgaWYgKG9ubHlzZWxlY3RlZClcclxuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcih0ID0+IHQuX3NlbGVjdGVkKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0b2RvIHBlciBlZmZldHR1YXJlIGlsIHJlZnJlc2ggZGVsbGEgcGFnaW5hemlvbmUgc3VsIGNhbWJpYW1lbnRvIGRlZ2xpIG9nZ2V0dGkgZGEgdmlzdWFsaXp6YXJlIGluIHVuYSBzaW5nb2xhIHBhZ2luYS5cclxuICAgICAqXHJcbiAgICAgKiBWYWxlIHNvbG8gcGVyIGxhIG1vZGFsaXTDoCBBcnJheVxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBwYWdlU2l6ZSBEaW1lbnNpb25lIGRlbGxhIHBhZ2luYVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVmcmVzaFBhZ2luZyhwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5lc3QuQXJyYXltb2RlSXRlbXNQZXJQYWdlID0gcGFnZVNpemU7XHJcbiAgICAgICAgdGhpcy5lc3QuYXJyYXltb2RlUGFnZXMgPSBNYXRoLmNlaWwoKHRoaXMuZXN0LlZpZXcgYXMgYW55W10pLmxlbmd0aCAvIHRoaXMuZXN0LkFycmF5bW9kZUl0ZW1zUGVyUGFnZSk7XHJcbiAgICAgICAgdGhpcy5lc3QuYXJyYXltb2RlUGFnZSA9IDE7XHJcblxyXG4gICAgICAgIC8vIFJpZm9yem8gaWwgd3JpdGV2YWx1ZSBpbiBtb2RvIGNoZSBpbCBjb2RpY2UgcGFzc2kgZGFsbGEgZ2VzdGlvbmUgY29tZSBzZSBmb3NzZSBmYXR0YSByaXBhcnRpcmUgdW5hIHJpY2VyY2FcclxuICAgICAgICB0aGlzLmVzdC5pbnRlcm5hbFdyaXRlVmFsdWUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgZ2xpIG9nZ2V0dGkgaW4gYmFzZSBhbGxhIHNvcmdlbnRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0Vmlld0l0ZW1zQnlTb3VyY2UoKTogYW55W10ge1xyXG4gICAgICAgIGxldCBjYXN0ZWRWaWV3ID0gdGhpcy5lc3QuVmlldyBhcyBBcHBTZWFyY2g8YW55PjtcclxuICAgICAgICBsZXQgZ3JvdXBLZXlzID0gY2FzdGVkVmlldy5ncm91cGluZ3MgPyBjYXN0ZWRWaWV3Lmdyb3VwaW5ncy5maWx0ZXIodCA9PiAhdC5hZ2dyZWdhdGlvbikubGVuZ3RoIDogMDtcclxuXHJcbiAgICAgICAgLy9HcnVwcGkgaW50ZXJtZWRpXHJcbiAgICAgICAgaWYgKChjYXN0ZWRWaWV3LnJlcXVlc3RlZGdyb3Vwcz8ubGVuZ3RoICE9IGdyb3VwS2V5cyB8fCBjYXN0ZWRWaWV3LnJlcXVlc3RlZGdyb3Vwcz8ubGVuZ3RoID09IDApICYmIGdyb3VwS2V5cyA+IDApIHtcclxuICAgICAgICAgICAgbGV0IHJldCA9IGNhc3RlZFZpZXcuZ3JvdXBzO1xyXG4gICAgICAgICAgICByZXQuZm9yRWFjaChpdG0gPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIFNldHRvIHZhcmlhYmlsZSBpbnRlcm5hIHBlciBjYXBpcmUgY2hlIHF1ZXN0byDDqCBpbiByZWFsdMOgIHVuIGdydXBwb1xyXG4gICAgICAgICAgICAgICAgKDxhbnk+aXRtKS5fZ3JvdXAgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIExlIGluZm9ybWF6aW9uaSBwYXNzYXRlIGNvbWUgbGlzdGEgbGUgbWV0dG8gZGVudHJvIGEgdW5hIGNhY2hlIHBlciB2ZWxvY2l6emFybmUgbCdhY2Nlc3NvIHF1YW5kbyBkZXZvIHRpcmFyZSBmdW9yaSBpbCBkaXNwbGF5IGRlbGxhIHByb3ByaWV0w6BcclxuICAgICAgICAgICAgICAgIHRoaXMudXRpbGl0aWVzLmNhY2hlQWdncmVnYXRpb25zKGl0bSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IHJldCA9IHRoaXMuZXN0Lkl0ZW1Tb3VyY2VQcm9wZXJ0eSA/ICh0aGlzLmVzdC5WaWV3IGFzIGFueSlbdGhpcy5lc3QuSXRlbVNvdXJjZVByb3BlcnR5XSA6ICh0aGlzLmVzdC5WaWV3IGFzIGFueSkuaXRlbXM7XHJcbiAgICAgICAgICAgIGlmICghcmV0KSByZXQgPSBbXTtcclxuICAgICAgICAgICAgLy8gU2V0dG8gdmFyaWFiaWxlIGludGVybmEgcGVyIHNwZWNpZmljYXJlIGNoZSBxdWVzdG8gw6ggdW4gZWxlbWVudG8gbm9ybWFsZSwgbm9uIHVuIGdydXBwbyBvIGFsdHJvXHJcbiAgICAgICAgICAgIHJldC5mb3JFYWNoKGl0bSA9PiB7ICg8YW55Pml0bSkuX2l0ZW0gPSB0cnVlOyB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIHJldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEdlbmVyYSBsZSBpbmZvcm1hemlvbmkgZGkgcGFnaW5hemlvbmUgZSB0YWdsaWEgbGEgVmlldyBpbiBtb2RhbGl0w6AgYXJyYXkgcGVyIG1vc3RyYXJlIHNvbG8gZ2xpIG9nZ2V0dGkgZGVsbGEgcGFnaW5hIHNwZWNpZmljYXRhICovXHJcbiAgICBwcml2YXRlIGFkYXB0Vmlld1RvUGFnaW5nKCkge1xyXG4gICAgICAgIGxldCB0bXBJdGVtczogYW55W10gPSBbXTtcclxuXHJcbiAgICAgICAgLy8gU2UgaG8gdW5hIHNlYXJjaCB2aWV3IGwnYXJyYXkgcHVsc2FudGkgdmllbmUgY2FsY29sYXRvIGRhIGxlaSwgbm9uIGRldm8gcHJlbmRlcmUgcXVlbGxvIGRlbGxhIG1vZGFsaXTDoCBhcnJheSxcclxuICAgICAgICAvLyBpbm9sdHJlIG5vbiBobyBiaXNvZ25vIGRpIGZhcmUgcmFnaW9uYW1lbnRpIHN1IHF1YW50aSBlbGVtZW50aSBjaSBzb25vIGUgc3VsbGEgcGFnaW5hLCBkYXRvIGNoZSB2aWVuZSB0dXR0byBnZXN0aXRvIGVzdGVybmFtZW50ZSwgXHJcbiAgICAgICAgLy8gdW5lbmRvIGFsIHJpc3VsdGF0byBkZWxsYSB2aWV3IHR1dHRpIGdsaSBvZ2dldHRpIGFkZGl6aW9uYWxpXHJcbiAgICAgICAgaWYgKCF0aGlzLmVzdC5TZWFyY2hWaWV3KVxyXG4gICAgICAgICAgICB0aGlzLmVzdC5hcnJheVB1bHNhbnRpID0gdGhpcy51dGlsaXRpZXMuZ2V0UGFnZXNBcnJheSg2LCB0aGlzLmVzdC5hcnJheW1vZGVQYWdlLCB0aGlzLmVzdC5hcnJheW1vZGVQYWdlcyk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lc3QuVmlldyBhcyBhbnlbXTtcclxuXHJcbiAgICAgICAgLy8gQXBwbGljbyBldmVudHVhbGkgb3JpZG5hbWVudGkgbGF0byBBcnJheSBwcmltYSBkaSB0aXJhcmUgZnVvcmkgbGEgcGFnaW5hIHNlbGV6aW9uYXRhXHJcbiAgICAgICAgbGV0IGl0ZW1zID0gKHRoaXMuZXN0LlZpZXcgYXMgYW55W10pO1xyXG4gICAgICAgIGlmICh0aGlzLmVzdClcclxuICAgICAgICAgICAgaXRlbXMgPSB0aGlzLmFycmF5TW9kZVJldmlld09yZGVyaW5ncyhpdGVtcyk7XHJcblxyXG4gICAgICAgIC8vIFBvaSBwZXIgdHV0dGkgaSB2YWxvcmkgZG9wbyBjb21wcmVzaSBmcmEgbGEgcGFnaW5hIC0gMSBlIGxhIHBhZ2luYVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAoKHRoaXMuZXN0LmFycmF5bW9kZVBhZ2UgLSAxKSAqIHRoaXMuZXN0LkFycmF5bW9kZUl0ZW1zUGVyUGFnZSk7IGkgPCB0aGlzLmVzdC5hcnJheW1vZGVQYWdlICogdGhpcy5lc3QuQXJyYXltb2RlSXRlbXNQZXJQYWdlOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGkgPD0gaXRlbXMubGVuZ3RoIC0gMSlcclxuICAgICAgICAgICAgICAgIHRtcEl0ZW1zLnB1c2goaXRlbXNbaV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRtcEl0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBTZSBpbiBtb2RhbGl0w6AgYXJyYXkgYXBwbGljYSBnbGkgb3JkaW5hbWVudGkgQVNDLURFU0MgZGVsbGUgY29sb25uZSAqL1xyXG4gICAgcHVibGljIGFycmF5TW9kZVJldmlld09yZGVyaW5ncyhpdGVtczogYW55W10pOiBhbnlbXSB7XHJcbiAgICAgICAgbGV0IHRtcCA9IGl0ZW1zO1xyXG4gICAgICAgIGlmICh0aGlzLmVzdC5hcnJheU9yZGVycy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICB0aGlzLmVzdC5hcnJheU9yZGVycy5mb3JFYWNoKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdG1wID0gdG1wLnNvcnQoKGEsIGIpID0+IChhW3QuaWRdID4gYlt0LmlkXSA/IDEgOiAtMSkgKiAodC5vcmRlciA9PSAnREVTQycgPyAtMSA6IDEpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRtcDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { EsThDirective } from "../../directives/es_th.directive";
|
|
2
|
-
import { EsTdDirective } from "../../directives/es_td.directive";
|
|
3
|
-
/** Classe che gestisce la modalità Report dell'es-table utilizzata nel Metering */
|
|
4
|
-
export class ReportModeHandler {
|
|
5
|
-
/** @ignore Costruttore */
|
|
6
|
-
constructor(est, utilities) {
|
|
7
|
-
this.est = est;
|
|
8
|
-
this.utilities = utilities;
|
|
9
|
-
}
|
|
10
|
-
/** Metodo che si occupa di gestire la grafica della tabella in base alle informazioni di ordinamento colonne e paginazione contenuti nel modello */
|
|
11
|
-
reviewReportBindings() {
|
|
12
|
-
// Allineo le informazioni su eventuali ordinamenti fatti precedentemente
|
|
13
|
-
if (this.est.View.orders && this.est.View.orders.length > 0) {
|
|
14
|
-
this.est.View.orders.forEach(t => {
|
|
15
|
-
this.est.View.report_columns.filter(c => c.id == t.column)[0].order = t.order;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
// Recupero il count precedente se serve
|
|
19
|
-
let count = this.est.View.objectcount;
|
|
20
|
-
if (count != -2)
|
|
21
|
-
this.est.previousCount = count;
|
|
22
|
-
else if (count == -2)
|
|
23
|
-
count = this.est.previousCount;
|
|
24
|
-
let ipp = (this.est.View.itemsperpageoverride || 15);
|
|
25
|
-
this.est.View.pages = Math.ceil(count / ipp);
|
|
26
|
-
this.est.arrayPulsanti = this.utilities.getPagesArray(6, this.est.View.page, this.est.View.pages);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Data una AppSearch questo metodo genera la lista di th e td che si possono collegare al giro standard.
|
|
30
|
-
* Se non ci fosse questo passaggio intermedio la gestione della modalità report sarebbe 100% custom,
|
|
31
|
-
* come poi lo era prima che la facessi passare dal giro che fanno tutte le altre modalità
|
|
32
|
-
*
|
|
33
|
-
* @param {AppSearch<any>} view View in modalità report contenente le informazioni sulle colonne
|
|
34
|
-
*
|
|
35
|
-
* @returns {{ ths: EsThDirective[], tds: EsTdDirective[] }} Lista di direttive per gli header e per il body
|
|
36
|
-
*/
|
|
37
|
-
generateThsAndTdsFromView(view) {
|
|
38
|
-
var ret = { ths: [], tds: [] };
|
|
39
|
-
// Ordinamento per ora commentato... non vorrebbe mi fuckappasse tutto
|
|
40
|
-
//view.report_columns.sort((c1, c2) => c1.seq || 0 - c2.seq || 0);
|
|
41
|
-
for (let i = 0; i < view.report_columns.length; i++) {
|
|
42
|
-
let clm = view.report_columns[i];
|
|
43
|
-
var th = new EsThDirective(null);
|
|
44
|
-
th.th = clm.id;
|
|
45
|
-
th.thStaticContent = clm.description || null;
|
|
46
|
-
th.thBackgroundColor = clm.color;
|
|
47
|
-
th.thAlignment = clm.alignment;
|
|
48
|
-
th.thFormat = clm.format;
|
|
49
|
-
var td = new EsTdDirective(null);
|
|
50
|
-
td.td = clm.id;
|
|
51
|
-
td.tdPropertyAccessor = i.toString();
|
|
52
|
-
td.tdAlignment = clm.alignment;
|
|
53
|
-
td.tdFormat = clm.format;
|
|
54
|
-
ret.ths.push(th);
|
|
55
|
-
ret.tds.push(td);
|
|
56
|
-
}
|
|
57
|
-
return ret;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3J0TW9kZUhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy10YWJsZS9zcmMvbGliL2NvcmUvaGFuZGxlcnMvUmVwb3J0TW9kZUhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUtqRSxtRkFBbUY7QUFDbkYsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQiwwQkFBMEI7SUFDMUIsWUFBb0IsR0FBcUIsRUFBVSxTQUEyQjtRQUExRCxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQUksQ0FBQztJQUVuRixvSkFBb0o7SUFDN0ksb0JBQW9CO1FBRXZCLHlFQUF5RTtRQUN6RSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUNsRixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRCx3Q0FBd0M7UUFDeEMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztZQUNYLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQzthQUM5QixJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDaEIsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO1FBRW5DLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0kseUJBQXlCLENBQUMsSUFBb0I7UUFDakQsSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUUvQixzRUFBc0U7UUFDdEUsa0VBQWtFO1FBRWxFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFakMsSUFBSSxFQUFFLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsRUFBRSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2YsRUFBRSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQztZQUM3QyxFQUFFLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNqQyxFQUFFLENBQUMsV0FBVyxHQUFnQyxHQUFHLENBQUMsU0FBUyxDQUFDO1lBQzVELEVBQUUsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUV6QixJQUFJLEVBQUUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixFQUFFLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLEVBQUUsQ0FBQyxXQUFXLEdBQWdDLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDNUQsRUFBRSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1lBRXpCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEhhbmRsZXJzXHJcbmltcG9ydCB7IFV0aWxpdGllc0hhbmRsZXIgfSBmcm9tIFwiLi9VdGlsaXRpZXNIYW5kbGVyXCI7XHJcblxyXG4vLyBDb21wb25lbnRpXHJcbmltcG9ydCB7IEVzVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9lcy10YWJsZS9lc190YWJsZS5jb21wb25lbnRcIlxyXG5pbXBvcnQgeyBFc1RoRGlyZWN0aXZlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvZXNfdGguZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEVzVGREaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9lc190ZC5kaXJlY3RpdmVcIjtcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgQXBwU2VhcmNoIH0gZnJvbSBcIi4uLy4uL2RvbWFpbi9leHRlcm5hbHMvYXBwc2VhcmNoL0FwcFNlYXJjaFwiO1xyXG5cclxuLyoqIENsYXNzZSBjaGUgZ2VzdGlzY2UgbGEgbW9kYWxpdMOgIFJlcG9ydCBkZWxsJ2VzLXRhYmxlIHV0aWxpenphdGEgbmVsIE1ldGVyaW5nICovXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRNb2RlSGFuZGxlciB7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgQ29zdHJ1dHRvcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXN0OiBFc1RhYmxlQ29tcG9uZW50LCBwcml2YXRlIHV0aWxpdGllczogVXRpbGl0aWVzSGFuZGxlcikgeyB9XHJcblxyXG4gICAgLyoqIE1ldG9kbyBjaGUgc2kgb2NjdXBhIGRpIGdlc3RpcmUgbGEgZ3JhZmljYSBkZWxsYSB0YWJlbGxhIGluIGJhc2UgYWxsZSBpbmZvcm1hemlvbmkgZGkgb3JkaW5hbWVudG8gY29sb25uZSBlIHBhZ2luYXppb25lIGNvbnRlbnV0aSBuZWwgbW9kZWxsbyAqL1xyXG4gICAgcHVibGljIHJldmlld1JlcG9ydEJpbmRpbmdzKCkge1xyXG5cclxuICAgICAgICAvLyBBbGxpbmVvIGxlIGluZm9ybWF6aW9uaSBzdSBldmVudHVhbGkgb3JkaW5hbWVudGkgZmF0dGkgcHJlY2VkZW50ZW1lbnRlXHJcbiAgICAgICAgaWYgKHRoaXMuZXN0LlZpZXcub3JkZXJzICYmIHRoaXMuZXN0LlZpZXcub3JkZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5lc3QuVmlldy5vcmRlcnMuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXN0LlZpZXcucmVwb3J0X2NvbHVtbnMuZmlsdGVyKGMgPT4gYy5pZCA9PSB0LmNvbHVtbilbMF0ub3JkZXIgPSB0Lm9yZGVyO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFJlY3VwZXJvIGlsIGNvdW50IHByZWNlZGVudGUgc2Ugc2VydmVcclxuICAgICAgICBsZXQgY291bnQgPSB0aGlzLmVzdC5WaWV3Lm9iamVjdGNvdW50O1xyXG4gICAgICAgIGlmIChjb3VudCAhPSAtMilcclxuICAgICAgICAgICAgdGhpcy5lc3QucHJldmlvdXNDb3VudCA9IGNvdW50O1xyXG4gICAgICAgIGVsc2UgaWYgKGNvdW50ID09IC0yKVxyXG4gICAgICAgICAgICBjb3VudCA9IHRoaXMuZXN0LnByZXZpb3VzQ291bnQ7XHJcblxyXG4gICAgICAgIGxldCBpcHAgPSAodGhpcy5lc3QuVmlldy5pdGVtc3BlcnBhZ2VvdmVycmlkZSB8fCAxNSk7XHJcbiAgICAgICAgdGhpcy5lc3QuVmlldy5wYWdlcyA9IE1hdGguY2VpbChjb3VudCAvIGlwcCk7XHJcbiAgICAgICAgdGhpcy5lc3QuYXJyYXlQdWxzYW50aSA9IHRoaXMudXRpbGl0aWVzLmdldFBhZ2VzQXJyYXkoNiwgdGhpcy5lc3QuVmlldy5wYWdlLCB0aGlzLmVzdC5WaWV3LnBhZ2VzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERhdGEgdW5hIEFwcFNlYXJjaCBxdWVzdG8gbWV0b2RvIGdlbmVyYSBsYSBsaXN0YSBkaSB0aCBlIHRkIGNoZSBzaSBwb3Nzb25vIGNvbGxlZ2FyZSBhbCBnaXJvIHN0YW5kYXJkLlxyXG4gICAgICogU2Ugbm9uIGNpIGZvc3NlIHF1ZXN0byBwYXNzYWdnaW8gaW50ZXJtZWRpbyBsYSBnZXN0aW9uZSBkZWxsYSBtb2RhbGl0w6AgcmVwb3J0IHNhcmViYmUgMTAwJSBjdXN0b20sIFxyXG4gICAgICogY29tZSBwb2kgbG8gZXJhIHByaW1hIGNoZSBsYSBmYWNlc3NpIHBhc3NhcmUgZGFsIGdpcm8gY2hlIGZhbm5vIHR1dHRlIGxlIGFsdHJlIG1vZGFsaXTDoFxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0FwcFNlYXJjaDxhbnk+fSB2aWV3IFZpZXcgaW4gbW9kYWxpdMOgIHJlcG9ydCBjb250ZW5lbnRlIGxlIGluZm9ybWF6aW9uaSBzdWxsZSBjb2xvbm5lXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHt7IHRoczogRXNUaERpcmVjdGl2ZVtdLCB0ZHM6IEVzVGREaXJlY3RpdmVbXSB9fSBMaXN0YSBkaSBkaXJldHRpdmUgcGVyIGdsaSBoZWFkZXIgZSBwZXIgaWwgYm9keVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2VuZXJhdGVUaHNBbmRUZHNGcm9tVmlldyh2aWV3OiBBcHBTZWFyY2g8YW55Pik6IHsgdGhzOiBFc1RoRGlyZWN0aXZlW10sIHRkczogRXNUZERpcmVjdGl2ZVtdIH0ge1xyXG4gICAgICAgIHZhciByZXQgPSB7IHRoczogW10sIHRkczogW10gfTtcclxuXHJcbiAgICAgICAgLy8gT3JkaW5hbWVudG8gcGVyIG9yYSBjb21tZW50YXRvLi4uIG5vbiB2b3JyZWJiZSBtaSBmdWNrYXBwYXNzZSB0dXR0b1xyXG4gICAgICAgIC8vdmlldy5yZXBvcnRfY29sdW1ucy5zb3J0KChjMSwgYzIpID0+IGMxLnNlcSB8fCAwIC0gYzIuc2VxIHx8IDApO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmlldy5yZXBvcnRfY29sdW1ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgY2xtID0gdmlldy5yZXBvcnRfY29sdW1uc1tpXTtcclxuXHJcbiAgICAgICAgICAgIHZhciB0aCA9IG5ldyBFc1RoRGlyZWN0aXZlKG51bGwpO1xyXG4gICAgICAgICAgICB0aC50aCA9IGNsbS5pZDtcclxuICAgICAgICAgICAgdGgudGhTdGF0aWNDb250ZW50ID0gY2xtLmRlc2NyaXB0aW9uIHx8IG51bGw7XHJcbiAgICAgICAgICAgIHRoLnRoQmFja2dyb3VuZENvbG9yID0gY2xtLmNvbG9yO1xyXG4gICAgICAgICAgICB0aC50aEFsaWdubWVudCA9IDxcIkNlbnRlclwiIHwgXCJMZWZ0XCIgfCBcIlJpZ2h0XCI+Y2xtLmFsaWdubWVudDtcclxuICAgICAgICAgICAgdGgudGhGb3JtYXQgPSBjbG0uZm9ybWF0O1xyXG5cclxuICAgICAgICAgICAgdmFyIHRkID0gbmV3IEVzVGREaXJlY3RpdmUobnVsbCk7XHJcbiAgICAgICAgICAgIHRkLnRkID0gY2xtLmlkO1xyXG4gICAgICAgICAgICB0ZC50ZFByb3BlcnR5QWNjZXNzb3IgPSBpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIHRkLnRkQWxpZ25tZW50ID0gPFwiQ2VudGVyXCIgfCBcIkxlZnRcIiB8IFwiUmlnaHRcIj5jbG0uYWxpZ25tZW50O1xyXG4gICAgICAgICAgICB0ZC50ZEZvcm1hdCA9IGNsbS5mb3JtYXQ7XHJcblxyXG4gICAgICAgICAgICByZXQudGhzLnB1c2godGgpO1xyXG4gICAgICAgICAgICByZXQudGRzLnB1c2godGQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxufVxyXG4iXX0=
|