@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.
- package/button/lib/button-item-list.component.d.ts +6 -6
- package/button/lib/button-item.component.d.ts +9 -1
- package/data-table/index.d.ts +1 -1
- package/data-table/lib/columns/{data-column.d.ts → data-table-column.d.ts} +4 -4
- package/data-table/lib/columns/data-text-column.component.d.ts +9 -4
- package/data-table/lib/columns/row-command-column.component.d.ts +28 -21
- package/data-table/lib/columns/row-index-column.component.d.ts +9 -4
- package/data-table/lib/columns/row-select-column.component.d.ts +3 -3
- package/data-table/lib/data-table.component.d.ts +14 -5
- package/data-table/lib/data-table.module.d.ts +11 -9
- package/esm2022/button/lib/button-item-list.component.mjs +35 -10
- package/esm2022/button/lib/button-item.component.mjs +1 -1
- package/esm2022/button/lib/button.component.mjs +2 -2
- package/esm2022/common/index.mjs +1 -1
- package/esm2022/common/lib/common.module.mjs +2 -2
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +1 -1
- package/esm2022/data-table/index.mjs +2 -2
- package/esm2022/data-table/lib/columns/data-table-column.mjs +35 -0
- package/esm2022/data-table/lib/columns/data-text-column.component.mjs +36 -12
- package/esm2022/data-table/lib/columns/row-command-column.component.mjs +152 -64
- package/esm2022/data-table/lib/columns/row-index-column.component.mjs +34 -10
- package/esm2022/data-table/lib/columns/row-select-column.component.mjs +8 -8
- package/esm2022/data-table/lib/data-table.component.mjs +66 -18
- package/esm2022/data-table/lib/data-table.module.mjs +20 -11
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +14 -4
- package/fesm2022/acorex-components-button.mjs +33 -11
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +1 -1
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +1 -1
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +337 -148
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +13 -3
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/package.json +1 -1
- package/esm2022/data-table/lib/columns/data-column.mjs +0 -35
@@ -1,34 +1,58 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
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
|
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
|
-
|
12
|
-
|
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
|
26
|
+
{{getDisplayText(row.data,this.dataField)}}
|
15
27
|
</ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
16
28
|
}
|
17
|
-
|
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
|
41
|
+
{{getDisplayText(row.data,this.dataField)}}
|
24
42
|
</ng-template>`,
|
25
43
|
encapsulation: ViewEncapsulation.None,
|
26
44
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
27
|
-
providers: [{ provide:
|
28
|
-
inputs: ['width', 'caption', 'headerTemplate', 'cellTemplate', '
|
45
|
+
providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }],
|
46
|
+
inputs: ['width', 'caption', 'headerTemplate', 'cellTemplate', 'allowSorting', 'fixed'],
|
29
47
|
}]
|
30
|
-
}], propDecorators: {
|
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,
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBYWpELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSwwQkFBMEI7SUFYOUU7O1FBMkJZLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBZW5EO0lBdkJHLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQU1TLGNBQWMsQ0FBQyxPQUFnQixFQUFFLFNBQWlCO1FBQ3hELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUYsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUM1RixDQUFDOzhHQXhCUSw4QkFBOEI7a0dBQTlCLDhCQUE4QixpUkFINUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLEVBQUUsOEJBQThCLEVBQUUsQ0FBQyxxRUFRdEYsV0FBVyx1RUFkWjs7O21CQUdLOztBQTBCTDtJQURULFFBQVEsRUFBRTs7OztvRUFLVjsyRkF4QlEsOEJBQThCO2tCQVgxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRTs7O21CQUdLO29CQUNmLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxnQ0FBZ0MsRUFBRSxDQUFDO29CQUNqRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO2lCQUMxRjs4QkFJRyxTQUFTO3NCQURSLEtBQUs7Z0JBSUUsU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXO2dCQWVaLGNBQWMsTUFPeEIsTUFBTTtzQkFETCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS10YWJsZS1jb2x1bW5cIjtcbmltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvZm9ybWF0XCI7XG5pbXBvcnQgeyBNZW1vcml6ZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvbWVtb3JpemVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheC10ZXh0LWNvbHVtbicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz5cbiAgICAgICAge3tnZXREaXNwbGF5VGV4dChyb3cuZGF0YSx0aGlzLmRhdGFGaWVsZCl9fVxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERhdGFUYWJsZVRleHRDb2x1bW5Db21wb25lbnQgfV0sXG4gICAgaW5wdXRzOiBbJ3dpZHRoJywgJ2NhcHRpb24nLCAnaGVhZGVyVGVtcGxhdGUnLCAnY2VsbFRlbXBsYXRlJywgJ2FsbG93U29ydGluZycsICdmaXhlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGFUYWJsZVRleHRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKVxuICAgIGRhdGFGaWVsZDogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGU7XG4gICAgfVxuXG4gICAgZ2V0IHNrZWxldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFNlcnZpY2UgPSBpbmplY3QoQVhGb3JtYXRTZXJ2aWNlKTtcblxuXG4gICAgQE1lbW9yaXplKClcbiAgICBwcm90ZWN0ZWQgZ2V0RGlzcGxheVRleHQocm93RGF0YTogdW5rbm93biwgZGF0YUZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHJvd0RhdGFbZGF0YUZpZWxkXTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IEFycmF5LmlzQXJyYXkodGhpcy5mb3JtYXRPcHRpb25zKSA/IHRoaXMuZm9ybWF0T3B0aW9ucyA6IFt0aGlzLmZvcm1hdE9wdGlvbnNdO1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9ybWF0ID8gdmFsdWUgOiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHZhbHVlLCB0aGlzLmZvcm1hdCwgLi4ub3B0aW9ucyk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBmb3JtYXQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZm9ybWF0T3B0aW9uczogdW5rbm93bjtcbn0iXX0=
|
@@ -1,76 +1,173 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input,
|
2
|
-
import {
|
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/
|
8
|
-
import * as i3 from "@acorex/components/
|
9
|
-
import * as i4 from "@acorex/components/
|
10
|
-
|
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
|
-
|
29
|
-
|
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
|
-
|
35
|
+
async handleOnOpened(rowData) {
|
32
36
|
if (Array.isArray(this.items)) {
|
33
|
-
|
37
|
+
this._items = this.items;
|
34
38
|
}
|
35
39
|
else
|
36
40
|
(typeof this.items == 'function');
|
37
41
|
{
|
38
|
-
const result = this
|
42
|
+
const result = this['items'](rowData);
|
39
43
|
if (Array.isArray(result)) {
|
40
|
-
|
44
|
+
this._items = result;
|
41
45
|
}
|
42
46
|
else if (result instanceof Promise) {
|
43
|
-
|
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
|
-
|
50
|
+
this.cdr.detectChanges();
|
54
51
|
}
|
55
|
-
|
56
|
-
|
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
|
-
<
|
59
|
-
<
|
60
|
-
|
61
|
-
<ax-
|
62
|
-
<ng-container *
|
63
|
-
<ax-button-item
|
64
|
-
|
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
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
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
|
-
<
|
82
|
-
<
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
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:
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbW1hbmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvY29sdW1ucy9yb3ctY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5SixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7QUFTL0QsTUFBTSxPQUFnQiwrQkFBZ0MsU0FBUSwwQkFBMEI7SUFBeEY7O1FBRWMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BDLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUcxQyxpQkFBWSxHQUFHLEtBQUssQ0FBQTtRQVVwQixnQkFBVyxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztJQUMzRyxDQUFDO0lBVEcsSUFBSSxRQUFRO1FBQ1IsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztDQUdKO0FBbUNELE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSwrQkFBK0I7SUFoQ3hGOztRQTJDYyxXQUFNLEdBQXVCLEVBQUUsQ0FBQztRQUkxQyxVQUFLLEdBQWtHLEVBQUUsQ0FBQztLQW9DN0c7SUE3Q0csSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFVUyxLQUFL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QUFJO1lBQ3ZCLFdBQVcsRUFBRSxDQUFDO1lBQ2QsSUFBSTtZQUNKLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDL0IsQ0FBQzs4R0FuQ1EsMkJBQTJCO2tHQUEzQiwyQkFBMkIscUtBSnpCLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLENBQUMscUVBT25GLFdBQVcsdUVBbkJaOzs7Ozs7Ozs7bUJBU0s7OzJGQU9OLDJCQUEyQjtrQkFsQnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7bUJBU0s7b0JBQ2YsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLDZCQUE2QixFQUFFLENBQUM7b0JBQzlGLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzNCOzhCQUtXLFNBQVM7c0JBRGhCLFNBQVM7dUJBQUMsV0FBVztnQkFRdEIsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhJdGVtQ2xpY2tFdmVudCwgQVhCdXR0b25DbGlja0V2ZW50IH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS10YWJsZS1jb2x1bW5cIjtcbmltcG9ydCB7IEFYQnV0dG9uSXRlbUxpc3RJdGVtLCBBWEJ1dHRvbkl0ZW1Db21wb25lbnQgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2J1dHRvblwiO1xuaW1wb3J0IHsgQVhEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vZGF0YS10YWJsZS5jb21wb25lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBWFJvd0NvbW1hbmRJdGVtIGV4dGVuZHMgQVhCdXR0b25JdGVtTGlzdEl0ZW0ge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50IGV4dGVuZHMgQVhCdXR0b25DbGlja0V2ZW50IHtcbn1cblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcblxuICAgIHByb3RlY3RlZCBncmlkID0gaW5qZWN0KEFYRGF0YVRhYmxlQ29tcG9uZW50KTtcbiAgICBwcm90ZWN0ZWQgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuXG4gICAgYWxsb3dTb3J0aW5nID0gZmFsc2VcblxuICAgIGdldCBza2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGdldCBjc3NDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuICdheC1jb21tYW5kLWNvbHVtbic7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50PigpO1xufVxuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlIGxldC1yb3c+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 {
|
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
|
-
|
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"
|
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: [
|
35
|
-
|
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,
|
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 {
|
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
|
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.
|
18
|
+
this.grid.unSelectRows(item);
|
19
19
|
}
|
20
20
|
else {
|
21
|
-
this.grid.
|
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:
|
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:
|
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,
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXNlbGVjdC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2xpYi9jb2x1bW5zL3Jvdy1zZWxlY3QtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQW1CL0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDBCQUEwQjtJQWpCMUU7O1FBbUJZLFNBQUksR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQTZCL0M7SUF0QkcsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFUyxVQUFVLENBQUMsSUFBYTtRQUM5QixPQUFPLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFHUyxZQUFZLENBQUMsSUFBYTtRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7YUFDSTtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBN0JRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDJHQUh4QixDQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLHFFQVFsRixXQUFXLHVFQXBCWjs7Ozs7Ozs7O21CQVNLOzsyRkFNTiwwQkFBMEI7a0JBakJ0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7O21CQVNLO29CQUNmLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyw0QkFBNEIsRUFBRSxDQUFDO29CQUM3RixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztpQkFDeEM7OEJBT1csU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtdGFibGUtY29sdW1uXCI7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi9kYXRhLXRhYmxlLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4LXNlbGVjdC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlIGxldC1yb3c+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJheC1jaGVja2JveFwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFyb3cuZGF0YVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZShyb3cuZGF0YSlcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyb3cuZGF0YSlcIlxuICAgICAgICAgIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUm93U2VsZWN0Q29sdW1uQ29tcG9uZW50IH1dLFxuICAgIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJywgJ2ZpeGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQVhSb3dTZWxlY3RDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG5cbiAgICBwcml2YXRlIGdyaWQgPSBpbmplY3QoQVhEYXRhVGFibGVDb21wb25lbnQpO1xuXG5cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuXG4gICAgZ2V0IHRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc1NlbGVjdGVkKGl0ZW06IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0gIT0gbnVsbCAmJiB0aGlzLmdyaWQuc2VsZWN0ZWRSb3dzLmluY2x1ZGVzKGl0ZW0pO1xuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNoYW5nZShpdGVtOiB1bmtub3duKSB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZC51blNlbGVjdFJvd3MoaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdyaWQuc2VsZWN0Um93cyhpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBza2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxufSJdfQ==
|