@acorex/data-grid 6.5.29 → 6.5.31
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -2
- package/acorex-data-grid.d.ts +5 -5
- package/esm2020/acorex-data-grid.mjs +4 -4
- package/esm2020/lib/data-grid/columns/check-column.component.mjs +117 -117
- package/esm2020/lib/data-grid/columns/column.component.mjs +164 -164
- package/esm2020/lib/data-grid/columns/command-column.component.mjs +115 -115
- package/esm2020/lib/data-grid/columns/date-column.component.mjs +111 -111
- package/esm2020/lib/data-grid/columns/row-number-column.component.mjs +37 -37
- package/esm2020/lib/data-grid/columns/selection-column.component.mjs +42 -42
- package/esm2020/lib/data-grid/columns/text-column.component.mjs +89 -89
- package/esm2020/lib/data-grid/datagrid.component.mjs +667 -667
- package/esm2020/lib/data-grid/datagrid.events.mjs +2 -2
- package/esm2020/lib/data-grid/datagrid.module.mjs +145 -145
- package/esm2020/lib/data-grid/filters/filter.component.mjs +39 -39
- package/esm2020/lib/data-grid/templates/cell-template.component.mjs +53 -53
- package/esm2020/lib/data-grid/templates/detail-template.component.mjs +46 -46
- package/esm2020/lib/data-grid/templates/row-template.component.mjs +43 -43
- package/esm2020/lib/data-lov/data-lov-popup/data-lov-popup.component.mjs +114 -114
- package/esm2020/lib/data-lov/data-lov.component.mjs +165 -165
- package/esm2020/lib/data-lov/data-lov.module.mjs +23 -23
- package/esm2020/public-api.mjs +18 -18
- package/fesm2015/acorex-data-grid.mjs +1833 -1833
- package/fesm2015/acorex-data-grid.mjs.map +1 -1
- package/fesm2020/acorex-data-grid.mjs +1833 -1833
- package/fesm2020/acorex-data-grid.mjs.map +1 -1
- package/lib/data-grid/columns/check-column.component.d.ts +37 -37
- package/lib/data-grid/columns/column.component.d.ts +32 -32
- package/lib/data-grid/columns/command-column.component.d.ts +27 -27
- package/lib/data-grid/columns/date-column.component.d.ts +32 -32
- package/lib/data-grid/columns/row-number-column.component.d.ts +10 -10
- package/lib/data-grid/columns/selection-column.component.d.ts +12 -12
- package/lib/data-grid/columns/text-column.component.d.ts +25 -25
- package/lib/data-grid/datagrid.component.d.ts +142 -142
- package/lib/data-grid/datagrid.events.d.ts +20 -20
- package/lib/data-grid/datagrid.module.d.ts +23 -23
- package/lib/data-grid/filters/filter.component.d.ts +5 -5
- package/lib/data-grid/templates/cell-template.component.d.ts +22 -22
- package/lib/data-grid/templates/detail-template.component.d.ts +21 -21
- package/lib/data-grid/templates/row-template.component.d.ts +20 -20
- package/lib/data-lov/data-lov-popup/data-lov-popup.component.d.ts +33 -33
- package/lib/data-lov/data-lov.component.d.ts +43 -43
- package/lib/data-lov/data-lov.module.d.ts +12 -12
- package/package.json +1 -1
- package/public-api.d.ts +17 -17
@@ -1,164 +1,164 @@
|
|
1
|
-
import { AXConfig } from '@acorex/core';
|
2
|
-
import { Input, ContentChild, Directive } from '@angular/core';
|
3
|
-
import { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class AXGridDataColumn {
|
6
|
-
constructor() {
|
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
|
-
render() {
|
28
|
-
const 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(c => c != 'filterMenuTab');
|
39
|
-
col.floatingFilter = false;
|
40
|
-
}
|
41
|
-
if (this.menuColumnDisable == true) {
|
42
|
-
col.menuTabs = col.menuTabs.filter(c => c != 'columnsMenuTab');
|
43
|
-
}
|
44
|
-
if (this.menuItemDisable == true) {
|
45
|
-
col.menuTabs = col.menuTabs.filter(c => 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
|
-
const THAT = this;
|
83
|
-
if (this.cellClass instanceof Function) {
|
84
|
-
col.cellClass = (p) => {
|
85
|
-
return THAT.cellClass({
|
86
|
-
column: THAT,
|
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 = (params) => {
|
105
|
-
return true;
|
106
|
-
};
|
107
|
-
// col.headerCheckboxSelection = this.headerCheckbox;
|
108
|
-
}
|
109
|
-
return col;
|
110
|
-
}
|
111
|
-
}
|
112
|
-
AXGridDataColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridDataColumn, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
113
|
-
AXGridDataColumn.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: AXGridDataColumn, inputs: { width: "width", maxWidth: "maxWidth", minWidth: "minWidth", pinned: "pinned", allowSorting: "allowSorting", allowFiltering: "allowFiltering", cellClass: "cellClass", sort: "sort", field: "field", caption: "caption", cellRendererParams: "cellRendererParams", checkbox: "checkbox", headerCheckbox: "headerCheckbox", groupIndex: "groupIndex", treeIndex: "treeIndex", enableRowGroup: "enableRowGroup", hide: "hide", floatingFilter: "floatingFilter", disableMenu: "disableMenu", resizable: "resizable", menuColumnDisable: "menuColumnDisable", menuItemDisable: "menuItemDisable" }, queries: [{ propertyName: "cellTemplate", first: true, predicate: AXDataGridCellTemplateComponent, descendants: true }], ngImport: i0 });
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridDataColumn, decorators: [{
|
115
|
-
type: Directive
|
116
|
-
}], ctorParameters: function () { return []; }, propDecorators: { cellTemplate: [{
|
117
|
-
type: ContentChild,
|
118
|
-
args: [AXDataGridCellTemplateComponent]
|
119
|
-
}], width: [{
|
120
|
-
type: Input
|
121
|
-
}], maxWidth: [{
|
122
|
-
type: Input
|
123
|
-
}], minWidth: [{
|
124
|
-
type: Input
|
125
|
-
}], pinned: [{
|
126
|
-
type: Input
|
127
|
-
}], allowSorting: [{
|
128
|
-
type: Input
|
129
|
-
}], allowFiltering: [{
|
130
|
-
type: Input
|
131
|
-
}], cellClass: [{
|
132
|
-
type: Input
|
133
|
-
}], sort: [{
|
134
|
-
type: Input
|
135
|
-
}], field: [{
|
136
|
-
type: Input
|
137
|
-
}], caption: [{
|
138
|
-
type: Input
|
139
|
-
}], cellRendererParams: [{
|
140
|
-
type: Input
|
141
|
-
}], checkbox: [{
|
142
|
-
type: Input
|
143
|
-
}], headerCheckbox: [{
|
144
|
-
type: Input
|
145
|
-
}], groupIndex: [{
|
146
|
-
type: Input
|
147
|
-
}], treeIndex: [{
|
148
|
-
type: Input
|
149
|
-
}], enableRowGroup: [{
|
150
|
-
type: Input
|
151
|
-
}], hide: [{
|
152
|
-
type: Input
|
153
|
-
}], floatingFilter: [{
|
154
|
-
type: Input
|
155
|
-
}], disableMenu: [{
|
156
|
-
type: Input
|
157
|
-
}], resizable: [{
|
158
|
-
type: Input
|
159
|
-
}], menuColumnDisable: [{
|
160
|
-
type: Input
|
161
|
-
}], menuItemDisable: [{
|
162
|
-
type: Input
|
163
|
-
}] } });
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWdyaWQvY29sdW1ucy9jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUt2RixNQUFNLE9BQWdCLGdCQUFnQjtJQXdFbEM7UUFqRUEsVUFBSyxHQUFXLEdBQUcsQ0FBQztRQVNwQixXQUFNLEdBQTJCLElBQUksQ0FBQztRQUd0QyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUc3QixtQkFBYyxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsSUFBSSxLQUFLLENBQUM7UUFNM0UsU0FBSSxHQUEwQixJQUFJLENBQUM7UUFHbkMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUduQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBTXJCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFHaEMsZUFBVSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBR3hCLGNBQVMsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUd2QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBR3RCLG1CQUFjLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUczRSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLHNCQUFpQixHQUFZLEtBQUssQ0FB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K0I7NEZBSDNCLGdCQUFnQjtrQkFEckMsU0FBUzswRUFLTixZQUFZO3NCQURYLFlBQVk7dUJBQUMsK0JBQStCO2dCQUk3QyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhHcmlkQ2VsbFBhcmFtcyB9IGZyb20gJy4uL2RhdGFncmlkLmV2ZW50cyc7XHJcbmltcG9ydCB7IEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuLi90ZW1wbGF0ZXMvY2VsbC10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWERhdGVQaWNrZXJGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtY29sdW1uLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEdyaWREYXRhQ29sdW1uIHtcclxuXHJcblxyXG4gICAgQENvbnRlbnRDaGlsZChBWERhdGFHcmlkQ2VsbFRlbXBsYXRlQ29tcG9uZW50KVxyXG4gICAgY2VsbFRlbXBsYXRlOiBBWERhdGFHcmlkQ2VsbFRlbXBsYXRlQ29tcG9uZW50O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICB3aWR0aDogbnVtYmVyID0gMTAwO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBtYXhXaWR0aDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBtaW5XaWR0aDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwaW5uZWQ6ICdzdGFydCcgfCAnZW5kJyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBhbGxvd1NvcnRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBhbGxvd0ZpbHRlcmluZzogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnZGF0YWdyaWQuYWxsb3dGaWx0ZXJpbmcnKSB8fCBmYWxzZTs7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGNlbGxDbGFzczogKHBhcmFtczogQVhHcmlkQ2VsbFBhcmFtcykgPT4gKHN0cmluZyB8IHN0cmluZ1tdKSB8IChzdHJpbmcgfCBzdHJpbmdbXSk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNvcnQ6ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGZpZWxkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgY2FwdGlvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGNlbGxSZW5kZXJlclBhcmFtczogYW55O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBjaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBoZWFkZXJDaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBncm91cEluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgdHJlZUluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZW5hYmxlUm93R3JvdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaGlkZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBmbG9hdGluZ0ZpbHRlcjogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnZGF0YWdyaWQuZmxvYXRpbmdGaWx0ZXInKSB8fCBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZGlzYWJsZU1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcmVzaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgbWVudUNvbHVtbkRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgbWVudUl0ZW1EaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICByZW5kZXIoKTogYW55IHtcclxuICAgICAgICBjb25zdCBjb2w6IGFueSA9IHtcclxuICAgICAgICAgICAgZmllbGQ6IHRoaXMuZmllbGQsXHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29sLnJlc2l6YWJsZSA9IHRoaXMucmVzaXphYmxlO1xyXG4gICAgICAgIGNvbC5zdXBwcmVzc01lbnUgPSB0aGlzLmRpc2FibGVNZW51O1xyXG4gICAgICAgIGNvbC5tZW51VGFicyA9IFsnZmlsdGVyTWVudVRhYicsICdjb2x1bW5zTWVudVRhYicsICdnZW5lcmFsTWVudVRhYiddXHJcbiAgICAgICAgY29sLmZsb2F0aW5nRmlsdGVyID0gdGhpcy5mbG9hdGluZ0ZpbHRlcjtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmFsbG93RmlsdGVyaW5nKSB7XHJcbiAgICAgICAgICAgIGNvbC5maWx0ZXIgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29sLm1lbnVUYWJzID0gY29sLm1lbnVUYWJzLmZpbHRlcihjID0+IGMgIT0gJ2ZpbHRlck1lbnVUYWInKTtcclxuICAgICAgICAgICAgY29sLmZsb2F0aW5nRmlsdGVyID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1lbnVDb2x1bW5EaXNhYmxlID09IHRydWUpIHtcclxuICAgICAgICAgICAgY29sLm1lbnVUYWJzID0gY29sLm1lbnVUYWJzLmZpbHRlcihjID0+IGMgIT0gJ2NvbHVtbnNNZW51VGFiJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1lbnVJdGVtRGlzYWJsZSA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIGNvbC5tZW51VGFicyA9IGNvbC5tZW51VGFicy5maWx0ZXIoYyA9PiBjICE9ICdnZW5lcmFsTWVudVRhYicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5jYXB0aW9uKSB7XHJcbiAgICAgICAgICAgIGNvbC5oZWFkZXJOYW1lID0gdGhpcy5jYXB0aW9uO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5taW5XaWR0aCkge1xyXG4gICAgICAgICAgICBjb2wubWluV2lkdGggPSB0aGlzLm1pbldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5tYXhXaWR0aCkge1xyXG4gICAgICAgICAgICBjb2wubWF4V2lkdGggPSB0aGlzLm1heFdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5waW5uZWQpIHtcclxuICAgICAgICAgICAgY29sLnBpbm5lZCA9IHRoaXMucGlubmVkID09PSAnc3RhcnQnID8gJ3JpZ2h0JyA6ICdsZWZ0JztcclxuICAgICAgICAgICAgLy8gVE9ETzogQ2hhbmdlIGJhc2VkIG9uIGxheW91dFxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5hbGxvd1NvcnRpbmcpIHtcclxuICAgICAgICAgICAgY29sLnNvcnRhYmxlID0gdGhpcy5hbGxvd1NvcnRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnNvcnQpIHtcclxuICAgICAgICAgICAgY29sLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5ncm91cEluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgY29sLnJvd0dyb3VwSW5kZXggPSB0aGlzLmdyb3VwSW5kZXg7XHJcbiAgICAgICAgICAgIGNvbC5yb3dHcm91cCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlUm93R3JvdXAgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMudHJlZUluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgY29sLnJvd0dyb3VwSW5kZXggPSB0aGlzLnRyZWVJbmRleDtcclxuICAgICAgICAgICAgY29sLnJvd0dyb3VwID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmhpZGUpIHtcclxuICAgICAgICAgICAgY29sLmhpZGUgPSB0cnVlO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlUm93R3JvdXApIHtcclxuICAgICAgICAgICAgY29sLmVuYWJsZVJvd0dyb3VwID0gdGhpcy5lbmFibGVSb3dHcm91cDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNlbGxDbGFzcykge1xyXG4gICAgICAgICAgICBjb25zdCBUSEFUID0gdGhpcztcclxuICAgICAgICAgICAgaWYgKHRoaXMuY2VsbENsYXNzIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgIGNvbC5jZWxsQ2xhc3MgPSAocCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBUSEFULmNlbGxDbGFzcyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogVEhBVCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm93SW5kZXg6IHAubm9kZS5yb3dJbmRleCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm93TGV2ZWw6IHAubm9kZS5sZXZlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogcC5kYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcC52YWx1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbC5jZWxsQ2xhc3MgPSB0aGlzLmNlbGxDbGFzcztcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICBpZiAodGhpcy5jZWxsVGVtcGxhdGUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBjb2wuY2VsbFJlbmRlcmVyRnJhbWV3b3JrID0gdGhpcy5jZWxsVGVtcGxhdGUucmVuZGVyZXI7XHJcbiAgICAgICAgICAgIGNvbC5jZWxsUmVuZGVyZXJQYXJhbXMgPSB0aGlzLmNlbGxUZW1wbGF0ZS5wYXJhbXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jaGVja2JveCkge1xyXG4gICAgICAgICAgICBjb2wuY2hlY2tib3hTZWxlY3Rpb24gPSAocGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgLy8gIGNvbC5oZWFkZXJDaGVja2JveFNlbGVjdGlvbiA9IHRoaXMuaGVhZGVyQ2hlY2tib3g7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjb2w7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iXX0=
|
1
|
+
import { AXConfig } from '@acorex/core';
|
2
|
+
import { Input, ContentChild, Directive } from '@angular/core';
|
3
|
+
import { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class AXGridDataColumn {
|
6
|
+
constructor() {
|
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
|
+
render() {
|
28
|
+
const 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(c => c != 'filterMenuTab');
|
39
|
+
col.floatingFilter = false;
|
40
|
+
}
|
41
|
+
if (this.menuColumnDisable == true) {
|
42
|
+
col.menuTabs = col.menuTabs.filter(c => c != 'columnsMenuTab');
|
43
|
+
}
|
44
|
+
if (this.menuItemDisable == true) {
|
45
|
+
col.menuTabs = col.menuTabs.filter(c => 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
|
+
const THAT = this;
|
83
|
+
if (this.cellClass instanceof Function) {
|
84
|
+
col.cellClass = (p) => {
|
85
|
+
return THAT.cellClass({
|
86
|
+
column: THAT,
|
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 = (params) => {
|
105
|
+
return true;
|
106
|
+
};
|
107
|
+
// col.headerCheckboxSelection = this.headerCheckbox;
|
108
|
+
}
|
109
|
+
return col;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
AXGridDataColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridDataColumn, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
113
|
+
AXGridDataColumn.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: AXGridDataColumn, inputs: { width: "width", maxWidth: "maxWidth", minWidth: "minWidth", pinned: "pinned", allowSorting: "allowSorting", allowFiltering: "allowFiltering", cellClass: "cellClass", sort: "sort", field: "field", caption: "caption", cellRendererParams: "cellRendererParams", checkbox: "checkbox", headerCheckbox: "headerCheckbox", groupIndex: "groupIndex", treeIndex: "treeIndex", enableRowGroup: "enableRowGroup", hide: "hide", floatingFilter: "floatingFilter", disableMenu: "disableMenu", resizable: "resizable", menuColumnDisable: "menuColumnDisable", menuItemDisable: "menuItemDisable" }, queries: [{ propertyName: "cellTemplate", first: true, predicate: AXDataGridCellTemplateComponent, descendants: true }], ngImport: i0 });
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridDataColumn, decorators: [{
|
115
|
+
type: Directive
|
116
|
+
}], ctorParameters: function () { return []; }, propDecorators: { cellTemplate: [{
|
117
|
+
type: ContentChild,
|
118
|
+
args: [AXDataGridCellTemplateComponent]
|
119
|
+
}], width: [{
|
120
|
+
type: Input
|
121
|
+
}], maxWidth: [{
|
122
|
+
type: Input
|
123
|
+
}], minWidth: [{
|
124
|
+
type: Input
|
125
|
+
}], pinned: [{
|
126
|
+
type: Input
|
127
|
+
}], allowSorting: [{
|
128
|
+
type: Input
|
129
|
+
}], allowFiltering: [{
|
130
|
+
type: Input
|
131
|
+
}], cellClass: [{
|
132
|
+
type: Input
|
133
|
+
}], sort: [{
|
134
|
+
type: Input
|
135
|
+
}], field: [{
|
136
|
+
type: Input
|
137
|
+
}], caption: [{
|
138
|
+
type: Input
|
139
|
+
}], cellRendererParams: [{
|
140
|
+
type: Input
|
141
|
+
}], checkbox: [{
|
142
|
+
type: Input
|
143
|
+
}], headerCheckbox: [{
|
144
|
+
type: Input
|
145
|
+
}], groupIndex: [{
|
146
|
+
type: Input
|
147
|
+
}], treeIndex: [{
|
148
|
+
type: Input
|
149
|
+
}], enableRowGroup: [{
|
150
|
+
type: Input
|
151
|
+
}], hide: [{
|
152
|
+
type: Input
|
153
|
+
}], floatingFilter: [{
|
154
|
+
type: Input
|
155
|
+
}], disableMenu: [{
|
156
|
+
type: Input
|
157
|
+
}], resizable: [{
|
158
|
+
type: Input
|
159
|
+
}], menuColumnDisable: [{
|
160
|
+
type: Input
|
161
|
+
}], menuItemDisable: [{
|
162
|
+
type: Input
|
163
|
+
}] } });
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWdyaWQvY29sdW1ucy9jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUt2RixNQUFNLE9BQWdCLGdCQUFnQjtJQXdFbEM7UUFqRUEsVUFBSyxHQUFXLEdBQUcsQ0FBQztRQVNwQixXQUFNLEdBQTJCLElBQUksQ0FBQztRQUd0QyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUc3QixtQkFBYyxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsSUFBSSxLQUFLLENBQUM7UUFNM0UsU0FBSSxHQUEwQixJQUFJLENBQUM7UUFHbkMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUduQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBTXJCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFHaEMsZUFBVSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBR3hCLGNBQVMsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUd2QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBR3RCLG1CQUFjLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUczRSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLHNCQUFpQixHQUFZLEtBQUssQ0FB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K0I7NEZBSDNCLGdCQUFnQjtrQkFEckMsU0FBUzswRUFLTixZQUFZO3NCQURYLFlBQVk7dUJBQUMsK0JBQStCO2dCQUk3QyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBJbnB1dCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEdyaWRDZWxsUGFyYW1zIH0gZnJvbSAnLi4vZGF0YWdyaWQuZXZlbnRzJztcbmltcG9ydCB7IEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuLi90ZW1wbGF0ZXMvY2VsbC10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEYXRlUGlja2VyRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWNvbHVtbi5jb21wb25lbnQnO1xuXG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYR3JpZERhdGFDb2x1bW4ge1xuXG5cbiAgICBAQ29udGVudENoaWxkKEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQpXG4gICAgY2VsbFRlbXBsYXRlOiBBWERhdGFHcmlkQ2VsbFRlbXBsYXRlQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICB3aWR0aDogbnVtYmVyID0gMTAwO1xuXG4gICAgQElucHV0KClcbiAgICBtYXhXaWR0aDogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBtaW5XaWR0aDogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwaW5uZWQ6ICdzdGFydCcgfCAnZW5kJyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBhbGxvd1NvcnRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBhbGxvd0ZpbHRlcmluZzogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnZGF0YWdyaWQuYWxsb3dGaWx0ZXJpbmcnKSB8fCBmYWxzZTs7XG5cbiAgICBASW5wdXQoKVxuICAgIGNlbGxDbGFzczogKHBhcmFtczogQVhHcmlkQ2VsbFBhcmFtcykgPT4gKHN0cmluZyB8IHN0cmluZ1tdKSB8IChzdHJpbmcgfCBzdHJpbmdbXSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNvcnQ6ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGZpZWxkOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgY2FwdGlvbjogc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNlbGxSZW5kZXJlclBhcmFtczogYW55O1xuXG4gICAgQElucHV0KClcbiAgICBjaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBoZWFkZXJDaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBncm91cEluZGV4OiBudW1iZXIgPSAtMTtcblxuICAgIEBJbnB1dCgpXG4gICAgdHJlZUluZGV4OiBudW1iZXIgPSAtMTtcblxuICAgIEBJbnB1dCgpXG4gICAgZW5hYmxlUm93R3JvdXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGlkZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBmbG9hdGluZ0ZpbHRlcjogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnZGF0YWdyaWQuZmxvYXRpbmdGaWx0ZXInKSB8fCBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZU1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcmVzaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWVudUNvbHVtbkRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWVudUl0ZW1EaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgcmVuZGVyKCk6IGFueSB7XG4gICAgICAgIGNvbnN0IGNvbDogYW55ID0ge1xuICAgICAgICAgICAgZmllbGQ6IHRoaXMuZmllbGQsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy53aWR0aCxcbiAgICAgICAgfTtcbiAgICAgICAgY29sLnJlc2l6YWJsZSA9IHRoaXMucmVzaXphYmxlO1xuICAgICAgICBjb2wuc3VwcHJlc3NNZW51ID0gdGhpcy5kaXNhYmxlTWVudTtcbiAgICAgICAgY29sLm1lbnVUYWJzID0gWydmaWx0ZXJNZW51VGFiJywgJ2NvbHVtbnNNZW51VGFiJywgJ2dlbmVyYWxNZW51VGFiJ11cbiAgICAgICAgY29sLmZsb2F0aW5nRmlsdGVyID0gdGhpcy5mbG9hdGluZ0ZpbHRlcjtcblxuICAgICAgICBpZiAoIXRoaXMuYWxsb3dGaWx0ZXJpbmcpIHtcbiAgICAgICAgICAgIGNvbC5maWx0ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbC5tZW51VGFicyA9IGNvbC5tZW51VGFicy5maWx0ZXIoYyA9PiBjICE9ICdmaWx0ZXJNZW51VGFiJyk7XG4gICAgICAgICAgICBjb2wuZmxvYXRpbmdGaWx0ZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tZW51Q29sdW1uRGlzYWJsZSA9PSB0cnVlKSB7XG4gICAgICAgICAgICBjb2wubWVudVRhYnMgPSBjb2wubWVudVRhYnMuZmlsdGVyKGMgPT4gYyAhPSAnY29sdW1uc01lbnVUYWInKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tZW51SXRlbURpc2FibGUgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29sLm1lbnVUYWJzID0gY29sLm1lbnVUYWJzLmZpbHRlcihjID0+IGMgIT0gJ2dlbmVyYWxNZW51VGFiJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2FwdGlvbikge1xuICAgICAgICAgICAgY29sLmhlYWRlck5hbWUgPSB0aGlzLmNhcHRpb247XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubWluV2lkdGgpIHtcbiAgICAgICAgICAgIGNvbC5taW5XaWR0aCA9IHRoaXMubWluV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubWF4V2lkdGgpIHtcbiAgICAgICAgICAgIGNvbC5tYXhXaWR0aCA9IHRoaXMubWF4V2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucGlubmVkKSB7XG4gICAgICAgICAgICBjb2wucGlubmVkID0gdGhpcy5waW5uZWQgPT09ICdzdGFydCcgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgICAgICAgICAgLy8gVE9ETzogQ2hhbmdlIGJhc2VkIG9uIGxheW91dFxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFsbG93U29ydGluZykge1xuICAgICAgICAgICAgY29sLnNvcnRhYmxlID0gdGhpcy5hbGxvd1NvcnRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc29ydCkge1xuICAgICAgICAgICAgY29sLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ncm91cEluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGNvbC5yb3dHcm91cEluZGV4ID0gdGhpcy5ncm91cEluZGV4O1xuICAgICAgICAgICAgY29sLnJvd0dyb3VwID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlUm93R3JvdXAgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudHJlZUluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGNvbC5yb3dHcm91cEluZGV4ID0gdGhpcy50cmVlSW5kZXg7XG4gICAgICAgICAgICBjb2wucm93R3JvdXAgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5oaWRlKSB7XG4gICAgICAgICAgICBjb2wuaGlkZSA9IHRydWU7XG5cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lbmFibGVSb3dHcm91cCkge1xuICAgICAgICAgICAgY29sLmVuYWJsZVJvd0dyb3VwID0gdGhpcy5lbmFibGVSb3dHcm91cDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNlbGxDbGFzcykge1xuICAgICAgICAgICAgY29uc3QgVEhBVCA9IHRoaXM7XG4gICAgICAgICAgICBpZiAodGhpcy5jZWxsQ2xhc3MgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgICAgICAgICAgIGNvbC5jZWxsQ2xhc3MgPSAocCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gVEhBVC5jZWxsQ2xhc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uOiBUSEFULFxuICAgICAgICAgICAgICAgICAgICAgICAgcm93SW5kZXg6IHAubm9kZS5yb3dJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd0xldmVsOiBwLm5vZGUubGV2ZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBwLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29sLmNlbGxDbGFzcyA9IHRoaXMuY2VsbENsYXNzO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy9cbiAgICAgICAgaWYgKHRoaXMuY2VsbFRlbXBsYXRlICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbC5jZWxsUmVuZGVyZXJGcmFtZXdvcmsgPSB0aGlzLmNlbGxUZW1wbGF0ZS5yZW5kZXJlcjtcbiAgICAgICAgICAgIGNvbC5jZWxsUmVuZGVyZXJQYXJhbXMgPSB0aGlzLmNlbGxUZW1wbGF0ZS5wYXJhbXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jaGVja2JveCkge1xuICAgICAgICAgICAgY29sLmNoZWNrYm94U2VsZWN0aW9uID0gKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vICBjb2wuaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gPSB0aGlzLmhlYWRlckNoZWNrYm94O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb2w7XG4gICAgfVxufVxuXG5cblxuXG5cblxuXG5cbiJdfQ==
|
@@ -1,115 +1,115 @@
|
|
1
|
-
import { AXGridDataColumn } from './column.component';
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, EventEmitter, ViewEncapsulation, Output } from '@angular/core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@angular/common";
|
5
|
-
export class AXGridCommandColumn extends AXGridDataColumn {
|
6
|
-
constructor() {
|
7
|
-
super(...arguments);
|
8
|
-
this.items = [];
|
9
|
-
this.onItemClick = new EventEmitter();
|
10
|
-
}
|
11
|
-
render() {
|
12
|
-
const col = super.render();
|
13
|
-
if (!col.cellRendererFramework) {
|
14
|
-
col.cellRendererFramework = CommandRenderer;
|
15
|
-
}
|
16
|
-
col.cellRendererParams = {
|
17
|
-
items: this.items,
|
18
|
-
onClick: (e) => {
|
19
|
-
this.onItemClick.emit({
|
20
|
-
command: e.name,
|
21
|
-
data: e.data,
|
22
|
-
rowIndex: e.rowIndex,
|
23
|
-
rowLevel: e.rowLevel,
|
24
|
-
htmlEvent: e.htmlEvent
|
25
|
-
});
|
26
|
-
}
|
27
|
-
};
|
28
|
-
col.sortable = false;
|
29
|
-
col.filter = false;
|
30
|
-
col.valueGetter = (params) => {
|
31
|
-
return this.items;
|
32
|
-
};
|
33
|
-
return col;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
AXGridCommandColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridCommandColumn, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
37
|
-
AXGridCommandColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXGridCommandColumn, selector: "ax-command-column", inputs: { items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridCommandColumn, decorators: [{
|
39
|
-
type: Component,
|
40
|
-
args: [{
|
41
|
-
selector: 'ax-command-column',
|
42
|
-
template: '',
|
43
|
-
providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }],
|
44
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
45
|
-
encapsulation: ViewEncapsulation.None
|
46
|
-
}]
|
47
|
-
}], propDecorators: { items: [{
|
48
|
-
type: Input
|
49
|
-
}], onItemClick: [{
|
50
|
-
type: Output
|
51
|
-
}] } });
|
52
|
-
export class CommandRenderer {
|
53
|
-
constructor() {
|
54
|
-
this.items = [];
|
55
|
-
}
|
56
|
-
agInit(params) {
|
57
|
-
this.mapParams(params);
|
58
|
-
}
|
59
|
-
refresh(params) {
|
60
|
-
this.mapParams(params);
|
61
|
-
return true;
|
62
|
-
}
|
63
|
-
mapParams(params) {
|
64
|
-
this.node = params.node;
|
65
|
-
this.items = typeof params.items == 'function' ? params.items({ data: this.node.data }) : Array.isArray(params.items) ? params.items : [];
|
66
|
-
this.clickCallback = params.onClick;
|
67
|
-
}
|
68
|
-
onClick(item, e) {
|
69
|
-
if (this.clickCallback && !item.disable) {
|
70
|
-
this.clickCallback({
|
71
|
-
name: item.name,
|
72
|
-
rowLevel: this.node.level,
|
73
|
-
rowIndex: this.node.rowIndex,
|
74
|
-
data: this.node.data,
|
75
|
-
htmlEvent: e
|
76
|
-
});
|
77
|
-
}
|
78
|
-
}
|
79
|
-
}
|
80
|
-
CommandRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CommandRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
81
|
-
CommandRenderer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CommandRenderer, selector: "ax-command-cell", ngImport: i0, template: `
|
82
|
-
<button
|
83
|
-
*ngFor="let item of items; let i = index"
|
84
|
-
class="ax button md ax-grid-command-button {{ item.style || 'ax primary blank' }}"
|
85
|
-
[class.disabled]="item.disable"
|
86
|
-
type="button"
|
87
|
-
[title]="item.tooltip"
|
88
|
-
[attr.tabindex]="i"
|
89
|
-
(click)="onClick(item, $event)"
|
90
|
-
>
|
91
|
-
<i [ngClass]="item.icon"></i>{{ item.text }}
|
92
|
-
</button>
|
93
|
-
`, isInline: true, directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CommandRenderer, decorators: [{
|
95
|
-
type: Component,
|
96
|
-
args: [{
|
97
|
-
selector: 'ax-command-cell',
|
98
|
-
template: `
|
99
|
-
<button
|
100
|
-
*ngFor="let item of items; let i = index"
|
101
|
-
class="ax button md ax-grid-command-button {{ item.style || 'ax primary blank' }}"
|
102
|
-
[class.disabled]="item.disable"
|
103
|
-
type="button"
|
104
|
-
[title]="item.tooltip"
|
105
|
-
[attr.tabindex]="i"
|
106
|
-
(click)="onClick(item, $event)"
|
107
|
-
>
|
108
|
-
<i [ngClass]="item.icon"></i>{{ item.text }}
|
109
|
-
</button>
|
110
|
-
`,
|
111
|
-
encapsulation: ViewEncapsulation.None,
|
112
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
113
|
-
}]
|
114
|
-
}], ctorParameters: function () { return []; } });
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
import { AXGridDataColumn } from './column.component';
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, EventEmitter, ViewEncapsulation, Output } from '@angular/core';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/common";
|
5
|
+
export class AXGridCommandColumn extends AXGridDataColumn {
|
6
|
+
constructor() {
|
7
|
+
super(...arguments);
|
8
|
+
this.items = [];
|
9
|
+
this.onItemClick = new EventEmitter();
|
10
|
+
}
|
11
|
+
render() {
|
12
|
+
const col = super.render();
|
13
|
+
if (!col.cellRendererFramework) {
|
14
|
+
col.cellRendererFramework = CommandRenderer;
|
15
|
+
}
|
16
|
+
col.cellRendererParams = {
|
17
|
+
items: this.items,
|
18
|
+
onClick: (e) => {
|
19
|
+
this.onItemClick.emit({
|
20
|
+
command: e.name,
|
21
|
+
data: e.data,
|
22
|
+
rowIndex: e.rowIndex,
|
23
|
+
rowLevel: e.rowLevel,
|
24
|
+
htmlEvent: e.htmlEvent
|
25
|
+
});
|
26
|
+
}
|
27
|
+
};
|
28
|
+
col.sortable = false;
|
29
|
+
col.filter = false;
|
30
|
+
col.valueGetter = (params) => {
|
31
|
+
return this.items;
|
32
|
+
};
|
33
|
+
return col;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
AXGridCommandColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridCommandColumn, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
37
|
+
AXGridCommandColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXGridCommandColumn, selector: "ax-command-column", inputs: { items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridCommandColumn, decorators: [{
|
39
|
+
type: Component,
|
40
|
+
args: [{
|
41
|
+
selector: 'ax-command-column',
|
42
|
+
template: '',
|
43
|
+
providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }],
|
44
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
45
|
+
encapsulation: ViewEncapsulation.None
|
46
|
+
}]
|
47
|
+
}], propDecorators: { items: [{
|
48
|
+
type: Input
|
49
|
+
}], onItemClick: [{
|
50
|
+
type: Output
|
51
|
+
}] } });
|
52
|
+
export class CommandRenderer {
|
53
|
+
constructor() {
|
54
|
+
this.items = [];
|
55
|
+
}
|
56
|
+
agInit(params) {
|
57
|
+
this.mapParams(params);
|
58
|
+
}
|
59
|
+
refresh(params) {
|
60
|
+
this.mapParams(params);
|
61
|
+
return true;
|
62
|
+
}
|
63
|
+
mapParams(params) {
|
64
|
+
this.node = params.node;
|
65
|
+
this.items = typeof params.items == 'function' ? params.items({ data: this.node.data }) : Array.isArray(params.items) ? params.items : [];
|
66
|
+
this.clickCallback = params.onClick;
|
67
|
+
}
|
68
|
+
onClick(item, e) {
|
69
|
+
if (this.clickCallback && !item.disable) {
|
70
|
+
this.clickCallback({
|
71
|
+
name: item.name,
|
72
|
+
rowLevel: this.node.level,
|
73
|
+
rowIndex: this.node.rowIndex,
|
74
|
+
data: this.node.data,
|
75
|
+
htmlEvent: e
|
76
|
+
});
|
77
|
+
}
|
78
|
+
}
|
79
|
+
}
|
80
|
+
CommandRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CommandRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
81
|
+
CommandRenderer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CommandRenderer, selector: "ax-command-cell", ngImport: i0, template: `
|
82
|
+
<button
|
83
|
+
*ngFor="let item of items; let i = index"
|
84
|
+
class="ax button md ax-grid-command-button {{ item.style || 'ax primary blank' }}"
|
85
|
+
[class.disabled]="item.disable"
|
86
|
+
type="button"
|
87
|
+
[title]="item.tooltip"
|
88
|
+
[attr.tabindex]="i"
|
89
|
+
(click)="onClick(item, $event)"
|
90
|
+
>
|
91
|
+
<i [ngClass]="item.icon"></i>{{ item.text }}
|
92
|
+
</button>
|
93
|
+
`, isInline: true, directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CommandRenderer, decorators: [{
|
95
|
+
type: Component,
|
96
|
+
args: [{
|
97
|
+
selector: 'ax-command-cell',
|
98
|
+
template: `
|
99
|
+
<button
|
100
|
+
*ngFor="let item of items; let i = index"
|
101
|
+
class="ax button md ax-grid-command-button {{ item.style || 'ax primary blank' }}"
|
102
|
+
[class.disabled]="item.disable"
|
103
|
+
type="button"
|
104
|
+
[title]="item.tooltip"
|
105
|
+
[attr.tabindex]="i"
|
106
|
+
(click)="onClick(item, $event)"
|
107
|
+
>
|
108
|
+
<i [ngClass]="item.icon"></i>{{ item.text }}
|
109
|
+
</button>
|
110
|
+
`,
|
111
|
+
encapsulation: ViewEncapsulation.None,
|
112
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
113
|
+
}]
|
114
|
+
}], ctorParameters: function () { return []; } });
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtZ3JpZC9jb2x1bW5zL2NvbW1hbmQtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7O0FBZXRJLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFQekQ7O1FBU0UsVUFBSyxHQUE0QyxFQUFFLENBQUM7UUFHcEQsZ0JBQVcsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7S0EwQjlGO0lBeEJDLE1BQU07UUFDSixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixHQUFHLENBQUMscUJBQXFCLEdBQUcsZUFBZSxDQUFDO1NBQzdDO1FBQ0QsR0FBRyxDQUFDLGtCQUFrQixHQUFHO1lBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztvQkFDcEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJO29CQUNmLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtvQkFDWixRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVE7b0JBQ3BCLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTtvQkFDcEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTO2lCQUN2QixDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQztRQUNGLEdBQUcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOztpSEE5QlUsbUJBQW1CO3FHQUFuQixtQkFBbUIsaUhBSm5CLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUMsaURBRGxFLEVBQUU7NEZBS0QsbUJBQW1CO2tCQVAvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO29CQUNaLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcscUJBQXFCLEVBQUUsQ0FBQztvQkFDNUUsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs4QkFHQyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNOztBQStDVCxNQUFNLE9BQU8sZUFBZTtJQUsxQjtRQUpBLFVBQUssR0FBNEMsRUFBRSxDQUFDO0lBSXJDLENBQUM7SUFFaEIsTUFBTSxDQUFDLE1BQTJCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUEyQjtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFNBQVMsQ0FBQyxNQUFXO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sTUFBTSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFJLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWdCLEVBQUUsQ0FBYTtRQUNyQyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO2dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUNwQixTQUFTLEVBQUUsQ0FBQzthQUNiLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7NkdBaENVLGVBQWU7aUdBQWYsZUFBZSx1REFoQmhCOzs7Ozs7Ozs7Ozs7R0FZVDs0RkFJVSxlQUFlO2tCQWxCM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztHQVlUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEdyaWREYXRhQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdFbmNhcHN1bGF0aW9uLCBPdXRwdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQ2VsbFJlbmRlcmVyUGFyYW1zIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgQVhHcmlkUm93Q29tbWFuZEV2ZW50IH0gZnJvbSAnLi4vZGF0YWdyaWQuZXZlbnRzJztcbmltcG9ydCB7IEFYTWVudUl0ZW0gfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHsgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcblxuZXhwb3J0IHR5cGUgQVhHcmlkUm93Q29tbWFuZEZ1bmN0aW9uID0gKHJvdzogYW55KSA9PiBBWE1lbnVJdGVtW107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbW1hbmQtY29sdW1uJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYR3JpZERhdGFDb2x1bW4sIHVzZUV4aXN0aW5nOiBBWEdyaWRDb21tYW5kQ29sdW1uIH1dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBWEdyaWRDb21tYW5kQ29sdW1uIGV4dGVuZHMgQVhHcmlkRGF0YUNvbHVtbiB7XG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBBWE1lbnVJdGVtW10gfCBBWEdyaWRSb3dDb21tYW5kRnVuY3Rpb24gPSBbXTtcblxuICBAT3V0cHV0KClcbiAgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWEdyaWRSb3dDb21tYW5kRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEdyaWRSb3dDb21tYW5kRXZlbnQ+KCk7XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGNvbCA9IHN1cGVyLnJlbmRlcigpO1xuICAgIGlmICghY29sLmNlbGxSZW5kZXJlckZyYW1ld29yaykge1xuICAgICAgY29sLmNlbGxSZW5kZXJlckZyYW1ld29yayA9IENvbW1hbmRSZW5kZXJlcjtcbiAgICB9XG4gICAgY29sLmNlbGxSZW5kZXJlclBhcmFtcyA9IHtcbiAgICAgIGl0ZW1zOiB0aGlzLml0ZW1zLFxuICAgICAgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KHtcbiAgICAgICAgICBjb21tYW5kOiBlLm5hbWUsXG4gICAgICAgICAgZGF0YTogZS5kYXRhLFxuICAgICAgICAgIHJvd0luZGV4OiBlLnJvd0luZGV4LFxuICAgICAgICAgIHJvd0xldmVsOiBlLnJvd0xldmVsLFxuICAgICAgICAgIGh0bWxFdmVudDogZS5odG1sRXZlbnRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBjb2wuc29ydGFibGUgPSBmYWxzZTtcbiAgICBjb2wuZmlsdGVyID0gZmFsc2U7XG4gICAgY29sLnZhbHVlR2V0dGVyID0gKHBhcmFtcykgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbXM7XG4gICAgfTtcbiAgICByZXR1cm4gY29sO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbW1hbmQtY2VsbCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgY2xhc3M9XCJheCBidXR0b24gbWQgYXgtZ3JpZC1jb21tYW5kLWJ1dHRvbiB7eyBpdGVtLnN0eWxlIHx8ICdheCBwcmltYXJ5IGJsYW5rJyB9fVwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW3RpdGxlXT1cIml0ZW0udG9vbHRpcFwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJpXCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrKGl0ZW0sICRldmVudClcIlxuICAgID5cbiAgICAgIDxpIFtuZ0NsYXNzXT1cIml0ZW0uaWNvblwiPjwvaT57eyBpdGVtLnRleHQgfX1cbiAgICA8L2J1dHRvbj5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ29tbWFuZFJlbmRlcmVyIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcbiAgaXRlbXM6IEFYTWVudUl0ZW1bXSB8IEFYR3JpZFJvd0NvbW1hbmRGdW5jdGlvbiA9IFtdO1xuICBub2RlOiBhbnk7XG4gIHByaXZhdGUgY2xpY2tDYWxsYmFjazogRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIGFnSW5pdChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLm1hcFBhcmFtcyhwYXJhbXMpO1xuICB9XG5cbiAgcmVmcmVzaChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpOiBib29sZWFuIHtcbiAgICB0aGlzLm1hcFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBQYXJhbXMocGFyYW1zOiBhbnkpIHtcbiAgICB0aGlzLm5vZGUgPSBwYXJhbXMubm9kZTtcbiAgICB0aGlzLml0ZW1zID0gdHlwZW9mIHBhcmFtcy5pdGVtcyA9PSAnZnVuY3Rpb24nID8gcGFyYW1zLml0ZW1zKHsgZGF0YTogdGhpcy5ub2RlLmRhdGEgfSkgOiBBcnJheS5pc0FycmF5KHBhcmFtcy5pdGVtcykgPyBwYXJhbXMuaXRlbXMgOiBbXTtcbiAgICB0aGlzLmNsaWNrQ2FsbGJhY2sgPSBwYXJhbXMub25DbGljaztcbiAgfVxuXG4gIG9uQ2xpY2soaXRlbTogQVhNZW51SXRlbSwgZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmNsaWNrQ2FsbGJhY2sgJiYgIWl0ZW0uZGlzYWJsZSkge1xuICAgICAgdGhpcy5jbGlja0NhbGxiYWNrKHtcbiAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgICByb3dMZXZlbDogdGhpcy5ub2RlLmxldmVsLFxuICAgICAgICByb3dJbmRleDogdGhpcy5ub2RlLnJvd0luZGV4LFxuICAgICAgICBkYXRhOiB0aGlzLm5vZGUuZGF0YSxcbiAgICAgICAgaHRtbEV2ZW50OiBlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|