@vendure/admin-ui 2.0.0-next.21 → 2.0.0-next.23
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/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +0 -1
- package/catalog/components/product-detail/product-detail.component.d.ts +2 -7
- package/catalog/components/product-variants-list/product-variants-list.component.d.ts +10 -10
- package/catalog/providers/product-detail/product-detail.service.d.ts +1 -2
- package/core/common/generated-types.d.ts +72 -0
- package/core/common/version.d.ts +1 -1
- package/core/data/definitions/facet-definitions.d.ts +1 -0
- package/core/data/providers/facet-data.service.d.ts +4 -0
- package/core/providers/custom-history-entry-component/history-entry-component-types.d.ts +81 -0
- package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +19 -0
- package/core/public_api.d.ts +2 -1
- package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +16 -16
- package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +3 -11
- package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +1 -2
- package/customer/components/customer-detail/customer-detail.component.d.ts +3 -3
- package/customer/components/customer-history/customer-history-entry-host.component.d.ts +19 -0
- package/customer/components/customer-history/customer-history.component.d.ts +38 -10
- package/customer/customer.module.d.ts +4 -3
- package/customer/public_api.d.ts +1 -0
- package/esm2020/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +3 -3
- package/esm2020/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +3 -4
- package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +11 -6
- package/esm2020/catalog/components/product-detail/product-detail.component.mjs +17 -48
- package/esm2020/catalog/components/product-list/product-list-bulk-actions.mjs +4 -7
- package/esm2020/catalog/components/product-variants-list/product-variants-list.component.mjs +39 -33
- package/esm2020/catalog/providers/product-detail/product-detail.service.mjs +1 -4
- package/esm2020/core/common/generated-types.mjs +1 -1
- package/esm2020/core/common/introspection-result.mjs +2 -1
- package/esm2020/core/common/version.mjs +2 -2
- package/esm2020/core/data/data.module.mjs +8 -1
- package/esm2020/core/data/definitions/facet-definitions.mjs +12 -1
- package/esm2020/core/data/providers/facet-data.service.mjs +5 -2
- package/esm2020/core/providers/custom-history-entry-component/history-entry-component-types.mjs +2 -0
- package/esm2020/core/providers/custom-history-entry-component/history-entry-component.service.mjs +40 -0
- package/esm2020/core/public_api.mjs +3 -2
- package/esm2020/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +52 -25
- package/esm2020/core/shared/components/timeline-entry/timeline-entry.component.mjs +3 -3
- package/esm2020/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +8 -18
- package/esm2020/customer/components/customer-detail/customer-detail.component.mjs +2 -1
- package/esm2020/customer/components/customer-history/customer-history-entry-host.component.mjs +64 -0
- package/esm2020/customer/components/customer-history/customer-history.component.mjs +16 -10
- package/esm2020/customer/customer.module.mjs +5 -2
- package/esm2020/customer/providers/routing/customer-resolver.mjs +5 -3
- package/esm2020/customer/public_api.mjs +2 -1
- package/esm2020/login/components/login/login.component.mjs +36 -9
- package/esm2020/order/components/order-detail/order-detail.component.mjs +1 -1
- package/esm2020/order/components/order-history/order-history-entry-host.component.mjs +64 -0
- package/esm2020/order/components/order-history/order-history.component.mjs +19 -14
- package/esm2020/order/order.module.mjs +8 -5
- package/esm2020/order/public_api.mjs +2 -1
- package/esm2020/settings/components/admin-detail/admin-detail.component.mjs +5 -4
- package/fesm2015/vendure-admin-ui-catalog.mjs +69 -96
- package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-core.mjs +167 -90
- package/fesm2015/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-customer.mjs +93 -21
- package/fesm2015/vendure-admin-ui-customer.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-login.mjs +35 -8
- package/fesm2015/vendure-admin-ui-login.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-order.mjs +76 -8
- package/fesm2015/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-settings.mjs +4 -3
- package/fesm2015/vendure-admin-ui-settings.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-catalog.mjs +68 -96
- package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-core.mjs +165 -90
- package/fesm2020/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-customer.mjs +92 -21
- package/fesm2020/vendure-admin-ui-customer.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-login.mjs +35 -8
- package/fesm2020/vendure-admin-ui-login.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-order.mjs +75 -8
- package/fesm2020/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-settings.mjs +4 -3
- package/fesm2020/vendure-admin-ui-settings.mjs.map +1 -1
- package/login/components/login/login.component.d.ts +9 -1
- package/order/components/order-detail/order-detail.component.d.ts +3 -3
- package/order/components/order-history/order-history-entry-host.component.d.ts +19 -0
- package/order/components/order-history/order-history.component.d.ts +40 -13
- package/order/order.module.d.ts +4 -3
- package/order/public_api.d.ts +1 -0
- package/package.json +2 -2
- package/static/i18n-messages/de.json +3 -1
- package/static/i18n-messages/en.json +3 -1
- package/static/styles/_variables.scss +1 -0
- package/core/common/utilities/flatten-facet-values.d.ts +0 -2
- package/esm2020/core/common/utilities/flatten-facet-values.mjs +0 -4
package/esm2020/core/shared/components/facet-value-selector/facet-value-selector.component.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { NgSelectComponent } from '@ng-select/ng-select';
|
|
4
|
-
import {
|
|
4
|
+
import { concat, merge, of, Subject } from 'rxjs';
|
|
5
|
+
import { debounceTime, distinctUntilChanged, mapTo, switchMap, tap } from 'rxjs/operators';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "../../../data/providers/data.service";
|
|
7
8
|
import * as i2 from "@ng-select/ng-select";
|
|
@@ -33,30 +34,53 @@ import * as i7 from "@ngx-translate/core";
|
|
|
33
34
|
* @docsCategory components
|
|
34
35
|
*/
|
|
35
36
|
export class FacetValueSelectorComponent {
|
|
36
|
-
constructor(dataService) {
|
|
37
|
+
constructor(dataService, changeDetectorRef) {
|
|
37
38
|
this.dataService = dataService;
|
|
39
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
38
40
|
this.selectedValuesChange = new EventEmitter();
|
|
39
41
|
this.readonly = false;
|
|
40
42
|
this.transformControlValueAccessorValue = value => value;
|
|
41
|
-
this.
|
|
43
|
+
this.searchInput$ = new Subject();
|
|
44
|
+
this.searchLoading = false;
|
|
45
|
+
this.selectedIds$ = new Subject();
|
|
42
46
|
this.disabled = false;
|
|
43
|
-
this.toSelectorItem = (facetValue) => {
|
|
44
|
-
return {
|
|
45
|
-
name: facetValue.name,
|
|
46
|
-
facetName: facetValue.facet.name,
|
|
47
|
-
id: facetValue.id,
|
|
48
|
-
value: facetValue,
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
47
|
}
|
|
52
48
|
ngOnInit() {
|
|
53
|
-
this.
|
|
49
|
+
this.initSearchResults();
|
|
50
|
+
}
|
|
51
|
+
initSearchResults() {
|
|
52
|
+
const searchItems$ = this.searchInput$.pipe(debounceTime(200), distinctUntilChanged(), tap(() => (this.searchLoading = true)), switchMap(term => {
|
|
53
|
+
if (!term) {
|
|
54
|
+
return of([]);
|
|
55
|
+
}
|
|
56
|
+
return this.dataService.facet
|
|
57
|
+
.getFacetValues({ take: 10, filter: { name: { contains: term } } })
|
|
58
|
+
.mapSingle(result => result.facetValues.items);
|
|
59
|
+
}), tap(() => (this.searchLoading = false)));
|
|
60
|
+
this.subscription = this.selectedIds$
|
|
61
|
+
.pipe(switchMap(ids => {
|
|
62
|
+
if (!ids.length) {
|
|
63
|
+
return of([]);
|
|
64
|
+
}
|
|
65
|
+
return this.dataService.facet
|
|
66
|
+
.getFacetValues({ take: 10, filter: { id: { in: ids } } }, 'cache-first')
|
|
67
|
+
.mapSingle(result => result.facetValues.items);
|
|
68
|
+
}))
|
|
69
|
+
.subscribe(val => {
|
|
70
|
+
this.value = val;
|
|
71
|
+
this.changeDetectorRef.markForCheck();
|
|
72
|
+
});
|
|
73
|
+
const clear$ = this.selectedValuesChange.pipe(mapTo([]));
|
|
74
|
+
this.searchResults$ = concat(of([]), merge(searchItems$, clear$));
|
|
75
|
+
}
|
|
76
|
+
ngOnDestroy() {
|
|
77
|
+
this.subscription?.unsubscribe();
|
|
54
78
|
}
|
|
55
79
|
onChange(selected) {
|
|
56
80
|
if (this.readonly) {
|
|
57
81
|
return;
|
|
58
82
|
}
|
|
59
|
-
this.selectedValuesChange.emit(selected
|
|
83
|
+
this.selectedValuesChange.emit(selected);
|
|
60
84
|
if (this.onChangeFn) {
|
|
61
85
|
const transformedValue = this.transformControlValueAccessorValue(selected);
|
|
62
86
|
this.onChangeFn(transformedValue);
|
|
@@ -75,10 +99,11 @@ export class FacetValueSelectorComponent {
|
|
|
75
99
|
this.ngSelect.focus();
|
|
76
100
|
}
|
|
77
101
|
writeValue(obj) {
|
|
102
|
+
let valueIds;
|
|
78
103
|
if (typeof obj === 'string') {
|
|
79
104
|
try {
|
|
80
|
-
const
|
|
81
|
-
|
|
105
|
+
const facetValueIds = JSON.parse(obj);
|
|
106
|
+
valueIds = facetValueIds;
|
|
82
107
|
}
|
|
83
108
|
catch (err) {
|
|
84
109
|
// TODO: log error
|
|
@@ -88,22 +113,26 @@ export class FacetValueSelectorComponent {
|
|
|
88
113
|
else if (Array.isArray(obj)) {
|
|
89
114
|
const isIdArray = (input) => input.every(i => typeof i === 'number' || typeof i === 'string');
|
|
90
115
|
if (isIdArray(obj)) {
|
|
91
|
-
|
|
116
|
+
valueIds = obj.map(fv => fv.toString());
|
|
92
117
|
}
|
|
93
118
|
else {
|
|
94
|
-
|
|
119
|
+
valueIds = obj.map(fv => fv.id);
|
|
95
120
|
}
|
|
96
121
|
}
|
|
122
|
+
if (valueIds) {
|
|
123
|
+
// this.value = valueIds;
|
|
124
|
+
this.selectedIds$.next(valueIds);
|
|
125
|
+
}
|
|
97
126
|
}
|
|
98
127
|
}
|
|
99
|
-
FacetValueSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FacetValueSelectorComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
-
FacetValueSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FacetValueSelectorComponent, selector: "vdr-facet-value-selector", inputs: {
|
|
128
|
+
FacetValueSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FacetValueSelectorComponent, deps: [{ token: i1.DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
+
FacetValueSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FacetValueSelectorComponent, selector: "vdr-facet-value-selector", inputs: { readonly: "readonly", transformControlValueAccessorValue: "transformControlValueAccessorValue" }, outputs: { selectedValuesChange: "selectedValuesChange" }, providers: [
|
|
101
130
|
{
|
|
102
131
|
provide: NG_VALUE_ACCESSOR,
|
|
103
132
|
useExisting: FacetValueSelectorComponent,
|
|
104
133
|
multi: true,
|
|
105
134
|
},
|
|
106
|
-
], viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true }], ngImport: i0, template: "<ng-select\r\n [items]=\"
|
|
135
|
+
], viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true }], ngImport: i0, template: "<ng-select\r\n [items]=\"searchResults$ | async\"\r\n [addTag]=\"false\"\r\n [hideSelected]=\"true\"\r\n [loading]=\"searchLoading\"\r\n [typeahead]=\"searchInput$\"\r\n multiple=\"true\"\r\n appendTo=\"body\"\r\n bindLabel=\"name\"\r\n [disabled]=\"disabled || readonly\"\r\n [ngModel]=\"value\"\r\n (change)=\"onChange($event)\"\r\n>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <vdr-facet-value-chip\r\n *ngIf=\"item; else facetNotFound\"\r\n [facetValue]=\"item\"\r\n [removable]=\"!readonly\"\r\n (remove)=\"clear(item)\"\r\n ></vdr-facet-value-chip>\r\n <ng-template #facetNotFound>\r\n <vdr-chip colorType=\"error\" icon=\"times\" (iconClick)=\"clear(item)\">{{\r\n 'catalog.facet-value-not-available' | translate: { id: item.id }\r\n }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <vdr-facet-value-chip [facetValue]=\"item\" [removable]=\"false\"></vdr-facet-value-chip>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}\n"], components: [{ type: i2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i3.FacetValueChipComponent, selector: "vdr-facet-value-chip", inputs: ["facetValue", "removable", "displayFacetName"], outputs: ["remove"] }, { type: i4.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }], pipes: { "async": i6.AsyncPipe, "translate": i7.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
107
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FacetValueSelectorComponent, decorators: [{
|
|
108
137
|
type: Component,
|
|
109
138
|
args: [{ selector: 'vdr-facet-value-selector', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -112,11 +141,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
112
141
|
useExisting: FacetValueSelectorComponent,
|
|
113
142
|
multi: true,
|
|
114
143
|
},
|
|
115
|
-
], template: "<ng-select\r\n [items]=\"
|
|
116
|
-
}], ctorParameters: function () { return [{ type: i1.DataService }]; }, propDecorators: { selectedValuesChange: [{
|
|
144
|
+
], template: "<ng-select\r\n [items]=\"searchResults$ | async\"\r\n [addTag]=\"false\"\r\n [hideSelected]=\"true\"\r\n [loading]=\"searchLoading\"\r\n [typeahead]=\"searchInput$\"\r\n multiple=\"true\"\r\n appendTo=\"body\"\r\n bindLabel=\"name\"\r\n [disabled]=\"disabled || readonly\"\r\n [ngModel]=\"value\"\r\n (change)=\"onChange($event)\"\r\n>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <vdr-facet-value-chip\r\n *ngIf=\"item; else facetNotFound\"\r\n [facetValue]=\"item\"\r\n [removable]=\"!readonly\"\r\n (remove)=\"clear(item)\"\r\n ></vdr-facet-value-chip>\r\n <ng-template #facetNotFound>\r\n <vdr-chip colorType=\"error\" icon=\"times\" (iconClick)=\"clear(item)\">{{\r\n 'catalog.facet-value-not-available' | translate: { id: item.id }\r\n }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <vdr-facet-value-chip [facetValue]=\"item\" [removable]=\"false\"></vdr-facet-value-chip>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}\n"] }]
|
|
145
|
+
}], ctorParameters: function () { return [{ type: i1.DataService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedValuesChange: [{
|
|
117
146
|
type: Output
|
|
118
|
-
}], facets: [{
|
|
119
|
-
type: Input
|
|
120
147
|
}], readonly: [{
|
|
121
148
|
type: Input
|
|
122
149
|
}], transformControlValueAccessorValue: [{
|
|
@@ -125,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
125
152
|
type: ViewChild,
|
|
126
153
|
args: [NgSelectComponent]
|
|
127
154
|
}] } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtdmFsdWUtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9mYWNldC12YWx1ZS1zZWxlY3Rvci9mYWNldC12YWx1ZS1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2ZhY2V0LXZhbHVlLXNlbGVjdG9yL2ZhY2V0LXZhbHVlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7Ozs7OztBQVVwRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBY0gsTUFBTSxPQUFPLDJCQUEyQjtJQWFwQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVpsQyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUVqRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHVDQUFrQyxHQUE4QyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUl4RyxnQkFBVyxHQUE0QixFQUFFLENBQUM7UUFHMUMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQXVEVCxtQkFBYyxHQUFHLENBQUMsVUFBOEIsRUFBeUIsRUFBRTtZQUMvRSxPQUFPO2dCQUNILElBQUksRUFBRSxV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OzRCQUN4QyxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtrR0FHUyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0NBQWtDO3NCQUExQyxLQUFLO2dCQUVnQyxRQUFRO3NCQUE3QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xyXG5cclxuaW1wb3J0IHsgRmFjZXRWYWx1ZUZyYWdtZW50LCBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBmbGF0dGVuRmFjZXRWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbGl0aWVzL2ZsYXR0ZW4tZmFjZXQtdmFsdWVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZVNlbGV0b3JJdGVtID0ge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgZmFjZXROYW1lOiBzdHJpbmc7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgdmFsdWU6IEZhY2V0VmFsdWVGcmFnbWVudDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQSBmb3JtIGNvbnRyb2wgZm9yIHNlbGVjdGluZyBmYWNldCB2YWx1ZXMuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYEhUTUxcclxuICogPHZkci1mYWNldC12YWx1ZS1zZWxlY3RvclxyXG4gKiAgIFtmYWNldHNdPVwiZmFjZXRzXCJcclxuICogICAoc2VsZWN0ZWRWYWx1ZXNDaGFuZ2UpPVwic2VsZWN0ZWRWYWx1ZXMgPSAkZXZlbnRcIlxyXG4gKiA+PC92ZHItZmFjZXQtdmFsdWUtc2VsZWN0b3I+XHJcbiAqIGBgYFxyXG4gKiBUaGUgYGZhY2V0c2AgaW5wdXQgc2hvdWxkIGJlIHByb3ZpZGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnRcclxuICogbGlrZSB0aGlzOlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBUeXBlU2NyaXB0XHJcbiAqIHRoaXMuZmFjZXRzID0gdGhpcy5kYXRhU2VydmljZVxyXG4gKiAgIC5mYWNldC5nZXRBbGxGYWNldHMoKVxyXG4gKiAgIC5tYXBTaW5nbGUoZGF0YSA9PiBkYXRhLmZhY2V0cy5pdGVtcyk7XHJcbiAqIGBgYFxyXG4gKiBAZG9jc0NhdGVnb3J5IGNvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItZmFjZXQtdmFsdWUtc2VsZWN0b3InLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZhY2V0LXZhbHVlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2ZhY2V0LXZhbHVlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBGYWNldFZhbHVlU2VsZWN0b3JDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFjZXRWYWx1ZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRWYWx1ZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZhY2V0VmFsdWVGcmFnbWVudFtdPigpO1xyXG4gICAgQElucHV0KCkgZmFjZXRzOiBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFtdO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHRyYW5zZm9ybUNvbnRyb2xWYWx1ZUFjY2Vzc29yVmFsdWU6ICh2YWx1ZTogRmFjZXRWYWx1ZVNlbGV0b3JJdGVtW10pID0+IGFueVtdID0gdmFsdWUgPT4gdmFsdWU7XHJcblxyXG4gICAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudCkgcHJpdmF0ZSBuZ1NlbGVjdDogTmdTZWxlY3RDb21wb25lbnQ7XHJcblxyXG4gICAgZmFjZXRWYWx1ZXM6IEZhY2V0VmFsdWVTZWxldG9ySXRlbVtdID0gW107XHJcbiAgICBvbkNoYW5nZUZuOiAodmFsOiBhbnkpID0+IHZvaWQ7XHJcbiAgICBvblRvdWNoRm46ICgpID0+IHZvaWQ7XHJcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgdmFsdWU6IEFycmF5PHN0cmluZyB8IEZhY2V0VmFsdWVGcmFnbWVudD47XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmZhY2V0VmFsdWVzID0gZmxhdHRlbkZhY2V0VmFsdWVzKHRoaXMuZmFjZXRzKS5tYXAodGhpcy50b1NlbGVjdG9ySXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2Uoc2VsZWN0ZWQ6IEZhY2V0VmFsdWVTZWxldG9ySXRlbVtdKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzQ2hhbmdlLmVtaXQoc2VsZWN0ZWQubWFwKHMgPT4gcy52YWx1ZSkpO1xyXG4gICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlRm4pIHtcclxuICAgICAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRWYWx1ZSA9IHRoaXMudHJhbnNmb3JtQ29udHJvbFZhbHVlQWNjZXNzb3JWYWx1ZShzZWxlY3RlZCk7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VGbih0cmFuc2Zvcm1lZFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaEZuID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZm9jdXMoKSB7XHJcbiAgICAgICAgdGhpcy5uZ1NlbGVjdC5mb2N1cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUob2JqOiBzdHJpbmcgfCBGYWNldFZhbHVlRnJhZ21lbnRbXSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmYWNldElkcyA9IEpTT04ucGFyc2Uob2JqKSBhcyBzdHJpbmdbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBmYWNldElkcztcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgIC8vIFRPRE86IGxvZyBlcnJvclxyXG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNJZEFycmF5ID0gKGlucHV0OiB1bmtub3duW10pOiBpbnB1dCBpcyBBcnJheTxzdHJpbmcgfCBudW1iZXI+ID0+XHJcbiAgICAgICAgICAgICAgICBpbnB1dC5ldmVyeShpID0+IHR5cGVvZiBpID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgaSA9PT0gJ3N0cmluZycpO1xyXG4gICAgICAgICAgICBpZiAoaXNJZEFycmF5KG9iaikpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBvYmoubWFwKGZ2ID0+IGZ2LnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG9iai5tYXAoZnYgPT4gZnYuaWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdG9TZWxlY3Rvckl0ZW0gPSAoZmFjZXRWYWx1ZTogRmFjZXRWYWx1ZUZyYWdtZW50KTogRmFjZXRWYWx1ZVNlbGV0b3JJdGVtID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuYW1lOiBmYWNldFZhbHVlLm5hbWUsXHJcbiAgICAgICAgICAgIGZhY2V0TmFtZTogZmFjZXRWYWx1ZS5mYWNldC5uYW1lLFxyXG4gICAgICAgICAgICBpZDogZmFjZXRWYWx1ZS5pZCxcclxuICAgICAgICAgICAgdmFsdWU6IGZhY2V0VmFsdWUsXHJcbiAgICAgICAgfTtcclxuICAgIH07XHJcbn1cclxuIiwiPG5nLXNlbGVjdFxyXG4gICAgW2l0ZW1zXT1cImZhY2V0VmFsdWVzXCJcclxuICAgIFthZGRUYWddPVwiZmFsc2VcIlxyXG4gICAgW2hpZGVTZWxlY3RlZF09XCJ0cnVlXCJcclxuICAgIGJpbmRWYWx1ZT1cImlkXCJcclxuICAgIG11bHRpcGxlPVwidHJ1ZVwiXHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgYmluZExhYmVsPVwibmFtZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxyXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIlxyXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuPlxyXG4gICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxyXG4gICAgICAgIDx2ZHItZmFjZXQtdmFsdWUtY2hpcFxyXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0udmFsdWU7IGVsc2UgZmFjZXROb3RGb3VuZFwiXHJcbiAgICAgICAgICAgIFtmYWNldFZhbHVlXT1cIml0ZW0udmFsdWVcIlxyXG4gICAgICAgICAgICBbcmVtb3ZhYmxlXT1cIiFyZWFkb25seVwiXHJcbiAgICAgICAgICAgIChyZW1vdmUpPVwiY2xlYXIoaXRlbSlcIlxyXG4gICAgICAgID48L3Zkci1mYWNldC12YWx1ZS1jaGlwPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZmFjZXROb3RGb3VuZD5cclxuICAgICAgICAgICAgPHZkci1jaGlwIGNvbG9yVHlwZT1cImVycm9yXCIgaWNvbj1cInRpbWVzXCIgKGljb25DbGljayk9XCJjbGVhcihpdGVtKVwiPnt7XHJcbiAgICAgICAgICAgICAgICAnY2F0YWxvZy5mYWNldC12YWx1ZS1ub3QtYXZhaWxhYmxlJyB8IHRyYW5zbGF0ZTogeyBpZDogaXRlbS5pZCB9XHJcbiAgICAgICAgICAgIH19PC92ZHItY2hpcD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgICAgIDx2ZHItZmFjZXQtdmFsdWUtY2hpcCBbZmFjZXRWYWx1ZV09XCJpdGVtLnZhbHVlXCIgW3JlbW92YWJsZV09XCJmYWxzZVwiPjwvdmRyLWZhY2V0LXZhbHVlLWNoaXA+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L25nLXNlbGVjdD5cclxuIl19
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtdmFsdWUtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9mYWNldC12YWx1ZS1zZWxlY3Rvci9mYWNldC12YWx1ZS1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2ZhY2V0LXZhbHVlLXNlbGVjdG9yL2ZhY2V0LXZhbHVlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFLM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQWNILE1BQU0sT0FBTywyQkFBMkI7SUFnQnBDLFlBQW9CLFdBQXdCLEVBQVUsaUJBQW9DO1FBQXRFLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWZoRix5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUNqRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHVDQUFrQyxHQUEyQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNyRyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDckMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFdEIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBWSxDQUFDO1FBTXZDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFHNEUsQ0FBQztJQUU5RixRQUFRO1FBQ0osSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLGlCQUFpQjtRQUNyQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDdkMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLEVBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1AsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDakI7WUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSztpQkFDeEIsY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO2lCQUNsRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FDMUMsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVk7YUFDaEMsSUFBSSxDQUNELFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNiLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2pCO1lBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7aUJBQ3hCLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUM7aUJBQ3hFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFFUCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBOEI7UUFDbkMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsa0NBQWtDLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQWtFO1FBQ3pFLElBQUksUUFBOEIsQ0FBQztRQUNuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUN6QixJQUFJO2dCQUNBLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFhLENBQUM7Z0JBQ2xELFFBQVEsR0FBRyxhQUFhLENBQUM7YUFDNUI7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDVixrQkFBa0I7Z0JBQ2xCLE1BQU0sR0FBRyxDQUFDO2FBQ2I7U0FDSjthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQixNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQWdCLEVBQW1DLEVBQUUsQ0FDcEUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQztZQUNyRSxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEIsUUFBUSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUMzQztpQkFBTTtnQkFDSCxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNuQztTQUNKO1FBQ0QsSUFBSSxRQUFRLEVBQUU7WUFDVix5QkFBeUI7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDOzt3SEE5R1EsMkJBQTJCOzRHQUEzQiwyQkFBMkIsME5BUnpCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSwyQkFBMkI7WUFDeEMsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLG9FQVdVLGlCQUFpQixnREMvRGhDLCtvQ0E4QkE7MkZEd0JhLDJCQUEyQjtrQkFidkMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyw2QkFBNkI7NEJBQ3hDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2tJQUdTLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtDQUFrQztzQkFBMUMsS0FBSztnQkFNZ0MsUUFBUTtzQkFBN0MsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xyXG5pbXBvcnQgeyBjb25jYXQsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcFRvLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZhY2V0VmFsdWUsIEZhY2V0VmFsdWVGcmFnbWVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgZm9ybSBjb250cm9sIGZvciBzZWxlY3RpbmcgZmFjZXQgdmFsdWVzLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBIVE1MXHJcbiAqIDx2ZHItZmFjZXQtdmFsdWUtc2VsZWN0b3JcclxuICogICBbZmFjZXRzXT1cImZhY2V0c1wiXHJcbiAqICAgKHNlbGVjdGVkVmFsdWVzQ2hhbmdlKT1cInNlbGVjdGVkVmFsdWVzID0gJGV2ZW50XCJcclxuICogPjwvdmRyLWZhY2V0LXZhbHVlLXNlbGVjdG9yPlxyXG4gKiBgYGBcclxuICogVGhlIGBmYWNldHNgIGlucHV0IHNob3VsZCBiZSBwcm92aWRlZCBmcm9tIHRoZSBwYXJlbnQgY29tcG9uZW50XHJcbiAqIGxpa2UgdGhpczpcclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgVHlwZVNjcmlwdFxyXG4gKiB0aGlzLmZhY2V0cyA9IHRoaXMuZGF0YVNlcnZpY2VcclxuICogICAuZmFjZXQuZ2V0QWxsRmFjZXRzKClcclxuICogICAubWFwU2luZ2xlKGRhdGEgPT4gZGF0YS5mYWNldHMuaXRlbXMpO1xyXG4gKiBgYGBcclxuICogQGRvY3NDYXRlZ29yeSBjb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWZhY2V0LXZhbHVlLXNlbGVjdG9yJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9mYWNldC12YWx1ZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9mYWNldC12YWx1ZS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRmFjZXRWYWx1ZVNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZhY2V0VmFsdWVTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRWYWx1ZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZhY2V0VmFsdWVGcmFnbWVudFtdPigpO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHRyYW5zZm9ybUNvbnRyb2xWYWx1ZUFjY2Vzc29yVmFsdWU6ICh2YWx1ZTogRmFjZXRWYWx1ZUZyYWdtZW50W10pID0+IGFueVtdID0gdmFsdWUgPT4gdmFsdWU7XHJcbiAgICBzZWFyY2hJbnB1dCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgICBzZWFyY2hMb2FkaW5nID0gZmFsc2U7XHJcbiAgICBzZWFyY2hSZXN1bHRzJDogT2JzZXJ2YWJsZTxGYWNldFZhbHVlRnJhZ21lbnRbXT47XHJcbiAgICBzZWxlY3RlZElkcyQgPSBuZXcgU3ViamVjdDxzdHJpbmdbXT4oKTtcclxuXHJcbiAgICBAVmlld0NoaWxkKE5nU2VsZWN0Q29tcG9uZW50KSBwcml2YXRlIG5nU2VsZWN0OiBOZ1NlbGVjdENvbXBvbmVudDtcclxuXHJcbiAgICBvbkNoYW5nZUZuOiAodmFsOiBhbnkpID0+IHZvaWQ7XHJcbiAgICBvblRvdWNoRm46ICgpID0+IHZvaWQ7XHJcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgdmFsdWU6IEFycmF5PHN0cmluZyB8IEZhY2V0VmFsdWVGcmFnbWVudD47XHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaW5pdFNlYXJjaFJlc3VsdHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRTZWFyY2hSZXN1bHRzKCkge1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaEl0ZW1zJCA9IHRoaXMuc2VhcmNoSW5wdXQkLnBpcGUoXHJcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICB0YXAoKCkgPT4gKHRoaXMuc2VhcmNoTG9hZGluZyA9IHRydWUpKSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKHRlcm0gPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0ZXJtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmZhY2V0XHJcbiAgICAgICAgICAgICAgICAgICAgLmdldEZhY2V0VmFsdWVzKHsgdGFrZTogMTAsIGZpbHRlcjogeyBuYW1lOiB7IGNvbnRhaW5zOiB0ZXJtIH0gfSB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXBTaW5nbGUocmVzdWx0ID0+IHJlc3VsdC5mYWNldFZhbHVlcy5pdGVtcyk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0YXAoKCkgPT4gKHRoaXMuc2VhcmNoTG9hZGluZyA9IGZhbHNlKSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0ZWRJZHMkXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGlkcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpZHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihbXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmZhY2V0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRGYWNldFZhbHVlcyh7IHRha2U6IDEwLCBmaWx0ZXI6IHsgaWQ6IHsgaW46IGlkcyB9IH0gfSwgJ2NhY2hlLWZpcnN0JylcclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcFNpbmdsZShyZXN1bHQgPT4gcmVzdWx0LmZhY2V0VmFsdWVzLml0ZW1zKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgY2xlYXIkID0gdGhpcy5zZWxlY3RlZFZhbHVlc0NoYW5nZS5waXBlKG1hcFRvKFtdKSk7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzJCA9IGNvbmNhdChvZihbXSksIG1lcmdlKHNlYXJjaEl0ZW1zJCwgY2xlYXIkKSk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZShzZWxlY3RlZDogRmFjZXRWYWx1ZUZyYWdtZW50W10pIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNDaGFuZ2UuZW1pdChzZWxlY3RlZCk7XHJcbiAgICAgICAgaWYgKHRoaXMub25DaGFuZ2VGbikge1xyXG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy50cmFuc2Zvcm1Db250cm9sVmFsdWVBY2Nlc3NvclZhbHVlKHNlbGVjdGVkKTtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHRyYW5zZm9ybWVkVmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoRm4gPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBmb2N1cygpIHtcclxuICAgICAgICB0aGlzLm5nU2VsZWN0LmZvY3VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IHN0cmluZyB8IEZhY2V0VmFsdWVGcmFnbWVudFtdIHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBsZXQgdmFsdWVJZHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmFjZXRWYWx1ZUlkcyA9IEpTT04ucGFyc2Uob2JqKSBhcyBzdHJpbmdbXTtcclxuICAgICAgICAgICAgICAgIHZhbHVlSWRzID0gZmFjZXRWYWx1ZUlkcztcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBsb2cgZXJyb3JcclxuICAgICAgICAgICAgICAgIHRocm93IGVycjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzSWRBcnJheSA9IChpbnB1dDogdW5rbm93bltdKTogaW5wdXQgaXMgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiA9PlxyXG4gICAgICAgICAgICAgICAgaW5wdXQuZXZlcnkoaSA9PiB0eXBlb2YgaSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIGkgPT09ICdzdHJpbmcnKTtcclxuICAgICAgICAgICAgaWYgKGlzSWRBcnJheShvYmopKSB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZUlkcyA9IG9iai5tYXAoZnYgPT4gZnYudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZUlkcyA9IG9iai5tYXAoZnYgPT4gZnYuaWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh2YWx1ZUlkcykge1xyXG4gICAgICAgICAgICAvLyB0aGlzLnZhbHVlID0gdmFsdWVJZHM7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMkLm5leHQodmFsdWVJZHMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8bmctc2VsZWN0XHJcbiAgICBbaXRlbXNdPVwic2VhcmNoUmVzdWx0cyQgfCBhc3luY1wiXHJcbiAgICBbYWRkVGFnXT1cImZhbHNlXCJcclxuICAgIFtoaWRlU2VsZWN0ZWRdPVwidHJ1ZVwiXHJcbiAgICBbbG9hZGluZ109XCJzZWFyY2hMb2FkaW5nXCJcclxuICAgIFt0eXBlYWhlYWRdPVwic2VhcmNoSW5wdXQkXCJcclxuICAgIG11bHRpcGxlPVwidHJ1ZVwiXHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgYmluZExhYmVsPVwibmFtZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxyXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIlxyXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuPlxyXG4gICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxyXG4gICAgICAgIDx2ZHItZmFjZXQtdmFsdWUtY2hpcFxyXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW07IGVsc2UgZmFjZXROb3RGb3VuZFwiXHJcbiAgICAgICAgICAgIFtmYWNldFZhbHVlXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICBbcmVtb3ZhYmxlXT1cIiFyZWFkb25seVwiXHJcbiAgICAgICAgICAgIChyZW1vdmUpPVwiY2xlYXIoaXRlbSlcIlxyXG4gICAgICAgID48L3Zkci1mYWNldC12YWx1ZS1jaGlwPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZmFjZXROb3RGb3VuZD5cclxuICAgICAgICAgICAgPHZkci1jaGlwIGNvbG9yVHlwZT1cImVycm9yXCIgaWNvbj1cInRpbWVzXCIgKGljb25DbGljayk9XCJjbGVhcihpdGVtKVwiPnt7XHJcbiAgICAgICAgICAgICAgICAnY2F0YWxvZy5mYWNldC12YWx1ZS1ub3QtYXZhaWxhYmxlJyB8IHRyYW5zbGF0ZTogeyBpZDogaXRlbS5pZCB9XHJcbiAgICAgICAgICAgIH19PC92ZHItY2hpcD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgICAgIDx2ZHItZmFjZXQtdmFsdWUtY2hpcCBbZmFjZXRWYWx1ZV09XCJpdGVtXCIgW3JlbW92YWJsZV09XCJmYWxzZVwiPjwvdmRyLWZhY2V0LXZhbHVlLWNoaXA+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L25nLXNlbGVjdD5cclxuIl19
|
|
@@ -25,10 +25,10 @@ export class TimelineEntryComponent {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
TimelineEntryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TimelineEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
TimelineEntryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: TimelineEntryComponent, selector: "vdr-timeline-entry", inputs: { displayType: "displayType", createdAt: "createdAt", name: "name", featured: "featured", iconShape: "iconShape", isLast: "isLast", collapsed: "collapsed" }, outputs: { expandClick: "expandClick" }, host: { properties: { "class.collapsed": "this.collapsed" } }, ngImport: i0, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-timeline-thread)}:host:first-of-type .entry-body{max-height:initial}.entry{display:flex}.timeline{border-left:2px solid var(--color-timeline-thread);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-left:2px solid var(--color-timeline-thread)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-300);position:absolute;left:-5px;top:32px;transition:top .2s;cursor:pointer}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:32px;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-600);background-color:var(--color-component-bg-100);border:1px solid var(--color-component-border-200);display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{flex:1;padding-top:24px;padding-left:12px;line-height:16px;margin-left:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:16px;line-height:26px}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;color:var(--color-text-300);font-size:12px}.detail .name{margin-left:12px}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-400)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-400)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-400)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-400)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding-top:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.ClrIconCustomTag, selector: "clr-icon" }], pipes: { "translate": i3.TranslatePipe, "localeDate": i4.LocaleDatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
28
|
+
TimelineEntryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: TimelineEntryComponent, selector: "vdr-timeline-entry", inputs: { displayType: "displayType", createdAt: "createdAt", name: "name", featured: "featured", iconShape: "iconShape", isLast: "isLast", collapsed: "collapsed" }, outputs: { expandClick: "expandClick" }, host: { properties: { "class.collapsed": "this.collapsed" } }, ngImport: i0, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name || '' }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-timeline-thread)}:host:first-of-type .entry-body{max-height:initial}.entry{display:flex}.timeline{border-left:2px solid var(--color-timeline-thread);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-left:2px solid var(--color-timeline-thread)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-300);position:absolute;left:-5px;top:32px;transition:top .2s;cursor:pointer}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:32px;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-600);background-color:var(--color-component-bg-100);border:1px solid var(--color-component-border-200);display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{flex:1;padding-top:24px;padding-left:12px;line-height:16px;margin-left:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:16px;line-height:26px}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;color:var(--color-text-300);font-size:12px}.detail .name{margin-left:12px}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-400)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-400)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-400)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-400)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding-top:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.ClrIconCustomTag, selector: "clr-icon" }], pipes: { "translate": i3.TranslatePipe, "localeDate": i4.LocaleDatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TimelineEntryComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
|
-
args: [{ selector: 'vdr-timeline-entry', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-timeline-thread)}:host:first-of-type .entry-body{max-height:initial}.entry{display:flex}.timeline{border-left:2px solid var(--color-timeline-thread);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-left:2px solid var(--color-timeline-thread)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-300);position:absolute;left:-5px;top:32px;transition:top .2s;cursor:pointer}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:32px;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-600);background-color:var(--color-component-bg-100);border:1px solid var(--color-component-border-200);display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{flex:1;padding-top:24px;padding-left:12px;line-height:16px;margin-left:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:16px;line-height:26px}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;color:var(--color-text-300);font-size:12px}.detail .name{margin-left:12px}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-400)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-400)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-400)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-400)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding-top:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"] }]
|
|
31
|
+
args: [{ selector: 'vdr-timeline-entry', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name || '' }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-timeline-thread)}:host:first-of-type .entry-body{max-height:initial}.entry{display:flex}.timeline{border-left:2px solid var(--color-timeline-thread);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-left:2px solid var(--color-timeline-thread)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-300);position:absolute;left:-5px;top:32px;transition:top .2s;cursor:pointer}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:32px;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-600);background-color:var(--color-component-bg-100);border:1px solid var(--color-component-border-200);display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{flex:1;padding-top:24px;padding-left:12px;line-height:16px;margin-left:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:16px;line-height:26px}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;color:var(--color-text-300);font-size:12px}.detail .name{margin-left:12px}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-400)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-400)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-400)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-400)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding-top:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"] }]
|
|
32
32
|
}], propDecorators: { displayType: [{
|
|
33
33
|
type: Input
|
|
34
34
|
}], createdAt: [{
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
49
49
|
}], expandClick: [{
|
|
50
50
|
type: Output
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtZW50cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy90aW1lbGluZS1lbnRyeS90aW1lbGluZS1lbnRyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3RpbWVsaW5lLWVudHJ5L3RpbWVsaW5lLWVudHJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7QUFVdEUsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQWVJLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDUixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FpQjlDO0lBZkcsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTyxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xGO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTyxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEU7SUFDTCxDQUFDOzttSEExQlEsc0JBQXNCO3VHQUF0QixzQkFBc0Isd1VDbkJuQyw0Z0NBK0JBOzJGRFphLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUdOLFNBQVM7c0JBRlIsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIElucHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcblxyXG5leHBvcnQgdHlwZSBUaW1lbGluZURpc3BsYXlUeXBlID0gJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICd3YXJuaW5nJyB8ICdkZWZhdWx0JyB8ICdtdXRlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLXRpbWVsaW5lLWVudHJ5JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90aW1lbGluZS1lbnRyeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90aW1lbGluZS1lbnRyeS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUVudHJ5Q29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIGRpc3BsYXlUeXBlOiBUaW1lbGluZURpc3BsYXlUeXBlO1xyXG4gICAgQElucHV0KCkgY3JlYXRlZEF0OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBmZWF0dXJlZDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGljb25TaGFwZT86IHN0cmluZyB8IFtzdHJpbmcsIHN0cmluZ107XHJcbiAgICBASW5wdXQoKSBpc0xhc3Q/OiBib29sZWFuO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb2xsYXBzZWQnKVxyXG4gICAgQElucHV0KClcclxuICAgIGNvbGxhcHNlZCA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIGV4cGFuZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIGdldCB0aW1lbGluZVRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGFwc2VkID8gXygnY29tbW9uLmV4cGFuZC1lbnRyaWVzJykgOiBfKCdjb21tb24uY29sbGFwc2UtZW50cmllcycpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEljb25TaGFwZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5pY29uU2hhcGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLmljb25TaGFwZSA9PT0gJ3N0cmluZycgPyB0aGlzLmljb25TaGFwZSA6IHRoaXMuaWNvblNoYXBlWzBdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRJY29uQ2xhc3MoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaWNvblNoYXBlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5pY29uU2hhcGUgPT09ICdzdHJpbmcnID8gJycgOiB0aGlzLmljb25TaGFwZVsxXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICAgW25nQ2xhc3NdPVwiZGlzcGxheVR5cGVcIlxyXG4gICAgW2NsYXNzLmhhcy1jdXN0b20taWNvbl09XCIhIWljb25TaGFwZVwiXHJcbiAgICBjbGFzcz1cImVudHJ5XCJcclxuICAgIFtjbGFzcy5sYXN0XT1cImlzTGFzdCA9PT0gdHJ1ZVwiXHJcbiAgICBbY2xhc3MuY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZVwiIChjbGljayk9XCJleHBhbmRDbGljay5lbWl0KClcIiBbdGl0bGVdPVwidGltZWxpbmVUaXRsZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20taWNvblwiPlxyXG4gICAgICAgICAgICA8Y2xyLWljb25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaWNvblNoYXBlICYmICFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIuc2hhcGVdPVwiZ2V0SWNvblNoYXBlKClcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0SWNvbkNsYXNzKClcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZT1cIjI0XCJcclxuICAgICAgICAgICAgPjwvY2xyLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJlbnRyeS1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgY3JlYXRlZEF0IHwgbG9jYWxlRGF0ZTogJ3Nob3J0JyB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj5cclxuICAgICAgICAgICAgICAgIHt7IG5hbWUgfHwgJycgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBbY2xhc3MuZmVhdHVyZWQtZW50cnldPVwiZmVhdHVyZWRcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { shareReplay } from 'rxjs/operators';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
5
|
-
import * as i2 from "
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "@angular/forms";
|
|
3
|
+
import * as i1 from "../../components/facet-value-selector/facet-value-selector.component";
|
|
4
|
+
import * as i2 from "@angular/forms";
|
|
8
5
|
/**
|
|
9
6
|
* @description
|
|
10
7
|
* Allows the selection of multiple FacetValues via an autocomplete select input.
|
|
@@ -14,8 +11,7 @@ import * as i4 from "@angular/forms";
|
|
|
14
11
|
* @docsPage default-inputs
|
|
15
12
|
*/
|
|
16
13
|
export class FacetValueFormInputComponent {
|
|
17
|
-
constructor(
|
|
18
|
-
this.dataService = dataService;
|
|
14
|
+
constructor() {
|
|
19
15
|
this.isListInput = true;
|
|
20
16
|
this.valueTransformFn = (values) => {
|
|
21
17
|
const isUsedInConfigArg = this.config.__typename === 'ConfigArgDefinition';
|
|
@@ -27,18 +23,12 @@ export class FacetValueFormInputComponent {
|
|
|
27
23
|
}
|
|
28
24
|
};
|
|
29
25
|
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.facets$ = this.dataService.facet
|
|
32
|
-
.getAllFacets()
|
|
33
|
-
.mapSingle(data => data.facets.items)
|
|
34
|
-
.pipe(shareReplay(1));
|
|
35
|
-
}
|
|
36
26
|
}
|
|
37
27
|
FacetValueFormInputComponent.id = 'facet-value-form-input';
|
|
38
|
-
FacetValueFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FacetValueFormInputComponent, deps: [
|
|
39
|
-
FacetValueFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FacetValueFormInputComponent, selector: "vdr-facet-value-form-input", ngImport: i0, template: "<vdr-facet-value-selector\r\n
|
|
28
|
+
FacetValueFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FacetValueFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
FacetValueFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FacetValueFormInputComponent, selector: "vdr-facet-value-form-input", ngImport: i0, template: "<vdr-facet-value-selector\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n [transformControlValueAccessorValue]=\"valueTransformFn\"\r\n></vdr-facet-value-selector>\r\n", styles: [""], components: [{ type: i1.FacetValueSelectorComponent, selector: "vdr-facet-value-selector", inputs: ["readonly", "transformControlValueAccessorValue"], outputs: ["selectedValuesChange"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
40
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FacetValueFormInputComponent, decorators: [{
|
|
41
31
|
type: Component,
|
|
42
|
-
args: [{ selector: 'vdr-facet-value-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-facet-value-selector\r\n
|
|
43
|
-
}]
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
args: [{ selector: 'vdr-facet-value-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-facet-value-selector\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n [transformControlValueAccessorValue]=\"valueTransformFn\"\r\n></vdr-facet-value-selector>\r\n", styles: [""] }]
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtdmFsdWUtZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQvZmFjZXQtdmFsdWUtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQvZmFjZXQtdmFsdWUtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBTzNFOzs7Ozs7O0dBT0c7QUFPSCxNQUFNLE9BQU8sNEJBQTRCO0lBTnpDO1FBUWEsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFLNUIscUJBQWdCLEdBQUcsQ0FBQyxNQUE0QixFQUFFLEVBQUU7WUFDaEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxxQkFBcUIsQ0FBQztZQUMzRSxJQUFJLGlCQUFpQixFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2hEO2lCQUFNO2dCQUNILE9BQU8sTUFBTSxDQUFDO2FBQ2pCO1FBQ0wsQ0FBQyxDQUFDO0tBQ0w7O0FBZG1CLCtCQUFFLEdBQTJCLHdCQUF5QixDQUFBO3lIQUQ3RCw0QkFBNEI7NkdBQTVCLDRCQUE0QixrRUNyQnpDLG9NQUtBOzJGRGdCYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0ksNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Rm9ybUNvbXBvbmVudElkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdHlwZXMnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50LCBJbnB1dENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5pbXBvcnQgeyBGYWNldFZhbHVlRnJhZ21lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQWxsb3dzIHRoZSBzZWxlY3Rpb24gb2YgbXVsdGlwbGUgRmFjZXRWYWx1ZXMgdmlhIGFuIGF1dG9jb21wbGV0ZSBzZWxlY3QgaW5wdXQuXHJcbiAqIFNob3VsZCBiZSB1c2VkIHdpdGggYElEYCB0eXBlICoqbGlzdCoqIGZpZWxkcyB3aGljaCByZXByZXNlbnQgRmFjZXRWYWx1ZSBJRHMuXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcclxuICogQGRvY3NQYWdlIGRlZmF1bHQtaW5wdXRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWZhY2V0LXZhbHVlLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZmFjZXQtdmFsdWUtZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYWNldFZhbHVlRm9ybUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUlucHV0Q29tcG9uZW50IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBpZDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCA9ICdmYWNldC12YWx1ZS1mb3JtLWlucHV0JztcclxuICAgIHJlYWRvbmx5IGlzTGlzdElucHV0ID0gdHJ1ZTtcclxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgY29uZmlnOiBJbnB1dENvbXBvbmVudENvbmZpZztcclxuXHJcbiAgICB2YWx1ZVRyYW5zZm9ybUZuID0gKHZhbHVlczogRmFjZXRWYWx1ZUZyYWdtZW50W10pID0+IHtcclxuICAgICAgICBjb25zdCBpc1VzZWRJbkNvbmZpZ0FyZyA9IHRoaXMuY29uZmlnLl9fdHlwZW5hbWUgPT09ICdDb25maWdBcmdEZWZpbml0aW9uJztcclxuICAgICAgICBpZiAoaXNVc2VkSW5Db25maWdBcmcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlcy5tYXAocyA9PiBzLmlkKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlcztcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59XHJcbiIsIjx2ZHItZmFjZXQtdmFsdWUtc2VsZWN0b3JcclxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgW3RyYW5zZm9ybUNvbnRyb2xWYWx1ZUFjY2Vzc29yVmFsdWVdPVwidmFsdWVUcmFuc2Zvcm1GblwiXHJcbj48L3Zkci1mYWNldC12YWx1ZS1zZWxlY3Rvcj5cclxuIl19
|