@acorex/data-grid 6.5.23 → 6.5.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. package/karma.conf.js +32 -0
  2. package/ng-package.json +12 -0
  3. package/package.json +16 -36
  4. package/src/lib/data-grid/columns/check-column.component.ts +113 -0
  5. package/src/lib/data-grid/columns/column.component.ts +182 -0
  6. package/src/lib/data-grid/columns/command-column.component.ts +101 -0
  7. package/src/lib/data-grid/columns/date-column.component.ts +118 -0
  8. package/src/lib/data-grid/columns/row-number-column.component.ts +36 -0
  9. package/src/lib/data-grid/columns/selection-column.component.ts +39 -0
  10. package/src/lib/data-grid/columns/text-column.component.ts +92 -0
  11. package/src/lib/data-grid/datagrid.component.html +27 -0
  12. package/src/lib/data-grid/datagrid.component.ts +769 -0
  13. package/{lib/data-grid/datagrid.events.d.ts → src/lib/data-grid/datagrid.events.ts} +4 -1
  14. package/src/lib/data-grid/datagrid.module.ts +81 -0
  15. package/src/lib/data-grid/filters/filter.component.ts +21 -0
  16. package/src/lib/data-grid/templates/cell-template.component.ts +47 -0
  17. package/src/lib/data-grid/templates/detail-template.component.ts +43 -0
  18. package/src/lib/data-grid/templates/row-template.component.ts +41 -0
  19. package/src/lib/data-lov/data-lov-popup/data-lov-popup.component.html +16 -0
  20. package/src/lib/data-lov/data-lov-popup/data-lov-popup.component.ts +130 -0
  21. package/src/lib/data-lov/data-lov.component.html +61 -0
  22. package/src/lib/data-lov/data-lov.component.ts +184 -0
  23. package/src/lib/data-lov/data-lov.module.ts +16 -0
  24. package/{public-api.d.ts → src/public-api.ts} +3 -0
  25. package/src/test.ts +28 -0
  26. package/tsconfig.lib.json +23 -0
  27. package/tsconfig.lib.prod.json +6 -0
  28. package/tsconfig.spec.json +17 -0
  29. package/tslint.json +17 -0
  30. package/acorex-data-grid.d.ts +0 -5
  31. package/esm2020/acorex-data-grid.mjs +0 -5
  32. package/esm2020/lib/data-grid/columns/check-column.component.mjs +0 -117
  33. package/esm2020/lib/data-grid/columns/column.component.mjs +0 -164
  34. package/esm2020/lib/data-grid/columns/command-column.component.mjs +0 -115
  35. package/esm2020/lib/data-grid/columns/date-column.component.mjs +0 -111
  36. package/esm2020/lib/data-grid/columns/row-number-column.component.mjs +0 -37
  37. package/esm2020/lib/data-grid/columns/selection-column.component.mjs +0 -42
  38. package/esm2020/lib/data-grid/columns/text-column.component.mjs +0 -89
  39. package/esm2020/lib/data-grid/datagrid.component.mjs +0 -667
  40. package/esm2020/lib/data-grid/datagrid.events.mjs +0 -2
  41. package/esm2020/lib/data-grid/datagrid.module.mjs +0 -145
  42. package/esm2020/lib/data-grid/filters/filter.component.mjs +0 -39
  43. package/esm2020/lib/data-grid/templates/cell-template.component.mjs +0 -53
  44. package/esm2020/lib/data-grid/templates/detail-template.component.mjs +0 -46
  45. package/esm2020/lib/data-grid/templates/row-template.component.mjs +0 -43
  46. package/esm2020/lib/data-lov/data-lov-popup/data-lov-popup.component.mjs +0 -114
  47. package/esm2020/lib/data-lov/data-lov.component.mjs +0 -165
  48. package/esm2020/lib/data-lov/data-lov.module.mjs +0 -23
  49. package/esm2020/public-api.mjs +0 -18
  50. package/fesm2015/acorex-data-grid.mjs +0 -1881
  51. package/fesm2015/acorex-data-grid.mjs.map +0 -1
  52. package/fesm2020/acorex-data-grid.mjs +0 -1881
  53. package/fesm2020/acorex-data-grid.mjs.map +0 -1
  54. package/lib/data-grid/columns/check-column.component.d.ts +0 -37
  55. package/lib/data-grid/columns/column.component.d.ts +0 -32
  56. package/lib/data-grid/columns/command-column.component.d.ts +0 -27
  57. package/lib/data-grid/columns/date-column.component.d.ts +0 -32
  58. package/lib/data-grid/columns/row-number-column.component.d.ts +0 -10
  59. package/lib/data-grid/columns/selection-column.component.d.ts +0 -12
  60. package/lib/data-grid/columns/text-column.component.d.ts +0 -25
  61. package/lib/data-grid/datagrid.component.d.ts +0 -142
  62. package/lib/data-grid/datagrid.module.d.ts +0 -23
  63. package/lib/data-grid/filters/filter.component.d.ts +0 -5
  64. package/lib/data-grid/templates/cell-template.component.d.ts +0 -22
  65. package/lib/data-grid/templates/detail-template.component.d.ts +0 -21
  66. package/lib/data-grid/templates/row-template.component.d.ts +0 -20
  67. package/lib/data-lov/data-lov-popup/data-lov-popup.component.d.ts +0 -33
  68. package/lib/data-lov/data-lov.component.d.ts +0 -43
  69. package/lib/data-lov/data-lov.module.d.ts +0 -12
package/src/test.ts ADDED
@@ -0,0 +1,28 @@
1
+ // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2
+
3
+ import 'zone.js';
4
+ import 'zone.js/testing';
5
+ import { getTestBed } from '@angular/core/testing';
6
+ import {
7
+ BrowserDynamicTestingModule,
8
+ platformBrowserDynamicTesting
9
+ } from '@angular/platform-browser-dynamic/testing';
10
+
11
+ declare const require: {
12
+ context(path: string, deep?: boolean, filter?: RegExp): {
13
+ keys(): string[];
14
+ <T>(id: string): T;
15
+ };
16
+ };
17
+
18
+ // First, initialize the Angular testing environment.
19
+ getTestBed().initTestEnvironment(
20
+ BrowserDynamicTestingModule,
21
+ platformBrowserDynamicTesting(), {
22
+ teardown: { destroyAfterEach: false }
23
+ }
24
+ );
25
+ // Then we find all the tests.
26
+ const context = require.context('./', true, /\.spec\.ts$/);
27
+ // And load the modules.
28
+ context.keys().map(context);
@@ -0,0 +1,23 @@
1
+ {
2
+ "extends": "../../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../../out-tsc/lib",
5
+ "target": "es2015",
6
+ "declaration": true,
7
+ "inlineSources": true,
8
+ "types": [],
9
+ "lib": [
10
+ "dom",
11
+ "es2018"
12
+ ]
13
+ },
14
+ "angularCompilerOptions": {
15
+ "skipTemplateCodegen": true,
16
+ "strictMetadataEmit": true,
17
+ "enableResourceInlining": true
18
+ },
19
+ "exclude": [
20
+ "src/test.ts",
21
+ "**/*.spec.ts"
22
+ ]
23
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "./tsconfig.lib.json",
3
+ "angularCompilerOptions": {
4
+ "enableIvy": false
5
+ }
6
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "extends": "../../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../../out-tsc/spec",
5
+ "types": [
6
+ "jasmine",
7
+ "node"
8
+ ]
9
+ },
10
+ "files": [
11
+ "src/test.ts"
12
+ ],
13
+ "include": [
14
+ "**/*.spec.ts",
15
+ "**/*.d.ts"
16
+ ]
17
+ }
package/tslint.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "extends": "../../../tslint.json",
3
+ "rules": {
4
+ "directive-selector": [
5
+ true,
6
+ "attribute",
7
+ "ax",
8
+ "camelCase"
9
+ ],
10
+ "component-selector": [
11
+ true,
12
+ "element",
13
+ "ax",
14
+ "kebab-case"
15
+ ]
16
+ }
17
+ }
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@acorex/data-grid" />
5
- export * from './public-api';
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWRhdGEtZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9kYXRhLWdyaWQvc3JjL2Fjb3JleC1kYXRhLWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,117 +0,0 @@
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,164 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWdyaWQvY29sdW1ucy9jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUt2RixNQUFNLE9BQWdCLGdCQUFnQjtJQXdFbEM7UUFqRUEsVUFBSyxHQUFXLEdBQUcsQ0FBQztRQVNwQixXQUFNLEdBQTJCLElBQUksQ0FBQztRQUd0QyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUc3QixtQkFBYyxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsSUFBSSxLQUFLLENBQUM7UUFNM0UsU0FBSSxHQUEwQixJQUFJLENBQUM7UUFHbkMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUduQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBTXJCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFHaEMsZUFBVSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBR3hCLGNBQVMsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUd2QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBR3RCLG1CQUFjLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUczRSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUduQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztJQUVqQixDQUFDO0lBbEQwRCxDQUFDO0lBb0Q1RSxNQUFNO1FBQ0YsTUFBTSxHQUFHLEdBQVE7WUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ3BCLENBQUM7UUFDRixHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDL0IsR0FBRyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQUNwRSxHQUFHLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDbkIsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQztZQUM5RCxHQUFHLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUM5QjtRQUNELElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRTtZQUNoQyxHQUFHLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUM7U0FDbEU7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxFQUFFO1lBQzlCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLENBQUMsQ0FBQztTQUNsRTtRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNqQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNoQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNoQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3hELCtCQUErQjtTQUNsQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDcEM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDeEI7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxFQUFFO1lBQ3RCLEdBQUcsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNwQyxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM5QjtRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEVBQUU7WUFDckIsR0FBRyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ25DLEdBQUcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1gsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FFbkI7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsR0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxTQUFTLFlBQVksUUFBUSxFQUFFO2dCQUNwQyxHQUFHLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQzt3QkFDbEIsTUFBTSxFQUFFLElBQUk7d0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTt3QkFDekIsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDdEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO3dCQUNaLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztxQkFDakIsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQzthQUNMO2lCQUNJO2dCQUNELEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUVsQztTQUNKO1FBQ0QsRUFBRTtRQUNGLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUU7WUFDM0IsR0FBRyxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ3ZELEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztTQUNyRDtRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUMvQixPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDLENBQUM7WUFDRixzREFBc0Q7U0FDekQ7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7OzhHQXBLaUIsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsOG9CQUdwQiwrQkFBK0I7NEZBSDNCLGdCQUFnQjtrQkFEckMsU0FBUzswRUFLTixZQUFZO3NCQURYLFlBQVk7dUJBQUMsK0JBQStCO2dCQUk3QyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhHcmlkQ2VsbFBhcmFtcyB9IGZyb20gJy4uL2RhdGFncmlkLmV2ZW50cyc7XHJcbmltcG9ydCB7IEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuLi90ZW1wbGF0ZXMvY2VsbC10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWERhdGVQaWNrZXJGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtY29sdW1uLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEdyaWREYXRhQ29sdW1uIHtcclxuXHJcblxyXG4gICAgQENvbnRlbnRDaGlsZChBWERhdGFHcmlkQ2VsbFRlbXBsYXRlQ29tcG9uZW50KVxyXG4gICAgY2VsbFRlbXBsYXRlOiBBWERhdGFHcmlkQ2VsbFRlbXBsYXRlQ29tcG9uZW50O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICB3aWR0aDogbnVtYmVyID0gMTAwO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBtYXhXaWR0aDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBtaW5XaWR0aDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwaW5uZWQ6ICdzdGFydCcgfCAnZW5kJyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBhbGxvd1NvcnRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBhbGxvd0ZpbHRlcmluZzogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnZGF0YWdyaWQuYWxsb3dGaWx0ZXJpbmcnKSB8fCBmYWxzZTs7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGNlbGxDbGFzczogKHBhcmFtczogQVhHcmlkQ2VsbFBhcmFtcykgPT4gKHN0cmluZyB8IHN0cmluZ1tdKSB8IChzdHJpbmcgfCBzdHJpbmdbXSk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNvcnQ6ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGZpZWxkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgY2FwdGlvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGNlbGxSZW5kZXJlclBhcmFtczogYW55O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBjaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBoZWFkZXJDaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBncm91cEluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgdHJlZUluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZW5hYmxlUm93R3JvdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaGlkZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBmbG9hdGluZ0ZpbHRlcjogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnZGF0YWdyaWQuZmxvYXRpbmdGaWx0ZXInKSB8fCBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZGlzYWJsZU1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcmVzaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgbWVudUNvbHVtbkRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgbWVudUl0ZW1EaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICByZW5kZXIoKTogYW55IHtcclxuICAgICAgICBjb25zdCBjb2w6IGFueSA9IHtcclxuICAgICAgICAgICAgZmllbGQ6IHRoaXMuZmllbGQsXHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29sLnJlc2l6YWJsZSA9IHRoaXMucmVzaXphYmxlO1xyXG4gICAgICAgIGNvbC5zdXBwcmVzc01lbnUgPSB0aGlzLmRpc2FibGVNZW51O1xyXG4gICAgICAgIGNvbC5tZW51VGFicyA9IFsnZmlsdGVyTWVudVRhYicsICdjb2x1bW5zTWVudVRhYicsICdnZW5lcmFsTWVudVRhYiddXHJcbiAgICAgICAgY29sLmZsb2F0aW5nRmlsdGVyID0gdGhpcy5mbG9hdGluZ0ZpbHRlcjtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmFsbG93RmlsdGVyaW5nKSB7XHJcbiAgICAgICAgICAgIGNvbC5maWx0ZXIgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29sLm1lbnVUYWJzID0gY29sLm1lbnVUYWJzLmZpbHRlcihjID0+IGMgIT0gJ2ZpbHRlck1lbnVUYWInKTtcclxuICAgICAgICAgICAgY29sLmZsb2F0aW5nRmlsdGVyID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1lbnVDb2x1bW5EaXNhYmxlID09IHRydWUpIHtcclxuICAgICAgICAgICAgY29sLm1lbnVUYWJzID0gY29sLm1lbnVUYWJzLmZpbHRlcihjID0+IGMgIT0gJ2NvbHVtbnNNZW51VGFiJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1lbnVJdGVtRGlzYWJsZSA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIGNvbC5tZW51VGFicyA9IGNvbC5tZW51VGFicy5maWx0ZXIoYyA9PiBjICE9ICdnZW5lcmFsTWVudVRhYicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5jYXB0aW9uKSB7XHJcbiAgICAgICAgICAgIGNvbC5oZWFkZXJOYW1lID0gdGhpcy5jYXB0aW9uO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5taW5XaWR0aCkge1xyXG4gICAgICAgICAgICBjb2wubWluV2lkdGggPSB0aGlzLm1pbldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5tYXhXaWR0aCkge1xyXG4gICAgICAgICAgICBjb2wubWF4V2lkdGggPSB0aGlzLm1heFdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5waW5uZWQpIHtcclxuICAgICAgICAgICAgY29sLnBpbm5lZCA9IHRoaXMucGlubmVkID09PSAnc3RhcnQnID8gJ3JpZ2h0JyA6ICdsZWZ0JztcclxuICAgICAgICAgICAgLy8gVE9ETzogQ2hhbmdlIGJhc2VkIG9uIGxheW91dFxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5hbGxvd1NvcnRpbmcpIHtcclxuICAgICAgICAgICAgY29sLnNvcnRhYmxlID0gdGhpcy5hbGxvd1NvcnRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnNvcnQpIHtcclxuICAgICAgICAgICAgY29sLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5ncm91cEluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgY29sLnJvd0dyb3VwSW5kZXggPSB0aGlzLmdyb3VwSW5kZXg7XHJcbiAgICAgICAgICAgIGNvbC5yb3dHcm91cCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlUm93R3JvdXAgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMudHJlZUluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgY29sLnJvd0dyb3VwSW5kZXggPSB0aGlzLnRyZWVJbmRleDtcclxuICAgICAgICAgICAgY29sLnJvd0dyb3VwID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmhpZGUpIHtcclxuICAgICAgICAgICAgY29sLmhpZGUgPSB0cnVlO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlUm93R3JvdXApIHtcclxuICAgICAgICAgICAgY29sLmVuYWJsZVJvd0dyb3VwID0gdGhpcy5lbmFibGVSb3dHcm91cDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNlbGxDbGFzcykge1xyXG4gICAgICAgICAgICBjb25zdCBUSEFUID0gdGhpcztcclxuICAgICAgICAgICAgaWYgKHRoaXMuY2VsbENsYXNzIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgIGNvbC5jZWxsQ2xhc3MgPSAocCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBUSEFULmNlbGxDbGFzcyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogVEhBVCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm93SW5kZXg6IHAubm9kZS5yb3dJbmRleCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm93TGV2ZWw6IHAubm9kZS5sZXZlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogcC5kYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcC52YWx1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbC5jZWxsQ2xhc3MgPSB0aGlzLmNlbGxDbGFzcztcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICBpZiAodGhpcy5jZWxsVGVtcGxhdGUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBjb2wuY2VsbFJlbmRlcmVyRnJhbWV3b3JrID0gdGhpcy5jZWxsVGVtcGxhdGUucmVuZGVyZXI7XHJcbiAgICAgICAgICAgIGNvbC5jZWxsUmVuZGVyZXJQYXJhbXMgPSB0aGlzLmNlbGxUZW1wbGF0ZS5wYXJhbXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jaGVja2JveCkge1xyXG4gICAgICAgICAgICBjb2wuY2hlY2tib3hTZWxlY3Rpb24gPSAocGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgLy8gIGNvbC5oZWFkZXJDaGVja2JveFNlbGVjdGlvbiA9IHRoaXMuaGVhZGVyQ2hlY2tib3g7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjb2w7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iXX0=
@@ -1,115 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtZ3JpZC9jb2x1bW5zL2NvbW1hbmQtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7O0FBZXRJLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFQekQ7O1FBU0UsVUFBSyxHQUE0QyxFQUFFLENBQUM7UUFHcEQsZ0JBQVcsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7S0EwQjlGO0lBeEJDLE1BQU07UUFDSixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixHQUFHLENBQUMscUJBQXFCLEdBQUcsZUFBZSxDQUFDO1NBQzdDO1FBQ0QsR0FBRyxDQUFDLGtCQUFrQixHQUFHO1lBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztvQkFDcEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJO29CQUNmLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtvQkFDWixRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVE7b0JBQ3BCLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTtvQkFDcEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTO2lCQUN2QixDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQztRQUNGLEdBQUcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOztpSEE5QlUsbUJBQW1CO3FHQUFuQixtQkFBbUIsaUhBSm5CLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUMsaURBRGxFLEVBQUU7NEZBS0QsbUJBQW1CO2tCQVAvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO29CQUNaLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcscUJBQXFCLEVBQUUsQ0FBQztvQkFDNUUsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs4QkFHQyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNOztBQStDVCxNQUFNLE9BQU8sZUFBZTtJQUsxQjtRQUpBLFVBQUssR0FBNEMsRUFBRSxDQUFDO0lBSXJDLENBQUM7SUFFaEIsTUFBTSxDQUFDLE1BQTJCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUEyQjtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFNBQVMsQ0FBQyxNQUFXO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sTUFBTSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFJLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWdCLEVBQUUsQ0FBYTtRQUNyQyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO2dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUNwQixTQUFTLEVBQUUsQ0FBQzthQUNiLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7NkdBaENVLGVBQWU7aUdBQWYsZUFBZSx1REFoQmhCOzs7Ozs7Ozs7Ozs7R0FZVDs0RkFJVSxlQUFlO2tCQWxCM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztHQVlUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEdyaWREYXRhQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgVmlld0VuY2Fwc3VsYXRpb24sIE91dHB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUNlbGxSZW5kZXJlclBhcmFtcyB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcclxuaW1wb3J0IHsgQVhHcmlkUm93Q29tbWFuZEV2ZW50IH0gZnJvbSAnLi4vZGF0YWdyaWQuZXZlbnRzJztcclxuaW1wb3J0IHsgQVhNZW51SXRlbSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcblxyXG5leHBvcnQgdHlwZSBBWEdyaWRSb3dDb21tYW5kRnVuY3Rpb24gPSAocm93OiBhbnkpID0+IEFYTWVudUl0ZW1bXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtY29tbWFuZC1jb2x1bW4nLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYR3JpZERhdGFDb2x1bW4sIHVzZUV4aXN0aW5nOiBBWEdyaWRDb21tYW5kQ29sdW1uIH1dLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYR3JpZENvbW1hbmRDb2x1bW4gZXh0ZW5kcyBBWEdyaWREYXRhQ29sdW1uIHtcclxuICBASW5wdXQoKVxyXG4gIGl0ZW1zOiBBWE1lbnVJdGVtW10gfCBBWEdyaWRSb3dDb21tYW5kRnVuY3Rpb24gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWEdyaWRSb3dDb21tYW5kRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEdyaWRSb3dDb21tYW5kRXZlbnQ+KCk7XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IGNvbCA9IHN1cGVyLnJlbmRlcigpO1xyXG4gICAgaWYgKCFjb2wuY2VsbFJlbmRlcmVyRnJhbWV3b3JrKSB7XHJcbiAgICAgIGNvbC5jZWxsUmVuZGVyZXJGcmFtZXdvcmsgPSBDb21tYW5kUmVuZGVyZXI7XHJcbiAgICB9XHJcbiAgICBjb2wuY2VsbFJlbmRlcmVyUGFyYW1zID0ge1xyXG4gICAgICBpdGVtczogdGhpcy5pdGVtcyxcclxuICAgICAgb25DbGljazogKGUpID0+IHtcclxuICAgICAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgY29tbWFuZDogZS5uYW1lLFxyXG4gICAgICAgICAgZGF0YTogZS5kYXRhLFxyXG4gICAgICAgICAgcm93SW5kZXg6IGUucm93SW5kZXgsXHJcbiAgICAgICAgICByb3dMZXZlbDogZS5yb3dMZXZlbCxcclxuICAgICAgICAgIGh0bWxFdmVudDogZS5odG1sRXZlbnRcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGNvbC5zb3J0YWJsZSA9IGZhbHNlO1xyXG4gICAgY29sLmZpbHRlciA9IGZhbHNlO1xyXG4gICAgY29sLnZhbHVlR2V0dGVyID0gKHBhcmFtcykgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtcztcclxuICAgIH07XHJcbiAgICByZXR1cm4gY29sO1xyXG4gIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1jb21tYW5kLWNlbGwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgY2xhc3M9XCJheCBidXR0b24gbWQgYXgtZ3JpZC1jb21tYW5kLWJ1dHRvbiB7eyBpdGVtLnN0eWxlIHx8ICdheCBwcmltYXJ5IGJsYW5rJyB9fVwiXHJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVcIlxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgW3RpdGxlXT1cIml0ZW0udG9vbHRpcFwiXHJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cImlcIlxyXG4gICAgICAoY2xpY2spPVwib25DbGljayhpdGVtLCAkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPGkgW25nQ2xhc3NdPVwiaXRlbS5pY29uXCI+PC9pPnt7IGl0ZW0udGV4dCB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tYW5kUmVuZGVyZXIgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xyXG4gIGl0ZW1zOiBBWE1lbnVJdGVtW10gfCBBWEdyaWRSb3dDb21tYW5kRnVuY3Rpb24gPSBbXTtcclxuICBub2RlOiBhbnk7XHJcbiAgcHJpdmF0ZSBjbGlja0NhbGxiYWNrOiBGdW5jdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBhZ0luaXQocGFyYW1zOiBJQ2VsbFJlbmRlcmVyUGFyYW1zKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcFBhcmFtcyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpOiBib29sZWFuIHtcclxuICAgIHRoaXMubWFwUGFyYW1zKHBhcmFtcyk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFwUGFyYW1zKHBhcmFtczogYW55KSB7XHJcbiAgICB0aGlzLm5vZGUgPSBwYXJhbXMubm9kZTtcclxuICAgIHRoaXMuaXRlbXMgPSB0eXBlb2YgcGFyYW1zLml0ZW1zID09ICdmdW5jdGlvbicgPyBwYXJhbXMuaXRlbXMoeyBkYXRhOiB0aGlzLm5vZGUuZGF0YSB9KSA6IEFycmF5LmlzQXJyYXkocGFyYW1zLml0ZW1zKSA/IHBhcmFtcy5pdGVtcyA6IFtdO1xyXG4gICAgdGhpcy5jbGlja0NhbGxiYWNrID0gcGFyYW1zLm9uQ2xpY2s7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKGl0ZW06IEFYTWVudUl0ZW0sIGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLmNsaWNrQ2FsbGJhY2sgJiYgIWl0ZW0uZGlzYWJsZSkge1xyXG4gICAgICB0aGlzLmNsaWNrQ2FsbGJhY2soe1xyXG4gICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICByb3dMZXZlbDogdGhpcy5ub2RlLmxldmVsLFxyXG4gICAgICAgIHJvd0luZGV4OiB0aGlzLm5vZGUucm93SW5kZXgsXHJcbiAgICAgICAgZGF0YTogdGhpcy5ub2RlLmRhdGEsXHJcbiAgICAgICAgaHRtbEV2ZW50OiBlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=