@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.
- package/README.md +2 -2
- package/acorex-data-grid.d.ts +4 -4
- package/acorex-data-grid.metadata.json +1 -1
- package/bundles/acorex-data-grid.umd.js +1933 -1933
- package/bundles/acorex-data-grid.umd.js.map +1 -1
- package/bundles/acorex-data-grid.umd.min.js +1 -1
- package/bundles/acorex-data-grid.umd.min.js.map +1 -1
- package/esm2015/acorex-data-grid.js +4 -4
- package/esm2015/lib/data-grid/columns/check-column.component.js +104 -104
- package/esm2015/lib/data-grid/columns/column.component.js +204 -204
- package/esm2015/lib/data-grid/columns/command-column.component.js +103 -103
- package/esm2015/lib/data-grid/columns/date-column.component.js +114 -114
- package/esm2015/lib/data-grid/columns/row-number-column.component.js +39 -39
- package/esm2015/lib/data-grid/columns/selection-column.component.js +42 -42
- package/esm2015/lib/data-grid/columns/text-column.component.js +81 -81
- package/esm2015/lib/data-grid/datagrid.component.js +709 -709
- package/esm2015/lib/data-grid/datagrid.events.js +1 -1
- package/esm2015/lib/data-grid/datagrid.module.js +98 -98
- package/esm2015/lib/data-grid/filters/filter.component.js +25 -25
- package/esm2015/lib/data-grid/templates/cell-template.component.js +47 -47
- package/esm2015/lib/data-grid/templates/detail-template.component.js +45 -45
- package/esm2015/lib/data-grid/templates/row-template.component.js +40 -40
- package/esm2015/lib/data-lov/data-lov-popup/data-lov-popup.component.js +121 -121
- package/esm2015/lib/data-lov/data-lov.component.js +206 -206
- package/esm2015/lib/data-lov/data-lov.module.js +21 -21
- package/esm2015/public-api.js +17 -17
- package/esm5/acorex-data-grid.js +4 -4
- package/esm5/lib/data-grid/columns/check-column.component.js +102 -102
- package/esm5/lib/data-grid/columns/column.component.js +206 -206
- package/esm5/lib/data-grid/columns/command-column.component.js +98 -98
- package/esm5/lib/data-grid/columns/date-column.component.js +119 -119
- package/esm5/lib/data-grid/columns/row-number-column.component.js +42 -42
- package/esm5/lib/data-grid/columns/selection-column.component.js +46 -46
- package/esm5/lib/data-grid/columns/text-column.component.js +81 -81
- package/esm5/lib/data-grid/datagrid.component.js +767 -767
- package/esm5/lib/data-grid/datagrid.events.js +1 -1
- package/esm5/lib/data-grid/datagrid.module.js +101 -101
- package/esm5/lib/data-grid/filters/filter.component.js +16 -16
- package/esm5/lib/data-grid/templates/cell-template.component.js +46 -46
- package/esm5/lib/data-grid/templates/detail-template.component.js +49 -49
- package/esm5/lib/data-grid/templates/row-template.component.js +44 -44
- package/esm5/lib/data-lov/data-lov-popup/data-lov-popup.component.js +127 -127
- package/esm5/lib/data-lov/data-lov.component.js +216 -216
- package/esm5/lib/data-lov/data-lov.module.js +24 -24
- package/esm5/public-api.js +17 -17
- package/fesm2015/acorex-data-grid.js +1856 -1856
- package/fesm2015/acorex-data-grid.js.map +1 -1
- package/fesm5/acorex-data-grid.js +1935 -1935
- package/fesm5/acorex-data-grid.js.map +1 -1
- package/lib/data-grid/columns/check-column.component.d.ts +30 -30
- package/lib/data-grid/columns/column.component.d.ts +29 -29
- package/lib/data-grid/columns/command-column.component.d.ts +22 -22
- package/lib/data-grid/columns/date-column.component.d.ts +27 -27
- package/lib/data-grid/columns/row-number-column.component.d.ts +7 -7
- package/lib/data-grid/columns/selection-column.component.d.ts +8 -8
- package/lib/data-grid/columns/text-column.component.d.ts +20 -20
- package/lib/data-grid/datagrid.component.d.ts +129 -129
- package/lib/data-grid/datagrid.events.d.ts +20 -20
- package/lib/data-grid/datagrid.module.d.ts +3 -3
- package/lib/data-grid/filters/filter.component.d.ts +2 -2
- package/lib/data-grid/templates/cell-template.component.d.ts +17 -17
- package/lib/data-grid/templates/detail-template.component.d.ts +16 -16
- package/lib/data-grid/templates/row-template.component.d.ts +15 -15
- package/lib/data-lov/data-lov-popup/data-lov-popup.component.d.ts +29 -29
- package/lib/data-lov/data-lov.component.d.ts +39 -39
- package/lib/data-lov/data-lov.module.d.ts +2 -2
- package/package.json +26 -26
- package/public-api.d.ts +17 -17
@@ -1,104 +1,104 @@
|
|
1
|
-
var AXGridCheckColumn_1;
|
2
|
-
import { __decorate, __metadata } from "tslib";
|
3
|
-
import { Component, ChangeDetectionStrategy, ViewChild, ViewContainerRef } from '@angular/core';
|
4
|
-
import { AXGridDataColumn } from './column.component';
|
5
|
-
let AXGridCheckColumn = AXGridCheckColumn_1 = class AXGridCheckColumn extends AXGridDataColumn {
|
6
|
-
constructor() {
|
7
|
-
super();
|
8
|
-
}
|
9
|
-
render() {
|
10
|
-
const col = super.render();
|
11
|
-
if (!col.cellRendererFramework) {
|
12
|
-
col.cellRendererFramework = BooleanRenderer;
|
13
|
-
}
|
14
|
-
if (this.allowFiltering) {
|
15
|
-
col.filterFramework = BooleanFilterRenderer;
|
16
|
-
}
|
17
|
-
return col;
|
18
|
-
}
|
19
|
-
};
|
20
|
-
AXGridCheckColumn = AXGridCheckColumn_1 = __decorate([
|
21
|
-
Component({
|
22
|
-
selector: 'ax-check-column',
|
23
|
-
template: '',
|
24
|
-
providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn_1 }],
|
25
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
26
|
-
}),
|
27
|
-
__metadata("design:paramtypes", [])
|
28
|
-
], AXGridCheckColumn);
|
29
|
-
export { AXGridCheckColumn };
|
30
|
-
let BooleanRenderer = class BooleanRenderer {
|
31
|
-
constructor() { }
|
32
|
-
agInit(params) {
|
33
|
-
this.value = params.value;
|
34
|
-
}
|
35
|
-
refresh(params) {
|
36
|
-
this.value = params.value;
|
37
|
-
return true;
|
38
|
-
}
|
39
|
-
};
|
40
|
-
BooleanRenderer = __decorate([
|
41
|
-
Component({
|
42
|
-
template: `
|
43
|
-
<ax-check-box [value]='value' readonly='true'></ax-check-box>
|
44
|
-
`,
|
45
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
46
|
-
}),
|
47
|
-
__metadata("design:paramtypes", [])
|
48
|
-
], BooleanRenderer);
|
49
|
-
export { BooleanRenderer };
|
50
|
-
let BooleanFilterRenderer = class BooleanFilterRenderer {
|
51
|
-
constructor() {
|
52
|
-
this.value = null;
|
53
|
-
this.selectItem = [
|
54
|
-
{ value: 0, label: 'True' },
|
55
|
-
{ value: 1, label: 'False' },
|
56
|
-
];
|
57
|
-
}
|
58
|
-
agInit(params) {
|
59
|
-
this.params = params;
|
60
|
-
this.valueGetter = params.valueGetter;
|
61
|
-
}
|
62
|
-
isFilterActive() {
|
63
|
-
return this.value !== null && this.value !== undefined;
|
64
|
-
}
|
65
|
-
doesFilterPass(params) {
|
66
|
-
return this.value === this.valueGetter(params.node);
|
67
|
-
}
|
68
|
-
getModel() {
|
69
|
-
return { value: this.value };
|
70
|
-
}
|
71
|
-
setModel(model) {
|
72
|
-
this.value = model ? model.value : null;
|
73
|
-
}
|
74
|
-
ngAfterViewInit(params) {
|
75
|
-
window.setTimeout(() => {
|
76
|
-
this.input.element.nativeElement.focus();
|
77
|
-
});
|
78
|
-
}
|
79
|
-
onChange(newValue) {
|
80
|
-
if (this.value !== newValue) {
|
81
|
-
this.value = newValue;
|
82
|
-
this.params.filterChangedCallback();
|
83
|
-
}
|
84
|
-
}
|
85
|
-
};
|
86
|
-
__decorate([
|
87
|
-
ViewChild('input', { static: true, read: ViewContainerRef }),
|
88
|
-
__metadata("design:type", Object)
|
89
|
-
], BooleanFilterRenderer.prototype, "input", void 0);
|
90
|
-
BooleanFilterRenderer = __decorate([
|
91
|
-
Component({
|
92
|
-
template: `
|
93
|
-
<ax-data-grid-filter>
|
94
|
-
<ax-select-box
|
95
|
-
label='Select Box'
|
96
|
-
[items]='selectItem'
|
97
|
-
></ax-select-box>
|
98
|
-
</ax-data-grid-filter>
|
99
|
-
`,
|
100
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
101
|
-
})
|
102
|
-
], BooleanFilterRenderer);
|
103
|
-
export { BooleanFilterRenderer };
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
var AXGridCheckColumn_1;
|
2
|
+
import { __decorate, __metadata } from "tslib";
|
3
|
+
import { Component, ChangeDetectionStrategy, ViewChild, ViewContainerRef } from '@angular/core';
|
4
|
+
import { AXGridDataColumn } from './column.component';
|
5
|
+
let AXGridCheckColumn = AXGridCheckColumn_1 = class AXGridCheckColumn extends AXGridDataColumn {
|
6
|
+
constructor() {
|
7
|
+
super();
|
8
|
+
}
|
9
|
+
render() {
|
10
|
+
const col = super.render();
|
11
|
+
if (!col.cellRendererFramework) {
|
12
|
+
col.cellRendererFramework = BooleanRenderer;
|
13
|
+
}
|
14
|
+
if (this.allowFiltering) {
|
15
|
+
col.filterFramework = BooleanFilterRenderer;
|
16
|
+
}
|
17
|
+
return col;
|
18
|
+
}
|
19
|
+
};
|
20
|
+
AXGridCheckColumn = AXGridCheckColumn_1 = __decorate([
|
21
|
+
Component({
|
22
|
+
selector: 'ax-check-column',
|
23
|
+
template: '',
|
24
|
+
providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn_1 }],
|
25
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
26
|
+
}),
|
27
|
+
__metadata("design:paramtypes", [])
|
28
|
+
], AXGridCheckColumn);
|
29
|
+
export { AXGridCheckColumn };
|
30
|
+
let BooleanRenderer = class BooleanRenderer {
|
31
|
+
constructor() { }
|
32
|
+
agInit(params) {
|
33
|
+
this.value = params.value;
|
34
|
+
}
|
35
|
+
refresh(params) {
|
36
|
+
this.value = params.value;
|
37
|
+
return true;
|
38
|
+
}
|
39
|
+
};
|
40
|
+
BooleanRenderer = __decorate([
|
41
|
+
Component({
|
42
|
+
template: `
|
43
|
+
<ax-check-box [value]='value' readonly='true'></ax-check-box>
|
44
|
+
`,
|
45
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
46
|
+
}),
|
47
|
+
__metadata("design:paramtypes", [])
|
48
|
+
], BooleanRenderer);
|
49
|
+
export { BooleanRenderer };
|
50
|
+
let BooleanFilterRenderer = class BooleanFilterRenderer {
|
51
|
+
constructor() {
|
52
|
+
this.value = null;
|
53
|
+
this.selectItem = [
|
54
|
+
{ value: 0, label: 'True' },
|
55
|
+
{ value: 1, label: 'False' },
|
56
|
+
];
|
57
|
+
}
|
58
|
+
agInit(params) {
|
59
|
+
this.params = params;
|
60
|
+
this.valueGetter = params.valueGetter;
|
61
|
+
}
|
62
|
+
isFilterActive() {
|
63
|
+
return this.value !== null && this.value !== undefined;
|
64
|
+
}
|
65
|
+
doesFilterPass(params) {
|
66
|
+
return this.value === this.valueGetter(params.node);
|
67
|
+
}
|
68
|
+
getModel() {
|
69
|
+
return { value: this.value };
|
70
|
+
}
|
71
|
+
setModel(model) {
|
72
|
+
this.value = model ? model.value : null;
|
73
|
+
}
|
74
|
+
ngAfterViewInit(params) {
|
75
|
+
window.setTimeout(() => {
|
76
|
+
this.input.element.nativeElement.focus();
|
77
|
+
});
|
78
|
+
}
|
79
|
+
onChange(newValue) {
|
80
|
+
if (this.value !== newValue) {
|
81
|
+
this.value = newValue;
|
82
|
+
this.params.filterChangedCallback();
|
83
|
+
}
|
84
|
+
}
|
85
|
+
};
|
86
|
+
__decorate([
|
87
|
+
ViewChild('input', { static: true, read: ViewContainerRef }),
|
88
|
+
__metadata("design:type", Object)
|
89
|
+
], BooleanFilterRenderer.prototype, "input", void 0);
|
90
|
+
BooleanFilterRenderer = __decorate([
|
91
|
+
Component({
|
92
|
+
template: `
|
93
|
+
<ax-data-grid-filter>
|
94
|
+
<ax-select-box
|
95
|
+
label='Select Box'
|
96
|
+
[items]='selectItem'
|
97
|
+
></ax-select-box>
|
98
|
+
</ax-data-grid-filter>
|
99
|
+
`,
|
100
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
101
|
+
})
|
102
|
+
], BooleanFilterRenderer);
|
103
|
+
export { BooleanFilterRenderer };
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvZGF0YS1ncmlkLyIsInNvdXJjZXMiOlsibGliL2RhdGEtZ3JpZC9jb2x1bW5zL2NoZWNrLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBaUJ0RCxJQUFhLGlCQUFpQix5QkFBOUIsTUFBYSxpQkFBa0IsU0FBUSxnQkFBZ0I7SUFDckQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUU7WUFDOUIsR0FBRyxDQUFDLHFCQUFxQixHQUFHLGVBQWUsQ0FBQztTQUM3QztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixHQUFHLENBQUMsZUFBZSxHQUFHLHFCQUFxQixDQUFDO1NBQzdDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ0YsQ0FBQTtBQWZZLGlCQUFpQjtJQVA3QixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLG1CQUFpQixFQUFFLENBQUM7UUFDMUUsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07S0FDaEQsQ0FBQzs7R0FFVyxpQkFBaUIsQ0FlN0I7U0FmWSxpQkFBaUI7QUF1QjlCLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUFFMUIsZ0JBQWdCLENBQUM7SUFDakIsTUFBTSxDQUFDLE1BQTJCO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBQ0QsT0FBTyxDQUFDLE1BQTJCO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRixDQUFBO0FBVlksZUFBZTtJQU4zQixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUU7O0dBRVQ7UUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtLQUNoRCxDQUFDOztHQUNXLGVBQWUsQ0FVM0I7U0FWWSxlQUFlO0FBdUI1QixJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFxQjtJQUFsQztRQUNTLFVBQUssR0FBYSxJQUFJLENBQUM7UUFLOUIsZUFBVSxHQUFHO1lBQ1gsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDM0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7U0FDN0IsQ0FBQztJQWtDSixDQUFDO0lBakNDLE1BQU0sQ0FBQyxNQUFxQjtRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDO0lBQ3pELENBQUM7SUFFRCxjQUFjLENBQUMsTUFBNkI7UUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUErQjtRQUM3QyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQVE7UUFDZixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7Q0FDRixDQUFBO0FBdkMrRDtJQUE3RCxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQzs7b0RBQWM7QUFKaEUscUJBQXFCO0lBWGpDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRTs7Ozs7OztHQU9UO1FBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07S0FDaEQsQ0FBQztHQUNXLHFCQUFxQixDQTJDakM7U0EzQ1kscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhHcmlkRGF0YUNvbHVtbiB9IGZyb20gJy4vY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAsIElGaWx0ZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQge1xuICBJQ2VsbFJlbmRlcmVyUGFyYW1zLFxuICBJRmlsdGVyUGFyYW1zLFxuICBSb3dOb2RlLFxuICBJRG9lc0ZpbHRlclBhc3NQYXJhbXMsXG4gIElBZnRlckd1aUF0dGFjaGVkUGFyYW1zXG59IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY2hlY2stY29sdW1uJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYR3JpZERhdGFDb2x1bW4sIHVzZUV4aXN0aW5nOiBBWEdyaWRDaGVja0NvbHVtbiB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBBWEdyaWRDaGVja0NvbHVtbiBleHRlbmRzIEFYR3JpZERhdGFDb2x1bW4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGNvbCA9IHN1cGVyLnJlbmRlcigpO1xuICAgIGlmICghY29sLmNlbGxSZW5kZXJlckZyYW1ld29yaykge1xuICAgICAgY29sLmNlbGxSZW5kZXJlckZyYW1ld29yayA9IEJvb2xlYW5SZW5kZXJlcjtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWxsb3dGaWx0ZXJpbmcpIHtcbiAgICAgIGNvbC5maWx0ZXJGcmFtZXdvcmsgPSBCb29sZWFuRmlsdGVyUmVuZGVyZXI7XG4gICAgfVxuICAgIHJldHVybiBjb2w7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGF4LWNoZWNrLWJveCBbdmFsdWVdPSd2YWx1ZScgcmVhZG9ubHk9J3RydWUnPjwvYXgtY2hlY2stYm94PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCb29sZWFuUmVuZGVyZXIgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IoKSB7IH1cbiAgYWdJbml0KHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBwYXJhbXMudmFsdWU7XG4gIH1cbiAgcmVmcmVzaChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpOiBib29sZWFuIHtcbiAgICB0aGlzLnZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxheC1kYXRhLWdyaWQtZmlsdGVyPlxuICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgbGFiZWw9J1NlbGVjdCBCb3gnXG4gICAgICAgIFtpdGVtc109J3NlbGVjdEl0ZW0nXG4gICAgICA+PC9heC1zZWxlY3QtYm94PlxuICAgIDwvYXgtZGF0YS1ncmlkLWZpbHRlcj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQm9vbGVhbkZpbHRlclJlbmRlcmVyIGltcGxlbWVudHMgSUZpbHRlckFuZ3VsYXJDb21wIHtcbiAgcHVibGljIHZhbHVlPzogYm9vbGVhbiA9IG51bGw7XG4gIHByaXZhdGUgcGFyYW1zOiBJRmlsdGVyUGFyYW1zO1xuICBwcml2YXRlIHZhbHVlR2V0dGVyOiAocm93Tm9kZTogUm93Tm9kZSkgPT4gYW55O1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHB1YmxpYyBpbnB1dDtcblxuICBzZWxlY3RJdGVtID0gW1xuICAgIHsgdmFsdWU6IDAsIGxhYmVsOiAnVHJ1ZScgfSxcbiAgICB7IHZhbHVlOiAxLCBsYWJlbDogJ0ZhbHNlJyB9LFxuICBdO1xuICBhZ0luaXQocGFyYW1zOiBJRmlsdGVyUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XG4gICAgdGhpcy52YWx1ZUdldHRlciA9IHBhcmFtcy52YWx1ZUdldHRlcjtcbiAgfVxuXG4gIGlzRmlsdGVyQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlICE9PSBudWxsICYmIHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGRvZXNGaWx0ZXJQYXNzKHBhcmFtczogSURvZXNGaWx0ZXJQYXNzUGFyYW1zKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IHRoaXMudmFsdWVHZXR0ZXIocGFyYW1zLm5vZGUpO1xuICB9XG5cbiAgZ2V0TW9kZWwoKTogYW55IHtcbiAgICByZXR1cm4geyB2YWx1ZTogdGhpcy52YWx1ZSB9O1xuICB9XG5cbiAgc2V0TW9kZWwobW9kZWw6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBtb2RlbCA/IG1vZGVsLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdChwYXJhbXM6IElBZnRlckd1aUF0dGFjaGVkUGFyYW1zKTogdm9pZCB7XG4gICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pbnB1dC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2hhbmdlKG5ld1ZhbHVlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLnBhcmFtcy5maWx0ZXJDaGFuZ2VkQ2FsbGJhY2soKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|