@acorex/components 7.11.1 → 7.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/button/lib/button-item-list.component.d.ts +6 -6
  2. package/button/lib/button-item.component.d.ts +9 -1
  3. package/data-table/index.d.ts +1 -1
  4. package/data-table/lib/columns/{data-column.d.ts → data-table-column.d.ts} +4 -4
  5. package/data-table/lib/columns/data-text-column.component.d.ts +9 -4
  6. package/data-table/lib/columns/row-command-column.component.d.ts +28 -21
  7. package/data-table/lib/columns/row-index-column.component.d.ts +9 -4
  8. package/data-table/lib/columns/row-select-column.component.d.ts +3 -3
  9. package/data-table/lib/data-table.component.d.ts +14 -5
  10. package/data-table/lib/data-table.module.d.ts +11 -9
  11. package/esm2022/button/lib/button-item-list.component.mjs +35 -10
  12. package/esm2022/button/lib/button-item.component.mjs +1 -1
  13. package/esm2022/button/lib/button.component.mjs +2 -2
  14. package/esm2022/common/index.mjs +1 -1
  15. package/esm2022/common/lib/common.module.mjs +2 -2
  16. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +1 -1
  17. package/esm2022/data-table/index.mjs +2 -2
  18. package/esm2022/data-table/lib/columns/data-table-column.mjs +35 -0
  19. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +36 -12
  20. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +152 -64
  21. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +34 -10
  22. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +8 -8
  23. package/esm2022/data-table/lib/data-table.component.mjs +66 -18
  24. package/esm2022/data-table/lib/data-table.module.mjs +20 -11
  25. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +14 -4
  26. package/fesm2022/acorex-components-button.mjs +33 -11
  27. package/fesm2022/acorex-components-button.mjs.map +1 -1
  28. package/fesm2022/acorex-components-common.mjs +1 -1
  29. package/fesm2022/acorex-components-common.mjs.map +1 -1
  30. package/fesm2022/acorex-components-data-pager.mjs +1 -1
  31. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  32. package/fesm2022/acorex-components-data-table.mjs +337 -148
  33. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  34. package/fesm2022/acorex-components-dropdown.mjs +13 -3
  35. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  36. package/package.json +1 -1
  37. package/esm2022/data-table/lib/columns/data-column.mjs +0 -35
@@ -1,34 +1,58 @@
1
- import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from "@angular/core";
2
- import { AXDataColumnComponent } from "./data-column";
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild, ViewEncapsulation, inject } from "@angular/core";
3
+ import { AXDataTableColumnComponent } from "./data-table-column";
4
+ import { AXFormatService } from "@acorex/core/format";
5
+ import { Memorize } from "@acorex/core/memorize";
3
6
  import * as i0 from "@angular/core";
4
- export class AXDataTextColumnComponent extends AXDataColumnComponent {
7
+ export class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.formatService = inject(AXFormatService);
11
+ }
5
12
  get template() {
6
13
  return this._template;
7
14
  }
8
15
  get skeleton() {
9
16
  return true;
10
17
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXDataTextColumnComponent, selector: "ax-text-column", inputs: { width: "width", caption: "caption", headerTemplate: "headerTemplate", cellTemplate: "cellTemplate", dataField: "dataField", allowSorting: "allowSorting" }, providers: [{ provide: AXDataColumnComponent, useExisting: AXDataTextColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
18
+ getDisplayText(rowData, dataField) {
19
+ const value = rowData[dataField];
20
+ const options = Array.isArray(this.formatOptions) ? this.formatOptions : [this.formatOptions];
21
+ return !this.format ? value : this.formatService.format(value, this.format, ...options);
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableTextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXDataTableTextColumnComponent, selector: "ax-text-column", inputs: { width: "width", caption: "caption", headerTemplate: "headerTemplate", cellTemplate: "cellTemplate", allowSorting: "allowSorting", fixed: "fixed", dataField: "dataField", format: "format", formatOptions: "formatOptions" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
13
25
  <ng-template let-row>
14
- {{row.data[dataField]}}
26
+ {{getDisplayText(row.data,this.dataField)}}
15
27
  </ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
28
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTextColumnComponent, decorators: [{
29
+ __decorate([
30
+ Memorize(),
31
+ __metadata("design:type", Function),
32
+ __metadata("design:paramtypes", [Object, String]),
33
+ __metadata("design:returntype", String)
34
+ ], AXDataTableTextColumnComponent.prototype, "getDisplayText", null);
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableTextColumnComponent, decorators: [{
18
36
  type: Component,
19
37
  args: [{
20
38
  selector: 'ax-text-column',
21
39
  template: `
22
40
  <ng-template let-row>
23
- {{row.data[dataField]}}
41
+ {{getDisplayText(row.data,this.dataField)}}
24
42
  </ng-template>`,
25
43
  encapsulation: ViewEncapsulation.None,
26
44
  changeDetection: ChangeDetectionStrategy.OnPush,
27
- providers: [{ provide: AXDataColumnComponent, useExisting: AXDataTextColumnComponent }],
28
- inputs: ['width', 'caption', 'headerTemplate', 'cellTemplate', 'dataField', 'allowSorting']
45
+ providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }],
46
+ inputs: ['width', 'caption', 'headerTemplate', 'cellTemplate', 'allowSorting', 'fixed'],
29
47
  }]
30
- }], propDecorators: { _template: [{
48
+ }], propDecorators: { dataField: [{
49
+ type: Input
50
+ }], _template: [{
31
51
  type: ViewChild,
32
52
  args: [TemplateRef]
53
+ }], getDisplayText: [], format: [{
54
+ type: Input
55
+ }], formatOptions: [{
56
+ type: Input
33
57
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBUyxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhdEQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHFCQUFxQjtJQUtoRSxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUdELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBWlEseUJBQXlCO2tHQUF6Qix5QkFBeUIsK01BSHZCLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLENBQUMscUVBSzVFLFdBQVcsdUVBWFo7OzttQkFHSzs7MkZBTU4seUJBQXlCO2tCQVhyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRTs7O21CQUdLO29CQUNmLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVywyQkFBMkIsRUFBRSxDQUFDO29CQUN2RixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsY0FBYyxDQUFDO2lCQUM5Rjs4QkFJVyxTQUFTO3NCQURoQixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhEYXRhQ29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS1jb2x1bW5cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheC10ZXh0LWNvbHVtbicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz5cbiAgICAgICAge3tyb3cuZGF0YVtkYXRhRmllbGRdfX1cbiAgICA8L25nLXRlbXBsYXRlPmAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYRGF0YUNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRGF0YVRleHRDb2x1bW5Db21wb25lbnQgfV0sXG4gICAgaW5wdXRzOiBbJ3dpZHRoJywgJ2NhcHRpb24nLCAnaGVhZGVyVGVtcGxhdGUnLCAnY2VsbFRlbXBsYXRlJywgJ2RhdGFGaWVsZCcsICdhbGxvd1NvcnRpbmcnXVxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGFUZXh0Q29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhQ29sdW1uQ29tcG9uZW50IHtcblxuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpXG4gICAgcHJpdmF0ZSBfdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgZ2V0IHRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlO1xuICAgIH1cblxuXG4gICAgZ2V0IHNrZWxldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59Il19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBYWpELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSwwQkFBMEI7SUFYOUU7O1FBMkJZLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBZW5EO0lBdkJHLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQU1TLGNBQWMsQ0FBQyxPQUFnQixFQUFFLFNBQWlCO1FBQ3hELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUYsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUM1RixDQUFDOzhHQXhCUSw4QkFBOEI7a0dBQTlCLDhCQUE4QixpUkFINUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLEVBQUUsOEJBQThCLEVBQUUsQ0FBQyxxRUFRdEYsV0FBVyx1RUFkWjs7O21CQUdLOztBQTBCTDtJQURULFFBQVEsRUFBRTs7OztvRUFLVjsyRkF4QlEsOEJBQThCO2tCQVgxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRTs7O21CQUdLO29CQUNmLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxnQ0FBZ0MsRUFBRSxDQUFDO29CQUNqRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO2lCQUMxRjs4QkFJRyxTQUFTO3NCQURSLEtBQUs7Z0JBSUUsU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXO2dCQWVaLGNBQWMsTUFPeEIsTUFBTTtzQkFETCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS10YWJsZS1jb2x1bW5cIjtcbmltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvZm9ybWF0XCI7XG5pbXBvcnQgeyBNZW1vcml6ZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvbWVtb3JpemVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheC10ZXh0LWNvbHVtbicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz5cbiAgICAgICAge3tnZXREaXNwbGF5VGV4dChyb3cuZGF0YSx0aGlzLmRhdGFGaWVsZCl9fVxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERhdGFUYWJsZVRleHRDb2x1bW5Db21wb25lbnQgfV0sXG4gICAgaW5wdXRzOiBbJ3dpZHRoJywgJ2NhcHRpb24nLCAnaGVhZGVyVGVtcGxhdGUnLCAnY2VsbFRlbXBsYXRlJywgJ2FsbG93U29ydGluZycsICdmaXhlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGFUYWJsZVRleHRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKVxuICAgIGRhdGFGaWVsZDogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGU7XG4gICAgfVxuXG4gICAgZ2V0IHNrZWxldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFNlcnZpY2UgPSBpbmplY3QoQVhGb3JtYXRTZXJ2aWNlKTtcblxuXG4gICAgQE1lbW9yaXplKClcbiAgICBwcm90ZWN0ZWQgZ2V0RGlzcGxheVRleHQocm93RGF0YTogdW5rbm93biwgZGF0YUZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHJvd0RhdGFbZGF0YUZpZWxkXTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IEFycmF5LmlzQXJyYXkodGhpcy5mb3JtYXRPcHRpb25zKSA/IHRoaXMuZm9ybWF0T3B0aW9ucyA6IFt0aGlzLmZvcm1hdE9wdGlvbnNdO1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9ybWF0ID8gdmFsdWUgOiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHZhbHVlLCB0aGlzLmZvcm1hdCwgLi4ub3B0aW9ucyk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBmb3JtYXQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZm9ybWF0T3B0aW9uczogdW5rbm93bjtcbn0iXX0=
@@ -1,76 +1,173 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, inject } from "@angular/core";
2
- import { AXDataColumnComponent } from "./data-column";
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, TemplateRef, ViewChild, ViewEncapsulation, inject, ChangeDetectorRef } from "@angular/core";
2
+ import { AXDataTableColumnComponent } from "./data-table-column";
3
3
  import { AXDataTableComponent } from "../data-table.component";
4
- import { Observable, of } from "rxjs";
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "@angular/common";
7
- import * as i2 from "@acorex/components/decorators";
8
- import * as i3 from "@acorex/components/button";
9
- import * as i4 from "@acorex/components/dropdown";
10
- export class AXRowCommandColumnComponent extends AXDataColumnComponent {
6
+ import * as i2 from "@acorex/components/common";
7
+ import * as i3 from "@acorex/components/loading";
8
+ import * as i4 from "@acorex/components/decorators";
9
+ import * as i5 from "@acorex/components/button";
10
+ import * as i6 from "@acorex/components/dropdown";
11
+ export class AXBaseRowCommandColumnComponent extends AXDataTableColumnComponent {
11
12
  constructor() {
12
13
  super(...arguments);
13
14
  this.grid = inject(AXDataTableComponent);
15
+ this.cdr = inject(ChangeDetectorRef);
14
16
  this.allowSorting = false;
15
- this._items = [];
16
- this.items = [];
17
17
  this.onItemClick = new EventEmitter();
18
18
  }
19
- get template() {
20
- return this._template;
21
- }
22
19
  get skeleton() {
23
20
  return false;
24
21
  }
25
22
  get cssClass() {
26
23
  return 'ax-command-column';
27
24
  }
28
- handleOnItemClick(e, data) {
29
- this.onItemClick.emit(Object.assign(e, { component: this.grid, data }));
25
+ }
26
+ export class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponent {
27
+ constructor() {
28
+ super(...arguments);
29
+ this._items = [];
30
+ this.items = [];
31
+ }
32
+ get template() {
33
+ return this._template;
30
34
  }
31
- items$(rowData) {
35
+ async handleOnOpened(rowData) {
32
36
  if (Array.isArray(this.items)) {
33
- return of(this.items);
37
+ this._items = this.items;
34
38
  }
35
39
  else
36
40
  (typeof this.items == 'function');
37
41
  {
38
- const result = this.items(rowData);
42
+ const result = this['items'](rowData);
39
43
  if (Array.isArray(result)) {
40
- return of(result);
44
+ this._items = result;
41
45
  }
42
46
  else if (result instanceof Promise) {
43
- let subscriber;
44
- const observable = new Observable(observer => {
45
- subscriber = observer;
46
- });
47
- result.then(items => {
48
- subscriber?.next(items);
49
- });
50
- return observable;
47
+ this._items = await result;
51
48
  }
52
49
  }
53
- return of([]);
50
+ this.cdr.detectChanges();
54
51
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowCommandColumnComponent, selector: "ax-command-column", inputs: { width: "width", caption: "caption", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXDataColumnComponent, useExisting: AXRowCommandColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
52
+ handleOnClosed() {
53
+ this._items = [];
54
+ }
55
+ handleOnItemClick(e, data) {
56
+ const args = {
57
+ component: this.grid,
58
+ isUserInteraction: true,
59
+ nativeEvent: e,
60
+ data,
61
+ name: e.name
62
+ };
63
+ this.onItemClick.emit(args);
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowDropdownCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
57
67
  <ng-template let-row>
58
- <span #btn *ngIf="row.data">
59
- <ax-icon icon="ax-icon ax-icon-more-horizontal"></ax-icon>
60
- <ax-dropdown-panel >
61
- <ax-button-item-list (onItemClick)="handleOnItemClick($event,row.data)">
62
- <ng-container *ngFor="let item of items$(row.data) | async">
63
- <ax-button-item [text]="item.text" [name]="item.name" [disabled]="item.disabled" [color]="item.color" >
64
- <ax-prefix>
65
- <ax-icon [icon]="item.icon"></ax-icon>
66
- </ax-prefix>
67
- </ax-button-item>
68
- <ax-divider *ngIf="item.divided"></ax-divider>
68
+ <div *ngIf="row.data">
69
+ <button axRipple>
70
+ <ax-icon icon="ax-icon ax-icon-more-horizontal"></ax-icon>
71
+ <ax-dropdown-panel [adaptivityEnabled]="true" (onOpened)="handleOnOpened(row.data)" (onClosed)="handleOnClosed()">
72
+ <ng-container *ngIf="_items.length;else loading">
73
+ <ax-button-item-list (onItemClick)="handleOnItemClick($event,row.data)" [items]="_items">
74
+ </ax-button-item-list>
69
75
  </ng-container>
70
- </ax-button-item-list>
71
- </ax-dropdown-panel>
72
- </span>
73
- </ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title" }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", outputs: ["onItemClick"] }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
76
+ <ng-template #loading>
77
+ <div panel style="padding: 0.875rem;">
78
+ <ax-loading></ax-loading>
79
+ </div>
80
+ </ng-template>
81
+ </ax-dropdown-panel>
82
+ </button>
83
+ </div>
84
+ <ng-template #loading>
85
+ <div panel style="padding: 0.875rem;">
86
+ <ax-loading></ax-loading>
87
+ </div>
88
+ </ng-template>
89
+ </ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AXRippleDirective, selector: "[axRipple]", inputs: ["axRippleColor"] }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
90
+ }
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowDropdownCommandColumnComponent, decorators: [{
92
+ type: Component,
93
+ args: [{
94
+ selector: 'ax-dropdown-command-column',
95
+ template: `
96
+ <ng-template let-row>
97
+ <div *ngIf="row.data">
98
+ <button axRipple>
99
+ <ax-icon icon="ax-icon ax-icon-more-horizontal"></ax-icon>
100
+ <ax-dropdown-panel [adaptivityEnabled]="true" (onOpened)="handleOnOpened(row.data)" (onClosed)="handleOnClosed()">
101
+ <ng-container *ngIf="_items.length;else loading">
102
+ <ax-button-item-list (onItemClick)="handleOnItemClick($event,row.data)" [items]="_items">
103
+ </ax-button-item-list>
104
+ </ng-container>
105
+ <ng-template #loading>
106
+ <div panel style="padding: 0.875rem;">
107
+ <ax-loading></ax-loading>
108
+ </div>
109
+ </ng-template>
110
+ </ax-dropdown-panel>
111
+ </button>
112
+ </div>
113
+ <ng-template #loading>
114
+ <div panel style="padding: 0.875rem;">
115
+ <ax-loading></ax-loading>
116
+ </div>
117
+ </ng-template>
118
+ </ng-template>`,
119
+ encapsulation: ViewEncapsulation.None,
120
+ changeDetection: ChangeDetectionStrategy.OnPush,
121
+ providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }],
122
+ inputs: ['width', 'caption', 'fixed'],
123
+ outputs: ['onItemClick']
124
+ }]
125
+ }], propDecorators: { _template: [{
126
+ type: ViewChild,
127
+ args: [TemplateRef]
128
+ }], items: [{
129
+ type: Input
130
+ }] } });
131
+ export class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {
132
+ constructor() {
133
+ super(...arguments);
134
+ this.items = [];
135
+ }
136
+ get template() {
137
+ return this._template;
138
+ }
139
+ getItems(rowData) {
140
+ if (Array.isArray(this.items)) {
141
+ return this.items;
142
+ }
143
+ else
144
+ (typeof this.items == 'function');
145
+ {
146
+ return this.items(rowData);
147
+ }
148
+ return [];
149
+ }
150
+ handleOnItemClick(e, item, data) {
151
+ const args = {
152
+ component: this.grid,
153
+ isUserInteraction: true,
154
+ nativeEvent: e,
155
+ data,
156
+ name: item.name,
157
+ };
158
+ this.onItemClick.emit(args);
159
+ }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowCommandColumnComponent, selector: "ax-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
162
+ <ng-template let-row>
163
+ <div *ngIf="row.data">
164
+ <button
165
+ [style.color]="'rgba(var(--ax-color-'+(item.color ?? 'primary')+'-500))'" axRipple *ngFor="let item of getItems(row.data)"
166
+ (click)="handleOnItemClick($event,item,row.data)">
167
+ <ax-icon [icon]="item.icon" ></ax-icon>
168
+ </button>
169
+ </div>
170
+ </ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AXRippleDirective, selector: "[axRipple]", inputs: ["axRippleColor"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
74
171
  }
75
172
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowCommandColumnComponent, decorators: [{
76
173
  type: Component,
@@ -78,33 +175,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
78
175
  selector: 'ax-command-column',
79
176
  template: `
80
177
  <ng-template let-row>
81
- <span #btn *ngIf="row.data">
82
- <ax-icon icon="ax-icon ax-icon-more-horizontal"></ax-icon>
83
- <ax-dropdown-panel >
84
- <ax-button-item-list (onItemClick)="handleOnItemClick($event,row.data)">
85
- <ng-container *ngFor="let item of items$(row.data) | async">
86
- <ax-button-item [text]="item.text" [name]="item.name" [disabled]="item.disabled" [color]="item.color" >
87
- <ax-prefix>
88
- <ax-icon [icon]="item.icon"></ax-icon>
89
- </ax-prefix>
90
- </ax-button-item>
91
- <ax-divider *ngIf="item.divided"></ax-divider>
92
- </ng-container>
93
- </ax-button-item-list>
94
- </ax-dropdown-panel>
95
- </span>
178
+ <div *ngIf="row.data">
179
+ <button
180
+ [style.color]="'rgba(var(--ax-color-'+(item.color ?? 'primary')+'-500))'" axRipple *ngFor="let item of getItems(row.data)"
181
+ (click)="handleOnItemClick($event,item,row.data)">
182
+ <ax-icon [icon]="item.icon" ></ax-icon>
183
+ </button>
184
+ </div>
96
185
  </ng-template>`,
97
186
  encapsulation: ViewEncapsulation.None,
98
187
  changeDetection: ChangeDetectionStrategy.OnPush,
99
- providers: [{ provide: AXDataColumnComponent, useExisting: AXRowCommandColumnComponent }],
100
- inputs: ['width', 'caption']
188
+ providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }],
189
+ inputs: ['width', 'caption', 'fixed'],
190
+ outputs: ['onItemClick']
101
191
  }]
102
192
  }], propDecorators: { _template: [{
103
193
  type: ViewChild,
104
194
  args: [TemplateRef]
105
195
  }], items: [{
106
196
  type: Input
107
- }], onItemClick: [{
108
- type: Output
109
197
  }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbW1hbmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvY29sdW1ucy9yb3ctY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXRLLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBd0NsRCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEscUJBQXFCO0lBekJ0RTs7UUEyQlksU0FBSSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBUzVDLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBZ0JWLFdBQU0sR0FBdUIsRUFBRSxDQUFDO1FBSTFDLFVBQUssR0FBa0csRUFBRSxDQUFDO1FBNEIxRyxnQkFBVyxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztLQUkxRztJQXhERyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUlELElBQUksUUFBUTtRQUNSLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLG1CQUFtQixDQUFDO0lBQy9CLENBQUM7SUFHUyxpQkFBaUIsQ0FBQyxDQUEwQyxFQUFFLElBQWE7UUFDakYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDM0UsQ0FBQztJQVNTLE1BQU0sQ0FBQyxPQUFnQjtRQUM3QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6Qjs7WUFDSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsQ0FBQTtRQUN0QztZQUNJLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyQjtpQkFDSSxJQUFJLE1BQU0sWUFBWSxPQUFPLEVBQUU7Z0JBQ2hDLElBQUksVUFBMEMsQ0FBQztnQkFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQXFCLFFBQVEsQ0FBQyxFQUFFO29CQUM3RCxVQUFVLEdBQUcsUUFBUSxDQUFDO2dCQUMxQixDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNoQixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLFVBQVUsQ0FBQzthQUNyQjtTQUNKO1FBQ0QsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEIsQ0FBQzs4R0F2RFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIscUpBSHpCLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLENBQUMscUVBTzlFLFdBQVcsdUVBM0JaOzs7Ozs7Ozs7Ozs7Ozs7OzttQkFpQks7OzJGQU1OLDJCQUEyQjtrQkF6QnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzttQkFpQks7b0JBQ2YsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLDZCQUE2QixFQUFFLENBQUM7b0JBQ3pGLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7aUJBQy9COzhCQU1XLFNBQVM7c0JBRGhCLFNBQVM7dUJBQUMsV0FBVztnQkEyQnRCLEtBQUs7c0JBREosS0FBSztnQkE2Qk4sV0FBVztzQkFEVixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFN0eWxlQ29sb3JUeXBlLCBBWEl0ZW1DbGlja0V2ZW50IH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcbmltcG9ydCB7IEFYRGF0YUNvbHVtbkNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtY29sdW1uXCI7XG5pbXBvcnQgeyBBWEJ1dHRvbkl0ZW1Db21wb25lbnQsIEFYQnV0dG9uSXRlbUxpc3RDb21wb25lbnQgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2J1dHRvblwiO1xuaW1wb3J0IHsgQVhEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vZGF0YS10YWJsZS5jb21wb25lbnRcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmliZXIsIG9mIH0gZnJvbSBcInJ4anNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBWFJvd0NvbW1hbmRJdGVtIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGljb246IHN0cmluZztcbiAgICBkaXZpZGVkPzogYm9vbGVhbjtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgICBjb2xvcj86IEFYU3R5bGVDb2xvclR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudCBleHRlbmRzIEFYSXRlbUNsaWNrRXZlbnQ8QVhCdXR0b25JdGVtQ29tcG9uZW50PiB7XG59XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheC1jb21tYW5kLWNvbHVtbicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz5cbiAgICAgICAgPHNwYW4gI2J0biAqbmdJZj1cInJvdy5kYXRhXCI+XG4gICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWNvbiBheC1pY29uLW1vcmUtaG9yaXpvbnRhbFwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbCA+XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3QgKG9uSXRlbUNsaWNrKT1cImhhbmRsZU9uSXRlbUNsaWNrKCRldmVudCxyb3cuZGF0YSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyQocm93LmRhdGEpIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbSBbdGV4dF09XCJpdGVtLnRleHRcIiBbbmFtZV09XCJpdGVtLm5hbWVcIiAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIiBbY29sb3JdPVwiaXRlbS5jb2xvclwiID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtZGl2aWRlciAqbmdJZj1cIml0ZW0uZGl2aWRlZFwiPjwvYXgtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhEYXRhQ29sdW1uQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IH1dLFxuICAgIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJ11cbn0pXG5leHBvcnQgY2xhc3MgQVhSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhQ29sdW1uQ29tcG9uZW50IHtcblxuICAgIHByaXZhdGUgZ3JpZCA9IGluamVjdChBWERhdGFUYWJsZUNvbXBvbmVudCk7XG5cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIGdldCB0ZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZTtcbiAgICB9XG5cbiAgICBhbGxvd1NvcnRpbmcgPSBmYWxzZVxuXG4gICAgZ2V0IHNrZWxldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0IGNzc0NsYXNzKCkge1xuICAgICAgICByZXR1cm4gJ2F4LWNvbW1hbmQtY29sdW1uJztcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBoYW5kbGVPbkl0ZW1DbGljayhlOiBBWEl0ZW1DbGlja0V2ZW50PEFYQnV0dG9uSXRlbUNvbXBvbmVudD4sIGRhdGE6IHVua25vd24pIHtcbiAgICAgICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KE9iamVjdC5hc3NpZ24oZSwgeyBjb21wb25lbnQ6IHRoaXMuZ3JpZCwgZGF0YSB9KSlcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBfaXRlbXM6IEFYUm93Q29tbWFuZEl0ZW1bXSA9IFtdO1xuXG5cbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zOiBBWFJvd0NvbW1hbmRJdGVtW10gfCAoKHJvd0RhdGE6IHVua25vd24pID0+IEFYUm93Q29tbWFuZEl0ZW1bXSB8IFByb21pc2U8QVhSb3dDb21tYW5kSXRlbVtdPikgPSBbXTtcblxuICAgIHByb3RlY3RlZCBpdGVtcyQocm93RGF0YTogdW5rbm93bik6IE9ic2VydmFibGU8QVhSb3dDb21tYW5kSXRlbVtdPiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodGhpcy5pdGVtcyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSAodHlwZW9mIHRoaXMuaXRlbXMgPT0gJ2Z1bmN0aW9uJylcbiAgICAgICAge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5pdGVtcyhyb3dEYXRhKTtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YocmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICBsZXQgc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxBWFJvd0NvbW1hbmRJdGVtW10+O1xuICAgICAgICAgICAgICAgIGNvbnN0IG9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZTxBWFJvd0NvbW1hbmRJdGVtW10+KG9ic2VydmVyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlciA9IG9ic2VydmVyO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJlc3VsdC50aGVuKGl0ZW1zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlcj8ubmV4dChpdGVtcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9ic2VydmFibGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICB9XG5cblxuICAgIEBPdXRwdXQoKVxuICAgIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8QVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudD4oKTtcblxuXG5cbn0iXX0=
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbW1hbmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvY29sdW1ucy9yb3ctY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5SixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7QUFTL0QsTUFBTSxPQUFnQiwrQkFBZ0MsU0FBUSwwQkFBMEI7SUFBeEY7O1FBRWMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BDLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUcxQyxpQkFBWSxHQUFHLEtBQUssQ0FBQTtRQVVwQixnQkFBVyxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztJQUMzRyxDQUFDO0lBVEcsSUFBSSxRQUFRO1FBQ1IsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztDQUdKO0FBbUNELE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSwrQkFBK0I7SUFoQ3hGOztRQTJDYyxXQUFNLEdBQXVCLEVBQUUsQ0FBQztRQUkxQyxVQUFLLEdBQWtHLEVBQUUsQ0FBQztLQW9DN0c7SUE3Q0csSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFVUyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU87UUFDbEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDNUI7O1lBQ0ksQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLENBQUE7UUFDdEM7WUFDSSxNQUFNLE1BQU0sR0FBSSxJQUFJLENBQUMsT0FBTyxDQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzthQUN4QjtpQkFDSSxJQUFJLE1BQU0sWUFBWSxPQUFPLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUM7YUFDOUI7U0FDSjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVTLGNBQWM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUdTLGlCQUFpQixDQUFDLENBQTBDLEVBQUUsSUFBYTtRQUVqRixNQUFNLElBQUksR0FBK0I7WUFDckMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ3BCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsV0FBVyxFQUFFLENBQUM7WUFDZCxJQUFJO1lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO1NBQ2YsQ0FBQTtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQy9CLENBQUM7OEdBbERRLG1DQUFtQztrR0FBbkMsbUNBQW1DLDhLQUpqQyxDQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSxtQ0FBbUMsRUFBRSxDQUFDLHFFQU8zRixXQUFXLHVFQWpDWjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBdUJLOzsyRkFPTixtQ0FBbUM7a0JBaEMvQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBdUJLO29CQUNmLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxxQ0FBcUMsRUFBRSxDQUFDO29CQUN0RyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUMzQjs4QkFLVyxTQUFTO3NCQURoQixTQUFTO3VCQUFDLFdBQVc7Z0JBWXRCLEtBQUs7c0JBREosS0FBSzs7QUE0RFYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLCtCQUErQjtJQWxCaEY7O1FBNkJJLFVBQUssR0FBb0UsRUFBRSxDQUFDO0tBeUIvRTtJQTlCRyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQU1TLFFBQVEsQ0FBQyxPQUFnQjtRQUMvQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNyQjs7WUFDSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsQ0FBQTtRQUN0QztZQUNJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUdTLGlCQUFpQixDQUFDLENBQWEsRUFBRSxJQUFzQixFQUFFLElBQWE7UUFDNUUsTUFBTSxJQUFJLEdBQStCO1lBQ3JDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNwQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFdBQVcsRUFBRSxDQUFDO1lBQ2QsSUFBSTtZQUNKLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDL0IsQ0FBQzs4R0FuQ1EsMkJBQTJCO2tHQUEzQiwyQkFBMkIscUtBSnpCLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLENBQUMscUVBT25GLFdBQVcsdUVBbkJaOzs7Ozs7Ozs7bUJBU0s7OzJGQU9OLDJCQUEyQjtrQkFsQnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7bUJBU0s7b0JBQ2YsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLDZCQUE2QixFQUFFLENBQUM7b0JBQzlGLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzNCOzhCQUtXLFNBQVM7c0JBRGhCLFNBQVM7dUJBQUMsV0FBVztnQkFRdEIsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhJdGVtQ2xpY2tFdmVudCwgQVhCdXR0b25DbGlja0V2ZW50IH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS10YWJsZS1jb2x1bW5cIjtcbmltcG9ydCB7IEFYQnV0dG9uSXRlbUxpc3RJdGVtLCBBWEJ1dHRvbkl0ZW1Db21wb25lbnQgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2J1dHRvblwiO1xuaW1wb3J0IHsgQVhEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vZGF0YS10YWJsZS5jb21wb25lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBWFJvd0NvbW1hbmRJdGVtIGV4dGVuZHMgQVhCdXR0b25JdGVtTGlzdEl0ZW0ge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50IGV4dGVuZHMgQVhCdXR0b25DbGlja0V2ZW50IHtcbn1cblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcblxuICAgIHByb3RlY3RlZCBncmlkID0gaW5qZWN0KEFYRGF0YVRhYmxlQ29tcG9uZW50KTtcbiAgICBwcm90ZWN0ZWQgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuXG4gICAgYWxsb3dTb3J0aW5nID0gZmFsc2VcblxuICAgIGdldCBza2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGdldCBjc3NDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuICdheC1jb21tYW5kLWNvbHVtbic7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50PigpO1xufVxuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlIGxldC1yb3c+XG4gICAgICAgIDxkaXYgICpuZ0lmPVwicm93LmRhdGFcIj5cbiAgICAgICAgICAgIDxidXR0b24gIGF4UmlwcGxlPlxuICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pY29uIGF4LWljb24tbW9yZS1ob3Jpem9udGFsXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbCAgW2FkYXB0aXZpdHlFbmFibGVkXT1cInRydWVcIiAob25PcGVuZWQpPVwiaGFuZGxlT25PcGVuZWQocm93LmRhdGEpXCIgKG9uQ2xvc2VkKT1cImhhbmRsZU9uQ2xvc2VkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9pdGVtcy5sZW5ndGg7ZWxzZSBsb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdCAgKG9uSXRlbUNsaWNrKT1cImhhbmRsZU9uSXRlbUNsaWNrKCRldmVudCxyb3cuZGF0YSlcIiBbaXRlbXNdPVwiX2l0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHBhbmVsIHN0eWxlPVwicGFkZGluZzogMC44NzVyZW07XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxvYWRpbmc+PC9heC1sb2FkaW5nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICAgICAgPGRpdiBwYW5lbCBzdHlsZT1cInBhZGRpbmc6IDAuODc1cmVtO1wiPlxuICAgICAgICAgICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFJvd0Ryb3Bkb3duQ29tbWFuZENvbHVtbkNvbXBvbmVudCB9XSxcbiAgICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxuICAgIG91dHB1dHM6IFsnb25JdGVtQ2xpY2snXVxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0Ryb3Bkb3duQ29tbWFuZENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZVJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQge1xuXG5cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIGdldCB0ZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZTtcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBfaXRlbXM6IEFYUm93Q29tbWFuZEl0ZW1bXSA9IFtdO1xuXG5cbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zOiBBWFJvd0NvbW1hbmRJdGVtW10gfCAoKHJvd0RhdGE6IHVua25vd24pID0+IEFYUm93Q29tbWFuZEl0ZW1bXSB8IFByb21pc2U8QVhSb3dDb21tYW5kSXRlbVtdPikgPSBbXTtcblxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZU9uT3BlbmVkKHJvd0RhdGEpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgfVxuICAgICAgICBlbHNlICh0eXBlb2YgdGhpcy5pdGVtcyA9PSAnZnVuY3Rpb24nKVxuICAgICAgICB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSAodGhpc1snaXRlbXMnXSBhcyBhbnkpKHJvd0RhdGEpO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gYXdhaXQgcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlT25DbG9zZWQoKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1zID0gW107XG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlT25JdGVtQ2xpY2soZTogQVhJdGVtQ2xpY2tFdmVudDxBWEJ1dHRvbkl0ZW1Db21wb25lbnQ+LCBkYXRhOiB1bmtub3duKSB7XG5cbiAgICAgICAgY29uc3QgYXJnczogQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMuZ3JpZCxcbiAgICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgbmFtZTogZS5uYW1lXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KGFyZ3MpXG4gICAgfVxufVxuXG5cblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4LWNvbW1hbmQtY29sdW1uJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PlxuICAgICAgICA8ZGl2ICAqbmdJZj1cInJvdy5kYXRhXCI+XG4gICAgICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3JnYmEodmFyKC0tYXgtY29sb3ItJysoaXRlbS5jb2xvciA/PyAncHJpbWFyeScpKyctNTAwKSknXCIgYXhSaXBwbGUgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0SXRlbXMocm93LmRhdGEpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9uSXRlbUNsaWNrKCRldmVudCxpdGVtLHJvdy5kYXRhKVwiPlxuICAgICAgICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiID48L2F4LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCB9XSxcbiAgICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxuICAgIG91dHB1dHM6IFsnb25JdGVtQ2xpY2snXVxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IHtcblxuXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBpdGVtczogQVhSb3dDb21tYW5kSXRlbVtdIHwgKChyb3dEYXRhOiB1bmtub3duKSA9PiBBWFJvd0NvbW1hbmRJdGVtW10pID0gW107XG5cblxuICAgIHByb3RlY3RlZCBnZXRJdGVtcyhyb3dEYXRhOiB1bmtub3duKTogQVhSb3dDb21tYW5kSXRlbVtdIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1zO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgKHR5cGVvZiB0aGlzLml0ZW1zID09ICdmdW5jdGlvbicpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1zKHJvd0RhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBoYW5kbGVPbkl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBBWFJvd0NvbW1hbmRJdGVtLCBkYXRhOiB1bmtub3duKSB7XG4gICAgICAgIGNvbnN0IGFyZ3M6IEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50ID0ge1xuICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLmdyaWQsXG4gICAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoYXJncylcbiAgICB9XG59Il19
@@ -1,9 +1,16 @@
1
- import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from "@angular/core";
2
- import { AXDataColumnComponent } from "./data-column";
1
+ import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild, ViewEncapsulation, inject } from "@angular/core";
2
+ import { AXDataTableColumnComponent } from "./data-table-column";
3
+ import { AXDataTableComponent } from "../data-table.component";
4
+ import { AXUnsubscriber } from "@acorex/core/utils";
3
5
  import * as i0 from "@angular/core";
4
- export class AXRowIndexColumnComponent extends AXDataColumnComponent {
6
+ import * as i1 from "@acorex/core/format";
7
+ export class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
5
8
  constructor() {
6
9
  super(...arguments);
10
+ this.grid = inject(AXDataTableComponent);
11
+ this.unsubscriber = inject(AXUnsubscriber);
12
+ this.padZero = false;
13
+ this.formatCount = 1;
7
14
  this.allowSorting = false;
8
15
  }
9
16
  get template() {
@@ -12,14 +19,26 @@ export class AXRowIndexColumnComponent extends AXDataColumnComponent {
12
19
  get cssClass() {
13
20
  return 'ax-index-column';
14
21
  }
22
+ ngOnInit() {
23
+ if (this.padZero) {
24
+ this.grid.dataSource.onChanged
25
+ .pipe(this.unsubscriber.takeUntilDestroy)
26
+ .subscribe(c => {
27
+ this.formatCount = c.totalCount.toString().length;
28
+ });
29
+ }
30
+ }
15
31
  get skeleton() {
16
32
  return false;
17
33
  }
18
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowIndexColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowIndexColumnComponent, selector: "ax-index-column", inputs: { width: "width", caption: "caption" }, providers: [{ provide: AXDataColumnComponent, useExisting: AXRowIndexColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowIndexColumnComponent, selector: "ax-index-column", inputs: { width: "width", caption: "caption", fixed: "fixed", padZero: "padZero" }, providers: [
36
+ AXUnsubscriber,
37
+ { provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent }
38
+ ], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
20
39
  <ng-template let-row>
21
- <span> {{row.rowIndex + 1}}</span>
22
- </ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
+ <span> {{(row.rowIndex + 1) | format:"number":"D"+formatCount}}</span>
41
+ </ng-template>`, isInline: true, dependencies: [{ kind: "pipe", type: i1.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
23
42
  }
24
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowIndexColumnComponent, decorators: [{
25
44
  type: Component,
@@ -27,15 +46,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
27
46
  selector: 'ax-index-column',
28
47
  template: `
29
48
  <ng-template let-row>
30
- <span> {{row.rowIndex + 1}}</span>
49
+ <span> {{(row.rowIndex + 1) | format:"number":"D"+formatCount}}</span>
31
50
  </ng-template>`,
32
51
  encapsulation: ViewEncapsulation.None,
33
52
  changeDetection: ChangeDetectionStrategy.OnPush,
34
- providers: [{ provide: AXDataColumnComponent, useExisting: AXRowIndexColumnComponent }],
35
- inputs: ['width', 'caption']
53
+ providers: [
54
+ AXUnsubscriber,
55
+ { provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent }
56
+ ],
57
+ inputs: ['width', 'caption', 'fixed'],
36
58
  }]
37
59
  }], propDecorators: { _template: [{
38
60
  type: ViewChild,
39
61
  args: [TemplateRef]
62
+ }], padZero: [{
63
+ type: Input
40
64
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWluZGV4LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvcm93LWluZGV4LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhdEQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHFCQUFxQjtJQVhwRTs7UUF5QkksaUJBQVksR0FBRyxLQUFLLENBQUE7S0FLdkI7SUFkRyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQUtELElBQUksUUFBUTtRQUNSLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBbEJRLHlCQUF5QjtrR0FBekIseUJBQXlCLDBGQUh2QixDQUFDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRSxDQUFDLHFFQUs1RSxXQUFXLHVFQVhaOzs7bUJBR0s7OzJGQU1OLHlCQUF5QjtrQkFYckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUU7OzttQkFHSztvQkFDZixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsMkJBQTJCLEVBQUUsQ0FBQztvQkFDdkYsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQztpQkFDL0I7OEJBSVcsU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhEYXRhQ29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS1jb2x1bW5cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheC1pbmRleC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlIGxldC1yb3c+XG4gICAgICAgPHNwYW4+IHt7cm93LnJvd0luZGV4ICsgMX19PC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhEYXRhQ29sdW1uQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhSb3dJbmRleENvbHVtbkNvbXBvbmVudCB9XSxcbiAgICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEFYUm93SW5kZXhDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWERhdGFDb2x1bW5Db21wb25lbnQge1xuXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGU7XG4gICAgfVxuXG4gICAgZ2V0IGNzc0NsYXNzKCkge1xuICAgICAgICByZXR1cm4gJ2F4LWluZGV4LWNvbHVtbic7XG4gICAgfVxuXG5cbiAgICBhbGxvd1NvcnRpbmcgPSBmYWxzZVxuXG4gICAgZ2V0IHNrZWxldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufSJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWluZGV4LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvcm93LWluZGV4LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckksT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFrQnBELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSwwQkFBMEI7SUFmekU7O1FBaUJZLFNBQUksR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNwQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQWM5QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRU4sZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFhMUIsaUJBQVksR0FBRyxLQUFLLENBQUE7S0FLdkI7SUE3QkcsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFPRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztpQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7aUJBQ3hDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1NBQ1Y7SUFDTCxDQUFDO0lBS0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs4R0FwQ1EseUJBQXlCO2tHQUF6Qix5QkFBeUIsOEhBUHZCO1lBQ1AsY0FBYztZQUNkLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRTtTQUNsRixxRUFTVSxXQUFXLHVFQWxCWjs7O21CQUdLOzsyRkFVTix5QkFBeUI7a0JBZnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7bUJBR0s7b0JBQ2YsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLDJCQUEyQixFQUFFO3FCQUNsRjtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztpQkFFeEM7OEJBT1csU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXO2dCQVl0QixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS10YWJsZS1jb2x1bW5cIjtcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RhdGEtdGFibGUuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdXRpbHNcIjtcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4LWluZGV4LWNvbHVtbicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz5cbiAgICAgICA8c3Bhbj4ge3socm93LnJvd0luZGV4ICsgMSkgfCBmb3JtYXQ6XCJudW1iZXJcIjpcIkRcIitmb3JtYXRDb3VudH19PC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBBWFVuc3Vic2NyaWJlcixcbiAgICAgICAgeyBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUm93SW5kZXhDb2x1bW5Db21wb25lbnQgfVxuICAgIF0sXG4gICAgaW5wdXRzOiBbJ3dpZHRoJywgJ2NhcHRpb24nLCAnZml4ZWQnXSxcblxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0luZGV4Q29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgcHJpdmF0ZSBncmlkID0gaW5qZWN0KEFYRGF0YVRhYmxlQ29tcG9uZW50KTtcbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlciA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG5cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIGdldCB0ZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZTtcbiAgICB9XG5cbiAgICBnZXQgY3NzQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiAnYXgtaW5kZXgtY29sdW1uJztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHBhZFplcm8gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBmb3JtYXRDb3VudCA9IDE7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMucGFkWmVybykge1xuICAgICAgICAgICAgdGhpcy5ncmlkLmRhdGFTb3VyY2Uub25DaGFuZ2VkXG4gICAgICAgICAgICAgICAgLnBpcGUodGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdENvdW50ID0gYy50b3RhbENvdW50LnRvU3RyaW5nKCkubGVuZ3RoO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBhbGxvd1NvcnRpbmcgPSBmYWxzZVxuXG4gICAgZ2V0IHNrZWxldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufSJdfQ==
@@ -1,8 +1,8 @@
1
1
  import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation, inject } from "@angular/core";
2
- import { AXDataColumnComponent } from "./data-column";
2
+ import { AXDataTableColumnComponent } from "./data-table-column";
3
3
  import { AXDataTableComponent } from "../data-table.component";
4
4
  import * as i0 from "@angular/core";
5
- export class AXRowSelectColumnComponent extends AXDataColumnComponent {
5
+ export class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
6
6
  constructor() {
7
7
  super(...arguments);
8
8
  this.grid = inject(AXDataTableComponent);
@@ -15,17 +15,17 @@ export class AXRowSelectColumnComponent extends AXDataColumnComponent {
15
15
  }
16
16
  handleChange(item) {
17
17
  if (this.isSelected(item)) {
18
- this.grid.selectedRows = this.grid.selectedRows.filter(c => c != item);
18
+ this.grid.unSelectRows(item);
19
19
  }
20
20
  else {
21
- this.grid.selectedRows.push(item);
21
+ this.grid.selectRows(item);
22
22
  }
23
23
  }
24
24
  get skeleton() {
25
25
  return false;
26
26
  }
27
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowSelectColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowSelectColumnComponent, selector: "ax-select-column", inputs: { width: "width", caption: "caption" }, providers: [{ provide: AXDataColumnComponent, useExisting: AXRowSelectColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowSelectColumnComponent, selector: "ax-select-column", inputs: { width: "width", caption: "caption", fixed: "fixed" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
29
29
  <ng-template let-row>
30
30
  <input
31
31
  class="ax-checkbox"
@@ -52,11 +52,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
52
52
  </ng-template>`,
53
53
  encapsulation: ViewEncapsulation.None,
54
54
  changeDetection: ChangeDetectionStrategy.OnPush,
55
- providers: [{ provide: AXDataColumnComponent, useExisting: AXRowSelectColumnComponent }],
56
- inputs: ['width', 'caption']
55
+ providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }],
56
+ inputs: ['width', 'caption', 'fixed']
57
57
  }]
58
58
  }], propDecorators: { _template: [{
59
59
  type: ViewChild,
60
60
  args: [TemplateRef]
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXNlbGVjdC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2xpYi9jb2x1bW5zL3Jvdy1zZWxlY3QtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFtQi9ELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxxQkFBcUI7SUFqQnJFOztRQW1CWSxTQUFJLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0E2Qi9DO0lBdEJHLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRVMsVUFBVSxDQUFDLElBQWE7UUFDOUIsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBR1MsWUFBWSxDQUFDLElBQWE7UUFDaEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztTQUMxRTthQUNJO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBN0JRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDJGQUh4QixDQUFDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLHFFQVE3RSxXQUFXLHVFQXBCWjs7Ozs7Ozs7O21CQVNLOzsyRkFNTiwwQkFBMEI7a0JBakJ0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7O21CQVNLO29CQUNmLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyw0QkFBNEIsRUFBRSxDQUFDO29CQUN4RixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO2lCQUMvQjs4QkFPVyxTQUFTO3NCQURoQixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYRGF0YUNvbHVtbkNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtY29sdW1uXCI7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi9kYXRhLXRhYmxlLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4LXNlbGVjdC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlIGxldC1yb3c+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJheC1jaGVja2JveFwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFyb3cuZGF0YVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZShyb3cuZGF0YSlcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyb3cuZGF0YSlcIlxuICAgICAgICAgIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWERhdGFDb2x1bW5Db21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFJvd1NlbGVjdENvbHVtbkNvbXBvbmVudCB9XSxcbiAgICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEFYUm93U2VsZWN0Q29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhQ29sdW1uQ29tcG9uZW50IHtcblxuICAgIHByaXZhdGUgZ3JpZCA9IGluamVjdChBWERhdGFUYWJsZUNvbXBvbmVudCk7XG5cblxuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpXG4gICAgcHJpdmF0ZSBfdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG5cbiAgICBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzU2VsZWN0ZWQoaXRlbTogdW5rbm93bikge1xuICAgICAgICByZXR1cm4gaXRlbSAhPSBudWxsICYmIHRoaXMuZ3JpZC5zZWxlY3RlZFJvd3MuaW5jbHVkZXMoaXRlbSk7XG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2hhbmdlKGl0ZW06IHVua25vd24pIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZChpdGVtKSkge1xuICAgICAgICAgICAgdGhpcy5ncmlkLnNlbGVjdGVkUm93cyA9IHRoaXMuZ3JpZC5zZWxlY3RlZFJvd3MuZmlsdGVyKGMgPT4gYyAhPSBpdGVtKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZC5zZWxlY3RlZFJvd3MucHVzaChpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBza2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxufSJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXNlbGVjdC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2xpYi9jb2x1bW5zL3Jvdy1zZWxlY3QtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQW1CL0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDBCQUEwQjtJQWpCMUU7O1FBbUJZLFNBQUksR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQTZCL0M7SUF0QkcsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFUyxVQUFVLENBQUMsSUFBYTtRQUM5QixPQUFPLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFHUyxZQUFZLENBQUMsSUFBYTtRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7YUFDSTtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBN0JRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDJHQUh4QixDQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLHFFQVFsRixXQUFXLHVFQXBCWjs7Ozs7Ozs7O21CQVNLOzsyRkFNTiwwQkFBMEI7a0JBakJ0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7O21CQVNLO29CQUNmLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyw0QkFBNEIsRUFBRSxDQUFDO29CQUM3RixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztpQkFDeEM7OEJBT1csU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtdGFibGUtY29sdW1uXCI7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi9kYXRhLXRhYmxlLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4LXNlbGVjdC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlIGxldC1yb3c+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJheC1jaGVja2JveFwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFyb3cuZGF0YVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZShyb3cuZGF0YSlcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyb3cuZGF0YSlcIlxuICAgICAgICAgIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUm93U2VsZWN0Q29sdW1uQ29tcG9uZW50IH1dLFxuICAgIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJywgJ2ZpeGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQVhSb3dTZWxlY3RDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG5cbiAgICBwcml2YXRlIGdyaWQgPSBpbmplY3QoQVhEYXRhVGFibGVDb21wb25lbnQpO1xuXG5cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuXG4gICAgZ2V0IHRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc1NlbGVjdGVkKGl0ZW06IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0gIT0gbnVsbCAmJiB0aGlzLmdyaWQuc2VsZWN0ZWRSb3dzLmluY2x1ZGVzKGl0ZW0pO1xuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNoYW5nZShpdGVtOiB1bmtub3duKSB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZC51blNlbGVjdFJvd3MoaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdyaWQuc2VsZWN0Um93cyhpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBza2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxufSJdfQ==