@acorex/data-grid 3.0.25 → 3.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +2 -2
  2. package/acorex-data-grid.d.ts +4 -4
  3. package/acorex-data-grid.metadata.json +1 -1
  4. package/bundles/acorex-data-grid.umd.js +1933 -1933
  5. package/bundles/acorex-data-grid.umd.js.map +1 -1
  6. package/bundles/acorex-data-grid.umd.min.js +1 -1
  7. package/bundles/acorex-data-grid.umd.min.js.map +1 -1
  8. package/esm2015/acorex-data-grid.js +4 -4
  9. package/esm2015/lib/data-grid/columns/check-column.component.js +104 -104
  10. package/esm2015/lib/data-grid/columns/column.component.js +204 -204
  11. package/esm2015/lib/data-grid/columns/command-column.component.js +103 -103
  12. package/esm2015/lib/data-grid/columns/date-column.component.js +114 -114
  13. package/esm2015/lib/data-grid/columns/row-number-column.component.js +39 -39
  14. package/esm2015/lib/data-grid/columns/selection-column.component.js +42 -42
  15. package/esm2015/lib/data-grid/columns/text-column.component.js +81 -81
  16. package/esm2015/lib/data-grid/datagrid.component.js +709 -709
  17. package/esm2015/lib/data-grid/datagrid.events.js +1 -1
  18. package/esm2015/lib/data-grid/datagrid.module.js +98 -98
  19. package/esm2015/lib/data-grid/filters/filter.component.js +25 -25
  20. package/esm2015/lib/data-grid/templates/cell-template.component.js +47 -47
  21. package/esm2015/lib/data-grid/templates/detail-template.component.js +45 -45
  22. package/esm2015/lib/data-grid/templates/row-template.component.js +40 -40
  23. package/esm2015/lib/data-lov/data-lov-popup/data-lov-popup.component.js +121 -121
  24. package/esm2015/lib/data-lov/data-lov.component.js +206 -206
  25. package/esm2015/lib/data-lov/data-lov.module.js +21 -21
  26. package/esm2015/public-api.js +17 -17
  27. package/esm5/acorex-data-grid.js +4 -4
  28. package/esm5/lib/data-grid/columns/check-column.component.js +102 -102
  29. package/esm5/lib/data-grid/columns/column.component.js +206 -206
  30. package/esm5/lib/data-grid/columns/command-column.component.js +98 -98
  31. package/esm5/lib/data-grid/columns/date-column.component.js +119 -119
  32. package/esm5/lib/data-grid/columns/row-number-column.component.js +42 -42
  33. package/esm5/lib/data-grid/columns/selection-column.component.js +46 -46
  34. package/esm5/lib/data-grid/columns/text-column.component.js +81 -81
  35. package/esm5/lib/data-grid/datagrid.component.js +767 -767
  36. package/esm5/lib/data-grid/datagrid.events.js +1 -1
  37. package/esm5/lib/data-grid/datagrid.module.js +101 -101
  38. package/esm5/lib/data-grid/filters/filter.component.js +16 -16
  39. package/esm5/lib/data-grid/templates/cell-template.component.js +46 -46
  40. package/esm5/lib/data-grid/templates/detail-template.component.js +49 -49
  41. package/esm5/lib/data-grid/templates/row-template.component.js +44 -44
  42. package/esm5/lib/data-lov/data-lov-popup/data-lov-popup.component.js +127 -127
  43. package/esm5/lib/data-lov/data-lov.component.js +216 -216
  44. package/esm5/lib/data-lov/data-lov.module.js +24 -24
  45. package/esm5/public-api.js +17 -17
  46. package/fesm2015/acorex-data-grid.js +1856 -1856
  47. package/fesm2015/acorex-data-grid.js.map +1 -1
  48. package/fesm5/acorex-data-grid.js +1935 -1935
  49. package/fesm5/acorex-data-grid.js.map +1 -1
  50. package/lib/data-grid/columns/check-column.component.d.ts +30 -30
  51. package/lib/data-grid/columns/column.component.d.ts +29 -29
  52. package/lib/data-grid/columns/command-column.component.d.ts +22 -22
  53. package/lib/data-grid/columns/date-column.component.d.ts +27 -27
  54. package/lib/data-grid/columns/row-number-column.component.d.ts +7 -7
  55. package/lib/data-grid/columns/selection-column.component.d.ts +8 -8
  56. package/lib/data-grid/columns/text-column.component.d.ts +20 -20
  57. package/lib/data-grid/datagrid.component.d.ts +129 -129
  58. package/lib/data-grid/datagrid.events.d.ts +20 -20
  59. package/lib/data-grid/datagrid.module.d.ts +3 -3
  60. package/lib/data-grid/filters/filter.component.d.ts +2 -2
  61. package/lib/data-grid/templates/cell-template.component.d.ts +17 -17
  62. package/lib/data-grid/templates/detail-template.component.d.ts +16 -16
  63. package/lib/data-grid/templates/row-template.component.d.ts +15 -15
  64. package/lib/data-lov/data-lov-popup/data-lov-popup.component.d.ts +29 -29
  65. package/lib/data-lov/data-lov.component.d.ts +39 -39
  66. package/lib/data-lov/data-lov.module.d.ts +2 -2
  67. package/package.json +26 -26
  68. package/public-api.d.ts +17 -17
@@ -1,206 +1,206 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { AXConfig } from '@acorex/core';
3
- import { Input, ContentChild } from '@angular/core';
4
- import { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';
5
- var AXGridDataColumn = /** @class */ (function () {
6
- function AXGridDataColumn() {
7
- this.width = 100;
8
- this.pinned = null;
9
- this.allowSorting = true;
10
- this.allowFiltering = AXConfig.get('datagrid.allowFiltering') || false;
11
- this.sort = null;
12
- this.field = '';
13
- this.caption = '';
14
- this.checkbox = false;
15
- this.headerCheckbox = false;
16
- this.groupIndex = -1;
17
- this.treeIndex = -1;
18
- this.enableRowGroup = false;
19
- this.hide = false;
20
- this.floatingFilter = AXConfig.get('datagrid.floatingFilter') || false;
21
- this.disableMenu = false;
22
- this.resizable = true;
23
- this.menuColumnDisable = false;
24
- this.menuItemDisable = false;
25
- }
26
- ;
27
- AXGridDataColumn.prototype.render = function () {
28
- var col = {
29
- field: this.field,
30
- width: this.width,
31
- };
32
- col.resizable = this.resizable;
33
- col.suppressMenu = this.disableMenu;
34
- col.menuTabs = ['filterMenuTab', 'columnsMenuTab', 'generalMenuTab'];
35
- col.floatingFilter = this.floatingFilter;
36
- if (!this.allowFiltering) {
37
- col.filter = false;
38
- col.menuTabs = col.menuTabs.filter(function (c) { return c != 'filterMenuTab'; });
39
- col.floatingFilter = false;
40
- }
41
- if (this.menuColumnDisable == true) {
42
- col.menuTabs = col.menuTabs.filter(function (c) { return c != 'columnsMenuTab'; });
43
- }
44
- if (this.menuItemDisable == true) {
45
- col.menuTabs = col.menuTabs.filter(function (c) { return c != 'generalMenuTab'; });
46
- }
47
- if (this.caption) {
48
- col.headerName = this.caption;
49
- }
50
- if (this.minWidth) {
51
- col.minWidth = this.minWidth;
52
- }
53
- if (this.maxWidth) {
54
- col.maxWidth = this.maxWidth;
55
- }
56
- if (this.pinned) {
57
- col.pinned = this.pinned === 'start' ? 'right' : 'left';
58
- // TODO: Change based on layout
59
- }
60
- if (this.allowSorting) {
61
- col.sortable = this.allowSorting;
62
- }
63
- if (this.sort) {
64
- col.sort = this.sort;
65
- }
66
- if (this.groupIndex >= 0) {
67
- col.rowGroupIndex = this.groupIndex;
68
- col.rowGroup = true;
69
- this.enableRowGroup = true;
70
- }
71
- if (this.treeIndex >= 0) {
72
- col.rowGroupIndex = this.treeIndex;
73
- col.rowGroup = false;
74
- }
75
- if (this.hide) {
76
- col.hide = true;
77
- }
78
- if (this.enableRowGroup) {
79
- col.enableRowGroup = this.enableRowGroup;
80
- }
81
- if (this.cellClass) {
82
- var THAT_1 = this;
83
- if (this.cellClass instanceof Function) {
84
- col.cellClass = function (p) {
85
- return THAT_1.cellClass({
86
- column: THAT_1,
87
- rowIndex: p.node.rowIndex,
88
- rowLevel: p.node.level,
89
- data: p.data,
90
- value: p.value
91
- });
92
- };
93
- }
94
- else {
95
- col.cellClass = this.cellClass;
96
- }
97
- }
98
- //
99
- if (this.cellTemplate != null) {
100
- col.cellRendererFramework = this.cellTemplate.renderer;
101
- col.cellRendererParams = this.cellTemplate.params;
102
- }
103
- if (this.checkbox) {
104
- col.checkboxSelection = function (params) {
105
- return true;
106
- };
107
- // col.headerCheckboxSelection = this.headerCheckbox;
108
- }
109
- return col;
110
- };
111
- __decorate([
112
- ContentChild(AXDataGridCellTemplateComponent),
113
- __metadata("design:type", AXDataGridCellTemplateComponent)
114
- ], AXGridDataColumn.prototype, "cellTemplate", void 0);
115
- __decorate([
116
- Input(),
117
- __metadata("design:type", Number)
118
- ], AXGridDataColumn.prototype, "width", void 0);
119
- __decorate([
120
- Input(),
121
- __metadata("design:type", Number)
122
- ], AXGridDataColumn.prototype, "maxWidth", void 0);
123
- __decorate([
124
- Input(),
125
- __metadata("design:type", Number)
126
- ], AXGridDataColumn.prototype, "minWidth", void 0);
127
- __decorate([
128
- Input(),
129
- __metadata("design:type", String)
130
- ], AXGridDataColumn.prototype, "pinned", void 0);
131
- __decorate([
132
- Input(),
133
- __metadata("design:type", Boolean)
134
- ], AXGridDataColumn.prototype, "allowSorting", void 0);
135
- __decorate([
136
- Input(),
137
- __metadata("design:type", Boolean)
138
- ], AXGridDataColumn.prototype, "allowFiltering", void 0);
139
- __decorate([
140
- Input(),
141
- __metadata("design:type", Function)
142
- ], AXGridDataColumn.prototype, "cellClass", void 0);
143
- __decorate([
144
- Input(),
145
- __metadata("design:type", String)
146
- ], AXGridDataColumn.prototype, "sort", void 0);
147
- __decorate([
148
- Input(),
149
- __metadata("design:type", String)
150
- ], AXGridDataColumn.prototype, "field", void 0);
151
- __decorate([
152
- Input(),
153
- __metadata("design:type", String)
154
- ], AXGridDataColumn.prototype, "caption", void 0);
155
- __decorate([
156
- Input(),
157
- __metadata("design:type", Object)
158
- ], AXGridDataColumn.prototype, "cellRendererParams", void 0);
159
- __decorate([
160
- Input(),
161
- __metadata("design:type", Boolean)
162
- ], AXGridDataColumn.prototype, "checkbox", void 0);
163
- __decorate([
164
- Input(),
165
- __metadata("design:type", Boolean)
166
- ], AXGridDataColumn.prototype, "headerCheckbox", void 0);
167
- __decorate([
168
- Input(),
169
- __metadata("design:type", Number)
170
- ], AXGridDataColumn.prototype, "groupIndex", void 0);
171
- __decorate([
172
- Input(),
173
- __metadata("design:type", Number)
174
- ], AXGridDataColumn.prototype, "treeIndex", void 0);
175
- __decorate([
176
- Input(),
177
- __metadata("design:type", Boolean)
178
- ], AXGridDataColumn.prototype, "enableRowGroup", void 0);
179
- __decorate([
180
- Input(),
181
- __metadata("design:type", Boolean)
182
- ], AXGridDataColumn.prototype, "hide", void 0);
183
- __decorate([
184
- Input(),
185
- __metadata("design:type", Boolean)
186
- ], AXGridDataColumn.prototype, "floatingFilter", void 0);
187
- __decorate([
188
- Input(),
189
- __metadata("design:type", Boolean)
190
- ], AXGridDataColumn.prototype, "disableMenu", void 0);
191
- __decorate([
192
- Input(),
193
- __metadata("design:type", Boolean)
194
- ], AXGridDataColumn.prototype, "resizable", void 0);
195
- __decorate([
196
- Input(),
197
- __metadata("design:type", Boolean)
198
- ], AXGridDataColumn.prototype, "menuColumnDisable", void 0);
199
- __decorate([
200
- Input(),
201
- __metadata("design:type", Boolean)
202
- ], AXGridDataColumn.prototype, "menuItemDisable", void 0);
203
- return AXGridDataColumn;
204
- }());
205
- export { AXGridDataColumn };
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvZGF0YS1ncmlkLyIsInNvdXJjZXMiOlsibGliL2RhdGEtZ3JpZC9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFJdkY7SUF3RUk7UUFqRUEsVUFBSyxHQUFXLEdBQUcsQ0FBQztRQVNwQixXQUFNLEdBQTJCLElBQUksQ0FBQztRQUd0QyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUc3QixtQkFBYyxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsSUFBSSxLQUFLLENBQUM7UUFNM0UsU0FBSSxHQUEwQixJQUFJLENBQUM7UUFHbkMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUduQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBTXJCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFHaEMsZUFBVSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBR3hCLGNBQVMsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUd2QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBR3RCLG1CQUFjLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUczRSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUduQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztJQUVqQixDQUFDO0lBbEQwRCxDQUFDO0lBb0Q1RSxpQ0FBTSxHQUFOO1FBQ0ksSUFBTSxHQUFHLEdBQVE7WUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ3BCLENBQUM7UUFDRixHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDL0IsR0FBRyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQUNwRSxHQUFHLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDbkIsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsSUFBSSxlQUFlLEVBQXBCLENBQW9CLENBQUMsQ0FBQztZQUM5RCxHQUFHLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUM5QjtRQUNELElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRTtZQUNoQyxHQUFHLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxJQUFJLGdCQUFnQixFQUFyQixDQUFxQixDQUFDLENBQUM7U0FDbEU7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxFQUFFO1lBQzlCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLElBQUksZ0JBQWdCLEVBQXJCLENBQXFCLENBQUMsQ0FBQztTQUNsRTtRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNqQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNoQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNoQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3hELCtCQUErQjtTQUNsQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDcEM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDeEI7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxFQUFFO1lBQ3RCLEdBQUcsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNwQyxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM5QjtRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEVBQUU7WUFDckIsR0FBRyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ25DLEdBQUcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1gsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FFbkI7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsR0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQU0sTUFBSSxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxTQUFTLFlBQVksUUFBUSxFQUFFO2dCQUNwQyxHQUFHLENBQUMsU0FBUyxHQUFHLFVBQUMsQ0FBQztvQkFDZCxPQUFPLE1BQUksQ0FBQyxTQUFTLENBQUM7d0JBQ2xCLE1BQU0sRUFBRSxNQUFJO3dCQUNaLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7d0JBQ3pCLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7d0JBQ3RCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTt3QkFDWixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2pCLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUM7YUFDTDtpQkFDSTtnQkFDRCxHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7YUFFbEM7U0FDSjtRQUNELEVBQUU7UUFDRixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxFQUFFO1lBQzNCLEdBQUcsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUN2RCxHQUFHLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7U0FDckQ7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixHQUFHLENBQUMsaUJBQWlCLEdBQUcsVUFBQyxNQUFNO2dCQUMzQixPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDLENBQUM7WUFDRixzREFBc0Q7U0FDekQ7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFoS0Q7UUFEQyxZQUFZLENBQUMsK0JBQStCLENBQUM7a0NBQ2hDLCtCQUErQjswREFBQztJQUc5QztRQURDLEtBQUssRUFBRTs7bURBQ1k7SUFHcEI7UUFEQyxLQUFLLEVBQUU7O3NEQUNTO0lBR2pCO1FBREMsS0FBSyxFQUFFOztzREFDUztJQUdqQjtRQURDLEtBQUssRUFBRTs7b0RBQzhCO0lBR3RDO1FBREMsS0FBSyxFQUFFOzswREFDcUI7SUFHN0I7UUFEQyxLQUFLLEVBQUU7OzREQUNtRTtJQUczRTtRQURDLEtBQUssRUFBRTs7dURBQzJFO0lBR25GO1FBREMsS0FBSyxFQUFFOztrREFDMkI7SUFHbkM7UUFEQyxLQUFLLEVBQUU7O21EQUNXO0lBR25CO1FBREMsS0FBSyxFQUFFOztxREFDYTtJQUdyQjtRQURDLEtBQUssRUFBRTs7Z0VBQ2dCO0lBR3hCO1FBREMsS0FBSyxFQUFFOztzREFDa0I7SUFHMUI7UUFEQyxLQUFLLEVBQUU7OzREQUN3QjtJQUdoQztRQURDLEtBQUssRUFBRTs7d0RBQ2dCO0lBR3hCO1FBREMsS0FBSyxFQUFFOzt1REFDZTtJQUd2QjtRQURDLEtBQUssRUFBRTs7NERBQ3dCO0lBR2hDO1FBREMsS0FBSyxFQUFFOztrREFDYztJQUd0QjtRQURDLEtBQUssRUFBRTs7NERBQ21FO0lBRzNFO1FBREMsS0FBSyxFQUFFOzt5REFDcUI7SUFHN0I7UUFEQyxLQUFLLEVBQUU7O3VEQUNrQjtJQUcxQjtRQURDLEtBQUssRUFBRTs7K0RBQzJCO0lBR25DO1FBREMsS0FBSyxFQUFFOzs2REFDeUI7SUErRnJDLHVCQUFDO0NBQUEsQUFyS0QsSUFxS0M7U0FyS3FCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhHcmlkQ2VsbFBhcmFtcyB9IGZyb20gJy4uL2RhdGFncmlkLmV2ZW50cyc7XHJcbmltcG9ydCB7IEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuLi90ZW1wbGF0ZXMvY2VsbC10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWERhdGVQaWNrZXJGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtY29sdW1uLmNvbXBvbmVudCc7XHJcblxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYR3JpZERhdGFDb2x1bW4ge1xyXG5cclxuXHJcbiAgICBAQ29udGVudENoaWxkKEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQpXHJcbiAgICBjZWxsVGVtcGxhdGU6IEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQ7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHdpZHRoOiBudW1iZXIgPSAxMDA7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIG1heFdpZHRoOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIG1pbldpZHRoOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHBpbm5lZDogJ3N0YXJ0JyB8ICdlbmQnIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGFsbG93U29ydGluZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGFsbG93RmlsdGVyaW5nOiBib29sZWFuID0gQVhDb25maWcuZ2V0KCdkYXRhZ3JpZC5hbGxvd0ZpbHRlcmluZycpIHx8IGZhbHNlOztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgY2VsbENsYXNzOiAocGFyYW1zOiBBWEdyaWRDZWxsUGFyYW1zKSA9PiAoc3RyaW5nIHwgc3RyaW5nW10pIHwgKHN0cmluZyB8IHN0cmluZ1tdKTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc29ydDogJ2FzYycgfCAnZGVzYycgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZmllbGQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBjYXB0aW9uOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgY2VsbFJlbmRlcmVyUGFyYW1zOiBhbnk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGNoZWNrYm94OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGhlYWRlckNoZWNrYm94OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdyb3VwSW5kZXg6IG51bWJlciA9IC0xO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICB0cmVlSW5kZXg6IG51bWJlciA9IC0xO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBlbmFibGVSb3dHcm91cDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBoaWRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGZsb2F0aW5nRmlsdGVyOiBib29sZWFuID0gQVhDb25maWcuZ2V0KCdkYXRhZ3JpZC5mbG9hdGluZ0ZpbHRlcicpIHx8IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBkaXNhYmxlTWVudTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICByZXNpemFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBtZW51Q29sdW1uRGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBtZW51SXRlbURpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIHJlbmRlcigpOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IGNvbDogYW55ID0ge1xyXG4gICAgICAgICAgICBmaWVsZDogdGhpcy5maWVsZCxcclxuICAgICAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb2wucmVzaXphYmxlID0gdGhpcy5yZXNpemFibGU7XHJcbiAgICAgICAgY29sLnN1cHByZXNzTWVudSA9IHRoaXMuZGlzYWJsZU1lbnU7XHJcbiAgICAgICAgY29sLm1lbnVUYWJzID0gWydmaWx0ZXJNZW51VGFiJywgJ2NvbHVtbnNNZW51VGFiJywgJ2dlbmVyYWxNZW51VGFiJ11cclxuICAgICAgICBjb2wuZmxvYXRpbmdGaWx0ZXIgPSB0aGlzLmZsb2F0aW5nRmlsdGVyO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuYWxsb3dGaWx0ZXJpbmcpIHtcclxuICAgICAgICAgICAgY29sLmZpbHRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb2wubWVudVRhYnMgPSBjb2wubWVudVRhYnMuZmlsdGVyKGMgPT4gYyAhPSAnZmlsdGVyTWVudVRhYicpO1xyXG4gICAgICAgICAgICBjb2wuZmxvYXRpbmdGaWx0ZXIgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMubWVudUNvbHVtbkRpc2FibGUgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICBjb2wubWVudVRhYnMgPSBjb2wubWVudVRhYnMuZmlsdGVyKGMgPT4gYyAhPSAnY29sdW1uc01lbnVUYWInKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMubWVudUl0ZW1EaXNhYmxlID09IHRydWUpIHtcclxuICAgICAgICAgICAgY29sLm1lbnVUYWJzID0gY29sLm1lbnVUYWJzLmZpbHRlcihjID0+IGMgIT0gJ2dlbmVyYWxNZW51VGFiJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNhcHRpb24pIHtcclxuICAgICAgICAgICAgY29sLmhlYWRlck5hbWUgPSB0aGlzLmNhcHRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1pbldpZHRoKSB7XHJcbiAgICAgICAgICAgIGNvbC5taW5XaWR0aCA9IHRoaXMubWluV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1heFdpZHRoKSB7XHJcbiAgICAgICAgICAgIGNvbC5tYXhXaWR0aCA9IHRoaXMubWF4V2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnBpbm5lZCkge1xyXG4gICAgICAgICAgICBjb2wucGlubmVkID0gdGhpcy5waW5uZWQgPT09ICdzdGFydCcgPyAncmlnaHQnIDogJ2xlZnQnO1xyXG4gICAgICAgICAgICAvLyBUT0RPOiBDaGFuZ2UgYmFzZWQgb24gbGF5b3V0XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmFsbG93U29ydGluZykge1xyXG4gICAgICAgICAgICBjb2wuc29ydGFibGUgPSB0aGlzLmFsbG93U29ydGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc29ydCkge1xyXG4gICAgICAgICAgICBjb2wuc29ydCA9IHRoaXMuc29ydDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmdyb3VwSW5kZXggPj0gMCkge1xyXG4gICAgICAgICAgICBjb2wucm93R3JvdXBJbmRleCA9IHRoaXMuZ3JvdXBJbmRleDtcclxuICAgICAgICAgICAgY29sLnJvd0dyb3VwID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVSb3dHcm91cCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy50cmVlSW5kZXggPj0gMCkge1xyXG4gICAgICAgICAgICBjb2wucm93R3JvdXBJbmRleCA9IHRoaXMudHJlZUluZGV4O1xyXG4gICAgICAgICAgICBjb2wucm93R3JvdXAgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuaGlkZSkge1xyXG4gICAgICAgICAgICBjb2wuaGlkZSA9IHRydWU7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5lbmFibGVSb3dHcm91cCkge1xyXG4gICAgICAgICAgICBjb2wuZW5hYmxlUm93R3JvdXAgPSB0aGlzLmVuYWJsZVJvd0dyb3VwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY2VsbENsYXNzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IFRIQVQgPSB0aGlzO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jZWxsQ2xhc3MgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xyXG4gICAgICAgICAgICAgICAgY29sLmNlbGxDbGFzcyA9IChwKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRIQVQuY2VsbENsYXNzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uOiBUSEFULFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dJbmRleDogcC5ub2RlLnJvd0luZGV4LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dMZXZlbDogcC5ub2RlLmxldmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBwLmRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sLmNlbGxDbGFzcyA9IHRoaXMuY2VsbENsYXNzO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL1xyXG4gICAgICAgIGlmICh0aGlzLmNlbGxUZW1wbGF0ZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGNvbC5jZWxsUmVuZGVyZXJGcmFtZXdvcmsgPSB0aGlzLmNlbGxUZW1wbGF0ZS5yZW5kZXJlcjtcclxuICAgICAgICAgICAgY29sLmNlbGxSZW5kZXJlclBhcmFtcyA9IHRoaXMuY2VsbFRlbXBsYXRlLnBhcmFtcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNoZWNrYm94KSB7XHJcbiAgICAgICAgICAgIGNvbC5jaGVja2JveFNlbGVjdGlvbiA9IChwYXJhbXMpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAvLyAgY29sLmhlYWRlckNoZWNrYm94U2VsZWN0aW9uID0gdGhpcy5oZWFkZXJDaGVja2JveDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvbDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { AXConfig } from '@acorex/core';
3
+ import { Input, ContentChild } from '@angular/core';
4
+ import { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';
5
+ var AXGridDataColumn = /** @class */ (function () {
6
+ function AXGridDataColumn() {
7
+ this.width = 100;
8
+ this.pinned = null;
9
+ this.allowSorting = true;
10
+ this.allowFiltering = AXConfig.get('datagrid.allowFiltering') || false;
11
+ this.sort = null;
12
+ this.field = '';
13
+ this.caption = '';
14
+ this.checkbox = false;
15
+ this.headerCheckbox = false;
16
+ this.groupIndex = -1;
17
+ this.treeIndex = -1;
18
+ this.enableRowGroup = false;
19
+ this.hide = false;
20
+ this.floatingFilter = AXConfig.get('datagrid.floatingFilter') || false;
21
+ this.disableMenu = false;
22
+ this.resizable = true;
23
+ this.menuColumnDisable = false;
24
+ this.menuItemDisable = false;
25
+ }
26
+ ;
27
+ AXGridDataColumn.prototype.render = function () {
28
+ var col = {
29
+ field: this.field,
30
+ width: this.width,
31
+ };
32
+ col.resizable = this.resizable;
33
+ col.suppressMenu = this.disableMenu;
34
+ col.menuTabs = ['filterMenuTab', 'columnsMenuTab', 'generalMenuTab'];
35
+ col.floatingFilter = this.floatingFilter;
36
+ if (!this.allowFiltering) {
37
+ col.filter = false;
38
+ col.menuTabs = col.menuTabs.filter(function (c) { return c != 'filterMenuTab'; });
39
+ col.floatingFilter = false;
40
+ }
41
+ if (this.menuColumnDisable == true) {
42
+ col.menuTabs = col.menuTabs.filter(function (c) { return c != 'columnsMenuTab'; });
43
+ }
44
+ if (this.menuItemDisable == true) {
45
+ col.menuTabs = col.menuTabs.filter(function (c) { return c != 'generalMenuTab'; });
46
+ }
47
+ if (this.caption) {
48
+ col.headerName = this.caption;
49
+ }
50
+ if (this.minWidth) {
51
+ col.minWidth = this.minWidth;
52
+ }
53
+ if (this.maxWidth) {
54
+ col.maxWidth = this.maxWidth;
55
+ }
56
+ if (this.pinned) {
57
+ col.pinned = this.pinned === 'start' ? 'right' : 'left';
58
+ // TODO: Change based on layout
59
+ }
60
+ if (this.allowSorting) {
61
+ col.sortable = this.allowSorting;
62
+ }
63
+ if (this.sort) {
64
+ col.sort = this.sort;
65
+ }
66
+ if (this.groupIndex >= 0) {
67
+ col.rowGroupIndex = this.groupIndex;
68
+ col.rowGroup = true;
69
+ this.enableRowGroup = true;
70
+ }
71
+ if (this.treeIndex >= 0) {
72
+ col.rowGroupIndex = this.treeIndex;
73
+ col.rowGroup = false;
74
+ }
75
+ if (this.hide) {
76
+ col.hide = true;
77
+ }
78
+ if (this.enableRowGroup) {
79
+ col.enableRowGroup = this.enableRowGroup;
80
+ }
81
+ if (this.cellClass) {
82
+ var THAT_1 = this;
83
+ if (this.cellClass instanceof Function) {
84
+ col.cellClass = function (p) {
85
+ return THAT_1.cellClass({
86
+ column: THAT_1,
87
+ rowIndex: p.node.rowIndex,
88
+ rowLevel: p.node.level,
89
+ data: p.data,
90
+ value: p.value
91
+ });
92
+ };
93
+ }
94
+ else {
95
+ col.cellClass = this.cellClass;
96
+ }
97
+ }
98
+ //
99
+ if (this.cellTemplate != null) {
100
+ col.cellRendererFramework = this.cellTemplate.renderer;
101
+ col.cellRendererParams = this.cellTemplate.params;
102
+ }
103
+ if (this.checkbox) {
104
+ col.checkboxSelection = function (params) {
105
+ return true;
106
+ };
107
+ // col.headerCheckboxSelection = this.headerCheckbox;
108
+ }
109
+ return col;
110
+ };
111
+ __decorate([
112
+ ContentChild(AXDataGridCellTemplateComponent),
113
+ __metadata("design:type", AXDataGridCellTemplateComponent)
114
+ ], AXGridDataColumn.prototype, "cellTemplate", void 0);
115
+ __decorate([
116
+ Input(),
117
+ __metadata("design:type", Number)
118
+ ], AXGridDataColumn.prototype, "width", void 0);
119
+ __decorate([
120
+ Input(),
121
+ __metadata("design:type", Number)
122
+ ], AXGridDataColumn.prototype, "maxWidth", void 0);
123
+ __decorate([
124
+ Input(),
125
+ __metadata("design:type", Number)
126
+ ], AXGridDataColumn.prototype, "minWidth", void 0);
127
+ __decorate([
128
+ Input(),
129
+ __metadata("design:type", String)
130
+ ], AXGridDataColumn.prototype, "pinned", void 0);
131
+ __decorate([
132
+ Input(),
133
+ __metadata("design:type", Boolean)
134
+ ], AXGridDataColumn.prototype, "allowSorting", void 0);
135
+ __decorate([
136
+ Input(),
137
+ __metadata("design:type", Boolean)
138
+ ], AXGridDataColumn.prototype, "allowFiltering", void 0);
139
+ __decorate([
140
+ Input(),
141
+ __metadata("design:type", Function)
142
+ ], AXGridDataColumn.prototype, "cellClass", void 0);
143
+ __decorate([
144
+ Input(),
145
+ __metadata("design:type", String)
146
+ ], AXGridDataColumn.prototype, "sort", void 0);
147
+ __decorate([
148
+ Input(),
149
+ __metadata("design:type", String)
150
+ ], AXGridDataColumn.prototype, "field", void 0);
151
+ __decorate([
152
+ Input(),
153
+ __metadata("design:type", String)
154
+ ], AXGridDataColumn.prototype, "caption", void 0);
155
+ __decorate([
156
+ Input(),
157
+ __metadata("design:type", Object)
158
+ ], AXGridDataColumn.prototype, "cellRendererParams", void 0);
159
+ __decorate([
160
+ Input(),
161
+ __metadata("design:type", Boolean)
162
+ ], AXGridDataColumn.prototype, "checkbox", void 0);
163
+ __decorate([
164
+ Input(),
165
+ __metadata("design:type", Boolean)
166
+ ], AXGridDataColumn.prototype, "headerCheckbox", void 0);
167
+ __decorate([
168
+ Input(),
169
+ __metadata("design:type", Number)
170
+ ], AXGridDataColumn.prototype, "groupIndex", void 0);
171
+ __decorate([
172
+ Input(),
173
+ __metadata("design:type", Number)
174
+ ], AXGridDataColumn.prototype, "treeIndex", void 0);
175
+ __decorate([
176
+ Input(),
177
+ __metadata("design:type", Boolean)
178
+ ], AXGridDataColumn.prototype, "enableRowGroup", void 0);
179
+ __decorate([
180
+ Input(),
181
+ __metadata("design:type", Boolean)
182
+ ], AXGridDataColumn.prototype, "hide", void 0);
183
+ __decorate([
184
+ Input(),
185
+ __metadata("design:type", Boolean)
186
+ ], AXGridDataColumn.prototype, "floatingFilter", void 0);
187
+ __decorate([
188
+ Input(),
189
+ __metadata("design:type", Boolean)
190
+ ], AXGridDataColumn.prototype, "disableMenu", void 0);
191
+ __decorate([
192
+ Input(),
193
+ __metadata("design:type", Boolean)
194
+ ], AXGridDataColumn.prototype, "resizable", void 0);
195
+ __decorate([
196
+ Input(),
197
+ __metadata("design:type", Boolean)
198
+ ], AXGridDataColumn.prototype, "menuColumnDisable", void 0);
199
+ __decorate([
200
+ Input(),
201
+ __metadata("design:type", Boolean)
202
+ ], AXGridDataColumn.prototype, "menuItemDisable", void 0);
203
+ return AXGridDataColumn;
204
+ }());
205
+ export { AXGridDataColumn };
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvZGF0YS1ncmlkLyIsInNvdXJjZXMiOlsibGliL2RhdGEtZ3JpZC9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFJdkY7SUF3RUk7UUFqRUEsVUFBSyxHQUFXLEdBQUcsQ0FBQztRQVNwQixXQUFNLEdBQTJCLElBQUksQ0FBQztRQUd0QyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUc3QixtQkFBYyxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsSUFBSSxLQUFLLENBQUM7UUFNM0UsU0FBSSxHQUEwQixJQUFJLENBQUM7UUFHbkMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUduQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBTXJCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFHaEMsZUFBVSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBR3hCLGNBQVMsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUd2QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBR3RCLG1CQUFjLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUczRSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUduQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztJQUVqQixDQUFDO0lBbEQwRCxDQUFDO0lBb0Q1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Q1k7SUFHcEI7UUFEQyxLQUFLLEVBQUU7O3NEQUNTO0lBR2pCO1FBREMsS0FBSyxFQUFFOztzREFDUztJQUdqQjtRQURDLEtBQUssRUFBRTs7b0RBQzhCO0lBR3RDO1FBREMsS0FBSyxFQUFFOzswREFDcUI7SUFHN0I7UUFEQyxLQUFLLEVBQUU7OzREQUNtRTtJQUczRTtRQURDLEtBQUssRUFBRTs7dURBQzJFO0lBR25GO1FBREMsS0FBSyxFQUFFOztrREFDMkI7SUFHbkM7UUFEQyxLQUFLLEVBQUU7O21EQUNXO0lBR25CO1FBREMsS0FBSyxFQUFFOztxREFDYTtJQUdyQjtRQURDLEtBQUssRUFBRTs7Z0VBQ2dCO0lBR3hCO1FBREMsS0FBSyxFQUFFOztzREFDa0I7SUFHMUI7UUFEQyxLQUFLLEVBQUU7OzREQUN3QjtJQUdoQztRQURDLEtBQUssRUFBRTs7d0RBQ2dCO0lBR3hCO1FBREMsS0FBSyxFQUFFOzt1REFDZTtJQUd2QjtRQURDLEtBQUssRUFBRTs7NERBQ3dCO0lBR2hDO1FBREMsS0FBSyxFQUFFOztrREFDYztJQUd0QjtRQURDLEtBQUssRUFBRTs7NERBQ21FO0lBRzNFO1FBREMsS0FBSyxFQUFFOzt5REFDcUI7SUFHN0I7UUFEQyxLQUFLLEVBQUU7O3VEQUNrQjtJQUcxQjtRQURDLEtBQUssRUFBRTs7K0RBQzJCO0lBR25DO1FBREMsS0FBSyxFQUFFOzs2REFDeUI7SUErRnJDLHVCQUFDO0NBQUEsQUFyS0QsSUFxS0M7U0FyS3FCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IElucHV0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEdyaWRDZWxsUGFyYW1zIH0gZnJvbSAnLi4vZGF0YWdyaWQuZXZlbnRzJztcbmltcG9ydCB7IEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuLi90ZW1wbGF0ZXMvY2VsbC10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEYXRlUGlja2VyRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWNvbHVtbi5jb21wb25lbnQnO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEdyaWREYXRhQ29sdW1uIHtcblxuXG4gICAgQENvbnRlbnRDaGlsZChBWERhdGFHcmlkQ2VsbFRlbXBsYXRlQ29tcG9uZW50KVxuICAgIGNlbGxUZW1wbGF0ZTogQVhEYXRhR3JpZENlbGxUZW1wbGF0ZUNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgd2lkdGg6IG51bWJlciA9IDEwMDtcblxuICAgIEBJbnB1dCgpXG4gICAgbWF4V2lkdGg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgbWluV2lkdGg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcGlubmVkOiAnc3RhcnQnIHwgJ2VuZCcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dTb3J0aW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dGaWx0ZXJpbmc6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2RhdGFncmlkLmFsbG93RmlsdGVyaW5nJykgfHwgZmFsc2U7O1xuXG4gICAgQElucHV0KClcbiAgICBjZWxsQ2xhc3M6IChwYXJhbXM6IEFYR3JpZENlbGxQYXJhbXMpID0+IChzdHJpbmcgfCBzdHJpbmdbXSkgfCAoc3RyaW5nIHwgc3RyaW5nW10pO1xuXG4gICAgQElucHV0KClcbiAgICBzb3J0OiAnYXNjJyB8ICdkZXNjJyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBmaWVsZDogc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNhcHRpb246IHN0cmluZyA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IGFueTtcblxuICAgIEBJbnB1dCgpXG4gICAgY2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVhZGVyQ2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ3JvdXBJbmRleDogbnVtYmVyID0gLTE7XG5cbiAgICBASW5wdXQoKVxuICAgIHRyZWVJbmRleDogbnVtYmVyID0gLTE7XG5cbiAgICBASW5wdXQoKVxuICAgIGVuYWJsZVJvd0dyb3VwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGhpZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZmxvYXRpbmdGaWx0ZXI6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2RhdGFncmlkLmZsb2F0aW5nRmlsdGVyJykgfHwgZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVNZW51OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHJlc2l6YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIG1lbnVDb2x1bW5EaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIG1lbnVJdGVtRGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIHJlbmRlcigpOiBhbnkge1xuICAgICAgICBjb25zdCBjb2w6IGFueSA9IHtcbiAgICAgICAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXG4gICAgICAgIH07XG4gICAgICAgIGNvbC5yZXNpemFibGUgPSB0aGlzLnJlc2l6YWJsZTtcbiAgICAgICAgY29sLnN1cHByZXNzTWVudSA9IHRoaXMuZGlzYWJsZU1lbnU7XG4gICAgICAgIGNvbC5tZW51VGFicyA9IFsnZmlsdGVyTWVudVRhYicsICdjb2x1bW5zTWVudVRhYicsICdnZW5lcmFsTWVudVRhYiddXG4gICAgICAgIGNvbC5mbG9hdGluZ0ZpbHRlciA9IHRoaXMuZmxvYXRpbmdGaWx0ZXI7XG5cbiAgICAgICAgaWYgKCF0aGlzLmFsbG93RmlsdGVyaW5nKSB7XG4gICAgICAgICAgICBjb2wuZmlsdGVyID0gZmFsc2U7XG4gICAgICAgICAgICBjb2wubWVudVRhYnMgPSBjb2wubWVudVRhYnMuZmlsdGVyKGMgPT4gYyAhPSAnZmlsdGVyTWVudVRhYicpO1xuICAgICAgICAgICAgY29sLmZsb2F0aW5nRmlsdGVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubWVudUNvbHVtbkRpc2FibGUgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29sLm1lbnVUYWJzID0gY29sLm1lbnVUYWJzLmZpbHRlcihjID0+IGMgIT0gJ2NvbHVtbnNNZW51VGFiJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubWVudUl0ZW1EaXNhYmxlID09IHRydWUpIHtcbiAgICAgICAgICAgIGNvbC5tZW51VGFicyA9IGNvbC5tZW51VGFicy5maWx0ZXIoYyA9PiBjICE9ICdnZW5lcmFsTWVudVRhYicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNhcHRpb24pIHtcbiAgICAgICAgICAgIGNvbC5oZWFkZXJOYW1lID0gdGhpcy5jYXB0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1pbldpZHRoKSB7XG4gICAgICAgICAgICBjb2wubWluV2lkdGggPSB0aGlzLm1pbldpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1heFdpZHRoKSB7XG4gICAgICAgICAgICBjb2wubWF4V2lkdGggPSB0aGlzLm1heFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBpbm5lZCkge1xuICAgICAgICAgICAgY29sLnBpbm5lZCA9IHRoaXMucGlubmVkID09PSAnc3RhcnQnID8gJ3JpZ2h0JyA6ICdsZWZ0JztcbiAgICAgICAgICAgIC8vIFRPRE86IENoYW5nZSBiYXNlZCBvbiBsYXlvdXRcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hbGxvd1NvcnRpbmcpIHtcbiAgICAgICAgICAgIGNvbC5zb3J0YWJsZSA9IHRoaXMuYWxsb3dTb3J0aW5nO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNvcnQpIHtcbiAgICAgICAgICAgIGNvbC5zb3J0ID0gdGhpcy5zb3J0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZ3JvdXBJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBjb2wucm93R3JvdXBJbmRleCA9IHRoaXMuZ3JvdXBJbmRleDtcbiAgICAgICAgICAgIGNvbC5yb3dHcm91cCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZVJvd0dyb3VwID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRyZWVJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBjb2wucm93R3JvdXBJbmRleCA9IHRoaXMudHJlZUluZGV4O1xuICAgICAgICAgICAgY29sLnJvd0dyb3VwID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaGlkZSkge1xuICAgICAgICAgICAgY29sLmhpZGUgPSB0cnVlO1xuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlUm93R3JvdXApIHtcbiAgICAgICAgICAgIGNvbC5lbmFibGVSb3dHcm91cCA9IHRoaXMuZW5hYmxlUm93R3JvdXA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jZWxsQ2xhc3MpIHtcbiAgICAgICAgICAgIGNvbnN0IFRIQVQgPSB0aGlzO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2VsbENsYXNzIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBjb2wuY2VsbENsYXNzID0gKHApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRIQVQuY2VsbENsYXNzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogVEhBVCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd0luZGV4OiBwLm5vZGUucm93SW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dMZXZlbDogcC5ub2RlLmxldmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogcC5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHAudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbC5jZWxsQ2xhc3MgPSB0aGlzLmNlbGxDbGFzcztcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vXG4gICAgICAgIGlmICh0aGlzLmNlbGxUZW1wbGF0ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb2wuY2VsbFJlbmRlcmVyRnJhbWV3b3JrID0gdGhpcy5jZWxsVGVtcGxhdGUucmVuZGVyZXI7XG4gICAgICAgICAgICBjb2wuY2VsbFJlbmRlcmVyUGFyYW1zID0gdGhpcy5jZWxsVGVtcGxhdGUucGFyYW1zO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2hlY2tib3gpIHtcbiAgICAgICAgICAgIGNvbC5jaGVja2JveFNlbGVjdGlvbiA9IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvLyAgY29sLmhlYWRlckNoZWNrYm94U2VsZWN0aW9uID0gdGhpcy5oZWFkZXJDaGVja2JveDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sO1xuICAgIH1cbn1cblxuXG5cblxuXG5cblxuXG4iXX0=