ets-fe-ng-sdk 18.0.15 → 18.0.17
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/esm2022/lib/Shared/components/toggle-input-form/toggle-input-form.component.mjs +54 -65
- package/esm2022/lib/Shared/components/toggle-input-form/toggle-input-form.model.mjs +2 -0
- package/fesm2022/ets-fe-ng-sdk.mjs +46 -56
- package/fesm2022/ets-fe-ng-sdk.mjs.map +1 -1
- package/lib/Services/utility.service.d.ts +1 -1
- package/lib/Shared/components/btn/btn.component.d.ts +3 -3
- package/lib/Shared/components/index-comp-layout/index-comp-layout.component.d.ts +1 -1
- package/lib/Shared/components/info-dialog/info-dialog.component.d.ts +1 -1
- package/lib/Shared/components/table-https/table-https.component.d.ts +3 -3
- package/lib/Shared/components/toggle-input-form/toggle-input-form.component.d.ts +25 -28
- package/lib/Shared/components/toggle-input-form/toggle-input-form.model.d.ts +4 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component,
|
|
2
|
+
import { Component, Input, computed, inject, input, model, output, signal } from '@angular/core';
|
|
3
3
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
4
|
-
import {
|
|
4
|
+
import { InputService } from '../input/input.service';
|
|
5
5
|
import { BtnComponent } from '../btn/btn.component';
|
|
6
6
|
import { InputTD_RFComponent } from '../input/input-td-rf.component';
|
|
7
7
|
import { FormsModule } from '@angular/forms';
|
|
@@ -10,46 +10,36 @@ import { MatTooltipModule } from '@angular/material/tooltip';
|
|
|
10
10
|
import { MatMenuModule } from '@angular/material/menu';
|
|
11
11
|
import { FilterArrayByStringPipe } from '../../pipes/utility.pipe';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "
|
|
14
|
-
import * as i2 from "@angular/
|
|
15
|
-
import * as i3 from "@angular/
|
|
16
|
-
import * as i4 from "@angular/
|
|
17
|
-
import * as i5 from "@angular/material/
|
|
18
|
-
import * as i6 from "@angular/material/menu";
|
|
13
|
+
import * as i1 from "@angular/common";
|
|
14
|
+
import * as i2 from "@angular/material/slide-toggle";
|
|
15
|
+
import * as i3 from "@angular/forms";
|
|
16
|
+
import * as i4 from "@angular/material/tooltip";
|
|
17
|
+
import * as i5 from "@angular/material/menu";
|
|
19
18
|
export class ToggleInputFormComponent {
|
|
20
|
-
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
23
|
-
this.mdGrid.set(num > 3 ? Math.floor(this.lgGrid() / 2) : num);
|
|
24
|
-
}
|
|
25
|
-
set _list(v) {
|
|
26
|
-
this.rawList = v;
|
|
27
|
-
const list = this.iS.optionsFormatter(v, this.valueField, null, this.labelType(), this.labelField(), false) || [];
|
|
28
|
-
for (const item of list)
|
|
29
|
-
item.checked = item.originalRow.checked;
|
|
30
|
-
this.list.set(list);
|
|
31
|
-
if (this.defaultToggleAll() && !list.some((x) => x.checked))
|
|
32
|
-
this.toggleAll({ checked: true });
|
|
33
|
-
}
|
|
34
|
-
// @Input('list')set _list:T[]
|
|
35
|
-
constructor(iS) {
|
|
36
|
-
this.iS = iS;
|
|
37
|
-
this.list = signal([]);
|
|
38
|
-
// @Input() set savedData(v: TRow[]) {
|
|
39
|
-
// if(v)
|
|
40
|
-
// v.forEach(row=>{
|
|
41
|
-
// this.
|
|
42
|
-
// })
|
|
43
|
-
// }
|
|
44
|
-
this.currentGrid = signal(undefined);
|
|
45
|
-
this.xxlGrid = signal(undefined);
|
|
46
|
-
this.lgGrid = signal(undefined);
|
|
47
|
-
this.mdGrid = signal(undefined);
|
|
48
|
-
this.labelType = input();
|
|
19
|
+
constructor() {
|
|
20
|
+
this.iS = inject(InputService);
|
|
21
|
+
this.addToFormFunc = input();
|
|
49
22
|
this.defaultToggleAll = input();
|
|
23
|
+
this.deleteFromFormFunc = input();
|
|
24
|
+
this.gridNo = model(6);
|
|
50
25
|
this.labelField = input();
|
|
51
|
-
this.
|
|
52
|
-
this.
|
|
26
|
+
this.labelType = input();
|
|
27
|
+
this.searchQuery = model();
|
|
28
|
+
this.showToggleAll = input(true);
|
|
29
|
+
this.valueField = input.required();
|
|
30
|
+
this.selected = output();
|
|
31
|
+
this.list = signal([]);
|
|
32
|
+
this._currentGrid = signal(undefined);
|
|
33
|
+
this.currentGrid = computed(() => this._currentGrid());
|
|
34
|
+
this.xxlGrid = computed(() => this.gridNo());
|
|
35
|
+
this.lgGrid = computed(() => {
|
|
36
|
+
const num = this.gridNo();
|
|
37
|
+
return num > 3 ? num - 1 : num;
|
|
38
|
+
});
|
|
39
|
+
this.mdGrid = computed(() => {
|
|
40
|
+
const num = this.gridNo(), lgGrid = this.lgGrid();
|
|
41
|
+
return num > 3 ? Math.floor(lgGrid / 2) : num;
|
|
42
|
+
});
|
|
53
43
|
this.columnLengths = signal([
|
|
54
44
|
{ label: `List`, value: 1 },
|
|
55
45
|
{ label: `Dual`, value: 2 },
|
|
@@ -57,14 +47,25 @@ export class ToggleInputFormComponent {
|
|
|
57
47
|
{ label: `Medium`, value: 4 },
|
|
58
48
|
{ label: `Maximum`, value: 6 },
|
|
59
49
|
]);
|
|
60
|
-
this.setGrid = 6;
|
|
61
50
|
}
|
|
62
|
-
|
|
51
|
+
set _list(v) {
|
|
52
|
+
const list = this.iS.optionsFormatter(v, this.valueField(), null, this.labelType(), this.labelField(), false) || [];
|
|
53
|
+
let foundChecked = false;
|
|
54
|
+
for (const item of list) {
|
|
55
|
+
item.checked = item.originalRow.checked;
|
|
56
|
+
if (!foundChecked)
|
|
57
|
+
foundChecked = item.originalRow.checked;
|
|
58
|
+
}
|
|
59
|
+
this.list.set(list);
|
|
60
|
+
if (this.defaultToggleAll() && !foundChecked)
|
|
61
|
+
this.toggleAll({ checked: true });
|
|
62
|
+
}
|
|
63
|
+
toggleItem(e, item) {
|
|
63
64
|
// throw new Error('Method not implemented.');
|
|
64
65
|
if (e.checked)
|
|
65
|
-
this.addToFormFunc?.(item);
|
|
66
|
+
this.addToFormFunc()?.(item);
|
|
66
67
|
else
|
|
67
|
-
this.deleteFromFormFunc?.(item);
|
|
68
|
+
this.deleteFromFormFunc()?.(item);
|
|
68
69
|
this.emitSelected();
|
|
69
70
|
}
|
|
70
71
|
toggleAll(e) {
|
|
@@ -74,7 +75,7 @@ export class ToggleInputFormComponent {
|
|
|
74
75
|
.filter((x) => !x.checked)
|
|
75
76
|
.forEach((x) => {
|
|
76
77
|
x.checked = true;
|
|
77
|
-
this.addToFormFunc?.(x.originalRow);
|
|
78
|
+
this.addToFormFunc()?.(x.originalRow);
|
|
78
79
|
});
|
|
79
80
|
return list;
|
|
80
81
|
});
|
|
@@ -84,7 +85,7 @@ export class ToggleInputFormComponent {
|
|
|
84
85
|
.filter((x) => x.checked)
|
|
85
86
|
.forEach((x) => {
|
|
86
87
|
x.checked = false;
|
|
87
|
-
this.deleteFromFormFunc?.(x.originalRow);
|
|
88
|
+
this.deleteFromFormFunc()?.(x.originalRow);
|
|
88
89
|
});
|
|
89
90
|
return list;
|
|
90
91
|
});
|
|
@@ -95,8 +96,11 @@ export class ToggleInputFormComponent {
|
|
|
95
96
|
.filter((x) => x.checked)
|
|
96
97
|
.map((x) => x.originalRow));
|
|
97
98
|
}
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
getSelected() {
|
|
100
|
+
return this.list();
|
|
101
|
+
}
|
|
102
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ToggleInputFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: ToggleInputFormComponent, isStandalone: true, selector: "toggle-input-form", inputs: { addToFormFunc: { classPropertyName: "addToFormFunc", publicName: "addToFormFunc", isSignal: true, isRequired: false, transformFunction: null }, defaultToggleAll: { classPropertyName: "defaultToggleAll", publicName: "defaultToggleAll", isSignal: true, isRequired: false, transformFunction: null }, deleteFromFormFunc: { classPropertyName: "deleteFromFormFunc", publicName: "deleteFromFormFunc", isSignal: true, isRequired: false, transformFunction: null }, gridNo: { classPropertyName: "gridNo", publicName: "gridNo", isSignal: true, isRequired: false, transformFunction: null }, labelField: { classPropertyName: "labelField", publicName: "labelField", isSignal: true, isRequired: false, transformFunction: null }, labelType: { classPropertyName: "labelType", publicName: "labelType", isSignal: true, isRequired: false, transformFunction: null }, searchQuery: { classPropertyName: "searchQuery", publicName: "searchQuery", isSignal: true, isRequired: false, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: true, transformFunction: null }, _list: { classPropertyName: "_list", publicName: "list", isSignal: false, isRequired: true, transformFunction: null } }, outputs: { gridNo: "gridNoChange", searchQuery: "searchQueryChange", selected: "selected" }, ngImport: i0, template: "<div class=\"pb-3\">\n <div class=\"row align-items-center justify-content-between g-3\">\n <div class=\"col-lg-auto\">\n <mat-slide-toggle (change)=\"toggleAll($event)\" [checked]=\"defaultToggleAll()\">\n {{ 'Toggle All' | appTranslate | async }}\n </mat-slide-toggle>\n </div>\n <div class=\"col-lg d-flex justify-content-end\">\n <div class=\"row align-items-center g-3\">\n <div class=\"col-auto\">\n <app-btn\n iconBtn\n [showHelpIcon]=\"false\"\n help=\"{{ searchBox.hidden ? 'Open search' : 'Close search' }}\"\n [icon]=\"searchBox.hidden ? 'search' : 'close'\"\n (mclick)=\"searchBox.hidden = !searchBox.hidden\" />\n </div>\n <div class=\"col-auto\" [hidden]=\"true\" #searchBox>\n <app-input-td-rf\n type=\"text\"\n [noFormat]=\"true\"\n [showLabel]=\"false\"\n placeholder=\"Type to search\"\n [(model)]=\"searchQuery\" />\n </div>\n <div class=\"col-auto\">\n <app-btn\n customIcon=\"fa fa-list\"\n [showHelpIcon]=\"false\"\n help=\"Grid Style\"\n [matMenuTriggerFor]=\"gridMenu\" />\n <mat-menu #gridMenu=\"matMenu\" class=\"\">\n @for (item of columnLengths(); track item.value) {\n <button\n mat-menu-item\n (click)=\"gridNo.set(item.value)\"\n [ngClass]=\"{ 'text-primary': item.value == _currentGrid() }\">\n {{ item.label | appTranslate | async }}\n </button>\n }\n </mat-menu>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div\n class=\"row row-cols-md-{{ mdGrid() }} row-cols-lg-{{ lgGrid() }} row-cols-xxl-{{\n xxlGrid()\n }} g-3\">\n @for (item of list() | filterArrayByString: searchQuery() : ['label']; track item.value) {\n <div class=\"\">\n <div class=\"border rounded-10 p-10\">\n <div class=\"row align-items-center\">\n <div\n class=\"col text-ellipsis\"\n [matTooltip]=\"ele.innerText\"\n [matTooltipDisabled]=\"ele.scrollWidth <= ele.offsetWidth\"\n #ele>\n {{ item.label }}\n </div>\n <div class=\"col-auto\">\n <mat-slide-toggle\n [(ngModel)]=\"item.checked\"\n (change)=\"toggleItem($event, item.originalRow)\" />\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "debug", "centerBtn", "danger", "warning", "verbose", "loading", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "form", "forms", "help", "iconBtn", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid", "disabled"], outputs: ["loadingChange", "leftCustomIconChange", "mclick", "disabledChange"] }, { kind: "pipe", type: FilterArrayByStringPipe, name: "filterArrayByString" }, { kind: "component", type: InputTD_RFComponent, selector: "app-input-td-rf", inputs: ["validators", "asyncValidators", "model"], outputs: ["modelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }] }); }
|
|
100
104
|
}
|
|
101
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ToggleInputFormComponent, decorators: [{
|
|
102
106
|
type: Component,
|
|
@@ -105,29 +109,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
105
109
|
MatSlideToggleModule,
|
|
106
110
|
BtnComponent,
|
|
107
111
|
FilterArrayByStringPipe,
|
|
108
|
-
InputBasicComponent,
|
|
109
112
|
InputTD_RFComponent,
|
|
110
113
|
FormsModule,
|
|
111
114
|
MatTooltipModule,
|
|
112
115
|
MatMenuModule,
|
|
113
116
|
SDKTranslatePipe,
|
|
114
|
-
], template: "<div class=\"pb-3\">\n
|
|
115
|
-
}],
|
|
116
|
-
type: Input,
|
|
117
|
-
args: ['gridNo']
|
|
118
|
-
}], _list: [{
|
|
117
|
+
], template: "<div class=\"pb-3\">\n <div class=\"row align-items-center justify-content-between g-3\">\n <div class=\"col-lg-auto\">\n <mat-slide-toggle (change)=\"toggleAll($event)\" [checked]=\"defaultToggleAll()\">\n {{ 'Toggle All' | appTranslate | async }}\n </mat-slide-toggle>\n </div>\n <div class=\"col-lg d-flex justify-content-end\">\n <div class=\"row align-items-center g-3\">\n <div class=\"col-auto\">\n <app-btn\n iconBtn\n [showHelpIcon]=\"false\"\n help=\"{{ searchBox.hidden ? 'Open search' : 'Close search' }}\"\n [icon]=\"searchBox.hidden ? 'search' : 'close'\"\n (mclick)=\"searchBox.hidden = !searchBox.hidden\" />\n </div>\n <div class=\"col-auto\" [hidden]=\"true\" #searchBox>\n <app-input-td-rf\n type=\"text\"\n [noFormat]=\"true\"\n [showLabel]=\"false\"\n placeholder=\"Type to search\"\n [(model)]=\"searchQuery\" />\n </div>\n <div class=\"col-auto\">\n <app-btn\n customIcon=\"fa fa-list\"\n [showHelpIcon]=\"false\"\n help=\"Grid Style\"\n [matMenuTriggerFor]=\"gridMenu\" />\n <mat-menu #gridMenu=\"matMenu\" class=\"\">\n @for (item of columnLengths(); track item.value) {\n <button\n mat-menu-item\n (click)=\"gridNo.set(item.value)\"\n [ngClass]=\"{ 'text-primary': item.value == _currentGrid() }\">\n {{ item.label | appTranslate | async }}\n </button>\n }\n </mat-menu>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div\n class=\"row row-cols-md-{{ mdGrid() }} row-cols-lg-{{ lgGrid() }} row-cols-xxl-{{\n xxlGrid()\n }} g-3\">\n @for (item of list() | filterArrayByString: searchQuery() : ['label']; track item.value) {\n <div class=\"\">\n <div class=\"border rounded-10 p-10\">\n <div class=\"row align-items-center\">\n <div\n class=\"col text-ellipsis\"\n [matTooltip]=\"ele.innerText\"\n [matTooltipDisabled]=\"ele.scrollWidth <= ele.offsetWidth\"\n #ele>\n {{ item.label }}\n </div>\n <div class=\"col-auto\">\n <mat-slide-toggle\n [(ngModel)]=\"item.checked\"\n (change)=\"toggleItem($event, item.originalRow)\" />\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
118
|
+
}], propDecorators: { _list: [{
|
|
119
119
|
type: Input,
|
|
120
120
|
args: [{ alias: 'list', required: true }]
|
|
121
|
-
}], valueField: [{
|
|
122
|
-
type: Input,
|
|
123
|
-
args: [{ required: true }]
|
|
124
|
-
}], showToggleAll: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}], addToFormFunc: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], deleteFromFormFunc: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}], selected: [{
|
|
131
|
-
type: Output
|
|
132
121
|
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWlucHV0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL3RvZ2dsZS1pbnB1dC1mb3JtL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy90b2dnbGUtaW5wdXQtZm9ybS90b2dnbGUtaW5wdXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUNMLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBcUJuRSxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLElBQXFCLE9BQU8sQ0FBQyxHQUFhO1FBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBV0QsSUFDSSxLQUFLLENBQUMsQ0FBWTtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixNQUFNLElBQUksR0FDUixJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUN0QixDQUFDLEVBQ0QsSUFBSSxDQUFDLFVBQW9CLEVBQ3pCLElBQUksRUFDSixJQUFJLENBQUMsU0FBUyxFQUFFLEVBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQVksRUFDM0IsS0FBSyxDQUNOLElBQUksRUFBRSxDQUFDO1FBQ1YsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBbUJELDhCQUE4QjtJQUM5QixZQUFtQixFQUFnQjtRQUFoQixPQUFFLEdBQUYsRUFBRSxDQUFjO1FBcERuQyxTQUFJLEdBQUcsTUFBTSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQU9uQyxzQ0FBc0M7UUFDdEMsU0FBUztRQUNULG9CQUFvQjtRQUNwQixRQUFRO1FBQ1IsTUFBTTtRQUNOLElBQUk7UUFDSixnQkFBVyxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztRQUN4QyxZQUFPLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLFdBQU0sR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7UUFDbkMsV0FBTSxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztRQWlCbkMsY0FBUyxHQUFHLEtBQUssRUFBbUIsQ0FBQztRQUNyQyxxQkFBZ0IsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUNwQyxlQUFVLEdBQUcsS0FBSyxFQUFpQixDQUFDO1FBRTNCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBSTdCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBRW5ELGtCQUFhLEdBQUcsTUFBTSxDQUF1QztZQUMzRCxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUMzQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUMzQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUM3QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUM3QixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtTQUMvQixDQUFDLENBQUM7UUFJRCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLENBQXVCLEVBQUUsSUFBYTtRQUNoRCw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBdUI7UUFDL0IsSUFBSSxDQUFDLENBQUMsT0FBTztZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUk7cUJBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7cUJBQ3pCLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNiLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO29CQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN0QyxDQUFDLENBQUMsQ0FBQztnQkFDTCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsQ0FBQyxDQUFDOztZQUVILElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUk7cUJBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO3FCQUN4QixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDYixDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDbEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQztnQkFDTCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLElBQUksQ0FBQyxJQUFJLEVBQUU7YUFDUixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7YUFDeEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQzdCLENBQUM7SUFDSixDQUFDOzhHQS9GVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qiw4MUNDMUNyQyx5OEVBa0VBLCtFRHBDSSxZQUFZLGlMQUNaLG9CQUFvQixtV0FDcEIsWUFBWSw4ZkFDWix1QkFBdUIsNERBRXZCLG1CQUFtQix5SUFDbkIsV0FBVyw4VkFDWCxnQkFBZ0IsNFRBQ2hCLGFBQWEseXZCQUNiLGdCQUFnQjs7MkZBR1Asd0JBQXdCO2tCQW5CcEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUlQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakI7aUZBTW9CLE9BQU87c0JBQTNCLEtBQUs7dUJBQUMsUUFBUTtnQkFnQlgsS0FBSztzQkFEUixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQW1CYixVQUFVO3NCQUFwQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UsIE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IElPcHRpb24sIElucHV0U2VydmljZSB9IGZyb20gJy4uL2lucHV0L2lucHV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uTGFiZWxUeXBlLCBJbnB1dEJhc2ljQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uL2J0bi9idG4uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0VERfUkZDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC9pbnB1dC10ZC1yZi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNES1RyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBGaWx0ZXJBcnJheUJ5U3RyaW5nUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3V0aWxpdHkucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvZ2dsZS1pbnB1dC1mb3JtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC5zY3NzJyxcbiAgLy9cbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBCdG5Db21wb25lbnQsXG4gICAgRmlsdGVyQXJyYXlCeVN0cmluZ1BpcGUsXG4gICAgSW5wdXRCYXNpY0NvbXBvbmVudCxcbiAgICBJbnB1dFREX1JGQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBTREtUcmFuc2xhdGVQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUb2dnbGVJbnB1dEZvcm1Db21wb25lbnQ8VE9wdGlvbiBleHRlbmRzIHsgY2hlY2tlZD86IGJvb2xlYW4gfSwgVFJvdz4ge1xuICByYXdMaXN0OiBUT3B0aW9uW107XG4gIGxpc3QgPSBzaWduYWw8SVRvZ2dsZU9wdGlvbltdPihbXSk7XG4gIHNlYXJjaFF1ZXJ5OiBzdHJpbmc7XG4gIEBJbnB1dCgnZ3JpZE5vJykgc2V0IHNldEdyaWQobnVtOiBHcmlkU2l6ZSkge1xuICAgIHRoaXMueHhsR3JpZC5zZXQobnVtKTtcbiAgICB0aGlzLmxnR3JpZC5zZXQobnVtID4gMyA/IG51bSAtIDEgOiBudW0pO1xuICAgIHRoaXMubWRHcmlkLnNldChudW0gPiAzID8gTWF0aC5mbG9vcih0aGlzLmxnR3JpZCgpIC8gMikgOiBudW0pO1xuICB9XG4gIC8vIEBJbnB1dCgpIHNldCBzYXZlZERhdGEodjogVFJvd1tdKSB7XG4gIC8vIFx0aWYodilcbiAgLy8gXHR2LmZvckVhY2gocm93PT57XG4gIC8vIHRoaXMuXG4gIC8vIFx0fSlcbiAgLy8gfVxuICBjdXJyZW50R3JpZCA9IHNpZ25hbDxudW1iZXI+KHVuZGVmaW5lZCk7XG4gIHh4bEdyaWQgPSBzaWduYWw8bnVtYmVyPih1bmRlZmluZWQpO1xuICBsZ0dyaWQgPSBzaWduYWw8bnVtYmVyPih1bmRlZmluZWQpO1xuICBtZEdyaWQgPSBzaWduYWw8bnVtYmVyPih1bmRlZmluZWQpO1xuICBASW5wdXQoeyBhbGlhczogJ2xpc3QnLCByZXF1aXJlZDogdHJ1ZSB9KVxuICBzZXQgX2xpc3QodjogVE9wdGlvbltdKSB7XG4gICAgdGhpcy5yYXdMaXN0ID0gdjtcbiAgICBjb25zdCBsaXN0OiBJVG9nZ2xlT3B0aW9uW10gPVxuICAgICAgdGhpcy5pUy5vcHRpb25zRm9ybWF0dGVyKFxuICAgICAgICB2LFxuICAgICAgICB0aGlzLnZhbHVlRmllbGQgYXMgc3RyaW5nLFxuICAgICAgICBudWxsLFxuICAgICAgICB0aGlzLmxhYmVsVHlwZSgpLFxuICAgICAgICB0aGlzLmxhYmVsRmllbGQoKSBhcyBzdHJpbmcsXG4gICAgICAgIGZhbHNlLFxuICAgICAgKSB8fCBbXTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgbGlzdCkgaXRlbS5jaGVja2VkID0gaXRlbS5vcmlnaW5hbFJvdy5jaGVja2VkO1xuICAgIHRoaXMubGlzdC5zZXQobGlzdCk7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFRvZ2dsZUFsbCgpICYmICFsaXN0LnNvbWUoKHgpID0+IHguY2hlY2tlZCkpIHRoaXMudG9nZ2xlQWxsKHsgY2hlY2tlZDogdHJ1ZSB9KTtcbiAgfVxuICBsYWJlbFR5cGUgPSBpbnB1dDxPcHRpb25MYWJlbFR5cGU+KCk7XG4gIGRlZmF1bHRUb2dnbGVBbGwgPSBpbnB1dDxib29sZWFuPigpO1xuICBsYWJlbEZpZWxkID0gaW5wdXQ8a2V5b2YgVE9wdGlvbj4oKTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdmFsdWVGaWVsZDoga2V5b2YgVE9wdGlvbjtcbiAgQElucHV0KCkgc2hvd1RvZ2dsZUFsbDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGFkZFRvRm9ybUZ1bmM6IChkYXRhPzogVE9wdGlvbikgPT4gYW55O1xuICBASW5wdXQoKSBkZWxldGVGcm9tRm9ybUZ1bmM6IChkYXRhPzogVE9wdGlvbikgPT4gYW55O1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VE9wdGlvbltdPigpO1xuXG4gIGNvbHVtbkxlbmd0aHMgPSBzaWduYWw8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogR3JpZFNpemUgfVtdPihbXG4gICAgeyBsYWJlbDogYExpc3RgLCB2YWx1ZTogMSB9LFxuICAgIHsgbGFiZWw6IGBEdWFsYCwgdmFsdWU6IDIgfSxcbiAgICB7IGxhYmVsOiBgVHJpcGxlYCwgdmFsdWU6IDMgfSxcbiAgICB7IGxhYmVsOiBgTWVkaXVtYCwgdmFsdWU6IDQgfSxcbiAgICB7IGxhYmVsOiBgTWF4aW11bWAsIHZhbHVlOiA2IH0sXG4gIF0pO1xuXG4gIC8vIEBJbnB1dCgnbGlzdCcpc2V0IF9saXN0OlRbXVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaVM6IElucHV0U2VydmljZSkge1xuICAgIHRoaXMuc2V0R3JpZCA9IDY7XG4gIH1cblxuICB0b2dnbGVkSXRlbShlOiB7IGNoZWNrZWQ6IGJvb2xlYW4gfSwgaXRlbTogVE9wdGlvbikge1xuICAgIC8vIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgICBpZiAoZS5jaGVja2VkKSB0aGlzLmFkZFRvRm9ybUZ1bmM/LihpdGVtKTtcbiAgICBlbHNlIHRoaXMuZGVsZXRlRnJvbUZvcm1GdW5jPy4oaXRlbSk7XG4gICAgdGhpcy5lbWl0U2VsZWN0ZWQoKTtcbiAgfVxuXG4gIHRvZ2dsZUFsbChlOiB7IGNoZWNrZWQ6IGJvb2xlYW4gfSkge1xuICAgIGlmIChlLmNoZWNrZWQpXG4gICAgICB0aGlzLmxpc3QudXBkYXRlKChsaXN0KSA9PiB7XG4gICAgICAgIGxpc3RcbiAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAheC5jaGVja2VkKVxuICAgICAgICAgIC5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgICAgICB4LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hZGRUb0Zvcm1GdW5jPy4oeC5vcmlnaW5hbFJvdyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgICAgfSk7XG4gICAgZWxzZVxuICAgICAgdGhpcy5saXN0LnVwZGF0ZSgobGlzdCkgPT4ge1xuICAgICAgICBsaXN0XG4gICAgICAgICAgLmZpbHRlcigoeCkgPT4geC5jaGVja2VkKVxuICAgICAgICAgIC5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgICAgICB4LmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlRnJvbUZvcm1GdW5jPy4oeC5vcmlnaW5hbFJvdyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgICAgfSk7XG4gICAgdGhpcy5lbWl0U2VsZWN0ZWQoKTtcbiAgfVxuXG4gIGVtaXRTZWxlY3RlZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkLmVtaXQoXG4gICAgICB0aGlzLmxpc3QoKVxuICAgICAgICAuZmlsdGVyKCh4KSA9PiB4LmNoZWNrZWQpXG4gICAgICAgIC5tYXAoKHgpID0+IHgub3JpZ2luYWxSb3cpLFxuICAgICk7XG4gIH1cbn1cbmludGVyZmFjZSBJVG9nZ2xlT3B0aW9uIGV4dGVuZHMgSU9wdGlvbiB7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xufVxudHlwZSBHcmlkU2l6ZSA9IDYgfCA0IHwgMyB8IDIgfCAxO1xuIiwiPGRpdiBjbGFzcz1cInBiLTNcIj5cblx0PGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gZy0zXCI+XG5cdFx0PGRpdiBjbGFzcz1cImNvbC1sZy1hdXRvXCI+XG5cdFx0XHQ8bWF0LXNsaWRlLXRvZ2dsZSAoY2hhbmdlKT1cInRvZ2dsZUFsbCgkZXZlbnQpXCIgW2NoZWNrZWRdPVwiZGVmYXVsdFRvZ2dsZUFsbCgpXCI+XG5cdFx0XHRcdHt7ICdUb2dnbGUgQWxsJyB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG5cdFx0XHQ8L21hdC1zbGlkZS10b2dnbGU+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbC1sZyBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZy0zXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuXHRcdFx0XHRcdDxhcHAtYnRuXG5cdFx0XHRcdFx0XHRpY29uQnRuXG5cdFx0XHRcdFx0XHRbc2hvd0hlbHBJY29uXT1cImZhbHNlXCJcblx0XHRcdFx0XHRcdGhlbHA9XCJ7eyBzZWFyY2hCb3guaGlkZGVuID8gJ09wZW4gc2VhcmNoJyA6ICdDbG9zZSBzZWFyY2gnIH19XCJcblx0XHRcdFx0XHRcdFtpY29uXT1cInNlYXJjaEJveC5oaWRkZW4gPyAnc2VhcmNoJyA6ICdjbG9zZSdcIlxuXHRcdFx0XHRcdFx0KG1jbGljayk9XCJzZWFyY2hCb3guaGlkZGVuID0gIXNlYXJjaEJveC5oaWRkZW5cIiAvPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1hdXRvXCIgW2hpZGRlbl09XCJ0cnVlXCIgI3NlYXJjaEJveD5cblx0XHRcdFx0XHQ8YXBwLWlucHV0LXRkLXJmXG5cdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXG5cdFx0XHRcdFx0XHRbbm9Gb3JtYXRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRbc2hvd0xhYmVsXT1cImZhbHNlXCJcblx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiVHlwZSB0byBzZWFyY2hcIlxuXHRcdFx0XHRcdFx0Wyhtb2RlbCldPVwic2VhcmNoUXVlcnlcIiAvPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XG5cdFx0XHRcdFx0PGFwcC1idG5cblx0XHRcdFx0XHRcdGN1c3RvbUljb249XCJmYSBmYS1saXN0XCJcblx0XHRcdFx0XHRcdFtzaG93SGVscEljb25dPVwiZmFsc2VcIlxuXHRcdFx0XHRcdFx0aGVscD1cIkdyaWQgU3R5bGVcIlxuXHRcdFx0XHRcdFx0W21hdE1lbnVUcmlnZ2VyRm9yXT1cImdyaWRNZW51XCIgLz5cblx0XHRcdFx0XHQ8bWF0LW1lbnUgI2dyaWRNZW51PVwibWF0TWVudVwiIGNsYXNzPVwiXCI+XG5cdFx0XHRcdFx0XHRAZm9yIChpdGVtIG9mIGNvbHVtbkxlbmd0aHMoKTsgdHJhY2sgaXRlbSkge1xuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0bWF0LW1lbnUtaXRlbVxuXHRcdFx0XHRcdFx0XHRcdChjbGljayk9XCJzZXRHcmlkID0gaXRlbS52YWx1ZVwiXG5cdFx0XHRcdFx0XHRcdFx0W25nQ2xhc3NdPVwieyAndGV4dC1wcmltYXJ5JzogaXRlbS52YWx1ZSA9PSBjdXJyZW50R3JpZCgpIH1cIj5cblx0XHRcdFx0XHRcdFx0XHR7eyBpdGVtLmxhYmVsIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cblx0XHRcdFx0XHRcdFx0PC9idXR0b24+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PC9tYXQtbWVudT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyb3cgcm93LWNvbHMtbWQte3sgbWRHcmlkKCkgfX0gcm93LWNvbHMtbGcte3sgbGdHcmlkKCkgfX0gcm93LWNvbHMteHhsLXt7IHh4bEdyaWQoKSB9fSBnLTNcIj5cblx0QGZvciAoaXRlbSBvZiBsaXN0KCkgfCBmaWx0ZXJBcnJheUJ5U3RyaW5nOiBzZWFyY2hRdWVyeSA6IFsnbGFiZWwnXTsgdHJhY2sgaXRlbS52YWx1ZSkge1xuXHRcdDxkaXYgY2xhc3M9XCJcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJib3JkZXIgcm91bmRlZC0xMCBwLTEwXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG5cdFx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJjb2wgdGV4dC1lbGxpcHNpc1wiXG5cdFx0XHRcdFx0XHRbbWF0VG9vbHRpcF09XCJlbGUuaW5uZXJUZXh0XCJcblx0XHRcdFx0XHRcdFttYXRUb29sdGlwRGlzYWJsZWRdPVwiZWxlLnNjcm9sbFdpZHRoIDw9IGVsZS5vZmZzZXRXaWR0aFwiXG5cdFx0XHRcdFx0XHQjZWxlPlxuXHRcdFx0XHRcdFx0e3sgaXRlbS5sYWJlbCB9fVxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuXHRcdFx0XHRcdFx0PG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJpdGVtLmNoZWNrZWRcIiAoY2hhbmdlKT1cInRvZ2dsZWRJdGVtKCRldmVudCwgaXRlbS5vcmlnaW5hbFJvdylcIiAvPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHR9XG48L2Rpdj5cbiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWlucHV0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL3RvZ2dsZS1pbnB1dC1mb3JtL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy90b2dnbGUtaW5wdXQtZm9ybS90b2dnbGUtaW5wdXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7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SSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBtb2RlbCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IElucHV0U2VydmljZSB9IGZyb20gJy4uL2lucHV0L2lucHV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uTGFiZWxUeXBlIH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uL2J0bi9idG4uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0VERfUkZDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC9pbnB1dC10ZC1yZi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTREtUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgRmlsdGVyQXJyYXlCeVN0cmluZ1BpcGUgfSBmcm9tICcuLi8uLi9waXBlcy91dGlsaXR5LnBpcGUnO1xuaW1wb3J0IHsgSVRvZ2dsZU9wdGlvbiB9IGZyb20gJy4vdG9nZ2xlLWlucHV0LWZvcm0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2dnbGUtaW5wdXQtZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUtaW5wdXQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi90b2dnbGUtaW5wdXQtZm9ybS5jb21wb25lbnQuc2NzcycsXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIEJ0bkNvbXBvbmVudCxcbiAgICBGaWx0ZXJBcnJheUJ5U3RyaW5nUGlwZSxcbiAgICBJbnB1dFREX1JGQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBTREtUcmFuc2xhdGVQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUb2dnbGVJbnB1dEZvcm1Db21wb25lbnQ8VE9wdGlvbiBleHRlbmRzIHsgY2hlY2tlZD86IGJvb2xlYW4gfSwgVFJvdz4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaVMgPSBpbmplY3QoSW5wdXRTZXJ2aWNlKTtcblxuICByZWFkb25seSBhZGRUb0Zvcm1GdW5jID0gaW5wdXQ8KGRhdGE/OiBUT3B0aW9uKSA9PiBhbnk+KCk7XG4gIHJlYWRvbmx5IGRlZmF1bHRUb2dnbGVBbGwgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBkZWxldGVGcm9tRm9ybUZ1bmMgPSBpbnB1dDwoZGF0YT86IFRPcHRpb24pID0+IGFueT4oKTtcbiAgcmVhZG9ubHkgZ3JpZE5vID0gbW9kZWw8R3JpZFNpemU+KDYpO1xuICByZWFkb25seSBsYWJlbEZpZWxkID0gaW5wdXQ8a2V5b2YgVE9wdGlvbj4oKTtcbiAgcmVhZG9ubHkgbGFiZWxUeXBlID0gaW5wdXQ8T3B0aW9uTGFiZWxUeXBlPigpO1xuICByZWFkb25seSBzZWFyY2hRdWVyeSA9IG1vZGVsPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgc2hvd1RvZ2dsZUFsbCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSB2YWx1ZUZpZWxkID0gaW5wdXQucmVxdWlyZWQ8a2V5b2YgVE9wdGlvbj4oKTtcblxuICByZWFkb25seSBzZWxlY3RlZCA9IG91dHB1dDxUT3B0aW9uW10+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxpc3QgPSBzaWduYWw8SVRvZ2dsZU9wdGlvbjxUT3B0aW9uPltdPihbXSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jdXJyZW50R3JpZCA9IHNpZ25hbDxudW1iZXI+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGN1cnJlbnRHcmlkID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB0aGlzLl9jdXJyZW50R3JpZCgpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHh4bEdyaWQgPSBjb21wdXRlZDxudW1iZXI+KCgpID0+IHRoaXMuZ3JpZE5vKCkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGdHcmlkID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgY29uc3QgbnVtID0gdGhpcy5ncmlkTm8oKTtcbiAgICByZXR1cm4gbnVtID4gMyA/IG51bSAtIDEgOiBudW07XG4gIH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWRHcmlkID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgY29uc3QgbnVtID0gdGhpcy5ncmlkTm8oKSxcbiAgICAgIGxnR3JpZCA9IHRoaXMubGdHcmlkKCk7XG4gICAgcmV0dXJuIG51bSA+IDMgPyBNYXRoLmZsb29yKGxnR3JpZCAvIDIpIDogbnVtO1xuICB9KTtcblxuICBASW5wdXQoeyBhbGlhczogJ2xpc3QnLCByZXF1aXJlZDogdHJ1ZSB9KVxuICBzZXQgX2xpc3QodjogVE9wdGlvbltdKSB7XG4gICAgY29uc3QgbGlzdDogSVRvZ2dsZU9wdGlvbjxUT3B0aW9uPltdID1cbiAgICAgIHRoaXMuaVMub3B0aW9uc0Zvcm1hdHRlcihcbiAgICAgICAgdixcbiAgICAgICAgdGhpcy52YWx1ZUZpZWxkKCkgYXMgc3RyaW5nLFxuICAgICAgICBudWxsLFxuICAgICAgICB0aGlzLmxhYmVsVHlwZSgpLFxuICAgICAgICB0aGlzLmxhYmVsRmllbGQoKSBhcyBzdHJpbmcsXG4gICAgICAgIGZhbHNlLFxuICAgICAgKSB8fCBbXTtcbiAgICBsZXQgZm91bmRDaGVja2VkID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGxpc3QpIHtcbiAgICAgIGl0ZW0uY2hlY2tlZCA9IGl0ZW0ub3JpZ2luYWxSb3cuY2hlY2tlZDtcbiAgICAgIGlmICghZm91bmRDaGVja2VkKSBmb3VuZENoZWNrZWQgPSBpdGVtLm9yaWdpbmFsUm93LmNoZWNrZWQ7XG4gICAgfVxuICAgIHRoaXMubGlzdC5zZXQobGlzdCk7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFRvZ2dsZUFsbCgpICYmICFmb3VuZENoZWNrZWQpIHRoaXMudG9nZ2xlQWxsKHsgY2hlY2tlZDogdHJ1ZSB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBjb2x1bW5MZW5ndGhzID0gc2lnbmFsPHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IEdyaWRTaXplIH1bXT4oW1xuICAgIHsgbGFiZWw6IGBMaXN0YCwgdmFsdWU6IDEgfSxcbiAgICB7IGxhYmVsOiBgRHVhbGAsIHZhbHVlOiAyIH0sXG4gICAgeyBsYWJlbDogYFRyaXBsZWAsIHZhbHVlOiAzIH0sXG4gICAgeyBsYWJlbDogYE1lZGl1bWAsIHZhbHVlOiA0IH0sXG4gICAgeyBsYWJlbDogYE1heGltdW1gLCB2YWx1ZTogNiB9LFxuICBdKTtcblxuICBwcm90ZWN0ZWQgdG9nZ2xlSXRlbShlOiB7IGNoZWNrZWQ6IGJvb2xlYW4gfSwgaXRlbTogVE9wdGlvbikge1xuICAgIC8vIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgICBpZiAoZS5jaGVja2VkKSB0aGlzLmFkZFRvRm9ybUZ1bmMoKT8uKGl0ZW0pO1xuICAgIGVsc2UgdGhpcy5kZWxldGVGcm9tRm9ybUZ1bmMoKT8uKGl0ZW0pO1xuICAgIHRoaXMuZW1pdFNlbGVjdGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9nZ2xlQWxsKGU6IHsgY2hlY2tlZDogYm9vbGVhbiB9KSB7XG4gICAgaWYgKGUuY2hlY2tlZClcbiAgICAgIHRoaXMubGlzdC51cGRhdGUoKGxpc3QpID0+IHtcbiAgICAgICAgbGlzdFxuICAgICAgICAgIC5maWx0ZXIoKHgpID0+ICF4LmNoZWNrZWQpXG4gICAgICAgICAgLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgICAgIHguY2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmFkZFRvRm9ybUZ1bmMoKT8uKHgub3JpZ2luYWxSb3cpO1xuICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbGlzdDtcbiAgICAgIH0pO1xuICAgIGVsc2VcbiAgICAgIHRoaXMubGlzdC51cGRhdGUoKGxpc3QpID0+IHtcbiAgICAgICAgbGlzdFxuICAgICAgICAgIC5maWx0ZXIoKHgpID0+IHguY2hlY2tlZClcbiAgICAgICAgICAuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgICAgICAgeC5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUZyb21Gb3JtRnVuYygpPy4oeC5vcmlnaW5hbFJvdyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgICAgfSk7XG4gICAgdGhpcy5lbWl0U2VsZWN0ZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0U2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KFxuICAgICAgdGhpcy5saXN0KClcbiAgICAgICAgLmZpbHRlcigoeCkgPT4geC5jaGVja2VkKVxuICAgICAgICAubWFwKCh4KSA9PiB4Lm9yaWdpbmFsUm93KSxcbiAgICApO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdCgpO1xuICB9XG59XG50eXBlIEdyaWRTaXplID0gNiB8IDQgfCAzIHwgMiB8IDE7XG4iLCI8ZGl2IGNsYXNzPVwicGItM1wiPlxuICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLWF1dG9cIj5cbiAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIChjaGFuZ2UpPVwidG9nZ2xlQWxsKCRldmVudClcIiBbY2hlY2tlZF09XCJkZWZhdWx0VG9nZ2xlQWxsKClcIj5cbiAgICAgICAge3sgJ1RvZ2dsZSBBbGwnIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBnLTNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XG4gICAgICAgICAgPGFwcC1idG5cbiAgICAgICAgICAgIGljb25CdG5cbiAgICAgICAgICAgIFtzaG93SGVscEljb25dPVwiZmFsc2VcIlxuICAgICAgICAgICAgaGVscD1cInt7IHNlYXJjaEJveC5oaWRkZW4gPyAnT3BlbiBzZWFyY2gnIDogJ0Nsb3NlIHNlYXJjaCcgfX1cIlxuICAgICAgICAgICAgW2ljb25dPVwic2VhcmNoQm94LmhpZGRlbiA/ICdzZWFyY2gnIDogJ2Nsb3NlJ1wiXG4gICAgICAgICAgICAobWNsaWNrKT1cInNlYXJjaEJveC5oaWRkZW4gPSAhc2VhcmNoQm94LmhpZGRlblwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIiBbaGlkZGVuXT1cInRydWVcIiAjc2VhcmNoQm94PlxuICAgICAgICAgIDxhcHAtaW5wdXQtdGQtcmZcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFtub0Zvcm1hdF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJUeXBlIHRvIHNlYXJjaFwiXG4gICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hRdWVyeVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cbiAgICAgICAgICA8YXBwLWJ0blxuICAgICAgICAgICAgY3VzdG9tSWNvbj1cImZhIGZhLWxpc3RcIlxuICAgICAgICAgICAgW3Nob3dIZWxwSWNvbl09XCJmYWxzZVwiXG4gICAgICAgICAgICBoZWxwPVwiR3JpZCBTdHlsZVwiXG4gICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZ3JpZE1lbnVcIiAvPlxuICAgICAgICAgIDxtYXQtbWVudSAjZ3JpZE1lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgY29sdW1uTGVuZ3RocygpOyB0cmFjayBpdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdyaWROby5zZXQoaXRlbS52YWx1ZSlcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3RleHQtcHJpbWFyeSc6IGl0ZW0udmFsdWUgPT0gX2N1cnJlbnRHcmlkKCkgfVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCBhcHBUcmFuc2xhdGUgfCBhc3luYyB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdlxuICBjbGFzcz1cInJvdyByb3ctY29scy1tZC17eyBtZEdyaWQoKSB9fSByb3ctY29scy1sZy17eyBsZ0dyaWQoKSB9fSByb3ctY29scy14eGwte3tcbiAgICB4eGxHcmlkKClcbiAgfX0gZy0zXCI+XG4gIEBmb3IgKGl0ZW0gb2YgbGlzdCgpIHwgZmlsdGVyQXJyYXlCeVN0cmluZzogc2VhcmNoUXVlcnkoKSA6IFsnbGFiZWwnXTsgdHJhY2sgaXRlbS52YWx1ZSkge1xuICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgcm91bmRlZC0xMCBwLTEwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJjb2wgdGV4dC1lbGxpcHNpc1wiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJlbGUuaW5uZXJUZXh0XCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiZWxlLnNjcm9sbFdpZHRoIDw9IGVsZS5vZmZzZXRXaWR0aFwiXG4gICAgICAgICAgICAjZWxlPlxuICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLmNoZWNrZWRcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZUl0ZW0oJGV2ZW50LCBpdGVtLm9yaWdpbmFsUm93KVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWlucHV0LWZvcm0ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLWlucHV0LWZvcm0vdG9nZ2xlLWlucHV0LWZvcm0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElPcHRpb24gfSBmcm9tIFwiLi4vaW5wdXQvaW5wdXQuc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUb2dnbGVPcHRpb248VFJvdz4gZXh0ZW5kcyBJT3B0aW9uPFRSb3c+IHtcbiAgY2hlY2tlZD86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -15876,39 +15876,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
15876
15876
|
}] });
|
|
15877
15877
|
|
|
15878
15878
|
class ToggleInputFormComponent {
|
|
15879
|
-
|
|
15880
|
-
this.
|
|
15881
|
-
this.
|
|
15882
|
-
this.mdGrid.set(num > 3 ? Math.floor(this.lgGrid() / 2) : num);
|
|
15883
|
-
}
|
|
15884
|
-
set _list(v) {
|
|
15885
|
-
this.rawList = v;
|
|
15886
|
-
const list = this.iS.optionsFormatter(v, this.valueField, null, this.labelType(), this.labelField(), false) || [];
|
|
15887
|
-
for (const item of list)
|
|
15888
|
-
item.checked = item.originalRow.checked;
|
|
15889
|
-
this.list.set(list);
|
|
15890
|
-
if (this.defaultToggleAll() && !list.some((x) => x.checked))
|
|
15891
|
-
this.toggleAll({ checked: true });
|
|
15892
|
-
}
|
|
15893
|
-
// @Input('list')set _list:T[]
|
|
15894
|
-
constructor(iS) {
|
|
15895
|
-
this.iS = iS;
|
|
15896
|
-
this.list = signal([]);
|
|
15897
|
-
// @Input() set savedData(v: TRow[]) {
|
|
15898
|
-
// if(v)
|
|
15899
|
-
// v.forEach(row=>{
|
|
15900
|
-
// this.
|
|
15901
|
-
// })
|
|
15902
|
-
// }
|
|
15903
|
-
this.currentGrid = signal(undefined);
|
|
15904
|
-
this.xxlGrid = signal(undefined);
|
|
15905
|
-
this.lgGrid = signal(undefined);
|
|
15906
|
-
this.mdGrid = signal(undefined);
|
|
15907
|
-
this.labelType = input();
|
|
15879
|
+
constructor() {
|
|
15880
|
+
this.iS = inject(InputService);
|
|
15881
|
+
this.addToFormFunc = input();
|
|
15908
15882
|
this.defaultToggleAll = input();
|
|
15883
|
+
this.deleteFromFormFunc = input();
|
|
15884
|
+
this.gridNo = model(6);
|
|
15909
15885
|
this.labelField = input();
|
|
15910
|
-
this.
|
|
15911
|
-
this.
|
|
15886
|
+
this.labelType = input();
|
|
15887
|
+
this.searchQuery = model();
|
|
15888
|
+
this.showToggleAll = input(true);
|
|
15889
|
+
this.valueField = input.required();
|
|
15890
|
+
this.selected = output();
|
|
15891
|
+
this.list = signal([]);
|
|
15892
|
+
this._currentGrid = signal(undefined);
|
|
15893
|
+
this.currentGrid = computed(() => this._currentGrid());
|
|
15894
|
+
this.xxlGrid = computed(() => this.gridNo());
|
|
15895
|
+
this.lgGrid = computed(() => {
|
|
15896
|
+
const num = this.gridNo();
|
|
15897
|
+
return num > 3 ? num - 1 : num;
|
|
15898
|
+
});
|
|
15899
|
+
this.mdGrid = computed(() => {
|
|
15900
|
+
const num = this.gridNo(), lgGrid = this.lgGrid();
|
|
15901
|
+
return num > 3 ? Math.floor(lgGrid / 2) : num;
|
|
15902
|
+
});
|
|
15912
15903
|
this.columnLengths = signal([
|
|
15913
15904
|
{ label: `List`, value: 1 },
|
|
15914
15905
|
{ label: `Dual`, value: 2 },
|
|
@@ -15916,14 +15907,25 @@ class ToggleInputFormComponent {
|
|
|
15916
15907
|
{ label: `Medium`, value: 4 },
|
|
15917
15908
|
{ label: `Maximum`, value: 6 },
|
|
15918
15909
|
]);
|
|
15919
|
-
this.setGrid = 6;
|
|
15920
15910
|
}
|
|
15921
|
-
|
|
15911
|
+
set _list(v) {
|
|
15912
|
+
const list = this.iS.optionsFormatter(v, this.valueField(), null, this.labelType(), this.labelField(), false) || [];
|
|
15913
|
+
let foundChecked = false;
|
|
15914
|
+
for (const item of list) {
|
|
15915
|
+
item.checked = item.originalRow.checked;
|
|
15916
|
+
if (!foundChecked)
|
|
15917
|
+
foundChecked = item.originalRow.checked;
|
|
15918
|
+
}
|
|
15919
|
+
this.list.set(list);
|
|
15920
|
+
if (this.defaultToggleAll() && !foundChecked)
|
|
15921
|
+
this.toggleAll({ checked: true });
|
|
15922
|
+
}
|
|
15923
|
+
toggleItem(e, item) {
|
|
15922
15924
|
// throw new Error('Method not implemented.');
|
|
15923
15925
|
if (e.checked)
|
|
15924
|
-
this.addToFormFunc?.(item);
|
|
15926
|
+
this.addToFormFunc()?.(item);
|
|
15925
15927
|
else
|
|
15926
|
-
this.deleteFromFormFunc?.(item);
|
|
15928
|
+
this.deleteFromFormFunc()?.(item);
|
|
15927
15929
|
this.emitSelected();
|
|
15928
15930
|
}
|
|
15929
15931
|
toggleAll(e) {
|
|
@@ -15933,7 +15935,7 @@ class ToggleInputFormComponent {
|
|
|
15933
15935
|
.filter((x) => !x.checked)
|
|
15934
15936
|
.forEach((x) => {
|
|
15935
15937
|
x.checked = true;
|
|
15936
|
-
this.addToFormFunc?.(x.originalRow);
|
|
15938
|
+
this.addToFormFunc()?.(x.originalRow);
|
|
15937
15939
|
});
|
|
15938
15940
|
return list;
|
|
15939
15941
|
});
|
|
@@ -15943,7 +15945,7 @@ class ToggleInputFormComponent {
|
|
|
15943
15945
|
.filter((x) => x.checked)
|
|
15944
15946
|
.forEach((x) => {
|
|
15945
15947
|
x.checked = false;
|
|
15946
|
-
this.deleteFromFormFunc?.(x.originalRow);
|
|
15948
|
+
this.deleteFromFormFunc()?.(x.originalRow);
|
|
15947
15949
|
});
|
|
15948
15950
|
return list;
|
|
15949
15951
|
});
|
|
@@ -15954,8 +15956,11 @@ class ToggleInputFormComponent {
|
|
|
15954
15956
|
.filter((x) => x.checked)
|
|
15955
15957
|
.map((x) => x.originalRow));
|
|
15956
15958
|
}
|
|
15957
|
-
|
|
15958
|
-
|
|
15959
|
+
getSelected() {
|
|
15960
|
+
return this.list();
|
|
15961
|
+
}
|
|
15962
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ToggleInputFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15963
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: ToggleInputFormComponent, isStandalone: true, selector: "toggle-input-form", inputs: { addToFormFunc: { classPropertyName: "addToFormFunc", publicName: "addToFormFunc", isSignal: true, isRequired: false, transformFunction: null }, defaultToggleAll: { classPropertyName: "defaultToggleAll", publicName: "defaultToggleAll", isSignal: true, isRequired: false, transformFunction: null }, deleteFromFormFunc: { classPropertyName: "deleteFromFormFunc", publicName: "deleteFromFormFunc", isSignal: true, isRequired: false, transformFunction: null }, gridNo: { classPropertyName: "gridNo", publicName: "gridNo", isSignal: true, isRequired: false, transformFunction: null }, labelField: { classPropertyName: "labelField", publicName: "labelField", isSignal: true, isRequired: false, transformFunction: null }, labelType: { classPropertyName: "labelType", publicName: "labelType", isSignal: true, isRequired: false, transformFunction: null }, searchQuery: { classPropertyName: "searchQuery", publicName: "searchQuery", isSignal: true, isRequired: false, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: true, transformFunction: null }, _list: { classPropertyName: "_list", publicName: "list", isSignal: false, isRequired: true, transformFunction: null } }, outputs: { gridNo: "gridNoChange", searchQuery: "searchQueryChange", selected: "selected" }, ngImport: i0, template: "<div class=\"pb-3\">\n <div class=\"row align-items-center justify-content-between g-3\">\n <div class=\"col-lg-auto\">\n <mat-slide-toggle (change)=\"toggleAll($event)\" [checked]=\"defaultToggleAll()\">\n {{ 'Toggle All' | appTranslate | async }}\n </mat-slide-toggle>\n </div>\n <div class=\"col-lg d-flex justify-content-end\">\n <div class=\"row align-items-center g-3\">\n <div class=\"col-auto\">\n <app-btn\n iconBtn\n [showHelpIcon]=\"false\"\n help=\"{{ searchBox.hidden ? 'Open search' : 'Close search' }}\"\n [icon]=\"searchBox.hidden ? 'search' : 'close'\"\n (mclick)=\"searchBox.hidden = !searchBox.hidden\" />\n </div>\n <div class=\"col-auto\" [hidden]=\"true\" #searchBox>\n <app-input-td-rf\n type=\"text\"\n [noFormat]=\"true\"\n [showLabel]=\"false\"\n placeholder=\"Type to search\"\n [(model)]=\"searchQuery\" />\n </div>\n <div class=\"col-auto\">\n <app-btn\n customIcon=\"fa fa-list\"\n [showHelpIcon]=\"false\"\n help=\"Grid Style\"\n [matMenuTriggerFor]=\"gridMenu\" />\n <mat-menu #gridMenu=\"matMenu\" class=\"\">\n @for (item of columnLengths(); track item.value) {\n <button\n mat-menu-item\n (click)=\"gridNo.set(item.value)\"\n [ngClass]=\"{ 'text-primary': item.value == _currentGrid() }\">\n {{ item.label | appTranslate | async }}\n </button>\n }\n </mat-menu>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div\n class=\"row row-cols-md-{{ mdGrid() }} row-cols-lg-{{ lgGrid() }} row-cols-xxl-{{\n xxlGrid()\n }} g-3\">\n @for (item of list() | filterArrayByString: searchQuery() : ['label']; track item.value) {\n <div class=\"\">\n <div class=\"border rounded-10 p-10\">\n <div class=\"row align-items-center\">\n <div\n class=\"col text-ellipsis\"\n [matTooltip]=\"ele.innerText\"\n [matTooltipDisabled]=\"ele.scrollWidth <= ele.offsetWidth\"\n #ele>\n {{ item.label }}\n </div>\n <div class=\"col-auto\">\n <mat-slide-toggle\n [(ngModel)]=\"item.checked\"\n (change)=\"toggleItem($event, item.originalRow)\" />\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i1$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "debug", "centerBtn", "danger", "warning", "verbose", "loading", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "form", "forms", "help", "iconBtn", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid", "disabled"], outputs: ["loadingChange", "leftCustomIconChange", "mclick", "disabledChange"] }, { kind: "pipe", type: FilterArrayByStringPipe, name: "filterArrayByString" }, { kind: "component", type: InputTD_RFComponent, selector: "app-input-td-rf", inputs: ["validators", "asyncValidators", "model"], outputs: ["modelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }] }); }
|
|
15959
15964
|
}
|
|
15960
15965
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ToggleInputFormComponent, decorators: [{
|
|
15961
15966
|
type: Component,
|
|
@@ -15964,30 +15969,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
15964
15969
|
MatSlideToggleModule,
|
|
15965
15970
|
BtnComponent,
|
|
15966
15971
|
FilterArrayByStringPipe,
|
|
15967
|
-
InputBasicComponent,
|
|
15968
15972
|
InputTD_RFComponent,
|
|
15969
15973
|
FormsModule,
|
|
15970
15974
|
MatTooltipModule,
|
|
15971
15975
|
MatMenuModule,
|
|
15972
15976
|
SDKTranslatePipe,
|
|
15973
|
-
], template: "<div class=\"pb-3\">\n
|
|
15974
|
-
}],
|
|
15975
|
-
type: Input,
|
|
15976
|
-
args: ['gridNo']
|
|
15977
|
-
}], _list: [{
|
|
15977
|
+
], template: "<div class=\"pb-3\">\n <div class=\"row align-items-center justify-content-between g-3\">\n <div class=\"col-lg-auto\">\n <mat-slide-toggle (change)=\"toggleAll($event)\" [checked]=\"defaultToggleAll()\">\n {{ 'Toggle All' | appTranslate | async }}\n </mat-slide-toggle>\n </div>\n <div class=\"col-lg d-flex justify-content-end\">\n <div class=\"row align-items-center g-3\">\n <div class=\"col-auto\">\n <app-btn\n iconBtn\n [showHelpIcon]=\"false\"\n help=\"{{ searchBox.hidden ? 'Open search' : 'Close search' }}\"\n [icon]=\"searchBox.hidden ? 'search' : 'close'\"\n (mclick)=\"searchBox.hidden = !searchBox.hidden\" />\n </div>\n <div class=\"col-auto\" [hidden]=\"true\" #searchBox>\n <app-input-td-rf\n type=\"text\"\n [noFormat]=\"true\"\n [showLabel]=\"false\"\n placeholder=\"Type to search\"\n [(model)]=\"searchQuery\" />\n </div>\n <div class=\"col-auto\">\n <app-btn\n customIcon=\"fa fa-list\"\n [showHelpIcon]=\"false\"\n help=\"Grid Style\"\n [matMenuTriggerFor]=\"gridMenu\" />\n <mat-menu #gridMenu=\"matMenu\" class=\"\">\n @for (item of columnLengths(); track item.value) {\n <button\n mat-menu-item\n (click)=\"gridNo.set(item.value)\"\n [ngClass]=\"{ 'text-primary': item.value == _currentGrid() }\">\n {{ item.label | appTranslate | async }}\n </button>\n }\n </mat-menu>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div\n class=\"row row-cols-md-{{ mdGrid() }} row-cols-lg-{{ lgGrid() }} row-cols-xxl-{{\n xxlGrid()\n }} g-3\">\n @for (item of list() | filterArrayByString: searchQuery() : ['label']; track item.value) {\n <div class=\"\">\n <div class=\"border rounded-10 p-10\">\n <div class=\"row align-items-center\">\n <div\n class=\"col text-ellipsis\"\n [matTooltip]=\"ele.innerText\"\n [matTooltipDisabled]=\"ele.scrollWidth <= ele.offsetWidth\"\n #ele>\n {{ item.label }}\n </div>\n <div class=\"col-auto\">\n <mat-slide-toggle\n [(ngModel)]=\"item.checked\"\n (change)=\"toggleItem($event, item.originalRow)\" />\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
15978
|
+
}], propDecorators: { _list: [{
|
|
15978
15979
|
type: Input,
|
|
15979
15980
|
args: [{ alias: 'list', required: true }]
|
|
15980
|
-
}], valueField: [{
|
|
15981
|
-
type: Input,
|
|
15982
|
-
args: [{ required: true }]
|
|
15983
|
-
}], showToggleAll: [{
|
|
15984
|
-
type: Input
|
|
15985
|
-
}], addToFormFunc: [{
|
|
15986
|
-
type: Input
|
|
15987
|
-
}], deleteFromFormFunc: [{
|
|
15988
|
-
type: Input
|
|
15989
|
-
}], selected: [{
|
|
15990
|
-
type: Output
|
|
15991
15981
|
}] } });
|
|
15992
15982
|
|
|
15993
15983
|
class TranslatorCaseComponent {
|