@acorex/components 17.0.11 → 17.0.12
Sign up to get free protection for your applications and to get access to all the features.
- package/audio-wave/lib/audio-wave.component.d.ts +1 -0
- package/audio-wave/lib/audio-wave.module.d.ts +2 -1
- package/calendar/lib/calendar-range.component.d.ts +2 -0
- package/calendar/lib/calendar.class.d.ts +3 -2
- package/calendar/lib/calendar.component.d.ts +2 -1
- package/chat/lib/chat-message/chat-message.component.d.ts +5 -1
- package/chat/lib/chat-messages/chat-messages-voice/chat-message-voice.component.d.ts +5 -2
- package/chat/lib/chat.module.d.ts +3 -1
- package/common/lib/classes/events.class.d.ts +1 -1
- package/common/lib/components/base-component.class.d.ts +4 -4
- package/common/lib/components/input-base-value-component.class.d.ts +1 -0
- package/data-pager/lib/data-pager-next-buttons.components.d.ts +2 -0
- package/data-pager/lib/data-pager-prev-buttons.component.d.ts +2 -0
- package/data-table/lib/columns/data-table-column.d.ts +2 -3
- package/data-table/lib/columns/data-text-column.component.d.ts +8 -4
- package/data-table/lib/columns/row-command-column.component.d.ts +8 -4
- package/data-table/lib/columns/row-index-column.component.d.ts +4 -2
- package/data-table/lib/columns/row-select-column.component.d.ts +7 -2
- package/data-table/lib/data-table/data-table.component.d.ts +1 -0
- package/datetime-picker/lib/datetime-picker.component.d.ts +2 -0
- package/esm2022/audio-wave/lib/audio-wave.component.mjs +21 -17
- package/esm2022/audio-wave/lib/audio-wave.module.mjs +5 -4
- package/esm2022/calendar/lib/calendar-range.component.mjs +10 -8
- package/esm2022/calendar/lib/calendar.class.mjs +14 -27
- package/esm2022/calendar/lib/calendar.component.mjs +14 -2
- package/esm2022/chat/lib/chat-message/chat-message.component.mjs +24 -5
- package/esm2022/chat/lib/chat-messages/chat-messages-voice/chat-message-voice.component.mjs +25 -14
- package/esm2022/chat/lib/chat.module.mjs +10 -3
- package/esm2022/common/lib/classes/events.class.mjs +1 -1
- package/esm2022/common/lib/components/base-component.class.mjs +14 -26
- package/esm2022/common/lib/components/input-base-value-component.class.mjs +8 -1
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +6 -2
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +13 -13
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +15 -47
- package/esm2022/data-pager/lib/data-pager.component.mjs +2 -2
- package/esm2022/data-table/lib/columns/data-table-column.mjs +2 -6
- package/esm2022/data-table/lib/columns/data-text-column.component.mjs +31 -25
- package/esm2022/data-table/lib/columns/row-command-column.component.mjs +97 -81
- package/esm2022/data-table/lib/columns/row-index-column.component.mjs +19 -11
- package/esm2022/data-table/lib/columns/row-select-column.component.mjs +61 -11
- package/esm2022/data-table/lib/data-table/data-table.component.mjs +5 -4
- package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +3 -3
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +21 -2
- package/esm2022/drawer/lib/drawer.component.mjs +2 -2
- package/esm2022/list/lib/list.component.mjs +13 -3
- package/esm2022/phone-box/lib/phone-box.component.mjs +29 -28
- package/esm2022/select-box/lib/select-box.component.mjs +29 -9
- package/esm2022/text-box/lib/mask-options.directive.mjs +16 -4
- package/esm2022/text-box/lib/text-box.component.mjs +8 -1
- package/fesm2022/acorex-components-audio-wave.mjs +24 -19
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +31 -31
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-chat.mjs +55 -21
- package/fesm2022/acorex-components-chat.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +21 -25
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +31 -59
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +210 -133
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +20 -1
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +2 -2
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +13 -3
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +29 -29
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +28 -8
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +22 -3
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/list/lib/list.component.d.ts +3 -2
- package/package.json +1 -1
- package/phone-box/lib/phone-box.component.d.ts +4 -2
- package/select-box/lib/select-box.component.d.ts +5 -4
- package/text-box/lib/mask-options.directive.d.ts +6 -2
- package/text-box/lib/text-box.component.d.ts +1 -0
@@ -1,11 +1,15 @@
|
|
1
|
-
import { AXUnsubscriber } from '@acorex/core/utils';
|
2
|
-
import { ChangeDetectionStrategy, Component, ViewEncapsulation
|
1
|
+
import { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';
|
2
|
+
import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
|
3
3
|
import { AXDataPagerChild } from './data-pager-base.component';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
import * as i1 from "@angular/common";
|
6
6
|
import * as i2 from "@acorex/components/button";
|
7
7
|
import * as i3 from "@acorex/components/decorators";
|
8
8
|
export class AXDataPagerPrevButtonsComponent extends AXDataPagerChild {
|
9
|
+
ngOnInit() {
|
10
|
+
super.ngOnInit;
|
11
|
+
this.rtl = AXHtmlUtil.isRtl(this.getHostElement());
|
12
|
+
}
|
9
13
|
applyParent() {
|
10
14
|
this.disabled = this._parent.displayInfo.page == 1 || this._parent.disabled;
|
11
15
|
}
|
@@ -20,29 +24,11 @@ export class AXDataPagerPrevButtonsComponent extends AXDataPagerChild {
|
|
20
24
|
this._parent.goPrevPage();
|
21
25
|
}
|
22
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXDataPagerPrevButtonsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons", providers: [
|
24
|
-
|
25
|
-
|
26
|
-
], usesInheritance: true, ngImport: i0, template: `
|
27
|
-
<ax-button
|
28
|
-
[disabled]="disabled"
|
29
|
-
look="blank"
|
30
|
-
class="ax-sm"
|
31
|
-
title="Go to the last page"
|
32
|
-
(onClick)="_emitOnFirstPageClick($event)"
|
33
|
-
>
|
34
|
-
<ax-icon
|
35
|
-
class="ax-icon ax-text-xl"
|
36
|
-
[ngClass]="{ 'ax-icon-last-page': rtl, 'ax-icon-first-page': !rtl }"
|
37
|
-
></ax-icon>
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons", providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerPrevButtonsComponent }, AXUnsubscriber], usesInheritance: true, ngImport: i0, template: `
|
28
|
+
<ax-button [disabled]="disabled" look="blank" class="ax-sm" title="Go to the last page" (onClick)="_emitOnFirstPageClick($event)">
|
29
|
+
<ax-icon class="ax-icon ax-text-xl" [ngClass]="{ 'ax-icon-last-page': rtl, 'ax-icon-first-page': !rtl }"></ax-icon>
|
38
30
|
</ax-button>
|
39
|
-
<ax-button
|
40
|
-
[disabled]="disabled"
|
41
|
-
look="blank"
|
42
|
-
class="ax-sm"
|
43
|
-
title="Go to the next page"
|
44
|
-
(onClick)="_emitOnPrevPageClick($event)"
|
45
|
-
>
|
31
|
+
<ax-button [disabled]="disabled" look="blank" class="ax-sm" title="Go to the next page" (onClick)="_emitOnPrevPageClick($event)">
|
46
32
|
<ax-icon
|
47
33
|
class="ax-icon ax-text-xl"
|
48
34
|
[ngClass]="{
|
@@ -58,25 +44,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
58
44
|
args: [{
|
59
45
|
selector: 'ax-data-pager-prev-buttons',
|
60
46
|
template: `
|
61
|
-
<ax-button
|
62
|
-
[
|
63
|
-
look="blank"
|
64
|
-
class="ax-sm"
|
65
|
-
title="Go to the last page"
|
66
|
-
(onClick)="_emitOnFirstPageClick($event)"
|
67
|
-
>
|
68
|
-
<ax-icon
|
69
|
-
class="ax-icon ax-text-xl"
|
70
|
-
[ngClass]="{ 'ax-icon-last-page': rtl, 'ax-icon-first-page': !rtl }"
|
71
|
-
></ax-icon>
|
47
|
+
<ax-button [disabled]="disabled" look="blank" class="ax-sm" title="Go to the last page" (onClick)="_emitOnFirstPageClick($event)">
|
48
|
+
<ax-icon class="ax-icon ax-text-xl" [ngClass]="{ 'ax-icon-last-page': rtl, 'ax-icon-first-page': !rtl }"></ax-icon>
|
72
49
|
</ax-button>
|
73
|
-
<ax-button
|
74
|
-
[disabled]="disabled"
|
75
|
-
look="blank"
|
76
|
-
class="ax-sm"
|
77
|
-
title="Go to the next page"
|
78
|
-
(onClick)="_emitOnPrevPageClick($event)"
|
79
|
-
>
|
50
|
+
<ax-button [disabled]="disabled" look="blank" class="ax-sm" title="Go to the next page" (onClick)="_emitOnPrevPageClick($event)">
|
80
51
|
<ax-icon
|
81
52
|
class="ax-icon ax-text-xl"
|
82
53
|
[ngClass]="{
|
@@ -88,10 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
88
59
|
`,
|
89
60
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
90
61
|
encapsulation: ViewEncapsulation.None,
|
91
|
-
providers: [
|
92
|
-
{ provide: AXDataPagerChild, useExisting: AXDataPagerPrevButtonsComponent },
|
93
|
-
AXUnsubscriber,
|
94
|
-
],
|
62
|
+
providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerPrevButtonsComponent }, AXUnsubscriber],
|
95
63
|
}]
|
96
64
|
}] });
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wYWdlci1wcmV2LWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtcGFnZXIvc3JjL2xpYi9kYXRhLXBhZ2VyLXByZXYtYnV0dG9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQXNCL0QsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGdCQUFnQjtJQUcxRCxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRWtCLFdBQVc7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQzlFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxDQUFlO1FBQ25DLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxDQUFlO1FBQ2xDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBcEJVLCtCQUErQjtrR0FBL0IsK0JBQStCLHFEQUYvQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxFQUFFLGNBQWMsQ0FBQyxpREFoQjlGOzs7Ozs7Ozs7Ozs7O0dBYVQ7OzJGQUtVLCtCQUErQjtrQkFwQjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLGlDQUFpQyxFQUFFLEVBQUUsY0FBYyxDQUFDO2lCQUN6RyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2xpY2tFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhIdG1sVXRpbCwgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRGF0YVBhZ2VyQ2hpbGQgfSBmcm9tICcuL2RhdGEtcGFnZXItYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1kYXRhLXBhZ2VyLXByZXYtYnV0dG9ucycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGF4LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBsb29rPVwiYmxhbmtcIiBjbGFzcz1cImF4LXNtXCIgdGl0bGU9XCJHbyB0byB0aGUgbGFzdCBwYWdlXCIgKG9uQ2xpY2spPVwiX2VtaXRPbkZpcnN0UGFnZUNsaWNrKCRldmVudClcIj5cbiAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC10ZXh0LXhsXCIgW25nQ2xhc3NdPVwieyAnYXgtaWNvbi1sYXN0LXBhZ2UnOiBydGwsICdheC1pY29uLWZpcnN0LXBhZ2UnOiAhcnRsIH1cIj48L2F4LWljb24+XG4gICAgPC9heC1idXR0b24+XG4gICAgPGF4LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBsb29rPVwiYmxhbmtcIiBjbGFzcz1cImF4LXNtXCIgdGl0bGU9XCJHbyB0byB0aGUgbmV4dCBwYWdlXCIgKG9uQ2xpY2spPVwiX2VtaXRPblByZXZQYWdlQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgPGF4LWljb25cbiAgICAgICAgY2xhc3M9XCJheC1pY29uIGF4LXRleHQteGxcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1sZWZ0JzogIXJ0bCxcbiAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLXJpZ2h0JzogcnRsXG4gICAgICAgIH1cIlxuICAgICAgPjwvYXgtaWNvbj5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhEYXRhUGFnZXJDaGlsZCwgdXNlRXhpc3Rpbmc6IEFYRGF0YVBhZ2VyUHJldkJ1dHRvbnNDb21wb25lbnQgfSwgQVhVbnN1YnNjcmliZXJdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGFQYWdlclByZXZCdXR0b25zQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhUGFnZXJDaGlsZCB7XG4gIHByb3RlY3RlZCBydGwhOiBib29sZWFuO1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0O1xuICAgIHRoaXMucnRsID0gQVhIdG1sVXRpbC5pc1J0bCh0aGlzLmdldEhvc3RFbGVtZW50KCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFwcGx5UGFyZW50KCkge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLl9wYXJlbnQuZGlzcGxheUluZm8ucGFnZSA9PSAxIHx8IHRoaXMuX3BhcmVudC5kaXNhYmxlZDtcbiAgfVxuXG4gIF9lbWl0T25GaXJzdFBhZ2VDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcbiAgICBpZiAodGhpcy5fcGFyZW50LnJlYWRvbmx5IHx8IHRoaXMuX3BhcmVudC5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuX3BhcmVudC5nb0ZpcnN0UGFnZSgpO1xuICB9XG5cbiAgX2VtaXRPblByZXZQYWdlQ2xpY2soZTogQVhDbGlja0V2ZW50KSB7XG4gICAgaWYgKHRoaXMuX3BhcmVudC5yZWFkb25seSB8fCB0aGlzLl9wYXJlbnQuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLl9wYXJlbnQuZ29QcmV2UGFnZSgpO1xuICB9XG59XG4iXX0=
|
@@ -144,7 +144,7 @@ export class AXDataPagerComponent extends MXValueComponent {
|
|
144
144
|
useExisting: forwardRef(() => AXDataPagerComponent),
|
145
145
|
multi: true,
|
146
146
|
},
|
147
|
-
], usesInheritance: true, ngImport: i0, template: "@switch(displayMode){\n@case('full'){\n<ax-prefix>\n <ax-data-pager-numeric-selector>\n </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes>\n </ax-data-pager-page-sizes>\n</ax-prefix>\n<ax-suffix>\n <ax-data-pager-info>\n </ax-data-pager-info>\n</ax-suffix>\n}\n@case('compact'){\n<ax-prefix>\n <ax-data-pager-prev-buttons>\n </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector>\n </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons>\n </ax-data-pager-next-buttons>\n</ax-prefix>\n<ax-suffix>\n <ax-data-pager-info>\n </ax-data-pager-info>\n</ax-suffix>\n}\n@default{\n<ng-content select=\"ax-prefix\"></ng-content>\n<ng-content select=\"ax-suffix\"></ng-content>\n}\n}", styles: ["ax-data-pager{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}ax-data-pager ax-button-group{display:flex!important;gap:1rem!important;border-radius:0!important;border-width:0px!important}ax-data-pager ax-button-group ax-button-item{border-radius:0!important;border-width:0px!important;padding:0!important}ax-data-pager ax-button-group ax-button-item.ax-state-selected{border-width:1px!important}ax-data-pager ax-data-pager-input-selector .ax-input{width:4rem!important;max-width:10rem!important;text-align:center!important}ax-data-pager ax-data-pager-next-buttons,ax-data-pager ax-data-pager-prev-buttons,ax-data-pager ax-data-pager-numeric-selector{display:flex;gap:.5rem}ax-data-pager ax-data-pager-page-sizes ax-button{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-data-pager ax-prefix,ax-data-pager ax-suffix{display:flex}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons" }, { kind: "component", type: i3.AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons" }, { kind: "component", type: i4.AXDataPagerPageSizesComponent, selector: "ax-data-pager-page-sizes", inputs: ["sizes"] }, { kind: "component", type: i5.AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector" }, { kind: "component", type: i6.AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector" }, { kind: "component", type: i7.AXDataPagerInfoComponent, selector: "ax-data-pager-info", inputs: ["text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
147
|
+
], usesInheritance: true, ngImport: i0, template: "@switch(displayMode){\n@case('full'){\n<ax-prefix>\n <ax-data-pager-numeric-selector>\n </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes>\n </ax-data-pager-page-sizes>\n</ax-prefix>\n<ax-suffix>\n <ax-data-pager-info>\n </ax-data-pager-info>\n</ax-suffix>\n}\n@case('compact'){\n<ax-prefix>\n <ax-data-pager-prev-buttons>\n </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector>\n </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons>\n </ax-data-pager-next-buttons>\n</ax-prefix>\n<ax-suffix>\n <ax-data-pager-info>\n </ax-data-pager-info>\n</ax-suffix>\n}\n@default{\n<ng-content select=\"ax-prefix\"></ng-content>\n<ng-content select=\"ax-suffix\"></ng-content>\n}\n}", styles: ["html[dir=rtl] ax-data-pager ax-data-pager-numeric-selector .ax-icon-first-page,html[dir=rtl] ax-data-pager ax-data-pager-numeric-selector .ax-icon-last-page{rotate:180deg}ax-data-pager{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}ax-data-pager ax-button-group{display:flex!important;gap:1rem!important;border-radius:0!important;border-width:0px!important}ax-data-pager ax-button-group ax-button-item{border-radius:0!important;border-width:0px!important;padding:0!important}ax-data-pager ax-button-group ax-button-item.ax-state-selected{border-width:1px!important}ax-data-pager ax-data-pager-input-selector .ax-input{width:4rem!important;max-width:10rem!important;text-align:center!important}ax-data-pager ax-data-pager-next-buttons,ax-data-pager ax-data-pager-prev-buttons,ax-data-pager ax-data-pager-numeric-selector{display:flex;gap:.5rem}ax-data-pager ax-data-pager-page-sizes ax-button{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-data-pager ax-prefix,ax-data-pager ax-suffix{display:flex}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons" }, { kind: "component", type: i3.AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons" }, { kind: "component", type: i4.AXDataPagerPageSizesComponent, selector: "ax-data-pager-page-sizes", inputs: ["sizes"] }, { kind: "component", type: i5.AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector" }, { kind: "component", type: i6.AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector" }, { kind: "component", type: i7.AXDataPagerInfoComponent, selector: "ax-data-pager-info", inputs: ["text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
148
148
|
}
|
149
149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXDataPagerComponent, decorators: [{
|
150
150
|
type: Component,
|
@@ -155,7 +155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
155
155
|
useExisting: forwardRef(() => AXDataPagerComponent),
|
156
156
|
multi: true,
|
157
157
|
},
|
158
|
-
], template: "@switch(displayMode){\n@case('full'){\n<ax-prefix>\n <ax-data-pager-numeric-selector>\n </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes>\n </ax-data-pager-page-sizes>\n</ax-prefix>\n<ax-suffix>\n <ax-data-pager-info>\n </ax-data-pager-info>\n</ax-suffix>\n}\n@case('compact'){\n<ax-prefix>\n <ax-data-pager-prev-buttons>\n </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector>\n </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons>\n </ax-data-pager-next-buttons>\n</ax-prefix>\n<ax-suffix>\n <ax-data-pager-info>\n </ax-data-pager-info>\n</ax-suffix>\n}\n@default{\n<ng-content select=\"ax-prefix\"></ng-content>\n<ng-content select=\"ax-suffix\"></ng-content>\n}\n}", styles: ["ax-data-pager{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}ax-data-pager ax-button-group{display:flex!important;gap:1rem!important;border-radius:0!important;border-width:0px!important}ax-data-pager ax-button-group ax-button-item{border-radius:0!important;border-width:0px!important;padding:0!important}ax-data-pager ax-button-group ax-button-item.ax-state-selected{border-width:1px!important}ax-data-pager ax-data-pager-input-selector .ax-input{width:4rem!important;max-width:10rem!important;text-align:center!important}ax-data-pager ax-data-pager-next-buttons,ax-data-pager ax-data-pager-prev-buttons,ax-data-pager ax-data-pager-numeric-selector{display:flex;gap:.5rem}ax-data-pager ax-data-pager-page-sizes ax-button{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-data-pager ax-prefix,ax-data-pager ax-suffix{display:flex}\n"] }]
|
158
|
+
], template: "@switch(displayMode){\n@case('full'){\n<ax-prefix>\n <ax-data-pager-numeric-selector>\n </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes>\n </ax-data-pager-page-sizes>\n</ax-prefix>\n<ax-suffix>\n <ax-data-pager-info>\n </ax-data-pager-info>\n</ax-suffix>\n}\n@case('compact'){\n<ax-prefix>\n <ax-data-pager-prev-buttons>\n </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector>\n </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons>\n </ax-data-pager-next-buttons>\n</ax-prefix>\n<ax-suffix>\n <ax-data-pager-info>\n </ax-data-pager-info>\n</ax-suffix>\n}\n@default{\n<ng-content select=\"ax-prefix\"></ng-content>\n<ng-content select=\"ax-suffix\"></ng-content>\n}\n}", styles: ["html[dir=rtl] ax-data-pager ax-data-pager-numeric-selector .ax-icon-first-page,html[dir=rtl] ax-data-pager ax-data-pager-numeric-selector .ax-icon-last-page{rotate:180deg}ax-data-pager{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}ax-data-pager ax-button-group{display:flex!important;gap:1rem!important;border-radius:0!important;border-width:0px!important}ax-data-pager ax-button-group ax-button-item{border-radius:0!important;border-width:0px!important;padding:0!important}ax-data-pager ax-button-group ax-button-item.ax-state-selected{border-width:1px!important}ax-data-pager ax-data-pager-input-selector .ax-input{width:4rem!important;max-width:10rem!important;text-align:center!important}ax-data-pager ax-data-pager-next-buttons,ax-data-pager ax-data-pager-prev-buttons,ax-data-pager ax-data-pager-numeric-selector{display:flex;gap:.5rem}ax-data-pager ax-data-pager-page-sizes ax-button{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-data-pager ax-prefix,ax-data-pager ax-suffix{display:flex}\n"] }]
|
159
159
|
}], ctorParameters: () => [{ type: i8.AXPagedComponent, decorators: [{
|
160
160
|
type: Optional
|
161
161
|
}, {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Injectable, Input
|
1
|
+
import { Injectable, Input } from '@angular/core';
|
2
2
|
import * as i0 from "@angular/core";
|
3
3
|
export class AXDataTableColumnComponent {
|
4
4
|
constructor() {
|
@@ -30,9 +30,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
30
30
|
type: Input
|
31
31
|
}], sortOrder: [{
|
32
32
|
type: Input
|
33
|
-
}], headerTemplate: [{
|
34
|
-
type: Input
|
35
|
-
}], cellTemplate: [{
|
36
|
-
type: Input
|
37
33
|
}] } });
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvZGF0YS10YWJsZS1jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBRy9ELE1BQU0sT0FBZ0IsMEJBQTBCO0lBRGhEO1FBTUUsVUFBSyxHQUFvQixNQUFNLENBQUM7UUFNaEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHdEIsY0FBUyxHQUF1QixTQUFTLENBQUM7UUFHMUMsY0FBUyxHQUE0QixTQUFTLENBQUM7S0FZaEQ7SUFIQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBL0JtQiwwQkFBMEI7a0hBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFEL0MsVUFBVTs4QkFHVCxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFNvcnRPcmRlciB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGNhcHRpb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICB3aWR0aDogc3RyaW5nIHwgbnVtYmVyID0gJ2F1dG8nO1xuXG4gIEBJbnB1dCgpXG4gIGZpeGVkOiAnc3RhcnQnIHwgJ2VuZCcgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgYWxsb3dTb3J0aW5nID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYWxsb3dSZXNpemluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNvcnRJbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHNvcnRPcmRlcjogQVhTb3J0T3JkZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgYWJzdHJhY3QgZ2V0IHJlbmRlckNlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgYWJzdHJhY3QgZ2V0IHJlbmRlckhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIGFic3RyYWN0IGdldCBsb2FkaW5nRW5hYmxlZCgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGdldCBuYW1lKCk6IHN0cmluZztcblxuICBnZXQgY3NzQ2xhc3MoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
2
2
|
import { AXFormatService } from '@acorex/core/format';
|
3
3
|
import { Memorize } from '@acorex/core/memorize';
|
4
|
-
import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild, ViewEncapsulation, inject
|
4
|
+
import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild, ViewEncapsulation, inject } from '@angular/core';
|
5
5
|
import { AXDataTableColumnComponent } from './data-table-column';
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
export class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
|
@@ -10,8 +10,11 @@ export class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
|
|
10
10
|
this.wrapText = false;
|
11
11
|
this.formatService = inject(AXFormatService);
|
12
12
|
}
|
13
|
-
get
|
14
|
-
return this.
|
13
|
+
get renderCellTemplate() {
|
14
|
+
return this.cellTemplate ?? this._contentCellTemplate;
|
15
|
+
}
|
16
|
+
get renderHeaderTemplate() {
|
17
|
+
return this.headerTemplate ?? this._contentHeaderTemplate;
|
15
18
|
}
|
16
19
|
get loadingEnabled() {
|
17
20
|
return true;
|
@@ -21,19 +24,20 @@ export class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
|
|
21
24
|
}
|
22
25
|
getDisplayText(rowData, dataField) {
|
23
26
|
const value = rowData[dataField];
|
24
|
-
return !this.format
|
25
|
-
? value
|
26
|
-
: this.formatService.format(value, this.format, this.formatOptions);
|
27
|
+
return !this.format ? value : this.formatService.format(value, this.format, this.formatOptions);
|
27
28
|
}
|
28
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXDataTableTextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: AXDataTableTextColumnComponent, selector: "ax-text-column", inputs: { width: "width", caption: "caption",
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: AXDataTableTextColumnComponent, selector: "ax-text-column", inputs: { width: "width", caption: "caption", allowSorting: "allowSorting", allowResizing: "allowResizing", fixed: "fixed", dataField: "dataField", wrapText: "wrapText", cellTemplate: "cellTemplate", headerTemplate: "headerTemplate", format: "format", formatOptions: "formatOptions" }, providers: [
|
30
31
|
{
|
31
32
|
provide: AXDataTableColumnComponent,
|
32
33
|
useExisting: AXDataTableTextColumnComponent,
|
33
34
|
},
|
34
|
-
], viewQueries: [{ propertyName: "
|
35
|
-
{{
|
36
|
-
|
35
|
+
], viewQueries: [{ propertyName: "_contentCellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
36
|
+
<ng-template #header>{{ caption }}</ng-template>
|
37
|
+
<ng-template #cell let-row>
|
38
|
+
{{ getDisplayText(row.data, this.dataField) }}
|
39
|
+
</ng-template>
|
40
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
37
41
|
}
|
38
42
|
__decorate([
|
39
43
|
Memorize(),
|
@@ -45,9 +49,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
45
49
|
type: Component,
|
46
50
|
args: [{
|
47
51
|
selector: 'ax-text-column',
|
48
|
-
template: `
|
49
|
-
{{
|
50
|
-
|
52
|
+
template: `
|
53
|
+
<ng-template #header>{{ caption }}</ng-template>
|
54
|
+
<ng-template #cell let-row>
|
55
|
+
{{ getDisplayText(row.data, this.dataField) }}
|
56
|
+
</ng-template>
|
57
|
+
`,
|
51
58
|
encapsulation: ViewEncapsulation.None,
|
52
59
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
53
60
|
providers: [
|
@@ -56,26 +63,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
56
63
|
useExisting: AXDataTableTextColumnComponent,
|
57
64
|
},
|
58
65
|
],
|
59
|
-
inputs: [
|
60
|
-
'width',
|
61
|
-
'caption',
|
62
|
-
'headerTemplate',
|
63
|
-
'cellTemplate',
|
64
|
-
'allowSorting',
|
65
|
-
'allowResizing',
|
66
|
-
'fixed',
|
67
|
-
],
|
66
|
+
inputs: ['width', 'caption', 'allowSorting', 'allowResizing', 'fixed'],
|
68
67
|
}]
|
69
68
|
}], propDecorators: { dataField: [{
|
70
69
|
type: Input
|
71
70
|
}], wrapText: [{
|
72
71
|
type: Input
|
73
|
-
}],
|
72
|
+
}], cellTemplate: [{
|
73
|
+
type: Input
|
74
|
+
}], _contentCellTemplate: [{
|
75
|
+
type: ViewChild,
|
76
|
+
args: ['cell']
|
77
|
+
}], headerTemplate: [{
|
78
|
+
type: Input
|
79
|
+
}], _contentHeaderTemplate: [{
|
74
80
|
type: ViewChild,
|
75
|
-
args: [
|
81
|
+
args: ['header']
|
76
82
|
}], getDisplayText: [], format: [{
|
77
83
|
type: Input
|
78
84
|
}], formatOptions: [{
|
79
85
|
type: Input
|
80
86
|
}] } });
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQW9CakUsTUFBTSxPQUFPLDhCQUErQixTQUFRLDBCQUEwQjtJQWxCOUU7O1FBdUJFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUE4QlQsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0FhakQ7SUFuQ0MsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUN4RCxDQUFDO0lBUUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUtTLGNBQWMsQ0FBQyxPQUFnQixFQUFFLFNBQWlCO1FBQzFELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekcsQ0FBQzs4R0F6Q1UsOEJBQThCO2tHQUE5Qiw4QkFBOEIsdVVBUjlCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtnQkFDbkMsV0FBVyxFQUFFLDhCQUE4QjthQUM1QztTQUNGLGtRQWJTOzs7OztHQUtUOztBQWlEUztJQURULFFBQVEsRUFBRTs7OztvRUFJVjsyRkF6Q1UsOEJBQThCO2tCQWxCMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUU7Ozs7O0dBS1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsV0FBVyxnQ0FBZ0M7eUJBQzVDO3FCQUNGO29CQUNELE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUM7aUJBQ3ZFOzhCQUdDLFNBQVM7c0JBRFIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJRSxvQkFBb0I7c0JBRDNCLFNBQVM7dUJBQUMsTUFBTTtnQkFRVixjQUFjO3NCQURwQixLQUFLO2dCQUlFLHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRO2dCQWtCVCxjQUFjLE1BTXhCLE1BQU07c0JBREwsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEZvcm1hdE9wdGlvbnMsIEFYRm9ybWF0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgTWVtb3JpemUgfSBmcm9tICdAYWNvcmV4L2NvcmUvbWVtb3JpemUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXRleHQtY29sdW1uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj57eyBjYXB0aW9uIH19PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXJvdz5cbiAgICAgIHt7IGdldERpc3BsYXlUZXh0KHJvdy5kYXRhLCB0aGlzLmRhdGFGaWVsZCkgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhEYXRhVGFibGVUZXh0Q29sdW1uQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJywgJ2FsbG93U29ydGluZycsICdhbGxvd1Jlc2l6aW5nJywgJ2ZpeGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYRGF0YVRhYmxlVGV4dENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgZGF0YUZpZWxkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgd3JhcFRleHQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKCdjZWxsJylcbiAgcHJpdmF0ZSBfY29udGVudENlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckNlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbFRlbXBsYXRlID8/IHRoaXMuX2NvbnRlbnRDZWxsVGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJUZW1wbGF0ZSA/PyB0aGlzLl9jb250ZW50SGVhZGVyVGVtcGxhdGU7XG4gIH1cblxuICBnZXQgbG9hZGluZ0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgY2wtJHt0aGlzLmRhdGFGaWVsZH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgQE1lbW9yaXplKClcbiAgcHJvdGVjdGVkIGdldERpc3BsYXlUZXh0KHJvd0RhdGE6IHVua25vd24sIGRhdGFGaWVsZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHJvd0RhdGFbZGF0YUZpZWxkXTtcbiAgICByZXR1cm4gIXRoaXMuZm9ybWF0ID8gdmFsdWUgOiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHZhbHVlLCB0aGlzLmZvcm1hdCBhcyBhbnksIHRoaXMuZm9ybWF0T3B0aW9ucyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBmb3JtYXQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBmb3JtYXRPcHRpb25zOiBBWEZvcm1hdE9wdGlvbnM7XG59XG4iXX0=
|
@@ -28,8 +28,11 @@ export class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnC
|
|
28
28
|
this._items = [];
|
29
29
|
this.items = [];
|
30
30
|
}
|
31
|
-
get
|
32
|
-
return this.
|
31
|
+
get renderCellTemplate() {
|
32
|
+
return this._cellTemplate;
|
33
|
+
}
|
34
|
+
get renderHeaderTemplate() {
|
35
|
+
return this._contentHeaderTemplate;
|
33
36
|
}
|
34
37
|
get name() {
|
35
38
|
return 'cl-dd-cmd';
|
@@ -70,57 +73,59 @@ export class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnC
|
|
70
73
|
provide: AXDataTableColumnComponent,
|
71
74
|
useExisting: AXRowDropdownCommandColumnComponent,
|
72
75
|
},
|
73
|
-
], viewQueries: [{ propertyName: "
|
74
|
-
|
75
|
-
|
76
|
-
<
|
77
|
-
<
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
<
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
<
|
92
|
-
<
|
93
|
-
|
94
|
-
|
95
|
-
|
76
|
+
], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: TemplateRef, descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: ` <ng-template #header></ng-template>
|
77
|
+
<ng-template let-row>
|
78
|
+
@if (row.data) {
|
79
|
+
<div>
|
80
|
+
<button [axRipple]>
|
81
|
+
<ax-icon icon="ax-icon ax-icon-solid ax-icon-more-horizontal"></ax-icon>
|
82
|
+
<ax-dropdown-panel [adaptivityEnabled]="true" (onOpened)="handleOnOpened(row.data)" (onClosed)="handleOnClosed()">
|
83
|
+
@if (_items.length) {
|
84
|
+
<ax-button-item-list (onItemClick)="handleOnItemClick($event, row.data)" [items]="_items"> </ax-button-item-list>
|
85
|
+
} @else {
|
86
|
+
<div panel style="padding: 0.875rem;">
|
87
|
+
<ax-loading></ax-loading>
|
88
|
+
</div>
|
89
|
+
}
|
90
|
+
</ax-dropdown-panel>
|
91
|
+
</button>
|
92
|
+
</div>
|
93
|
+
}
|
94
|
+
<ng-template #loading>
|
95
|
+
<div panel style="padding: 0.875rem;">
|
96
|
+
<ax-loading></ax-loading>
|
97
|
+
</div>
|
98
|
+
</ng-template>
|
99
|
+
</ng-template>`, isInline: true, dependencies: [{ kind: "component", type: i1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: i5.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
96
100
|
}
|
97
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXRowDropdownCommandColumnComponent, decorators: [{
|
98
102
|
type: Component,
|
99
103
|
args: [{
|
100
104
|
selector: 'ax-dropdown-command-column',
|
101
|
-
template: ` <ng-template
|
102
|
-
|
103
|
-
|
104
|
-
<
|
105
|
-
<
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
<
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
<
|
120
|
-
<
|
121
|
-
|
122
|
-
|
123
|
-
|
105
|
+
template: ` <ng-template #header></ng-template>
|
106
|
+
<ng-template let-row>
|
107
|
+
@if (row.data) {
|
108
|
+
<div>
|
109
|
+
<button [axRipple]>
|
110
|
+
<ax-icon icon="ax-icon ax-icon-solid ax-icon-more-horizontal"></ax-icon>
|
111
|
+
<ax-dropdown-panel [adaptivityEnabled]="true" (onOpened)="handleOnOpened(row.data)" (onClosed)="handleOnClosed()">
|
112
|
+
@if (_items.length) {
|
113
|
+
<ax-button-item-list (onItemClick)="handleOnItemClick($event, row.data)" [items]="_items"> </ax-button-item-list>
|
114
|
+
} @else {
|
115
|
+
<div panel style="padding: 0.875rem;">
|
116
|
+
<ax-loading></ax-loading>
|
117
|
+
</div>
|
118
|
+
}
|
119
|
+
</ax-dropdown-panel>
|
120
|
+
</button>
|
121
|
+
</div>
|
122
|
+
}
|
123
|
+
<ng-template #loading>
|
124
|
+
<div panel style="padding: 0.875rem;">
|
125
|
+
<ax-loading></ax-loading>
|
126
|
+
</div>
|
127
|
+
</ng-template>
|
128
|
+
</ng-template>`,
|
124
129
|
encapsulation: ViewEncapsulation.None,
|
125
130
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
126
131
|
providers: [
|
@@ -132,9 +137,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
132
137
|
inputs: ['width', 'caption', 'fixed'],
|
133
138
|
outputs: ['onItemClick'],
|
134
139
|
}]
|
135
|
-
}], propDecorators: {
|
140
|
+
}], propDecorators: { _cellTemplate: [{
|
136
141
|
type: ViewChild,
|
137
142
|
args: [TemplateRef]
|
143
|
+
}], _contentHeaderTemplate: [{
|
144
|
+
type: ViewChild,
|
145
|
+
args: ['header']
|
138
146
|
}], items: [{
|
139
147
|
type: Input
|
140
148
|
}] } });
|
@@ -143,8 +151,11 @@ export class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent
|
|
143
151
|
super(...arguments);
|
144
152
|
this.items = [];
|
145
153
|
}
|
146
|
-
get
|
147
|
-
return this.
|
154
|
+
get renderCellTemplate() {
|
155
|
+
return this._cellTemplate;
|
156
|
+
}
|
157
|
+
get renderHeaderTemplate() {
|
158
|
+
return this._contentHeaderTemplate;
|
148
159
|
}
|
149
160
|
get name() {
|
150
161
|
return 'cl-in-cmd';
|
@@ -176,41 +187,43 @@ export class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent
|
|
176
187
|
provide: AXDataTableColumnComponent,
|
177
188
|
useExisting: AXRowCommandColumnComponent,
|
178
189
|
},
|
179
|
-
], viewQueries: [{ propertyName: "
|
180
|
-
|
181
|
-
@
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
190
|
+
], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: TemplateRef, descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-template #header>AAA</ng-template>
|
191
|
+
<ng-template let-row>
|
192
|
+
@if (row.data) {
|
193
|
+
@for (item of getItems(row.data); track $index) {
|
194
|
+
<button
|
195
|
+
[style.color]="'rgba(var(--ax-color-' + (item.color ?? 'primary)')"
|
196
|
+
[disabled]="item.disabled"
|
197
|
+
[class.ax-state-disabled]="item.disabled"
|
198
|
+
[axRipple]="!item.disabled"
|
199
|
+
(click)="handleOnItemClick($event, item, row.data)"
|
200
|
+
>
|
201
|
+
<ax-icon [icon]="item.icon"></ax-icon>
|
202
|
+
</button>
|
203
|
+
}
|
191
204
|
}
|
192
|
-
}
|
193
|
-
</ng-template>`, isInline: true, dependencies: [{ kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: i5.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
205
|
+
</ng-template>`, isInline: true, dependencies: [{ kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: i5.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
194
206
|
}
|
195
207
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXRowCommandColumnComponent, decorators: [{
|
196
208
|
type: Component,
|
197
209
|
args: [{
|
198
210
|
selector: 'ax-command-column',
|
199
|
-
template:
|
200
|
-
|
201
|
-
@
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
+
template: `<ng-template #header>AAA</ng-template>
|
212
|
+
<ng-template let-row>
|
213
|
+
@if (row.data) {
|
214
|
+
@for (item of getItems(row.data); track $index) {
|
215
|
+
<button
|
216
|
+
[style.color]="'rgba(var(--ax-color-' + (item.color ?? 'primary)')"
|
217
|
+
[disabled]="item.disabled"
|
218
|
+
[class.ax-state-disabled]="item.disabled"
|
219
|
+
[axRipple]="!item.disabled"
|
220
|
+
(click)="handleOnItemClick($event, item, row.data)"
|
221
|
+
>
|
222
|
+
<ax-icon [icon]="item.icon"></ax-icon>
|
223
|
+
</button>
|
224
|
+
}
|
211
225
|
}
|
212
|
-
|
213
|
-
</ng-template>`,
|
226
|
+
</ng-template>`,
|
214
227
|
encapsulation: ViewEncapsulation.None,
|
215
228
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
216
229
|
providers: [
|
@@ -222,10 +235,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
222
235
|
inputs: ['width', 'caption', 'fixed'],
|
223
236
|
outputs: ['onItemClick'],
|
224
237
|
}]
|
225
|
-
}], propDecorators: {
|
238
|
+
}], propDecorators: { _cellTemplate: [{
|
226
239
|
type: ViewChild,
|
227
240
|
args: [TemplateRef]
|
241
|
+
}], _contentHeaderTemplate: [{
|
242
|
+
type: ViewChild,
|
243
|
+
args: ['header']
|
228
244
|
}], items: [{
|
229
245
|
type: Input
|
230
246
|
}] } });
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbW1hbmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvY29sdW1ucy9yb3ctY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFNakUsTUFBTSxPQUFnQiwrQkFBZ0MsU0FBUSwwQkFBMEI7SUFBeEY7O1FBQ1ksU0FBSSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFakMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFVOUIsZ0JBQVcsR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7SUFDekcsQ0FBQztJQVRDLElBQUksY0FBYztRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFhLFFBQVE7UUFDbkIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0NBR0Y7QUFzQ0QsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLCtCQUErQjtJQXBDeEY7O1FBZ0RZLFdBQU0sR0FBdUIsRUFBRSxDQUFDO1FBRzFDLFVBQUssR0FBa0csRUFBRSxDQUFDO0tBK0IzRztJQTFDQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUks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QU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVTLGlCQUFpQixDQUFDLENBQWEsRUFBRSxJQUFzQixFQUFFLElBQWE7UUFDOUUsTUFBTSxJQUFJLEdBQStCO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNwQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFdBQVcsRUFBRSxDQUFDO1lBQ2QsSUFBSTtZQUNKLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs4R0FqQ1UsMkJBQTJCO2tHQUEzQiwyQkFBMkIscUtBVDNCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtnQkFDbkMsV0FBVyxFQUFFLDJCQUEyQjthQUN6QztTQUNGLHFFQUtVLFdBQVcsdUVBM0JaOzs7Ozs7Ozs7Ozs7OztpQkFjSzs7MkZBWUosMkJBQTJCO2tCQTVCdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O2lCQWNLO29CQUNmLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFdBQVcsNkJBQTZCO3lCQUN6QztxQkFDRjtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6Qjs4QkFHUyxTQUFTO3NCQURoQixTQUFTO3VCQUFDLFdBQVc7Z0JBV3RCLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uSXRlbUNvbXBvbmVudCwgQVhCdXR0b25JdGVtTGlzdEl0ZW0gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQnV0dG9uQ2xpY2tFdmVudCwgQVhJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlRGF0YVRhYmxlIH0gZnJvbSAnLi4vYmFzZS1kYXRhLXRhYmxlLmNsYXNzJztcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhSb3dDb21tYW5kSXRlbSBleHRlbmRzIEFYQnV0dG9uSXRlbUxpc3RJdGVtIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgZXh0ZW5kcyBBWEJ1dHRvbkNsaWNrRXZlbnQge31cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYQmFzZVJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBncmlkID0gaW5qZWN0KEFYQmFzZURhdGFUYWJsZSk7XG4gIHByb3RlY3RlZCBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIG92ZXJyaWRlIGFsbG93U29ydGluZyA9IGZhbHNlO1xuXG4gIGdldCBsb2FkaW5nRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgY3NzQ2xhc3MoKSB7XG4gICAgcmV0dXJuICdheC1jb21tYW5kLWNvbHVtbic7XG4gIH1cblxuICBvbkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQ+KCk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWRyb3Bkb3duLWNvbW1hbmQtY29sdW1uJyxcbiAgdGVtcGxhdGU6IGAgPG5nLXRlbXBsYXRlIGxldC1yb3c+XG4gICAgQGlmIChyb3cuZGF0YSkge1xuICAgICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvbiBbYXhSaXBwbGVdPlxuICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pY29uIGF4LWljb24tc29saWQgYXgtaWNvbi1tb3JlLWhvcml6b250YWxcIj48L2F4LWljb24+XG4gICAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCIgKG9uT3BlbmVkKT1cImhhbmRsZU9uT3BlbmVkKHJvdy5kYXRhKVwiIChvbkNsb3NlZCk9XCJoYW5kbGVPbkNsb3NlZCgpXCI+XG4gICAgICAgICAgICBAaWYgKF9pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3QgKG9uSXRlbUNsaWNrKT1cImhhbmRsZU9uSXRlbUNsaWNrKCRldmVudCwgcm93LmRhdGEpXCIgW2l0ZW1zXT1cIl9pdGVtc1wiPiA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGRpdiBwYW5lbCBzdHlsZT1cInBhZGRpbmc6IDAuODc1cmVtO1wiPlxuICAgICAgICAgICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgPGRpdiBwYW5lbCBzdHlsZT1cInBhZGRpbmc6IDAuODc1cmVtO1wiPlxuICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPmAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFJvd0Ryb3Bkb3duQ29tbWFuZENvbHVtbkNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxuICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxuICBvdXRwdXRzOiBbJ29uSXRlbUNsaWNrJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUm93RHJvcGRvd25Db21tYW5kQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpXG4gIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjbC1kZC1jbWQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pdGVtczogQVhSb3dDb21tYW5kSXRlbVtdID0gW107XG5cbiAgQElucHV0KClcbiAgaXRlbXM6IEFYUm93Q29tbWFuZEl0ZW1bXSB8ICgocm93RGF0YTogdW5rbm93bikgPT4gQVhSb3dDb21tYW5kSXRlbVtdIHwgUHJvbWlzZTxBWFJvd0NvbW1hbmRJdGVtW10+KSA9IFtdO1xuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVPbk9wZW5lZChyb3dEYXRhKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcbiAgICAgIHRoaXMuX2l0ZW1zID0gdGhpcy5pdGVtcztcbiAgICB9IGVsc2UgdHlwZW9mIHRoaXMuaXRlbXMgPT0gJ2Z1bmN0aW9uJztcbiAgICB7XG4gICAgICBjb25zdCByZXN1bHQgPSAodGhpc1snaXRlbXMnXSBhcyBhbnkpKHJvd0RhdGEpO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IHJlc3VsdDtcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IGF3YWl0IHJlc3VsdDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9uQ2xvc2VkKCkge1xuICAgIHRoaXMuX2l0ZW1zID0gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT25JdGVtQ2xpY2soZTogQVhJdGVtQ2xpY2tFdmVudDxBWEJ1dHRvbkl0ZW1Db21wb25lbnQ+LCBkYXRhOiB1bmtub3duKSB7XG4gICAgY29uc3QgYXJnczogQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSB7XG4gICAgICBjb21wb25lbnQ6IHRoaXMuZ3JpZCxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICBkYXRhLFxuICAgICAgbmFtZTogZS5uYW1lLFxuICAgIH07XG4gICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KGFyZ3MpO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbW1hbmQtY29sdW1uJyxcbiAgdGVtcGxhdGU6IGAgPG5nLXRlbXBsYXRlIGxldC1yb3c+XG4gICAgQGlmIChyb3cuZGF0YSkge1xuICAgICAgQGZvciAoaXRlbSBvZiBnZXRJdGVtcyhyb3cuZGF0YSk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIidyZ2JhKHZhcigtLWF4LWNvbG9yLScgKyAoaXRlbS5jb2xvciA/PyAncHJpbWFyeSknKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICBbYXhSaXBwbGVdPVwiIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0sIHJvdy5kYXRhKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtaWNvbiBbaWNvbl09XCJpdGVtLmljb25cIj48L2F4LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgIH1cbiAgPC9uZy10ZW1wbGF0ZT5gLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJywgJ2ZpeGVkJ10sXG4gIG91dHB1dHM6IFsnb25JdGVtQ2xpY2snXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpXG4gIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZTtcbiAgfVxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2wtaW4tY21kJztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBBWFJvd0NvbW1hbmRJdGVtW10gfCAoKHJvd0RhdGE6IHVua25vd24pID0+IEFYUm93Q29tbWFuZEl0ZW1bXSkgPSBbXTtcblxuICBwcm90ZWN0ZWQgZ2V0SXRlbXMocm93RGF0YTogdW5rbm93bik6IEFYUm93Q29tbWFuZEl0ZW1bXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zO1xuICAgIH0gZWxzZSB0eXBlb2YgdGhpcy5pdGVtcyA9PSAnZnVuY3Rpb24nO1xuICAgIHtcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zKHJvd0RhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT25JdGVtQ2xpY2soZTogTW91c2VFdmVudCwgaXRlbTogQVhSb3dDb21tYW5kSXRlbSwgZGF0YTogdW5rbm93bikge1xuICAgIGNvbnN0IGFyZ3M6IEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50ID0ge1xuICAgICAgY29tcG9uZW50OiB0aGlzLmdyaWQsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgZGF0YSxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICB9O1xuICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdChhcmdzKTtcbiAgfVxufVxuIl19
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbW1hbmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvY29sdW1ucy9yb3ctY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFNakUsTUFBTSxPQUFnQiwrQkFBZ0MsU0FBUSwwQkFBMEI7SUFBeEY7O1FBQ1ksU0FBSSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFakMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFVOUIsZ0JBQVcsR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7SUFDekcsQ0FBQztJQVRDLElBQUksY0FBYztRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFhLFFBQVE7UUFDbkIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0NBR0Y7QUF1Q0QsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLCtCQUErQjtJQXJDeEY7O1FBd0RZLFdBQU0sR0FBdUIsRUFBRSxDQUFDO1FBRzFDLFVBQUssR0FBa0csRUFBRSxDQUFDO0tBK0IzRztJQWpEQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUtELElB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aUJBQ3pCOzhCQUdTLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsV0FBVztnQkFRZCxzQkFBc0I7c0JBRDdCLFNBQVM7dUJBQUMsUUFBUTtnQkFZbkIsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25JdGVtQ29tcG9uZW50LCBBWEJ1dHRvbkl0ZW1MaXN0SXRlbSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhCdXR0b25DbGlja0V2ZW50LCBBWEl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEJhc2VEYXRhVGFibGUgfSBmcm9tICcuLi9iYXNlLWRhdGEtdGFibGUuY2xhc3MnO1xuaW1wb3J0IHsgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtdGFibGUtY29sdW1uJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFJvd0NvbW1hbmRJdGVtIGV4dGVuZHMgQVhCdXR0b25JdGVtTGlzdEl0ZW0ge31cblxuZXhwb3J0IGludGVyZmFjZSBBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudCBleHRlbmRzIEFYQnV0dG9uQ2xpY2tFdmVudCB7fVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIGdyaWQgPSBpbmplY3QoQVhCYXNlRGF0YVRhYmxlKTtcbiAgcHJvdGVjdGVkIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgb3ZlcnJpZGUgYWxsb3dTb3J0aW5nID0gZmFsc2U7XG5cbiAgZ2V0IGxvYWRpbmdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCBjc3NDbGFzcygpIHtcbiAgICByZXR1cm4gJ2F4LWNvbW1hbmQtY29sdW1uJztcbiAgfVxuXG4gIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8QVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudD4oKTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW4nLFxuICB0ZW1wbGF0ZTogYCA8bmctdGVtcGxhdGUgI2hlYWRlcj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PlxuICAgICAgQGlmIChyb3cuZGF0YSkge1xuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gW2F4UmlwcGxlXT5cbiAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pY29uIGF4LWljb24tc29saWQgYXgtaWNvbi1tb3JlLWhvcml6b250YWxcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWwgW2FkYXB0aXZpdHlFbmFibGVkXT1cInRydWVcIiAob25PcGVuZWQpPVwiaGFuZGxlT25PcGVuZWQocm93LmRhdGEpXCIgKG9uQ2xvc2VkKT1cImhhbmRsZU9uQ2xvc2VkKClcIj5cbiAgICAgICAgICAgICAgQGlmIChfaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3QgKG9uSXRlbUNsaWNrKT1cImhhbmRsZU9uSXRlbUNsaWNrKCRldmVudCwgcm93LmRhdGEpXCIgW2l0ZW1zXT1cIl9pdGVtc1wiPiA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxkaXYgcGFuZWwgc3R5bGU9XCJwYWRkaW5nOiAwLjg3NXJlbTtcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gICAgICAgIDxkaXYgcGFuZWwgc3R5bGU9XCJwYWRkaW5nOiAwLjg3NXJlbTtcIj5cbiAgICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPmAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFJvd0Ryb3Bkb3duQ29tbWFuZENvbHVtbkNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxuICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxuICBvdXRwdXRzOiBbJ29uSXRlbUNsaWNrJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUm93RHJvcGRvd25Db21tYW5kQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpXG4gIHByaXZhdGUgX2NlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckNlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NlbGxUZW1wbGF0ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgb3ZlcnJpZGUgZ2V0IHJlbmRlckhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEhlYWRlclRlbXBsYXRlO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2NsLWRkLWNtZCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2l0ZW1zOiBBWFJvd0NvbW1hbmRJdGVtW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBpdGVtczogQVhSb3dDb21tYW5kSXRlbVtdIHwgKChyb3dEYXRhOiB1bmtub3duKSA9PiBBWFJvd0NvbW1hbmRJdGVtW10gfCBQcm9taXNlPEFYUm93Q29tbWFuZEl0ZW1bXT4pID0gW107XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZU9uT3BlbmVkKHJvd0RhdGEpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLml0ZW1zKSkge1xuICAgICAgdGhpcy5faXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgIH0gZWxzZSB0eXBlb2YgdGhpcy5pdGVtcyA9PSAnZnVuY3Rpb24nO1xuICAgIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9ICh0aGlzWydpdGVtcyddIGFzIGFueSkocm93RGF0YSk7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHQpKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1zID0gcmVzdWx0O1xuICAgICAgfSBlbHNlIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1zID0gYXdhaXQgcmVzdWx0O1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT25DbG9zZWQoKSB7XG4gICAgdGhpcy5faXRlbXMgPSBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPbkl0ZW1DbGljayhlOiBBWEl0ZW1DbGlja0V2ZW50PEFYQnV0dG9uSXRlbUNvbXBvbmVudD4sIGRhdGE6IHVua25vd24pIHtcbiAgICBjb25zdCBhcmdzOiBBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudCA9IHtcbiAgICAgIGNvbXBvbmVudDogdGhpcy5ncmlkLFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgIGRhdGEsXG4gICAgICBuYW1lOiBlLm5hbWUsXG4gICAgfTtcbiAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoYXJncyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29tbWFuZC1jb2x1bW4nLFxuICB0ZW1wbGF0ZTogYDxuZy10ZW1wbGF0ZSAjaGVhZGVyPkFBQTwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1yb3c+XG4gICAgICBAaWYgKHJvdy5kYXRhKSB7XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgZ2V0SXRlbXMocm93LmRhdGEpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3JnYmEodmFyKC0tYXgtY29sb3ItJyArIChpdGVtLmNvbG9yID8/ICdwcmltYXJ5KScpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgIFtheFJpcHBsZV09XCIhaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT25JdGVtQ2xpY2soJGV2ZW50LCBpdGVtLCByb3cuZGF0YSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiPjwvYXgtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxuICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxuICBvdXRwdXRzOiBbJ29uSXRlbUNsaWNrJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZVJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQge1xuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICBwcml2YXRlIF9jZWxsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIGdldCByZW5kZXJDZWxsVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jZWxsVGVtcGxhdGU7XG4gIH1cblxuICBAVmlld0NoaWxkKCdoZWFkZXInKVxuICBwcml2YXRlIF9jb250ZW50SGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIG92ZXJyaWRlIGdldCByZW5kZXJIZWFkZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjbC1pbi1jbWQnO1xuICB9XG5cbiAgQElucHV0KClcbiAgaXRlbXM6IEFYUm93Q29tbWFuZEl0ZW1bXSB8ICgocm93RGF0YTogdW5rbm93bikgPT4gQVhSb3dDb21tYW5kSXRlbVtdKSA9IFtdO1xuXG4gIHByb3RlY3RlZCBnZXRJdGVtcyhyb3dEYXRhOiB1bmtub3duKTogQVhSb3dDb21tYW5kSXRlbVtdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLml0ZW1zKSkge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbXM7XG4gICAgfSBlbHNlIHR5cGVvZiB0aGlzLml0ZW1zID09ICdmdW5jdGlvbic7XG4gICAge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbXMocm93RGF0YSk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPbkl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBBWFJvd0NvbW1hbmRJdGVtLCBkYXRhOiB1bmtub3duKSB7XG4gICAgY29uc3QgYXJnczogQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSB7XG4gICAgICBjb21wb25lbnQ6IHRoaXMuZ3JpZCxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICBkYXRhLFxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgIH07XG4gICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KGFyZ3MpO1xuICB9XG59XG4iXX0=
|