@acorex/data-grid 6.5.29 → 6.5.32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/README.md +2 -2
  2. package/acorex-data-grid.d.ts +5 -5
  3. package/esm2020/acorex-data-grid.mjs +4 -4
  4. package/esm2020/lib/data-grid/columns/check-column.component.mjs +117 -117
  5. package/esm2020/lib/data-grid/columns/column.component.mjs +164 -164
  6. package/esm2020/lib/data-grid/columns/command-column.component.mjs +115 -115
  7. package/esm2020/lib/data-grid/columns/date-column.component.mjs +111 -111
  8. package/esm2020/lib/data-grid/columns/row-number-column.component.mjs +37 -37
  9. package/esm2020/lib/data-grid/columns/selection-column.component.mjs +42 -42
  10. package/esm2020/lib/data-grid/columns/text-column.component.mjs +89 -89
  11. package/esm2020/lib/data-grid/datagrid.component.mjs +667 -667
  12. package/esm2020/lib/data-grid/datagrid.events.mjs +2 -2
  13. package/esm2020/lib/data-grid/datagrid.module.mjs +145 -145
  14. package/esm2020/lib/data-grid/filters/filter.component.mjs +39 -39
  15. package/esm2020/lib/data-grid/templates/cell-template.component.mjs +53 -53
  16. package/esm2020/lib/data-grid/templates/detail-template.component.mjs +46 -46
  17. package/esm2020/lib/data-grid/templates/row-template.component.mjs +43 -43
  18. package/esm2020/lib/data-lov/data-lov-popup/data-lov-popup.component.mjs +114 -114
  19. package/esm2020/lib/data-lov/data-lov.component.mjs +165 -165
  20. package/esm2020/lib/data-lov/data-lov.module.mjs +23 -23
  21. package/esm2020/public-api.mjs +18 -18
  22. package/fesm2015/acorex-data-grid.mjs +1833 -1833
  23. package/fesm2015/acorex-data-grid.mjs.map +1 -1
  24. package/fesm2020/acorex-data-grid.mjs +1833 -1833
  25. package/fesm2020/acorex-data-grid.mjs.map +1 -1
  26. package/lib/data-grid/columns/check-column.component.d.ts +37 -37
  27. package/lib/data-grid/columns/column.component.d.ts +32 -32
  28. package/lib/data-grid/columns/command-column.component.d.ts +27 -27
  29. package/lib/data-grid/columns/date-column.component.d.ts +32 -32
  30. package/lib/data-grid/columns/row-number-column.component.d.ts +10 -10
  31. package/lib/data-grid/columns/selection-column.component.d.ts +12 -12
  32. package/lib/data-grid/columns/text-column.component.d.ts +25 -25
  33. package/lib/data-grid/datagrid.component.d.ts +142 -142
  34. package/lib/data-grid/datagrid.events.d.ts +20 -20
  35. package/lib/data-grid/datagrid.module.d.ts +23 -23
  36. package/lib/data-grid/filters/filter.component.d.ts +5 -5
  37. package/lib/data-grid/templates/cell-template.component.d.ts +22 -22
  38. package/lib/data-grid/templates/detail-template.component.d.ts +21 -21
  39. package/lib/data-grid/templates/row-template.component.d.ts +20 -20
  40. package/lib/data-lov/data-lov-popup/data-lov-popup.component.d.ts +33 -33
  41. package/lib/data-lov/data-lov.component.d.ts +43 -43
  42. package/lib/data-lov/data-lov.module.d.ts +12 -12
  43. package/package.json +1 -1
  44. package/public-api.d.ts +17 -17
package/README.md CHANGED
@@ -1,2 +1,2 @@
1
- ### ACoreX DataGrid
2
- This library have data grid & data lov
1
+ ### ACoreX DataGrid
2
+ This library have data grid & data lov
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@acorex/data-grid" />
5
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@acorex/data-grid" />
5
+ export * from './public-api';
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWRhdGEtZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9kYXRhLWdyaWQvc3JjL2Fjb3JleC1kYXRhLWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,117 +1,117 @@
1
- import { Component, ChangeDetectionStrategy, ViewChild, ViewContainerRef } from '@angular/core';
2
- import { AXGridDataColumn } from './column.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@acorex/components";
5
- import * as i2 from "../filters/filter.component";
6
- export class AXGridCheckColumn extends AXGridDataColumn {
7
- constructor() {
8
- super();
9
- }
10
- render() {
11
- const col = super.render();
12
- if (!col.cellRendererFramework) {
13
- col.cellRendererFramework = BooleanRenderer;
14
- }
15
- if (this.allowFiltering) {
16
- col.filterFramework = BooleanFilterRenderer;
17
- }
18
- return col;
19
- }
20
- }
21
- AXGridCheckColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridCheckColumn, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- AXGridCheckColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXGridCheckColumn, selector: "ax-check-column", providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridCheckColumn, decorators: [{
24
- type: Component,
25
- args: [{
26
- selector: 'ax-check-column',
27
- template: '',
28
- providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }],
29
- changeDetection: ChangeDetectionStrategy.OnPush
30
- }]
31
- }], ctorParameters: function () { return []; } });
32
- export class BooleanRenderer {
33
- constructor() { }
34
- agInit(params) {
35
- this.value = params.value;
36
- }
37
- refresh(params) {
38
- this.value = params.value;
39
- return true;
40
- }
41
- }
42
- BooleanRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BooleanRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
- BooleanRenderer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BooleanRenderer, selector: "ng-component", ngImport: i0, template: `
44
- <ax-check-box [value]='value' readonly='true'></ax-check-box>
45
- `, isInline: true, components: [{ type: i1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BooleanRenderer, decorators: [{
47
- type: Component,
48
- args: [{
49
- template: `
50
- <ax-check-box [value]='value' readonly='true'></ax-check-box>
51
- `,
52
- changeDetection: ChangeDetectionStrategy.OnPush
53
- }]
54
- }], ctorParameters: function () { return []; } });
55
- export class BooleanFilterRenderer {
56
- constructor() {
57
- this.value = null;
58
- this.selectItem = [
59
- { value: 0, label: 'True' },
60
- { value: 1, label: 'False' },
61
- ];
62
- }
63
- agInit(params) {
64
- this.params = params;
65
- this.valueGetter = (params.valueGetter);
66
- }
67
- isFilterActive() {
68
- return this.value !== null && this.value !== undefined;
69
- }
70
- doesFilterPass(params) {
71
- return this.value === this.valueGetter(params.node);
72
- }
73
- getModel() {
74
- return { value: this.value };
75
- }
76
- setModel(model) {
77
- this.value = model ? model.value : null;
78
- }
79
- ngAfterViewInit(params) {
80
- window.setTimeout(() => {
81
- this.input.element.nativeElement.focus();
82
- });
83
- }
84
- onChange(newValue) {
85
- if (this.value !== newValue) {
86
- this.value = newValue;
87
- this.params.filterChangedCallback();
88
- }
89
- }
90
- }
91
- BooleanFilterRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BooleanFilterRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
- BooleanFilterRenderer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BooleanFilterRenderer, selector: "ng-component", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, 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
- `, isInline: true, components: [{ type: i2.AXDataGridFilterComponent, selector: "ax-data-grid-filter" }, { type: i1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "fitParent", "dropdownWidth", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BooleanFilterRenderer, decorators: [{
101
- type: Component,
102
- args: [{
103
- template: `
104
- <ax-data-grid-filter>
105
- <ax-select-box
106
- label='Select Box'
107
- [items]='selectItem'
108
- ></ax-select-box>
109
- </ax-data-grid-filter>
110
- `,
111
- changeDetection: ChangeDetectionStrategy.OnPush
112
- }]
113
- }], propDecorators: { input: [{
114
- type: ViewChild,
115
- args: ['input', { static: true, read: ViewContainerRef }]
116
- }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWdyaWQvY29sdW1ucy9jaGVjay1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFpQnRELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxnQkFBZ0I7SUFDckQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUU7WUFDOUIsR0FBRyxDQUFDLHFCQUFxQixHQUFHLGVBQWUsQ0FBQztTQUM3QztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixHQUFHLENBQUMsZUFBZSxHQUFHLHFCQUFxQixDQUFDO1NBQzdDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzsrR0FkVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwwQ0FKakIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxpREFEaEUsRUFBRTs0RkFLRCxpQkFBaUI7a0JBUDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxtQkFBbUIsRUFBRSxDQUFDO29CQUMxRSxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7O0FBeUJELE1BQU0sT0FBTyxlQUFlO0lBRTFCLGdCQUFnQixDQUFDO0lBQ2pCLE1BQU0sQ0FBQyxNQUEyQjtRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELE9BQU8sQ0FBQyxNQUEyQjtRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs2R0FUVSxlQUFlO2lHQUFmLGVBQWUsb0RBTGhCOztHQUVUOzRGQUdVLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOztHQUVUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7QUF3QkQsTUFBTSxPQUFPLHFCQUFxQjtJQVhsQztRQVlTLFVBQUssR0FBYSxJQUFJLENBQUM7UUFLOUIsZUFBVSxHQUFHO1lBQ1gsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDM0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7U0FDN0IsQ0FBQztLQWtDSDtJQWpDQyxNQUFNLENBQUMsTUFBcUI7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQVEsQ0FBQztJQUNqRCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDekQsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUE2QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQStCO1FBQzdDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBUTtRQUNmLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQzs7bUhBMUNVLHFCQUFxQjt1R0FBckIscUJBQXFCLCtIQUlVLGdCQUFnQiwyQ0FkaEQ7Ozs7Ozs7R0FPVDs0RkFHVSxxQkFBcUI7a0JBWGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQUtzRSxLQUFLO3NCQUF6RSxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhHcmlkRGF0YUNvbHVtbiB9IGZyb20gJy4vY29sdW1uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCwgSUZpbHRlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcclxuaW1wb3J0IHtcclxuICBJQ2VsbFJlbmRlcmVyUGFyYW1zLFxyXG4gIElGaWx0ZXJQYXJhbXMsXHJcbiAgUm93Tm9kZSxcclxuICBJRG9lc0ZpbHRlclBhc3NQYXJhbXMsXHJcbiAgSUFmdGVyR3VpQXR0YWNoZWRQYXJhbXNcclxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNoZWNrLWNvbHVtbicsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhHcmlkRGF0YUNvbHVtbiwgdXNlRXhpc3Rpbmc6IEFYR3JpZENoZWNrQ29sdW1uIH1dLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQVhHcmlkQ2hlY2tDb2x1bW4gZXh0ZW5kcyBBWEdyaWREYXRhQ29sdW1uIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCBjb2wgPSBzdXBlci5yZW5kZXIoKTtcclxuICAgIGlmICghY29sLmNlbGxSZW5kZXJlckZyYW1ld29yaykge1xyXG4gICAgICBjb2wuY2VsbFJlbmRlcmVyRnJhbWV3b3JrID0gQm9vbGVhblJlbmRlcmVyO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYWxsb3dGaWx0ZXJpbmcpIHtcclxuICAgICAgY29sLmZpbHRlckZyYW1ld29yayA9IEJvb2xlYW5GaWx0ZXJSZW5kZXJlcjtcclxuICAgIH1cclxuICAgIHJldHVybiBjb2w7XHJcbiAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGF4LWNoZWNrLWJveCBbdmFsdWVdPSd2YWx1ZScgcmVhZG9ubHk9J3RydWUnPjwvYXgtY2hlY2stYm94PlxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEJvb2xlYW5SZW5kZXJlciBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB7XHJcbiAgdmFsdWU6IGJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuICBhZ0luaXQocGFyYW1zOiBJQ2VsbFJlbmRlcmVyUGFyYW1zKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gcGFyYW1zLnZhbHVlO1xyXG4gIH1cclxuICByZWZyZXNoKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy52YWx1ZSA9IHBhcmFtcy52YWx1ZTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxheC1kYXRhLWdyaWQtZmlsdGVyPlxyXG4gICAgICA8YXgtc2VsZWN0LWJveFxyXG4gICAgICAgIGxhYmVsPSdTZWxlY3QgQm94J1xyXG4gICAgICAgIFtpdGVtc109J3NlbGVjdEl0ZW0nXHJcbiAgICAgID48L2F4LXNlbGVjdC1ib3g+XHJcbiAgICA8L2F4LWRhdGEtZ3JpZC1maWx0ZXI+XHJcbiAgYCxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQm9vbGVhbkZpbHRlclJlbmRlcmVyIGltcGxlbWVudHMgSUZpbHRlckFuZ3VsYXJDb21wIHtcclxuICBwdWJsaWMgdmFsdWU/OiBib29sZWFuID0gbnVsbDtcclxuICBwcml2YXRlIHBhcmFtczogSUZpbHRlclBhcmFtcztcclxuICBwcml2YXRlIHZhbHVlR2V0dGVyOiAocm93Tm9kZTogUm93Tm9kZSkgPT4gYW55O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgcHVibGljIGlucHV0O1xyXG5cclxuICBzZWxlY3RJdGVtID0gW1xyXG4gICAgeyB2YWx1ZTogMCwgbGFiZWw6ICdUcnVlJyB9LFxyXG4gICAgeyB2YWx1ZTogMSwgbGFiZWw6ICdGYWxzZScgfSxcclxuICBdO1xyXG4gIGFnSW5pdChwYXJhbXM6IElGaWx0ZXJQYXJhbXMpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgdGhpcy52YWx1ZUdldHRlciA9IChwYXJhbXMudmFsdWVHZXR0ZXIpIGFzIGFueTtcclxuICB9XHJcblxyXG4gIGlzRmlsdGVyQWN0aXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWUgIT09IG51bGwgJiYgdGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZG9lc0ZpbHRlclBhc3MocGFyYW1zOiBJRG9lc0ZpbHRlclBhc3NQYXJhbXMpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnZhbHVlID09PSB0aGlzLnZhbHVlR2V0dGVyKHBhcmFtcy5ub2RlKTtcclxuICB9XHJcblxyXG4gIGdldE1vZGVsKCk6IGFueSB7XHJcbiAgICByZXR1cm4geyB2YWx1ZTogdGhpcy52YWx1ZSB9O1xyXG4gIH1cclxuXHJcbiAgc2V0TW9kZWwobW9kZWw6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IG1vZGVsID8gbW9kZWwudmFsdWUgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KHBhcmFtczogSUFmdGVyR3VpQXR0YWNoZWRQYXJhbXMpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5pbnB1dC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UobmV3VmFsdWUpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZhbHVlICE9PSBuZXdWYWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlckNoYW5nZWRDYWxsYmFjaygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { Component, ChangeDetectionStrategy, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { AXGridDataColumn } from './column.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@acorex/components";
5
+ import * as i2 from "../filters/filter.component";
6
+ export class AXGridCheckColumn extends AXGridDataColumn {
7
+ constructor() {
8
+ super();
9
+ }
10
+ render() {
11
+ const col = super.render();
12
+ if (!col.cellRendererFramework) {
13
+ col.cellRendererFramework = BooleanRenderer;
14
+ }
15
+ if (this.allowFiltering) {
16
+ col.filterFramework = BooleanFilterRenderer;
17
+ }
18
+ return col;
19
+ }
20
+ }
21
+ AXGridCheckColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridCheckColumn, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ AXGridCheckColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXGridCheckColumn, selector: "ax-check-column", providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXGridCheckColumn, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ selector: 'ax-check-column',
27
+ template: '',
28
+ providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }],
29
+ changeDetection: ChangeDetectionStrategy.OnPush
30
+ }]
31
+ }], ctorParameters: function () { return []; } });
32
+ export class BooleanRenderer {
33
+ constructor() { }
34
+ agInit(params) {
35
+ this.value = params.value;
36
+ }
37
+ refresh(params) {
38
+ this.value = params.value;
39
+ return true;
40
+ }
41
+ }
42
+ BooleanRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BooleanRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
+ BooleanRenderer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BooleanRenderer, selector: "ng-component", ngImport: i0, template: `
44
+ <ax-check-box [value]='value' readonly='true'></ax-check-box>
45
+ `, isInline: true, components: [{ type: i1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BooleanRenderer, decorators: [{
47
+ type: Component,
48
+ args: [{
49
+ template: `
50
+ <ax-check-box [value]='value' readonly='true'></ax-check-box>
51
+ `,
52
+ changeDetection: ChangeDetectionStrategy.OnPush
53
+ }]
54
+ }], ctorParameters: function () { return []; } });
55
+ export class BooleanFilterRenderer {
56
+ constructor() {
57
+ this.value = null;
58
+ this.selectItem = [
59
+ { value: 0, label: 'True' },
60
+ { value: 1, label: 'False' },
61
+ ];
62
+ }
63
+ agInit(params) {
64
+ this.params = params;
65
+ this.valueGetter = (params.valueGetter);
66
+ }
67
+ isFilterActive() {
68
+ return this.value !== null && this.value !== undefined;
69
+ }
70
+ doesFilterPass(params) {
71
+ return this.value === this.valueGetter(params.node);
72
+ }
73
+ getModel() {
74
+ return { value: this.value };
75
+ }
76
+ setModel(model) {
77
+ this.value = model ? model.value : null;
78
+ }
79
+ ngAfterViewInit(params) {
80
+ window.setTimeout(() => {
81
+ this.input.element.nativeElement.focus();
82
+ });
83
+ }
84
+ onChange(newValue) {
85
+ if (this.value !== newValue) {
86
+ this.value = newValue;
87
+ this.params.filterChangedCallback();
88
+ }
89
+ }
90
+ }
91
+ BooleanFilterRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BooleanFilterRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
+ BooleanFilterRenderer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BooleanFilterRenderer, selector: "ng-component", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, 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
+ `, isInline: true, components: [{ type: i2.AXDataGridFilterComponent, selector: "ax-data-grid-filter" }, { type: i1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "fitParent", "dropdownWidth", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BooleanFilterRenderer, decorators: [{
101
+ type: Component,
102
+ args: [{
103
+ template: `
104
+ <ax-data-grid-filter>
105
+ <ax-select-box
106
+ label='Select Box'
107
+ [items]='selectItem'
108
+ ></ax-select-box>
109
+ </ax-data-grid-filter>
110
+ `,
111
+ changeDetection: ChangeDetectionStrategy.OnPush
112
+ }]
113
+ }], propDecorators: { input: [{
114
+ type: ViewChild,
115
+ args: ['input', { static: true, read: ViewContainerRef }]
116
+ }] } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWdyaWQvY29sdW1ucy9jaGVjay1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFpQnRELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxnQkFBZ0I7SUFDckQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUU7WUFDOUIsR0FBRyxDQUFDLHFCQUFxQixHQUFHLGVBQWUsQ0FBQztTQUM3QztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixHQUFHLENBQUMsZUFBZSxHQUFHLHFCQUFxQixDQUFDO1NBQzdDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzsrR0FkVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwwQ0FKakIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxpREFEaEUsRUFBRTs0RkFLRCxpQkFBaUI7a0JBUDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxtQkFBbUIsRUFBRSxDQUFDO29CQUMxRSxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7O0FBeUJELE1BQU0sT0FBTyxlQUFlO0lBRTFCLGdCQUFnQixDQUFDO0lBQ2pCLE1BQU0sQ0FBQyxNQUEyQjtRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELE9BQU8sQ0FBQyxNQUEyQjtRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs2R0FUVSxlQUFlO2lHQUFmLGVBQWUsb0RBTGhCOztHQUVUOzRGQUdVLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOztHQUVUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7QUF3QkQsTUFBTSxPQUFPLHFCQUFxQjtJQVhsQztRQVlTLFVBQUssR0FBYSxJQUFJLENBQUM7UUFLOUIsZUFBVSxHQUFHO1lBQ1gsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDM0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7U0FDN0IsQ0FBQztLQWtDSDtJQWpDQyxNQUFNLENBQUMsTUFBcUI7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQVEsQ0FBQztJQUNqRCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDekQsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUE2QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQStCO1FBQzdDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBUTtRQUNmLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQzs7bUhBMUNVLHFCQUFxQjt1R0FBckIscUJBQXFCLCtIQUlVLGdCQUFnQiwyQ0FkaEQ7Ozs7Ozs7R0FPVDs0RkFHVSxxQkFBcUI7a0JBWGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQUtzRSxLQUFLO3NCQUF6RSxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhHcmlkRGF0YUNvbHVtbiB9IGZyb20gJy4vY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAsIElGaWx0ZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQge1xuICBJQ2VsbFJlbmRlcmVyUGFyYW1zLFxuICBJRmlsdGVyUGFyYW1zLFxuICBSb3dOb2RlLFxuICBJRG9lc0ZpbHRlclBhc3NQYXJhbXMsXG4gIElBZnRlckd1aUF0dGFjaGVkUGFyYW1zXG59IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY2hlY2stY29sdW1uJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYR3JpZERhdGFDb2x1bW4sIHVzZUV4aXN0aW5nOiBBWEdyaWRDaGVja0NvbHVtbiB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBBWEdyaWRDaGVja0NvbHVtbiBleHRlbmRzIEFYR3JpZERhdGFDb2x1bW4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGNvbCA9IHN1cGVyLnJlbmRlcigpO1xuICAgIGlmICghY29sLmNlbGxSZW5kZXJlckZyYW1ld29yaykge1xuICAgICAgY29sLmNlbGxSZW5kZXJlckZyYW1ld29yayA9IEJvb2xlYW5SZW5kZXJlcjtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWxsb3dGaWx0ZXJpbmcpIHtcbiAgICAgIGNvbC5maWx0ZXJGcmFtZXdvcmsgPSBCb29sZWFuRmlsdGVyUmVuZGVyZXI7XG4gICAgfVxuICAgIHJldHVybiBjb2w7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGF4LWNoZWNrLWJveCBbdmFsdWVdPSd2YWx1ZScgcmVhZG9ubHk9J3RydWUnPjwvYXgtY2hlY2stYm94PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCb29sZWFuUmVuZGVyZXIgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IoKSB7IH1cbiAgYWdJbml0KHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBwYXJhbXMudmFsdWU7XG4gIH1cbiAgcmVmcmVzaChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpOiBib29sZWFuIHtcbiAgICB0aGlzLnZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxheC1kYXRhLWdyaWQtZmlsdGVyPlxuICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgbGFiZWw9J1NlbGVjdCBCb3gnXG4gICAgICAgIFtpdGVtc109J3NlbGVjdEl0ZW0nXG4gICAgICA+PC9heC1zZWxlY3QtYm94PlxuICAgIDwvYXgtZGF0YS1ncmlkLWZpbHRlcj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQm9vbGVhbkZpbHRlclJlbmRlcmVyIGltcGxlbWVudHMgSUZpbHRlckFuZ3VsYXJDb21wIHtcbiAgcHVibGljIHZhbHVlPzogYm9vbGVhbiA9IG51bGw7XG4gIHByaXZhdGUgcGFyYW1zOiBJRmlsdGVyUGFyYW1zO1xuICBwcml2YXRlIHZhbHVlR2V0dGVyOiAocm93Tm9kZTogUm93Tm9kZSkgPT4gYW55O1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHB1YmxpYyBpbnB1dDtcblxuICBzZWxlY3RJdGVtID0gW1xuICAgIHsgdmFsdWU6IDAsIGxhYmVsOiAnVHJ1ZScgfSxcbiAgICB7IHZhbHVlOiAxLCBsYWJlbDogJ0ZhbHNlJyB9LFxuICBdO1xuICBhZ0luaXQocGFyYW1zOiBJRmlsdGVyUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XG4gICAgdGhpcy52YWx1ZUdldHRlciA9IChwYXJhbXMudmFsdWVHZXR0ZXIpIGFzIGFueTtcbiAgfVxuXG4gIGlzRmlsdGVyQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlICE9PSBudWxsICYmIHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGRvZXNGaWx0ZXJQYXNzKHBhcmFtczogSURvZXNGaWx0ZXJQYXNzUGFyYW1zKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IHRoaXMudmFsdWVHZXR0ZXIocGFyYW1zLm5vZGUpO1xuICB9XG5cbiAgZ2V0TW9kZWwoKTogYW55IHtcbiAgICByZXR1cm4geyB2YWx1ZTogdGhpcy52YWx1ZSB9O1xuICB9XG5cbiAgc2V0TW9kZWwobW9kZWw6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBtb2RlbCA/IG1vZGVsLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdChwYXJhbXM6IElBZnRlckd1aUF0dGFjaGVkUGFyYW1zKTogdm9pZCB7XG4gICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pbnB1dC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2hhbmdlKG5ld1ZhbHVlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLnBhcmFtcy5maWx0ZXJDaGFuZ2VkQ2FsbGJhY2soKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==