@net7/boilerplate-muruca 5.5.8 → 5.5.10
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/components/form/form.mjs +4 -3
- package/esm2022/lib/components/index.mjs +2 -1
- package/esm2022/lib/components/input-typeahead/input-typeahead.mjs +143 -0
- package/esm2022/lib/data-sources/form/input-typeahead.ds.mjs +43 -0
- package/esm2022/lib/event-handlers/form/input-typeahead.eh.mjs +23 -0
- package/esm2022/lib/layouts/advanced-search-layout/advanced-search-layout.ds.mjs +4 -4
- package/esm2022/lib/layouts/resource-layout/resource-layout.ds.mjs +3 -3
- package/esm2022/lib/models/form.model.mjs +7 -1
- package/esm2022/lib/n7-boilerplate-muruca.module.mjs +7 -3
- package/fesm2022/net7-boilerplate-muruca.mjs +220 -11
- package/fesm2022/net7-boilerplate-muruca.mjs.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/input-typeahead/input-typeahead.d.ts +67 -0
- package/lib/data-sources/form/input-typeahead.ds.d.ts +12 -0
- package/lib/event-handlers/form/input-typeahead.eh.d.ts +9 -0
- package/lib/models/form.model.d.ts +1 -1
- package/lib/n7-boilerplate-muruca.module.d.ts +5 -4
- package/package.json +1 -1
- package/src/lib/styles/muruca/components/_input-typeahead.scss +59 -0
|
@@ -3,6 +3,7 @@ import { _t } from '@net7/core';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "@net7/components";
|
|
6
|
+
import * as i3 from "../input-typeahead/input-typeahead";
|
|
6
7
|
export class MrFormComponent {
|
|
7
8
|
ngOnInit() {
|
|
8
9
|
if (this.group) {
|
|
@@ -20,11 +21,11 @@ export class MrFormComponent {
|
|
|
20
21
|
}));
|
|
21
22
|
}
|
|
22
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrFormComponent, selector: "mr-form", inputs: { form: "form", group: "group" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div *ngIf=\"form.loaded$ | async\" class=\"mr-form {{ group?.classes || '' }}\">\n <div *ngFor=\"let section of sections\" class=\"mr-form__section {{ section.classes || '' }}\" \n [ngClass]=\"{ 'mr-form__section-advanced' : section.advancedSection }\" >\n \n <div class=\"mr-form__section-header\">\n <h3 *ngIf=\"section.title\" class=\"mr-form__section-title\">{{ section.title }}</h3>\n <p *ngIf=\"section.description\" class=\"mr-form__section-description\">{{ section.description }}</p>\n </div>\n \n <div class=\"mr-form__section-content\">\n <div *ngFor=\"let input of section.inputs\" class=\"mr-form__element {{ input.options?.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n\n <!-- INPUT TEXT -->\n <n7-input-text *ngSwitchCase=\"'text'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-text>\n\n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox *ngSwitchCase=\"'checkbox'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-checkbox>\n\n <!-- INPUT SELECT -->\n <n7-input-select *ngSwitchCase=\"'select'\"
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrFormComponent, selector: "mr-form", inputs: { form: "form", group: "group" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div *ngIf=\"form.loaded$ | async\" class=\"mr-form {{ group?.classes || '' }}\">\n <div *ngFor=\"let section of sections\" class=\"mr-form__section {{ section.classes || '' }}\" \n [ngClass]=\"{ 'mr-form__section-advanced' : section.advancedSection }\" >\n \n <div class=\"mr-form__section-header\">\n <h3 *ngIf=\"section.title\" class=\"mr-form__section-title\">{{ section.title }}</h3>\n <p *ngIf=\"section.description\" class=\"mr-form__section-description\">{{ section.description }}</p>\n </div>\n \n <div class=\"mr-form__section-content\">\n <div *ngFor=\"let input of section.inputs\" class=\"mr-form__element {{ input.options?.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n\n <!-- INPUT TEXT -->\n <n7-input-text *ngSwitchCase=\"'text'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-text>\n\n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox *ngSwitchCase=\"'checkbox'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-checkbox>\n\n <!-- INPUT SELECT -->\n <n7-input-select *ngSwitchCase=\"'select'\"\n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-select>\n\n <!-- INPUT TYPEAHEAD -->\n <mr-input-typeahead *ngSwitchCase=\"'typeahead'\"\n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></mr-input-typeahead>\n\n <!-- DEFAULT (external template) -->\n <ng-container *ngSwitchDefault>\n <ng-template *ngTemplateOutlet=\"\n templateRef; \n context: { \n type: input.type, \n input: form.inputs[input.id] \n }\"></ng-template>\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.InputCheckboxComponent, selector: "n7-input-checkbox", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputTextComponent, selector: "n7-input-text", inputs: ["data", "emit"] }, { kind: "component", type: i3.MrInputTypeaheadComponent, selector: "mr-input-typeahead", inputs: ["data", "emit"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
24
25
|
}
|
|
25
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrFormComponent, decorators: [{
|
|
26
27
|
type: Component,
|
|
27
|
-
args: [{ selector: 'mr-form', template: "<div *ngIf=\"form.loaded$ | async\" class=\"mr-form {{ group?.classes || '' }}\">\n <div *ngFor=\"let section of sections\" class=\"mr-form__section {{ section.classes || '' }}\" \n [ngClass]=\"{ 'mr-form__section-advanced' : section.advancedSection }\" >\n \n <div class=\"mr-form__section-header\">\n <h3 *ngIf=\"section.title\" class=\"mr-form__section-title\">{{ section.title }}</h3>\n <p *ngIf=\"section.description\" class=\"mr-form__section-description\">{{ section.description }}</p>\n </div>\n \n <div class=\"mr-form__section-content\">\n <div *ngFor=\"let input of section.inputs\" class=\"mr-form__element {{ input.options?.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n\n <!-- INPUT TEXT -->\n <n7-input-text *ngSwitchCase=\"'text'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-text>\n\n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox *ngSwitchCase=\"'checkbox'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-checkbox>\n\n <!-- INPUT SELECT -->\n <n7-input-select *ngSwitchCase=\"'select'\"
|
|
28
|
+
args: [{ selector: 'mr-form', template: "<div *ngIf=\"form.loaded$ | async\" class=\"mr-form {{ group?.classes || '' }}\">\n <div *ngFor=\"let section of sections\" class=\"mr-form__section {{ section.classes || '' }}\" \n [ngClass]=\"{ 'mr-form__section-advanced' : section.advancedSection }\" >\n \n <div class=\"mr-form__section-header\">\n <h3 *ngIf=\"section.title\" class=\"mr-form__section-title\">{{ section.title }}</h3>\n <p *ngIf=\"section.description\" class=\"mr-form__section-description\">{{ section.description }}</p>\n </div>\n \n <div class=\"mr-form__section-content\">\n <div *ngFor=\"let input of section.inputs\" class=\"mr-form__element {{ input.options?.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n\n <!-- INPUT TEXT -->\n <n7-input-text *ngSwitchCase=\"'text'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-text>\n\n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox *ngSwitchCase=\"'checkbox'\" \n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-checkbox>\n\n <!-- INPUT SELECT -->\n <n7-input-select *ngSwitchCase=\"'select'\"\n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></n7-input-select>\n\n <!-- INPUT TYPEAHEAD -->\n <mr-input-typeahead *ngSwitchCase=\"'typeahead'\"\n [data]=\"form.inputs[input.id].ds.out$ | async\"\n [emit]=\"form.inputs[input.id].emit\"></mr-input-typeahead>\n\n <!-- DEFAULT (external template) -->\n <ng-container *ngSwitchDefault>\n <ng-template *ngTemplateOutlet=\"\n templateRef; \n context: { \n type: input.type, \n input: form.inputs[input.id] \n }\"></ng-template>\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n </div>\n</div>" }]
|
|
28
29
|
}], propDecorators: { form: [{
|
|
29
30
|
type: Input
|
|
30
31
|
}], group: [{
|
|
@@ -33,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
33
34
|
type: ContentChild,
|
|
34
35
|
args: [TemplateRef]
|
|
35
36
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm0uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUNwRCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7OztBQVFoQyxNQUFNLE9BQU8sZUFBZTtJQVUxQixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7aUJBQ3RDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDNUMsQ0FBQztRQUVELGVBQWU7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLEdBQUcsT0FBTztZQUNWLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN4QixXQUFXLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7U0FDckMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOytHQXhCVSxlQUFlO21HQUFmLGVBQWUsa0lBS1osV0FBVyxnRENoQjNCLGkyRUErQ007OzRGRHBDTyxlQUFlO2tCQUozQixTQUFTOytCQUNFLFNBQVM7OEJBSVYsSUFBSTtzQkFBWixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFHQyxXQUFXO3NCQURqQixZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBfdCB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0IHsgTXJGb3JtQ29uZmlnR3JvdXAsIE1yRm9ybUNvbmZpZ1NlY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Zvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE1yRm9ybU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtci1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1yRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZvcm06IE1yRm9ybU1vZGVsO1xuXG4gIEBJbnB1dCgpIGdyb3VwPzogTXJGb3JtQ29uZmlnR3JvdXA7XG5cbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcbiAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHB1YmxpYyBzZWN0aW9uczogTXJGb3JtQ29uZmlnU2VjdGlvbltdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmdyb3VwKSB7XG4gICAgICB0aGlzLnNlY3Rpb25zID0gdGhpcy5mb3JtLmNvbmZpZy5zZWN0aW9uc1xuICAgICAgICAuZmlsdGVyKCh7IGlkIH0pID0+IHRoaXMuZ3JvdXAuc2VjdGlvbnMuaW5jbHVkZXMoaWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWN0aW9ucyA9IHRoaXMuZm9ybS5jb25maWcuc2VjdGlvbnM7XG4gICAgfVxuXG4gICAgLy8gdHJhbnNsYXRpb25zXG4gICAgdGhpcy5zZWN0aW9ucyA9IHRoaXMuc2VjdGlvbnMubWFwKChzZWN0aW9uKSA9PiAoe1xuICAgICAgLi4uc2VjdGlvbixcbiAgICAgIHRpdGxlOiBfdChzZWN0aW9uLnRpdGxlKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBfdChzZWN0aW9uLmRlc2NyaXB0aW9uKVxuICAgIH0pKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImZvcm0ubG9hZGVkJCB8IGFzeW5jXCIgY2xhc3M9XCJtci1mb3JtIHt7IGdyb3VwPy5jbGFzc2VzIHx8ICcnIH19XCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBzZWN0aW9uc1wiIGNsYXNzPVwibXItZm9ybV9fc2VjdGlvbiB7eyBzZWN0aW9uLmNsYXNzZXMgfHwgJycgfX1cIiBcbiAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ21yLWZvcm1fX3NlY3Rpb24tYWR2YW5jZWQnIDogc2VjdGlvbi5hZHZhbmNlZFNlY3Rpb24gIH1cIiA+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwibXItZm9ybV9fc2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxoMyAqbmdJZj1cInNlY3Rpb24udGl0bGVcIiBjbGFzcz1cIm1yLWZvcm1fX3NlY3Rpb24tdGl0bGVcIj57eyBzZWN0aW9uLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgIDxwICpuZ0lmPVwic2VjdGlvbi5kZXNjcmlwdGlvblwiIGNsYXNzPVwibXItZm9ybV9fc2VjdGlvbi1kZXNjcmlwdGlvblwiPnt7IHNlY3Rpb24uZGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWZvcm1fX3NlY3Rpb24tY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW5wdXQgb2Ygc2VjdGlvbi5pbnB1dHNcIiBjbGFzcz1cIm1yLWZvcm1fX2VsZW1lbnQge3sgaW5wdXQub3B0aW9ucz8uY2xhc3NlcyB8fCAnJyB9fVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImlucHV0LnR5cGVcIj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIElOUFVUIFRFWFQgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxuNy1pbnB1dC10ZXh0ICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImZvcm0uaW5wdXRzW2lucHV0LmlkXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwiZm9ybS5pbnB1dHNbaW5wdXQuaWRdLmVtaXRcIj48L243LWlucHV0LXRleHQ+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBJTlBVVCBDSEVDS0JPWCAtLT5cbiAgICAgICAgICAgICAgICAgICAgPG43LWlucHV0LWNoZWNrYm94ICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJmb3JtLmlucHV0c1tpbnB1dC5pZF0uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImZvcm0uaW5wdXRzW2lucHV0LmlkXS5lbWl0XCI+PC9uNy1pbnB1dC1jaGVja2JveD5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIElOUFVUIFNFTEVDVCAtLT5cbiAgICAgICAgICAgICAgICAgICAgPG43LWlucHV0LXNlbGVjdCAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZm9ybS5pbnB1dHNbaW5wdXQuaWRdLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJmb3JtLmlucHV0c1tpbnB1dC5pZF0uZW1pdFwiPjwvbjctaW5wdXQtc2VsZWN0PlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gSU5QVVQgVFlQRUFIRUFEIC0tPlxuICAgICAgICAgICAgICAgICAgICA8bXItaW5wdXQtdHlwZWFoZWFkICpuZ1N3aXRjaENhc2U9XCIndHlwZWFoZWFkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJmb3JtLmlucHV0c1tpbnB1dC5pZF0uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImZvcm0uaW5wdXRzW2lucHV0LmlkXS5lbWl0XCI+PC9tci1pbnB1dC10eXBlYWhlYWQ+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBERUZBVUxUIChleHRlcm5hbCB0ZW1wbGF0ZSkgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVSZWY7IFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnB1dC50eXBlLCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDogZm9ybS5pbnB1dHNbaW5wdXQuaWRdIFxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -7,4 +7,5 @@ export * from './read-more/read-more';
|
|
|
7
7
|
export * from './resource-modal/resource-modal';
|
|
8
8
|
export * from './search-page-description/search-page-description';
|
|
9
9
|
export * from './metadata-dynamic/metadata-dynamic';
|
|
10
|
-
|
|
10
|
+
export * from './input-typeahead/input-typeahead';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1tdXJ1Y2Evc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZHZhbmNlZC1yZXN1bHQvYWR2YW5jZWQtcmVzdWx0JztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS13cmFwcGVyLWFjY29yZGlvbi9mb3JtLXdyYXBwZXItYWNjb3JkaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FsbGVyeS9nYWxsZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vbWV0YWRhdGEtd2l0aC1yZWFkbW9yZS9tZXRhZGF0YS13aXRoLXJlYWRtb3JlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhZC1tb3JlL3JlYWQtbW9yZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc291cmNlLW1vZGFsL3Jlc291cmNlLW1vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXBhZ2UtZGVzY3JpcHRpb24vc2VhcmNoLXBhZ2UtZGVzY3JpcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRhZGF0YS1keW5hbWljL21ldGFkYXRhLWR5bmFtaWMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC10eXBlYWhlYWQvaW5wdXQtdHlwZWFoZWFkJztcbiJdfQ==
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MrInputTypeaheadComponent
|
|
3
|
+
*
|
|
4
|
+
* A text input with an inline autocomplete dropdown. Supports two modes:
|
|
5
|
+
*
|
|
6
|
+
* 1. **Static (local) filtering** — provide a fixed list of strings via `data.options`.
|
|
7
|
+
* No API call is made; suggestions are filtered client-side on every keystroke.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* {
|
|
11
|
+
* id: 'my-field',
|
|
12
|
+
* type: 'typeahead',
|
|
13
|
+
* data: {
|
|
14
|
+
* id: 'my-field',
|
|
15
|
+
* label: 'My Field',
|
|
16
|
+
* options: ['Apple', 'Banana', 'Cherry'],
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* 2. **Dynamic (API) autocomplete** — omit `data.options` and provide
|
|
22
|
+
* `data.communicationKey` instead. The component calls
|
|
23
|
+
* `CommunicationService.request$(communicationKey, { queryParams: { q } })`
|
|
24
|
+
* after a 200 ms debounce. The endpoint must return `string[]`.
|
|
25
|
+
*
|
|
26
|
+
* ```ts
|
|
27
|
+
* {
|
|
28
|
+
* id: 'my-field',
|
|
29
|
+
* type: 'typeahead',
|
|
30
|
+
* data: {
|
|
31
|
+
* id: 'my-field',
|
|
32
|
+
* label: 'My Field',
|
|
33
|
+
* communicationKey: 'myAutocompleteEndpoint',
|
|
34
|
+
* }
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* Suggestions appear after 2 characters are typed. Tab completes with the first
|
|
39
|
+
* suggestion. Clicking outside dismisses the dropdown.
|
|
40
|
+
*/
|
|
41
|
+
import { Component, HostListener, Input } from '@angular/core';
|
|
42
|
+
import * as i0 from "@angular/core";
|
|
43
|
+
import * as i1 from "@net7/boilerplate-common";
|
|
44
|
+
import * as i2 from "@angular/common";
|
|
45
|
+
import * as i3 from "@net7/components";
|
|
46
|
+
export class MrInputTypeaheadComponent {
|
|
47
|
+
constructor(communication, el) {
|
|
48
|
+
this.communication = communication;
|
|
49
|
+
this.el = el;
|
|
50
|
+
this.suggestions = [];
|
|
51
|
+
this.isLoading = false;
|
|
52
|
+
this.currentQuery = '';
|
|
53
|
+
/** Wraps the form emit to intercept change events for autocomplete fetching */
|
|
54
|
+
this.localEmit = (type, payload) => {
|
|
55
|
+
this.emit(type, payload);
|
|
56
|
+
if (type === 'change') {
|
|
57
|
+
this.onValueChange(payload?.value || '');
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/** Wraps the first occurrence of `query` in `text` with a <strong> tag */
|
|
62
|
+
highlight(text, query) {
|
|
63
|
+
if (!query)
|
|
64
|
+
return text;
|
|
65
|
+
const idx = text.toLowerCase().indexOf(query.toLowerCase());
|
|
66
|
+
if (idx === -1)
|
|
67
|
+
return text;
|
|
68
|
+
return (text.slice(0, idx) +
|
|
69
|
+
'<strong>' + text.slice(idx, idx + query.length) + '</strong>' +
|
|
70
|
+
text.slice(idx + query.length));
|
|
71
|
+
}
|
|
72
|
+
/** Completes with the first suggestion on Tab */
|
|
73
|
+
onKeydown(event) {
|
|
74
|
+
if (event.key === 'Tab' && this.suggestions.length > 0) {
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
this.onSelect(this.suggestions[0]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/** Selects a suggestion, updates the input and form state */
|
|
80
|
+
onSelect(suggestion, event) {
|
|
81
|
+
if (event)
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
this.emit('change', { value: suggestion });
|
|
84
|
+
this.suggestions = [];
|
|
85
|
+
this.isLoading = false;
|
|
86
|
+
const input = this.el.nativeElement.querySelector('input');
|
|
87
|
+
if (input)
|
|
88
|
+
input.value = suggestion;
|
|
89
|
+
}
|
|
90
|
+
onDocumentClick(event) {
|
|
91
|
+
if (!this.el.nativeElement.contains(event.target)) {
|
|
92
|
+
this.suggestions = [];
|
|
93
|
+
this.isLoading = false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
ngOnDestroy() {
|
|
97
|
+
clearTimeout(this.timer);
|
|
98
|
+
}
|
|
99
|
+
onValueChange(value) {
|
|
100
|
+
clearTimeout(this.timer);
|
|
101
|
+
this.currentQuery = value;
|
|
102
|
+
if (!value || value.length < 2) {
|
|
103
|
+
this.suggestions = [];
|
|
104
|
+
this.isLoading = false;
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// Static options: filter locally, no API call needed
|
|
108
|
+
if (Array.isArray(this.data?.options)) {
|
|
109
|
+
const q = value.toLowerCase();
|
|
110
|
+
this.suggestions = this.data.options
|
|
111
|
+
.filter((o) => o.toLowerCase().includes(q))
|
|
112
|
+
.slice(0, 20);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
this.isLoading = true;
|
|
116
|
+
this.timer = setTimeout(() => {
|
|
117
|
+
this.communication.request$(this.data.communicationKey, {
|
|
118
|
+
queryParams: { q: value },
|
|
119
|
+
onError: () => {
|
|
120
|
+
this.isLoading = false;
|
|
121
|
+
this.suggestions = [];
|
|
122
|
+
}
|
|
123
|
+
}).subscribe((res) => {
|
|
124
|
+
this.isLoading = false;
|
|
125
|
+
this.suggestions = res || [];
|
|
126
|
+
});
|
|
127
|
+
}, 200);
|
|
128
|
+
}
|
|
129
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrInputTypeaheadComponent, deps: [{ token: i1.CommunicationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrInputTypeaheadComponent, selector: "mr-input-typeahead", inputs: { data: "data", emit: "emit" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, ngImport: i0, template: "<div class=\"mr-input-typeahead\" (keydown)=\"onKeydown($event)\">\n <n7-input-text\n [data]=\"data\"\n [emit]=\"localEmit\">\n </n7-input-text>\n <ul *ngIf=\"suggestions.length > 0\" class=\"mr-input-typeahead__dropdown\">\n <li *ngFor=\"let s of suggestions\"\n class=\"mr-input-typeahead__option\"\n (mousedown)=\"onSelect(s, $event)\">\n <span [innerHTML]=\"highlight(s, currentQuery)\"></span>\n </li>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.InputTextComponent, selector: "n7-input-text", inputs: ["data", "emit"] }] }); }
|
|
131
|
+
}
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrInputTypeaheadComponent, decorators: [{
|
|
133
|
+
type: Component,
|
|
134
|
+
args: [{ selector: 'mr-input-typeahead', template: "<div class=\"mr-input-typeahead\" (keydown)=\"onKeydown($event)\">\n <n7-input-text\n [data]=\"data\"\n [emit]=\"localEmit\">\n </n7-input-text>\n <ul *ngIf=\"suggestions.length > 0\" class=\"mr-input-typeahead__dropdown\">\n <li *ngFor=\"let s of suggestions\"\n class=\"mr-input-typeahead__option\"\n (mousedown)=\"onSelect(s, $event)\">\n <span [innerHTML]=\"highlight(s, currentQuery)\"></span>\n </li>\n </ul>\n</div>\n" }]
|
|
135
|
+
}], ctorParameters: () => [{ type: i1.CommunicationService }, { type: i0.ElementRef }], propDecorators: { data: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], emit: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], onDocumentClick: [{
|
|
140
|
+
type: HostListener,
|
|
141
|
+
args: ['document:click', ['$event']]
|
|
142
|
+
}] } });
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdHlwZWFoZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC10eXBlYWhlYWQvaW5wdXQtdHlwZWFoZWFkLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC10eXBlYWhlYWQvaW5wdXQtdHlwZWFoZWFkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUNILE9BQU8sRUFDTCxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFDM0MsTUFBTSxlQUFlLENBQUM7Ozs7O0FBT3ZCLE1BQU0sT0FBTyx5QkFBeUI7SUFhcEMsWUFDVSxhQUFtQyxFQUNuQyxFQUFjO1FBRGQsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLE9BQUUsR0FBRixFQUFFLENBQVk7UUFWeEIsZ0JBQVcsR0FBYSxFQUFFLENBQUM7UUFFM0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQVNsQiwrRUFBK0U7UUFDL0UsY0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLE9BQWEsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3pCLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUMsQ0FBQztJQVJDLENBQUM7SUFVSiwwRUFBMEU7SUFDMUUsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ25DLElBQUks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QUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN0RCxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO2dCQUN6QixPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQzthQUNGLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFhLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7K0dBakdVLHlCQUF5QjttR0FBekIseUJBQXlCLHdLQ2pEdEMsbWZBYUE7OzRGRG9DYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usb0JBQW9CO2tIQUlyQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQXNETixlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1ySW5wdXRUeXBlYWhlYWRDb21wb25lbnRcbiAqXG4gKiBBIHRleHQgaW5wdXQgd2l0aCBhbiBpbmxpbmUgYXV0b2NvbXBsZXRlIGRyb3Bkb3duLiBTdXBwb3J0cyB0d28gbW9kZXM6XG4gKlxuICogMS4gKipTdGF0aWMgKGxvY2FsKSBmaWx0ZXJpbmcqKiDigJQgcHJvdmlkZSBhIGZpeGVkIGxpc3Qgb2Ygc3RyaW5ncyB2aWEgYGRhdGEub3B0aW9uc2AuXG4gKiAgICBObyBBUEkgY2FsbCBpcyBtYWRlOyBzdWdnZXN0aW9ucyBhcmUgZmlsdGVyZWQgY2xpZW50LXNpZGUgb24gZXZlcnkga2V5c3Ryb2tlLlxuICpcbiAqICAgIGBgYHRzXG4gKiAgICB7XG4gKiAgICAgIGlkOiAnbXktZmllbGQnLFxuICogICAgICB0eXBlOiAndHlwZWFoZWFkJyxcbiAqICAgICAgZGF0YToge1xuICogICAgICAgIGlkOiAnbXktZmllbGQnLFxuICogICAgICAgIGxhYmVsOiAnTXkgRmllbGQnLFxuICogICAgICAgIG9wdGlvbnM6IFsnQXBwbGUnLCAnQmFuYW5hJywgJ0NoZXJyeSddLFxuICogICAgICB9XG4gKiAgICB9XG4gKiAgICBgYGBcbiAqXG4gKiAyLiAqKkR5bmFtaWMgKEFQSSkgYXV0b2NvbXBsZXRlKiog4oCUIG9taXQgYGRhdGEub3B0aW9uc2AgYW5kIHByb3ZpZGVcbiAqICAgIGBkYXRhLmNvbW11bmljYXRpb25LZXlgIGluc3RlYWQuIFRoZSBjb21wb25lbnQgY2FsbHNcbiAqICAgIGBDb21tdW5pY2F0aW9uU2VydmljZS5yZXF1ZXN0JChjb21tdW5pY2F0aW9uS2V5LCB7IHF1ZXJ5UGFyYW1zOiB7IHEgfSB9KWBcbiAqICAgIGFmdGVyIGEgMjAwIG1zIGRlYm91bmNlLiBUaGUgZW5kcG9pbnQgbXVzdCByZXR1cm4gYHN0cmluZ1tdYC5cbiAqXG4gKiAgICBgYGB0c1xuICogICAge1xuICogICAgICBpZDogJ215LWZpZWxkJyxcbiAqICAgICAgdHlwZTogJ3R5cGVhaGVhZCcsXG4gKiAgICAgIGRhdGE6IHtcbiAqICAgICAgICBpZDogJ215LWZpZWxkJyxcbiAqICAgICAgICBsYWJlbDogJ015IEZpZWxkJyxcbiAqICAgICAgICBjb21tdW5pY2F0aW9uS2V5OiAnbXlBdXRvY29tcGxldGVFbmRwb2ludCcsXG4gKiAgICAgIH1cbiAqICAgIH1cbiAqICAgIGBgYFxuICpcbiAqIFN1Z2dlc3Rpb25zIGFwcGVhciBhZnRlciAyIGNoYXJhY3RlcnMgYXJlIHR5cGVkLiBUYWIgY29tcGxldGVzIHdpdGggdGhlIGZpcnN0XG4gKiBzdWdnZXN0aW9uLiBDbGlja2luZyBvdXRzaWRlIGRpc21pc3NlcyB0aGUgZHJvcGRvd24uXG4gKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbXVuaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtci1pbnB1dC10eXBlYWhlYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdHlwZWFoZWFkLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNcklucHV0VHlwZWFoZWFkQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGF0YTogYW55O1xuXG4gIEBJbnB1dCgpIGVtaXQ6ICh0eXBlOiBzdHJpbmcsIHBheWxvYWQ/OiBhbnkpID0+IHZvaWQ7XG5cbiAgc3VnZ2VzdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgY3VycmVudFF1ZXJ5ID0gJyc7XG5cbiAgcHJpdmF0ZSB0aW1lcjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgKSB7fVxuXG4gIC8qKiBXcmFwcyB0aGUgZm9ybSBlbWl0IHRvIGludGVyY2VwdCBjaGFuZ2UgZXZlbnRzIGZvciBhdXRvY29tcGxldGUgZmV0Y2hpbmcgKi9cbiAgbG9jYWxFbWl0ID0gKHR5cGU6IHN0cmluZywgcGF5bG9hZD86IGFueSkgPT4ge1xuICAgIHRoaXMuZW1pdCh0eXBlLCBwYXlsb2FkKTtcbiAgICBpZiAodHlwZSA9PT0gJ2NoYW5nZScpIHtcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZShwYXlsb2FkPy52YWx1ZSB8fCAnJyk7XG4gICAgfVxuICB9O1xuXG4gIC8qKiBXcmFwcyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBgcXVlcnlgIGluIGB0ZXh0YCB3aXRoIGEgPHN0cm9uZz4gdGFnICovXG4gIGhpZ2hsaWdodCh0ZXh0OiBzdHJpbmcsIHF1ZXJ5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghcXVlcnkpIHJldHVybiB0ZXh0O1xuICAgIGNvbnN0IGlkeCA9IHRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpO1xuICAgIGlmIChpZHggPT09IC0xKSByZXR1cm4gdGV4dDtcbiAgICByZXR1cm4gKFxuICAgICAgdGV4dC5zbGljZSgwLCBpZHgpICtcbiAgICAgICc8c3Ryb25nPicgKyB0ZXh0LnNsaWNlKGlkeCwgaWR4ICsgcXVlcnkubGVuZ3RoKSArICc8L3N0cm9uZz4nICtcbiAgICAgIHRleHQuc2xpY2UoaWR4ICsgcXVlcnkubGVuZ3RoKVxuICAgICk7XG4gIH1cblxuICAvKiogQ29tcGxldGVzIHdpdGggdGhlIGZpcnN0IHN1Z2dlc3Rpb24gb24gVGFiICovXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInICYmIHRoaXMuc3VnZ2VzdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMub25TZWxlY3QodGhpcy5zdWdnZXN0aW9uc1swXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNlbGVjdHMgYSBzdWdnZXN0aW9uLCB1cGRhdGVzIHRoZSBpbnB1dCBhbmQgZm9ybSBzdGF0ZSAqL1xuICBvblNlbGVjdChzdWdnZXN0aW9uOiBzdHJpbmcsIGV2ZW50PzogTW91c2VFdmVudCkge1xuICAgIGlmIChldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmVtaXQoJ2NoYW5nZScsIHsgdmFsdWU6IHN1Z2dlc3Rpb24gfSk7XG4gICAgdGhpcy5zdWdnZXN0aW9ucyA9IFtdO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgY29uc3QgaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgICBpZiAoaW5wdXQpIGlucHV0LnZhbHVlID0gc3VnZ2VzdGlvbjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgb25Eb2N1bWVudENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICghdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XG4gICAgdGhpcy5jdXJyZW50UXVlcnkgPSB2YWx1ZTtcbiAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA8IDIpIHtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFN0YXRpYyBvcHRpb25zOiBmaWx0ZXIgbG9jYWxseSwgbm8gQVBJIGNhbGwgbmVlZGVkXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhPy5vcHRpb25zKSkge1xuICAgICAgY29uc3QgcSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICB0aGlzLnN1Z2dlc3Rpb25zID0gKHRoaXMuZGF0YS5vcHRpb25zIGFzIHN0cmluZ1tdKVxuICAgICAgICAuZmlsdGVyKChvKSA9PiBvLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocSkpXG4gICAgICAgIC5zbGljZSgwLCAyMCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbW11bmljYXRpb24ucmVxdWVzdCQodGhpcy5kYXRhLmNvbW11bmljYXRpb25LZXksIHtcbiAgICAgICAgcXVlcnlQYXJhbXM6IHsgcTogdmFsdWUgfSxcbiAgICAgICAgb25FcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyA9IFtdO1xuICAgICAgICB9XG4gICAgICB9KS5zdWJzY3JpYmUoKHJlczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyA9IHJlcyB8fCBbXTtcbiAgICAgIH0pO1xuICAgIH0sIDIwMCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtci1pbnB1dC10eXBlYWhlYWRcIiAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiPlxuICAgIDxuNy1pbnB1dC10ZXh0XG4gICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICBbZW1pdF09XCJsb2NhbEVtaXRcIj5cbiAgICA8L243LWlucHV0LXRleHQ+XG4gICAgPHVsICpuZ0lmPVwic3VnZ2VzdGlvbnMubGVuZ3RoID4gMFwiIGNsYXNzPVwibXItaW5wdXQtdHlwZWFoZWFkX19kcm9wZG93blwiPlxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHMgb2Ygc3VnZ2VzdGlvbnNcIlxuICAgICAgICAgICAgY2xhc3M9XCJtci1pbnB1dC10eXBlYWhlYWRfX29wdGlvblwiXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uU2VsZWN0KHMsICRldmVudClcIj5cbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiaGlnaGxpZ2h0KHMsIGN1cnJlbnRRdWVyeSlcIj48L3NwYW4+XG4gICAgICAgIDwvbGk+XG4gICAgPC91bD5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { DataSource, _t } from '@net7/core';
|
|
2
|
+
export class MrInputTypeaheadDS extends DataSource {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(...arguments);
|
|
5
|
+
this.state = {
|
|
6
|
+
value: null,
|
|
7
|
+
disabled: false,
|
|
8
|
+
hidden: false,
|
|
9
|
+
};
|
|
10
|
+
this.getState = () => this.state;
|
|
11
|
+
}
|
|
12
|
+
transform(data) {
|
|
13
|
+
return {
|
|
14
|
+
...data,
|
|
15
|
+
placeholder: _t(data.placeholder)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
setState(newState) {
|
|
19
|
+
this.state = {
|
|
20
|
+
...this.state,
|
|
21
|
+
...newState
|
|
22
|
+
};
|
|
23
|
+
this.refresh();
|
|
24
|
+
}
|
|
25
|
+
clear() {
|
|
26
|
+
this.setState({ value: null });
|
|
27
|
+
}
|
|
28
|
+
refresh() {
|
|
29
|
+
const { value, hidden, disabled } = this.state;
|
|
30
|
+
// render value
|
|
31
|
+
this.output.value = value;
|
|
32
|
+
// fix element update (same DOM hack as MrInputTextDS)
|
|
33
|
+
const el = document.getElementById(this.id);
|
|
34
|
+
if (el) {
|
|
35
|
+
el.value = value;
|
|
36
|
+
}
|
|
37
|
+
// render disabled
|
|
38
|
+
this.output.disabled = disabled;
|
|
39
|
+
// render hidden
|
|
40
|
+
this.output.classes = hidden ? 'is-hidden' : '';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdHlwZWFoZWFkLmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvZGF0YS1zb3VyY2VzL2Zvcm0vaW5wdXQtdHlwZWFoZWFkLmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSzVDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxVQUFVO0lBQWxEOztRQUdTLFVBQUssR0FBNEM7WUFDdEQsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQztRQVNGLGFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBK0I5QixDQUFDO0lBdENXLFNBQVMsQ0FBQyxJQUFTO1FBQzNCLE9BQU87WUFDTCxHQUFHLElBQUk7WUFDUCxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFJRCxRQUFRLENBQUMsUUFBaUQ7UUFDeEQsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDYixHQUFHLFFBQVE7U0FDWixDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUUvQyxlQUFlO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHNEQUFzRDtRQUN0RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQXFCLENBQUM7UUFDaEUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUM7UUFFRCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRWhDLGdCQUFnQjtRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UsIF90IH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBNckZvcm1JbnB1dFN0YXRlLCBNcklucHV0RGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZm9ybS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBNcklucHV0VHlwZWFoZWFkVmFsdWUgPSBzdHJpbmcgfCBudWxsO1xuXG5leHBvcnQgY2xhc3MgTXJJbnB1dFR5cGVhaGVhZERTIGV4dGVuZHMgRGF0YVNvdXJjZSBpbXBsZW1lbnRzIE1ySW5wdXREYXRhU291cmNlPE1ySW5wdXRUeXBlYWhlYWRWYWx1ZT4ge1xuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgc3RhdGU6IE1yRm9ybUlucHV0U3RhdGU8TXJJbnB1dFR5cGVhaGVhZFZhbHVlPiA9IHtcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgaGlkZGVuOiBmYWxzZSxcbiAgfTtcblxuICBwcm90ZWN0ZWQgdHJhbnNmb3JtKGRhdGE6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRhdGEsXG4gICAgICBwbGFjZWhvbGRlcjogX3QoZGF0YS5wbGFjZWhvbGRlcilcbiAgICB9O1xuICB9XG5cbiAgZ2V0U3RhdGUgPSAoKSA9PiB0aGlzLnN0YXRlO1xuXG4gIHNldFN0YXRlKG5ld1N0YXRlOiBNckZvcm1JbnB1dFN0YXRlPE1ySW5wdXRUeXBlYWhlYWRWYWx1ZT4pIHtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLm5ld1N0YXRlXG4gICAgfTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogbnVsbCB9KTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgY29uc3QgeyB2YWx1ZSwgaGlkZGVuLCBkaXNhYmxlZCB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIC8vIHJlbmRlciB2YWx1ZVxuICAgIHRoaXMub3V0cHV0LnZhbHVlID0gdmFsdWU7XG4gICAgLy8gZml4IGVsZW1lbnQgdXBkYXRlIChzYW1lIERPTSBoYWNrIGFzIE1ySW5wdXRUZXh0RFMpXG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChlbCkge1xuICAgICAgZWwudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyByZW5kZXIgZGlzYWJsZWRcbiAgICB0aGlzLm91dHB1dC5kaXNhYmxlZCA9IGRpc2FibGVkO1xuXG4gICAgLy8gcmVuZGVyIGhpZGRlblxuICAgIHRoaXMub3V0cHV0LmNsYXNzZXMgPSBoaWRkZW4gPyAnaXMtaGlkZGVuJyA6ICcnO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EventHandler } from '@net7/core';
|
|
2
|
+
export class MrInputTypeaheadEH extends EventHandler {
|
|
3
|
+
listen() {
|
|
4
|
+
this.innerEvents$.subscribe(({ type, payload }) => {
|
|
5
|
+
switch (type) {
|
|
6
|
+
case `${this.dataSource.id}.change`: {
|
|
7
|
+
const { value } = payload;
|
|
8
|
+
// set new value
|
|
9
|
+
this.dataSource.setState({ value });
|
|
10
|
+
// emit changed signal
|
|
11
|
+
this.changed$.next({
|
|
12
|
+
id: this.dataSource.id,
|
|
13
|
+
state: this.dataSource.getState()
|
|
14
|
+
});
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
default:
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdHlwZWFoZWFkLmVoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvZXZlbnQtaGFuZGxlcnMvZm9ybS9pbnB1dC10eXBlYWhlYWQuZWgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUsxQyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBWTtJQUszQyxNQUFNO1FBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ2hELFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUNwQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDO29CQUMxQixnQkFBZ0I7b0JBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztvQkFDcEMsc0JBQXNCO29CQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQzt3QkFDakIsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTt3QkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO3FCQUNsQyxDQUFDLENBQUM7b0JBQ0gsTUFBTTtnQkFDUixDQUFDO2dCQUNEO29CQUNFLE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEhhbmRsZXIgfSBmcm9tICdAbmV0Ny9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1ySW5wdXRUeXBlYWhlYWREUyB9IGZyb20gJy4uLy4uL2RhdGEtc291cmNlcy9mb3JtL2lucHV0LXR5cGVhaGVhZC5kcyc7XG5pbXBvcnQgeyBNcklucHV0RXZlbnRIYW5kbGVyLCBNckNoYW5nZWRQYXJhbXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Zvcm0uaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIE1ySW5wdXRUeXBlYWhlYWRFSCBleHRlbmRzIEV2ZW50SGFuZGxlciBpbXBsZW1lbnRzIE1ySW5wdXRFdmVudEhhbmRsZXIge1xuICBwdWJsaWMgY2hhbmdlZCQ6IFN1YmplY3Q8TXJDaGFuZ2VkUGFyYW1zPjtcblxuICBwdWJsaWMgZGF0YVNvdXJjZTogTXJJbnB1dFR5cGVhaGVhZERTO1xuXG4gIHB1YmxpYyBsaXN0ZW4oKSB7XG4gICAgdGhpcy5pbm5lckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgYCR7dGhpcy5kYXRhU291cmNlLmlkfS5jaGFuZ2VgOiB7XG4gICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gcGF5bG9hZDtcbiAgICAgICAgICAvLyBzZXQgbmV3IHZhbHVlXG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLnNldFN0YXRlKHsgdmFsdWUgfSk7XG4gICAgICAgICAgLy8gZW1pdCBjaGFuZ2VkIHNpZ25hbFxuICAgICAgICAgIHRoaXMuY2hhbmdlZCQubmV4dCh7XG4gICAgICAgICAgICBpZDogdGhpcy5kYXRhU291cmNlLmlkLFxuICAgICAgICAgICAgc3RhdGU6IHRoaXMuZGF0YVNvdXJjZS5nZXRTdGF0ZSgpXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -123,8 +123,8 @@ export class MrAdvancedSearchLayoutDS extends LayoutDataSource {
|
|
|
123
123
|
if (input.data.legend) {
|
|
124
124
|
input.data.legend = _t(input.data.legend);
|
|
125
125
|
}
|
|
126
|
-
// input text
|
|
127
|
-
if (input.type === 'text') {
|
|
126
|
+
// input text / typeahead
|
|
127
|
+
if (input.type === 'text' || input.type === 'typeahead') {
|
|
128
128
|
if (input.data.placeholder) {
|
|
129
129
|
input.data.placeholder = _t(input.data.placeholder);
|
|
130
130
|
}
|
|
@@ -142,7 +142,7 @@ export class MrAdvancedSearchLayoutDS extends LayoutDataSource {
|
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
144
|
// info tooltip
|
|
145
|
-
if (input.info && input.data.label && ['text', 'select'].includes(input.type)) {
|
|
145
|
+
if (input.info && input.data.label && ['text', 'select', 'typeahead'].includes(input.type)) {
|
|
146
146
|
const inputData = input.data;
|
|
147
147
|
if (/n7-icon/.test(input.data.label))
|
|
148
148
|
return;
|
|
@@ -164,4 +164,4 @@ export class MrAdvancedSearchLayoutDS extends LayoutDataSource {
|
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtc2VhcmNoLWxheW91dC5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL2xheW91dHMvYWR2YW5jZWQtc2VhcmNoLWxheW91dC9hZHZhbmNlZC1zZWFyY2gtbGF5b3V0LmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFHNUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3RELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFBOUQ7O1FBYVksaUJBQVksR0FBRyxFQUFFLENBQUM7UUFvRmxCLHlCQUFvQixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDNUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDcEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7b0JBQ3pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDdkIsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLEdBQUcsRUFBRSxDQUFDOzRCQUNyQixLQUFLLENBQUMsSUFBSSxHQUFHO2dDQUNYLEdBQUcsS0FBSyxDQUFDLElBQUk7Z0NBQ2Is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QUFTLEdBQUcsS0FBSyxDQUFDLElBQXlCLENBQUM7b0JBQ2xELElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzt3QkFBRSxPQUFPO29CQUM3QyxLQUFLLENBQUMsSUFBMEIsQ0FBQyxNQUFNLEdBQUc7d0JBQ3pDLFNBQVMsU0FBUyxDQUFDLE1BQU0sU0FBUzt3QkFDbEMsZ0VBQWdFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVc7cUJBQzFGLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNiLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExheW91dERhdGFTb3VyY2UsIF90IH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ29tbXVuaWNhdGlvblNlcnZpY2UsIENvbmZpZ3VyYXRpb25TZXJ2aWNlLCBNYWluU3RhdGVTZXJ2aWNlIH0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcbmltcG9ydCB7IElucHV0Q2hlY2tib3hEYXRhLCBJbnB1dFNlbGVjdERhdGEsIElucHV0VGV4dERhdGEgfSBmcm9tICdAbmV0Ny9jb21wb25lbnRzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNckZvcm1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcbmltcG9ydCB7IE1yTG9jYWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2FsZS5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIE1yQWR2YW5jZWRTZWFyY2hMYXlvdXREUyBleHRlbmRzIExheW91dERhdGFTb3VyY2Uge1xuICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXI7XG5cbiAgcHJvdGVjdGVkIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb25TZXJ2aWNlO1xuXG4gIHByb3RlY3RlZCBjb21tdW5pY2F0aW9uOiBDb21tdW5pY2F0aW9uU2VydmljZTtcblxuICBwcm90ZWN0ZWQgbWFpblN0YXRlOiBNYWluU3RhdGVTZXJ2aWNlO1xuXG4gIHByb3RlY3RlZCBsb2NhbGVTZXJ2aWNlOiBNckxvY2FsZVNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIHJvdXRlRGF0YTogRGF0YTtcblxuICBwcm90ZWN0ZWQgaW5pdGlhbFN0YXRlID0ge307XG5cbiAgcHVibGljIHBhZ2VDb25maWc7XG5cbiAgcHVibGljIGZvcm06IE1yRm9ybU1vZGVsO1xuXG4gIG9uSW5pdChwYXlsb2FkKSB7XG4gICAgdGhpcy5yb3V0ZXIgPSBwYXlsb2FkLnJvdXRlcjtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBwYXlsb2FkLmNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5jb21tdW5pY2F0aW9uID0gcGF5bG9hZC5jb21tdW5pY2F0aW9uO1xuICAgIHRoaXMubWFpblN0YXRlID0gcGF5bG9hZC5tYWluU3RhdGU7XG4gICAgdGhpcy5yb3V0ZURhdGEgPSBwYXlsb2FkLnJvdXRlRGF0YTtcbiAgICB0aGlzLmxvY2FsZVNlcnZpY2UgPSBwYXlsb2FkLmxvY2FsZVNlcnZpY2U7XG4gICAgdGhpcy5wYWdlQ29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCh0aGlzLnJvdXRlRGF0YS5jb25maWdJZCk7XG5cbiAgICAvLyBhZGQgdHJhbnNsYXRpb25zXG4gICAgdGhpcy5hZGRUcmFuc2xhdGlvbnModGhpcy5wYWdlQ29uZmlnKTtcblxuICAgIGxldCBvcHRpb25zUmVxJDogT2JzZXJ2YWJsZTx1bmtub3duPiA9IG9mKHRydWUpO1xuICAgIGlmICh0aGlzLnBhZ2VDb25maWcuaGFzRHluYW1pY09wdGlvbnMpIHtcbiAgICAgIGNvbnN0IGR5bmFtaWNSZXEkID0gdGhpcy5jb21tdW5pY2F0aW9uLnJlcXVlc3QkKCdhZHZhbmNlZFNlYXJjaE9wdGlvbnMnLCB7XG4gICAgICAgIG9uRXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1JlcXVlc3QgZXJyb3InLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG9wdGlvbnNSZXEkID0gZHluYW1pY1JlcSQucGlwZShcbiAgICAgICAgdGFwKHRoaXMuaGFuZGxlT3B0aW9uc1JlcXVlc3QpXG4gICAgICApO1xuICAgIH1cblxuICAgIG9wdGlvbnNSZXEkLnN1YnNjcmliZSh7XG4gICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAvLyBpbml0IGZvcm1cbiAgICAgICAgdGhpcy5mb3JtID0gbmV3IE1yRm9ybU1vZGVsKCk7XG4gICAgICAgIC8vIGZvcm0gaW5pdFxuICAgICAgICB0aGlzLmZvcm0uaW5pdCh0aGlzLnBhZ2VDb25maWcuZm9ybUNvbmZpZyk7XG4gICAgICAgIC8vIHNldCBpbml0aWFsIHN0YXRlXG4gICAgICAgIHRoaXMuaW5pdGlhbFN0YXRlID0gY2xvbmVEZWVwKHRoaXMuZm9ybS5nZXRTdGF0ZSgpKTtcblxuICAgICAgICB0aGlzLm9uZSgnbXItZm9ybS13cmFwcGVyLWFjY29yZGlvbicpLnVwZGF0ZSh7XG4gICAgICAgICAgZm9ybTogdGhpcy5mb3JtXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gdXBkYXRlIGhlYWQgdGl0bGVcbiAgICB0aGlzLnVwZGF0ZUhlYWRUaXRsZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUhlYWRUaXRsZSgpIHtcbiAgICBjb25zdCBhcHBOYW1lID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IHBhZ2VUaXRsZSA9IHRoaXMucGFnZUNvbmZpZy50aXRsZTtcbiAgICB0aGlzLm1haW5TdGF0ZS51cGRhdGUoJ2hlYWRUaXRsZScsIFthcHBOYW1lLCBfdChwYWdlVGl0bGUpXS5qb2luKCcgPiAnKSk7XG4gIH1cblxuICBvblN1Ym1pdCh7IHN0YXRlIH0pIHtcbiAgICBpZiAoIWlzRW1wdHkoc3RhdGUpKSB7XG4gICAgICBjb25zdCB7IHJlc3VsdHNVcmwgfSA9IHRoaXMucGFnZUNvbmZpZztcbiAgICAgIGxldCBiYXNlVXJsID0gcmVzdWx0c1VybDtcbiAgICAgIGlmICh0eXBlb2YgcmVzdWx0c1VybCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG9jYWxlID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZSgpO1xuICAgICAgICBiYXNlVXJsID0gcmVzdWx0c1VybFtsb2NhbGVdO1xuICAgICAgfVxuICAgICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmtleXMoc3RhdGUpXG4gICAgICAgIC5maWx0ZXIoKGtleSkgPT4gIShzdGF0ZVtrZXldLmRpc2FibGVkIHx8IGlzRW1wdHkoc3RhdGVba2V5XS52YWx1ZSkpKVxuICAgICAgICAubWFwKChrZXkpID0+ICh7XG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHZhbHVlOiBBcnJheS5pc0FycmF5KHN0YXRlW2tleV0udmFsdWUpXG4gICAgICAgICAgICA/IHN0YXRlW2tleV0udmFsdWUuam9pbignLCcpXG4gICAgICAgICAgICA6IHN0YXRlW2tleV0udmFsdWVcbiAgICAgICAgfSkpXG4gICAgICAgIC5tYXAoKHsga2V5LCB2YWx1ZSB9KSA9PiBgJHtrZXl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gKTtcbiAgICAgIGNvbnN0IHVybCA9IGAke2Jhc2VVcmx9PyR7cGFyYW1zLmpvaW4oJyYnKX1gO1xuICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XG4gICAgfVxuICB9XG5cbiAgb25SZXNldCgpIHtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmluaXRpYWxTdGF0ZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBpbnB1dFN0YXRlID0gY2xvbmVEZWVwKHRoaXMuaW5pdGlhbFN0YXRlW2tleV0pO1xuICAgICAgdGhpcy5mb3JtLmdldElucHV0KGtleSkuc2V0U3RhdGUoaW5wdXRTdGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT3B0aW9uc1JlcXVlc3QgPSAocmVzcG9uc2UpID0+IHtcbiAgICBjb25zdCB7IGZvcm1Db25maWcgfSA9IHRoaXMucGFnZUNvbmZpZztcbiAgICBPYmplY3Qua2V5cyhyZXNwb25zZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBmb3JtQ29uZmlnLnNlY3Rpb25zLmZvckVhY2goKHsgaW5wdXRzIH0pID0+IHtcbiAgICAgICAgaW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiB7XG4gICAgICAgICAgaWYgKGlucHV0LmlkID09PSBrZXkpIHtcbiAgICAgICAgICAgIGlucHV0LmRhdGEgPSB7XG4gICAgICAgICAgICAgIC4uLmlucHV0LmRhdGEsXG4gICAgICAgICAgICAgIC4uLnJlc3BvbnNlW2tleV1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIHByb3RlY3RlZCBhZGRUcmFuc2xhdGlvbnMocGFnZUNvbmZpZykge1xuICAgIGNvbnN0IHsgZm9ybUNvbmZpZyB9ID0gcGFnZUNvbmZpZztcbiAgICAvLyBwYWdlIHRpdGxlXG4gICAgcGFnZUNvbmZpZy50aXRsZSA9IF90KHBhZ2VDb25maWcudGl0bGUpO1xuICAgIC8vIHN1Ym1pdFxuICAgIGlmIChmb3JtQ29uZmlnLnN1Ym1pdEJ1dHRvbikge1xuICAgICAgZm9ybUNvbmZpZy5zdWJtaXRCdXR0b24ubGFiZWwgPSBfdChmb3JtQ29uZmlnLnN1Ym1pdEJ1dHRvbi5sYWJlbCk7XG4gICAgfVxuICAgIC8vIHJlc2V0XG4gICAgaWYgKGZvcm1Db25maWcucmVzZXRCdXR0b24pIHtcbiAgICAgIGZvcm1Db25maWcucmVzZXRCdXR0b24ubGFiZWwgPSBfdChmb3JtQ29uZmlnLnJlc2V0QnV0dG9uLmxhYmVsKTtcbiAgICB9XG4gICAgLy8gZ3JvdXBzXG4gICAgZm9ybUNvbmZpZy5ncm91cHMuZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgIGlmIChncm91cC5vcHRpb25zPy5sYWJlbCkge1xuICAgICAgICBncm91cC5vcHRpb25zLmxhYmVsID0gX3QoZ3JvdXAub3B0aW9ucy5sYWJlbCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gc2VjdGlvbnNcbiAgICBmb3JtQ29uZmlnLnNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcbiAgICAgIGlmIChzZWN0aW9uLnRpdGxlKSB7XG4gICAgICAgIHNlY3Rpb24udGl0bGUgPSBfdChzZWN0aW9uLnRpdGxlKTtcbiAgICAgIH1cbiAgICAgIGlmIChzZWN0aW9uLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIHNlY3Rpb24uZGVzY3JpcHRpb24gPSBfdChzZWN0aW9uLmRlc2NyaXB0aW9uKTtcbiAgICAgIH1cbiAgICAgIHNlY3Rpb24uaW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiB7XG4gICAgICAgIGlmIChpbnB1dC5kYXRhLmxhYmVsKSB7XG4gICAgICAgICAgaW5wdXQuZGF0YS5sYWJlbCA9IF90KGlucHV0LmRhdGEubGFiZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlucHV0LmRhdGEubGVnZW5kKSB7XG4gICAgICAgICAgaW5wdXQuZGF0YS5sZWdlbmQgPSBfdChpbnB1dC5kYXRhLmxlZ2VuZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbnB1dCB0ZXh0XG4gICAgICAgIGlmIChpbnB1dC50eXBlID09PSAndGV4dCcpIHtcbiAgICAgICAgICBpZiAoaW5wdXQuZGF0YS5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgaW5wdXQuZGF0YS5wbGFjZWhvbGRlciA9IF90KGlucHV0LmRhdGEucGxhY2Vob2xkZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBpbnB1dCBjaGVja2JveFxuICAgICAgICBpZiAoaW5wdXQudHlwZSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgICAgIGlucHV0LmRhdGEuY2hlY2tib3hlcy5mb3JFYWNoKChjaGVja2JveCkgPT4ge1xuICAgICAgICAgICAgY2hlY2tib3gubGFiZWwgPSBfdChjaGVja2JveC5sYWJlbCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5wdXQgc2VsZWN0XG4gICAgICAgIGlmIChpbnB1dC50eXBlID09PSAnc2VsZWN0Jykge1xuICAgICAgICAgIGlucHV0LmRhdGEub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIG9wdGlvbi5sYWJlbCA9IF90KG9wdGlvbi5sYWJlbCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbmZvIHRvb2x0aXBcbiAgICAgICAgaWYgKGlucHV0LmluZm8gJiYgaW5wdXQuZGF0YS5sYWJlbCAmJiBbJ3RleHQnLCAnc2VsZWN0J10uaW5jbHVkZXMoaW5wdXQudHlwZSkpIHtcbiAgICAgICAgICBjb25zdCBpbnB1dERhdGEgPSBpbnB1dC5kYXRhIGFzIElucHV0VGV4dERhdGEgfCBJbnB1dFNlbGVjdERhdGE7XG4gICAgICAgICAgaWYgKC9uNy1pY29uLy50ZXN0KGlucHV0LmRhdGEubGFiZWwpKSByZXR1cm47XG4gICAgICAgICAgKGlucHV0LmRhdGEgYXMgSW5wdXRUZXh0RGF0YSB8IElucHV0U2VsZWN0RGF0YSkubGFiZWwgPSBbXG4gICAgICAgICAgICBgPHNwYW4+JHtpbnB1dERhdGEubGFiZWx9PC9zcGFuPmAsXG4gICAgICAgICAgICBgPHNwYW4gY2xhc3M9XCJtci1pbnB1dC1pbmZvIG43LWljb24gbjctaWNvbi1pbmZvLWNpcmNsZVwiIGFsdD1cIiR7X3QoaW5wdXQuaW5mbyl9XCI+PC9zcGFuPmBcbiAgICAgICAgICBdLmpvaW4oJycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbnB1dC5pbmZvICYmIGlucHV0LmRhdGEubGVnZW5kICYmIGlucHV0LnR5cGUgPT09ICdjaGVja2JveCcpIHtcbiAgICAgICAgICBjb25zdCBpbnB1dERhdGEgPSBpbnB1dC5kYXRhIGFzIElucHV0Q2hlY2tib3hEYXRhO1xuICAgICAgICAgIGlmICgvbjctaWNvbi8udGVzdChpbnB1dC5kYXRhLmxlZ2VuZCkpIHJldHVybjtcbiAgICAgICAgICAoaW5wdXQuZGF0YSBhcyBJbnB1dENoZWNrYm94RGF0YSkubGVnZW5kID0gW1xuICAgICAgICAgICAgYDxzcGFuPiR7aW5wdXREYXRhLmxlZ2VuZH08L3NwYW4+YCxcbiAgICAgICAgICAgIGA8c3BhbiBjbGFzcz1cIm1yLWlucHV0LWluZm8gbjctaWNvbiBuNy1pY29uLWluZm8tY2lyY2xlXCIgYWx0PVwiJHtfdChpbnB1dC5pbmZvKX1cIj48L3NwYW4+YFxuICAgICAgICAgIF0uam9pbignJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtc2VhcmNoLWxheW91dC5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL2xheW91dHMvYWR2YW5jZWQtc2VhcmNoLWxheW91dC9hZHZhbmNlZC1zZWFyY2gtbGF5b3V0LmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFHNUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3RELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFBOUQ7O1FBYVksaUJBQVksR0FBRyxFQUFFLENBQUM7UUFvRmxCLHlCQUFvQixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDNUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDcEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7b0JBQ3pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDdkIsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLEdBQUcsRUFBRSxDQUFDOzRCQUNyQixLQUFLLENBQUMsSUFBSSxHQUFHO2dDQUNYLEdBQUcsS0FBSyxDQUFDLElBQUk7Z0NBQ2Is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Q0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQ2pFLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUF5QixDQUFDO29CQUNsRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7d0JBQUUsT0FBTztvQkFDN0MsS0FBSyxDQUFDLElBQTBCLENBQUMsTUFBTSxHQUFHO3dCQUN6QyxTQUFTLFNBQVMsQ0FBQyxNQUFNLFNBQVM7d0JBQ2xDLGdFQUFnRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXO3FCQUMxRixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDYixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMYXlvdXREYXRhU291cmNlLCBfdCB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENvbW11bmljYXRpb25TZXJ2aWNlLCBDb25maWd1cmF0aW9uU2VydmljZSwgTWFpblN0YXRlU2VydmljZSB9IGZyb20gJ0BuZXQ3L2JvaWxlcnBsYXRlLWNvbW1vbic7XG5pbXBvcnQgeyBJbnB1dENoZWNrYm94RGF0YSwgSW5wdXRTZWxlY3REYXRhLCBJbnB1dFRleHREYXRhIH0gZnJvbSAnQG5ldDcvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTXJGb3JtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBNckxvY2FsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhbGUuc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBNckFkdmFuY2VkU2VhcmNoTGF5b3V0RFMgZXh0ZW5kcyBMYXlvdXREYXRhU291cmNlIHtcbiAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuXG4gIHByb3RlY3RlZCBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uU2VydmljZTtcblxuICBwcm90ZWN0ZWQgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIG1haW5TdGF0ZTogTWFpblN0YXRlU2VydmljZTtcblxuICBwcm90ZWN0ZWQgbG9jYWxlU2VydmljZTogTXJMb2NhbGVTZXJ2aWNlO1xuXG4gIHByb3RlY3RlZCByb3V0ZURhdGE6IERhdGE7XG5cbiAgcHJvdGVjdGVkIGluaXRpYWxTdGF0ZSA9IHt9O1xuXG4gIHB1YmxpYyBwYWdlQ29uZmlnO1xuXG4gIHB1YmxpYyBmb3JtOiBNckZvcm1Nb2RlbDtcblxuICBvbkluaXQocGF5bG9hZCkge1xuICAgIHRoaXMucm91dGVyID0gcGF5bG9hZC5yb3V0ZXI7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gcGF5bG9hZC5jb25maWd1cmF0aW9uO1xuICAgIHRoaXMuY29tbXVuaWNhdGlvbiA9IHBheWxvYWQuY29tbXVuaWNhdGlvbjtcbiAgICB0aGlzLm1haW5TdGF0ZSA9IHBheWxvYWQubWFpblN0YXRlO1xuICAgIHRoaXMucm91dGVEYXRhID0gcGF5bG9hZC5yb3V0ZURhdGE7XG4gICAgdGhpcy5sb2NhbGVTZXJ2aWNlID0gcGF5bG9hZC5sb2NhbGVTZXJ2aWNlO1xuICAgIHRoaXMucGFnZUNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQodGhpcy5yb3V0ZURhdGEuY29uZmlnSWQpO1xuXG4gICAgLy8gYWRkIHRyYW5zbGF0aW9uc1xuICAgIHRoaXMuYWRkVHJhbnNsYXRpb25zKHRoaXMucGFnZUNvbmZpZyk7XG5cbiAgICBsZXQgb3B0aW9uc1JlcSQ6IE9ic2VydmFibGU8dW5rbm93bj4gPSBvZih0cnVlKTtcbiAgICBpZiAodGhpcy5wYWdlQ29uZmlnLmhhc0R5bmFtaWNPcHRpb25zKSB7XG4gICAgICBjb25zdCBkeW5hbWljUmVxJCA9IHRoaXMuY29tbXVuaWNhdGlvbi5yZXF1ZXN0JCgnYWR2YW5jZWRTZWFyY2hPcHRpb25zJywge1xuICAgICAgICBvbkVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdSZXF1ZXN0IGVycm9yJywgZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBvcHRpb25zUmVxJCA9IGR5bmFtaWNSZXEkLnBpcGUoXG4gICAgICAgIHRhcCh0aGlzLmhhbmRsZU9wdGlvbnNSZXF1ZXN0KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBvcHRpb25zUmVxJC5zdWJzY3JpYmUoe1xuICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgLy8gaW5pdCBmb3JtXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBNckZvcm1Nb2RlbCgpO1xuICAgICAgICAvLyBmb3JtIGluaXRcbiAgICAgICAgdGhpcy5mb3JtLmluaXQodGhpcy5wYWdlQ29uZmlnLmZvcm1Db25maWcpO1xuICAgICAgICAvLyBzZXQgaW5pdGlhbCBzdGF0ZVxuICAgICAgICB0aGlzLmluaXRpYWxTdGF0ZSA9IGNsb25lRGVlcCh0aGlzLmZvcm0uZ2V0U3RhdGUoKSk7XG5cbiAgICAgICAgdGhpcy5vbmUoJ21yLWZvcm0td3JhcHBlci1hY2NvcmRpb24nKS51cGRhdGUoe1xuICAgICAgICAgIGZvcm06IHRoaXMuZm9ybVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSBoZWFkIHRpdGxlXG4gICAgdGhpcy51cGRhdGVIZWFkVGl0bGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVIZWFkVGl0bGUoKSB7XG4gICAgY29uc3QgYXBwTmFtZSA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ25hbWUnKTtcbiAgICBjb25zdCBwYWdlVGl0bGUgPSB0aGlzLnBhZ2VDb25maWcudGl0bGU7XG4gICAgdGhpcy5tYWluU3RhdGUudXBkYXRlKCdoZWFkVGl0bGUnLCBbYXBwTmFtZSwgX3QocGFnZVRpdGxlKV0uam9pbignID4gJykpO1xuICB9XG5cbiAgb25TdWJtaXQoeyBzdGF0ZSB9KSB7XG4gICAgaWYgKCFpc0VtcHR5KHN0YXRlKSkge1xuICAgICAgY29uc3QgeyByZXN1bHRzVXJsIH0gPSB0aGlzLnBhZ2VDb25maWc7XG4gICAgICBsZXQgYmFzZVVybCA9IHJlc3VsdHNVcmw7XG4gICAgICBpZiAodHlwZW9mIHJlc3VsdHNVcmwgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMubG9jYWxlU2VydmljZS5nZXRMb2NhbGUoKTtcbiAgICAgICAgYmFzZVVybCA9IHJlc3VsdHNVcmxbbG9jYWxlXTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5rZXlzKHN0YXRlKVxuICAgICAgICAuZmlsdGVyKChrZXkpID0+ICEoc3RhdGVba2V5XS5kaXNhYmxlZCB8fCBpc0VtcHR5KHN0YXRlW2tleV0udmFsdWUpKSlcbiAgICAgICAgLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgICAgIGtleSxcbiAgICAgICAgICB2YWx1ZTogQXJyYXkuaXNBcnJheShzdGF0ZVtrZXldLnZhbHVlKVxuICAgICAgICAgICAgPyBzdGF0ZVtrZXldLnZhbHVlLmpvaW4oJywnKVxuICAgICAgICAgICAgOiBzdGF0ZVtrZXldLnZhbHVlXG4gICAgICAgIH0pKVxuICAgICAgICAubWFwKCh7IGtleSwgdmFsdWUgfSkgPT4gYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSl9YCk7XG4gICAgICBjb25zdCB1cmwgPSBgJHtiYXNlVXJsfT8ke3BhcmFtcy5qb2luKCcmJyl9YDtcbiAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xuICAgIH1cbiAgfVxuXG4gIG9uUmVzZXQoKSB7XG4gICAgT2JqZWN0LmtleXModGhpcy5pbml0aWFsU3RhdGUpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgaW5wdXRTdGF0ZSA9IGNsb25lRGVlcCh0aGlzLmluaXRpYWxTdGF0ZVtrZXldKTtcbiAgICAgIHRoaXMuZm9ybS5nZXRJbnB1dChrZXkpLnNldFN0YXRlKGlucHV0U3RhdGUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9wdGlvbnNSZXF1ZXN0ID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgY29uc3QgeyBmb3JtQ29uZmlnIH0gPSB0aGlzLnBhZ2VDb25maWc7XG4gICAgT2JqZWN0LmtleXMocmVzcG9uc2UpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgZm9ybUNvbmZpZy5zZWN0aW9ucy5mb3JFYWNoKCh7IGlucHV0cyB9KSA9PiB7XG4gICAgICAgIGlucHV0cy5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgICAgIGlmIChpbnB1dC5pZCA9PT0ga2V5KSB7XG4gICAgICAgICAgICBpbnB1dC5kYXRhID0ge1xuICAgICAgICAgICAgICAuLi5pbnB1dC5kYXRhLFxuICAgICAgICAgICAgICAuLi5yZXNwb25zZVtrZXldXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgYWRkVHJhbnNsYXRpb25zKHBhZ2VDb25maWcpIHtcbiAgICBjb25zdCB7IGZvcm1Db25maWcgfSA9IHBhZ2VDb25maWc7XG4gICAgLy8gcGFnZSB0aXRsZVxuICAgIHBhZ2VDb25maWcudGl0bGUgPSBfdChwYWdlQ29uZmlnLnRpdGxlKTtcbiAgICAvLyBzdWJtaXRcbiAgICBpZiAoZm9ybUNvbmZpZy5zdWJtaXRCdXR0b24pIHtcbiAgICAgIGZvcm1Db25maWcuc3VibWl0QnV0dG9uLmxhYmVsID0gX3QoZm9ybUNvbmZpZy5zdWJtaXRCdXR0b24ubGFiZWwpO1xuICAgIH1cbiAgICAvLyByZXNldFxuICAgIGlmIChmb3JtQ29uZmlnLnJlc2V0QnV0dG9uKSB7XG4gICAgICBmb3JtQ29uZmlnLnJlc2V0QnV0dG9uLmxhYmVsID0gX3QoZm9ybUNvbmZpZy5yZXNldEJ1dHRvbi5sYWJlbCk7XG4gICAgfVxuICAgIC8vIGdyb3Vwc1xuICAgIGZvcm1Db25maWcuZ3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBpZiAoZ3JvdXAub3B0aW9ucz8ubGFiZWwpIHtcbiAgICAgICAgZ3JvdXAub3B0aW9ucy5sYWJlbCA9IF90KGdyb3VwLm9wdGlvbnMubGFiZWwpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIHNlY3Rpb25zXG4gICAgZm9ybUNvbmZpZy5zZWN0aW9ucy5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XG4gICAgICBpZiAoc2VjdGlvbi50aXRsZSkge1xuICAgICAgICBzZWN0aW9uLnRpdGxlID0gX3Qoc2VjdGlvbi50aXRsZSk7XG4gICAgICB9XG4gICAgICBpZiAoc2VjdGlvbi5kZXNjcmlwdGlvbikge1xuICAgICAgICBzZWN0aW9uLmRlc2NyaXB0aW9uID0gX3Qoc2VjdGlvbi5kZXNjcmlwdGlvbik7XG4gICAgICB9XG4gICAgICBzZWN0aW9uLmlucHV0cy5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgICBpZiAoaW5wdXQuZGF0YS5sYWJlbCkge1xuICAgICAgICAgIGlucHV0LmRhdGEubGFiZWwgPSBfdChpbnB1dC5kYXRhLmxhYmVsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbnB1dC5kYXRhLmxlZ2VuZCkge1xuICAgICAgICAgIGlucHV0LmRhdGEubGVnZW5kID0gX3QoaW5wdXQuZGF0YS5sZWdlbmQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW5wdXQgdGV4dCAvIHR5cGVhaGVhZFxuICAgICAgICBpZiAoaW5wdXQudHlwZSA9PT0gJ3RleHQnIHx8IGlucHV0LnR5cGUgPT09ICd0eXBlYWhlYWQnKSB7XG4gICAgICAgICAgaWYgKGlucHV0LmRhdGEucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIGlucHV0LmRhdGEucGxhY2Vob2xkZXIgPSBfdChpbnB1dC5kYXRhLnBsYWNlaG9sZGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5wdXQgY2hlY2tib3hcbiAgICAgICAgaWYgKGlucHV0LnR5cGUgPT09ICdjaGVja2JveCcpIHtcbiAgICAgICAgICBpbnB1dC5kYXRhLmNoZWNrYm94ZXMuZm9yRWFjaCgoY2hlY2tib3gpID0+IHtcbiAgICAgICAgICAgIGNoZWNrYm94LmxhYmVsID0gX3QoY2hlY2tib3gubGFiZWwpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlucHV0IHNlbGVjdFxuICAgICAgICBpZiAoaW5wdXQudHlwZSA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgICAgICBpbnB1dC5kYXRhLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBvcHRpb24ubGFiZWwgPSBfdChvcHRpb24ubGFiZWwpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW5mbyB0b29sdGlwXG4gICAgICAgIGlmIChpbnB1dC5pbmZvICYmIGlucHV0LmRhdGEubGFiZWwgJiYgWyd0ZXh0JywgJ3NlbGVjdCcsICd0eXBlYWhlYWQnXS5pbmNsdWRlcyhpbnB1dC50eXBlKSkge1xuICAgICAgICAgIGNvbnN0IGlucHV0RGF0YSA9IGlucHV0LmRhdGEgYXMgSW5wdXRUZXh0RGF0YSB8IElucHV0U2VsZWN0RGF0YTtcbiAgICAgICAgICBpZiAoL243LWljb24vLnRlc3QoaW5wdXQuZGF0YS5sYWJlbCkpIHJldHVybjtcbiAgICAgICAgICAoaW5wdXQuZGF0YSBhcyBJbnB1dFRleHREYXRhIHwgSW5wdXRTZWxlY3REYXRhKS5sYWJlbCA9IFtcbiAgICAgICAgICAgIGA8c3Bhbj4ke2lucHV0RGF0YS5sYWJlbH08L3NwYW4+YCxcbiAgICAgICAgICAgIGA8c3BhbiBjbGFzcz1cIm1yLWlucHV0LWluZm8gbjctaWNvbiBuNy1pY29uLWluZm8tY2lyY2xlXCIgYWx0PVwiJHtfdChpbnB1dC5pbmZvKX1cIj48L3NwYW4+YFxuICAgICAgICAgIF0uam9pbignJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlucHV0LmluZm8gJiYgaW5wdXQuZGF0YS5sZWdlbmQgJiYgaW5wdXQudHlwZSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgICAgIGNvbnN0IGlucHV0RGF0YSA9IGlucHV0LmRhdGEgYXMgSW5wdXRDaGVja2JveERhdGE7XG4gICAgICAgICAgaWYgKC9uNy1pY29uLy50ZXN0KGlucHV0LmRhdGEubGVnZW5kKSkgcmV0dXJuO1xuICAgICAgICAgIChpbnB1dC5kYXRhIGFzIElucHV0Q2hlY2tib3hEYXRhKS5sZWdlbmQgPSBbXG4gICAgICAgICAgICBgPHNwYW4+JHtpbnB1dERhdGEubGVnZW5kfTwvc3Bhbj5gLFxuICAgICAgICAgICAgYDxzcGFuIGNsYXNzPVwibXItaW5wdXQtaW5mbyBuNy1pY29uIG43LWljb24taW5mby1jaXJjbGVcIiBhbHQ9XCIke190KGlucHV0LmluZm8pfVwiPjwvc3Bhbj5gXG4gICAgICAgICAgXS5qb2luKCcnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -109,12 +109,12 @@ export class MrResourceLayoutDS extends LayoutDataSource {
|
|
|
109
109
|
this.hasContextMenu = () => !!libOptions['context-menu'];
|
|
110
110
|
this.one(id).updateOptions({ libOptions });
|
|
111
111
|
}
|
|
112
|
-
if (type === 'text-viewer') {
|
|
112
|
+
if (type === 'text-viewer' || type === 'parallel-text-viewer') {
|
|
113
113
|
let url;
|
|
114
114
|
try {
|
|
115
115
|
url = this.communication.getUrl('xmlSearch');
|
|
116
116
|
}
|
|
117
|
-
catch
|
|
117
|
+
catch {
|
|
118
118
|
url = '';
|
|
119
119
|
// do nothing
|
|
120
120
|
}
|
|
@@ -190,4 +190,4 @@ export class MrResourceLayoutDS extends LayoutDataSource {
|
|
|
190
190
|
this.mainState.update('headTitle', [appName, _t(pageTitle), resourceTitle].join(' > '));
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtbGF5b3V0LmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy9yZXNvdXJjZS1sYXlvdXQvcmVzb3VyY2UtbGF5b3V0LmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbEQsT0FBTyxFQUN5RCxPQUFPLEVBQ3RFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxXQUFXLE1BQU0sNEJBQTRCLENBQUM7QUFFckQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUF4RDs7UUFxQlMsZUFBVSxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRTdDLHFCQUFnQixHQUFHLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBbU1sRSxDQUFDO0lBN0xDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbkUsY0FBYztRQUNkLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3RDLElBQUksSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxtQkFBbUI7UUFDbkIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRixHQUFHLE9BQU87Z0JBQ1YsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsT0FBMkI7UUFDMUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFDbEQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRTtZQUM3QyxPQUFPO1lBQ1AsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUU7Z0JBQ04sRUFBRTtnQkFDRixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUNwQztZQUNELFdBQVcsRUFBRSxNQUFNO1lBQ25CLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDN0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxXQUFXLENBQUMsRUFBRTtRQUNaLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRSxJQUFJLFFBQVEsQ0FBQztRQUNiLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN6QyxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xELFFBQVEsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUMzQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMxQyxNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRTtnQkFDTixFQUFFO2dCQUNGLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7Z0JBQzFCLFFBQVE7YUFDVDtZQUNELFdBQVcsRUFBRSxNQUFNO1lBQ25CLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsV0FBVyxFQUFFO2dCQUNYLFlBQVksRUFBRSxNQUFNO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFRO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELHNDQUFzQztJQUM5QixZQUFZLENBQUMsUUFBUTtRQUMzQixNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ2xELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ2hCLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFDekIsRUFBRSxFQUFFO1lBQ0gsNEJBQTRCO1lBQzVCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxnQkFBZ0I7Z0JBQUUsT0FBTztZQUM5QixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLFNBQVM7WUFDVCxnQkFBZ0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNqRCxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxlQUFlLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQy9ELENBQUMsQ0FBQyxDQUFDO1lBQ04sQ0FBQztZQUNELHFCQUFxQjtZQUNyQixJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsOEJBQThCO2dCQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUNELElBQUksSUFBSSxLQUFLLGFBQWEsRUFBRSxDQUFDO2dCQUMzQixtQ0FBbUM7Z0JBQ25DLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUM7WUFFRCxJQUFJLElBQUksS0FBSyxhQUFhLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxHQUFHLENBQUM7Z0JBQ1IsSUFBSSxDQUFDO29CQUNILEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztnQkFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUNYLEdBQUcsR0FBRyxFQUFFLENBQUM7b0JBQ1QsYUFBYTtnQkFDZixDQUFDO2dCQUNELE1BQU0sU0FBUyxHQUFHO29CQUNoQixHQUFHO29CQUNILGFBQWEsRUFBRSxJQUFJLENBQUMsRUFBRTtpQkFDdkIsQ0FBQztnQkFFRixPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEMsQ0FBQztZQUNELGNBQWM7WUFDZCxJQUFJLGVBQWUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDdkMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLG9DQUFvQztnQkFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUVELDhCQUE4QjtZQUM5QixJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ2pELE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxzQkFBc0I7b0JBQUUsT0FBTztnQkFDcEMsU0FBUztnQkFDVCxzQkFBc0IsQ0FBQyxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7WUFDL0MsQ0FBQztZQUNELDJCQUEyQjtZQUMzQixJQUFJLElBQUksS0FBSyxRQUFRLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRSxRQUFRLENBQUM7Z0JBQzlCLHVDQUF1QztnQkFDdkMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxxQkFBcUI7b0JBQUUsT0FBTztnQkFDbkMsU0FBUztnQkFDVCxxQkFBcUIsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDO2dCQUNuQyxjQUFjO2dCQUNkLElBQUksZUFBZSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDNUMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLG9DQUFvQztvQkFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3RDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxjQUFjO1FBQ2QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztZQUNoRSxJQUFJLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDckQsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztnQkFDcEMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7Z0JBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ3BCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTthQUNsQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0lBRUQsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUNwQix1QkFBdUIsQ0FBQyxRQUFRO1FBQ3RDLElBQUksUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTGF5b3V0RGF0YVNvdXJjZSwgX3QgfSBmcm9tICdAbmV0Ny9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb25TZXJ2aWNlLCBDb21tdW5pY2F0aW9uU2VydmljZSwgTWFpblN0YXRlU2VydmljZSwgaGVscGVyc1xufSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuaW1wb3J0IHsgTXJMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuaW1wb3J0IGxpbmtzSGVscGVyIGZyb20gJy4uLy4uL2hlbHBlcnMvbGlua3MtaGVscGVyJztcblxuZXhwb3J0IGNsYXNzIE1yUmVzb3VyY2VMYXlvdXREUyBleHRlbmRzIExheW91dERhdGFTb3VyY2Uge1xuICBwcml2YXRlIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb25TZXJ2aWNlO1xuXG4gIHByaXZhdGUgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBtYWluU3RhdGU6IE1haW5TdGF0ZVNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBNckxvY2FsZVNlcnZpY2U7XG5cbiAgcHJpdmF0ZSByb3V0ZXJEYXRhOiBEYXRhO1xuXG4gIHByaXZhdGUgcGFnZUNvbmZpZzogYW55O1xuXG4gIHB1YmxpYyB0YWJDb25maWc6IGFueTtcblxuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgdGFiOiBzdHJpbmc7XG5cbiAgcHVibGljIHNsdWc6IHN0cmluZztcblxuICBwdWJsaWMgZXJyb3JUaXRsZSA9IF90KCdnbG9iYWwjbGF5b3V0X2Vycm9yX3RpdGxlJyk7XG5cbiAgcHVibGljIGVycm9yRGVzY3JpcHRpb24gPSBfdCgnZ2xvYmFsI2xheW91dF9lcnJvcl9kZXNjcmlwdGlvbicpO1xuXG4gIHB1YmxpYyBoYXNDb250ZXh0TWVudTogKCkgPT4gYm9vbGVhbjtcblxuICBwcml2YXRlIHRhYnNDb250ZW50OiBhbnk7XG5cbiAgb25Jbml0KHBheWxvYWQpIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBwYXlsb2FkLmNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5jb21tdW5pY2F0aW9uID0gcGF5bG9hZC5jb21tdW5pY2F0aW9uO1xuICAgIHRoaXMubWFpblN0YXRlID0gcGF5bG9hZC5tYWluU3RhdGU7XG4gICAgdGhpcy5sb2NhbGVTZXJ2aWNlID0gcGF5bG9hZC5sb2NhbGVTZXJ2aWNlO1xuICAgIHRoaXMucm91dGVyRGF0YSA9IHBheWxvYWQucm91dGVyRGF0YTtcbiAgICB0aGlzLnBhZ2VDb25maWcgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KHRoaXMucm91dGVyRGF0YS5jb25maWdJZCk7XG5cbiAgICAvLyB0YWJzIGNvbmZpZ1xuICAgIGNvbnN0IHRhYnMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCd0YWJzJyk7XG4gICAgY29uc3QgcGFnZVRhYnMgPSB0aGlzLnBhZ2VDb25maWcudGFicztcbiAgICBpZiAodGFicyAmJiBwYWdlVGFicykge1xuICAgICAgdGhpcy50YWJDb25maWcgPSB0YWJzW3BhZ2VUYWJzXTtcbiAgICB9XG5cbiAgICAvLyBhZGQgdHJhbnNsYXRpb25zXG4gICAgWyd0b3AnLCAnY29udGVudCddLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICAgIHRoaXMucGFnZUNvbmZpZy5zZWN0aW9uc1t0eXBlXSA9IHRoaXMucGFnZUNvbmZpZy5zZWN0aW9uc1t0eXBlXS5tYXAoKHNlY3Rpb24pID0+ICh7XG4gICAgICAgIC4uLnNlY3Rpb24sXG4gICAgICAgIHRpdGxlOiBfdChzZWN0aW9uLnRpdGxlKVxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFJlcXVlc3QgdGhlIGNvbmZpZ3VyZWQgd2lkZ2V0cyBkYXRhICovXG4gIHBhZ2VSZXF1ZXN0JChpZCwgb25FcnJvcjogKGVycjogYW55KSA9PiB2b2lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB7IGxvY2FsZSB9ID0gdGhpcy5yb3V0ZXJEYXRhO1xuICAgIGNvbnN0IHBhcmFtcyA9IGxpbmtzSGVscGVyLmdldFF1ZXJ5UGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgY29uc3QgeyB0b3AsIGNvbnRlbnQgfSA9IHRoaXMucGFnZUNvbmZpZy5zZWN0aW9ucztcbiAgICBjb25zdCBzZWN0aW9ucyA9IHRvcC5jb25jYXQoY29udGVudCk7XG4gICAgcmV0dXJuIHRoaXMuY29tbXVuaWNhdGlvbi5yZXF1ZXN0JCgncmVzb3VyY2UnLCB7XG4gICAgICBvbkVycm9yLFxuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgaWQsXG4gICAgICAgIHR5cGU6IHRoaXMucGFnZUNvbmZpZy50eXBlLFxuICAgICAgICBzZWN0aW9uczogc2VjdGlvbnMubWFwKChzKSA9PiBzLmlkKSxcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtczogcGFyYW1zLFxuICAgICAgdXJsUGFyYW1zOiBsb2NhbGUgPyBgP2xvY2FsZT0ke2xvY2FsZX1gIDogJycsXG4gICAgfSk7XG4gIH1cblxuICAvKiogUmVxdWVzdCB0aGUgY29uZmlndXJlZCB3aWRnZXRzIGRhdGEgaW4gUERGIGZvcm1hdCAqL1xuICBwZGZSZXF1ZXN0JChpZCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgeyBsb2NhbGUgfSA9IHRoaXMucm91dGVyRGF0YTtcbiAgICBjb25zdCBwYXJhbXMgPSBsaW5rc0hlbHBlci5nZXRRdWVyeVBhcmFtcyhkb2N1bWVudC5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIGxldCBzZWN0aW9ucztcbiAgICBpZiAodGhpcy50YWJzQ29udGVudCkge1xuICAgICAgY29uc3QgeyB0b3AgfSA9IHRoaXMucGFnZUNvbmZpZy5zZWN0aW9ucztcbiAgICAgIHNlY3Rpb25zID0gdG9wLm1hcCgocykgPT4gcy5pZCkuY29uY2F0KHRoaXMudGFic0NvbnRlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IHRvcCwgY29udGVudCB9ID0gdGhpcy5wYWdlQ29uZmlnLnNlY3Rpb25zO1xuICAgICAgc2VjdGlvbnMgPSB0b3AuY29uY2F0KGNvbnRlbnQpLm1hcCgocykgPT4gcy5pZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbW11bmljYXRpb24ucmVxdWVzdCQoJ2dldFBkZicsIHtcbiAgICAgIG9uRXJyb3I6IChlKSA9PiBjb25zb2xlLmVycm9yKCdnZXRQZGYnLCBlKSxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIGlkLFxuICAgICAgICB0eXBlOiB0aGlzLnBhZ2VDb25maWcudHlwZSxcbiAgICAgICAgc2VjdGlvbnNcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtczogcGFyYW1zLFxuICAgICAgdXJsUGFyYW1zOiBsb2NhbGUgPyBgP2xvY2FsZT0ke2xvY2FsZX1gIDogJycsXG4gICAgICBodHRwT3B0aW9uczoge1xuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgICB0aGlzLmluaXRTZWN0aW9ucyhyZXNwb25zZSk7XG4gICAgdGhpcy5zZXRMb2NhbGVSZXNvdXJjZUNvbmZpZyhyZXNwb25zZSk7XG4gICAgdGhpcy51cGRhdGVIZWFkVGl0bGUocmVzcG9uc2UpO1xuICB9XG5cbiAgLyoqIExvYWQgYWxsIHRoZSBjb25maWd1cmVkIHdpZGdldHMgKi9cbiAgcHJpdmF0ZSBpbml0U2VjdGlvbnMocmVzcG9uc2UpIHtcbiAgICBjb25zdCB7IHRvcCwgY29udGVudCB9ID0gdGhpcy5wYWdlQ29uZmlnLnNlY3Rpb25zO1xuICAgIGNvbnN0IHNlY3Rpb25zID0gdG9wLmNvbmNhdChjb250ZW50KTtcbiAgICBzZWN0aW9ucy5mb3JFYWNoKCh7XG4gICAgICBpZCwgdHlwZSwgdG9vbHMsIG9wdGlvbnNcbiAgICB9KSA9PiB7XG4gICAgICAvLyB1cGRhdGUgc2VjdGlvbiBkYXRhc291cmNlXG4gICAgICBjb25zdCB3aWRnZXREYXRhU291cmNlID0gdGhpcy5nZXRXaWRnZXREYXRhU291cmNlKGlkKTtcbiAgICAgIGlmICghd2lkZ2V0RGF0YVNvdXJjZSkgcmV0dXJuO1xuICAgICAgY29uc3QgcmVzcG9uc2VTZWN0aW9uID0gcmVzcG9uc2Uuc2VjdGlvbnNbaWRdO1xuICAgICAgLy8gc2V0IGlkXG4gICAgICB3aWRnZXREYXRhU291cmNlLmlkID0gaWQ7XG4gICAgICBpZiAodHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgIHRoaXMudGFiQ29uZmlnID0gdGhpcy50YWJDb25maWcubWFwKCh0YWI6IGFueSkgPT4gKHtcbiAgICAgICAgICBpZDogdGFiLmlkLFxuICAgICAgICAgIGxhYmVsOiB0YWIubGFiZWwsXG4gICAgICAgICAgaGlkZVRhYjogKHJlc3BvbnNlU2VjdGlvbiAmJiByZXNwb25zZVNlY3Rpb24uaW5jbHVkZXModGFiLmlkKSlcbiAgICAgICAgfSkpO1xuICAgICAgfVxuICAgICAgLy8gY2hlY2sgdmlld2VyIHRvb2xzXG4gICAgICBpZiAodHlwZSA9PT0gJ3ZpZXdlcicpIHtcbiAgICAgICAgLy8gdXBkYXRlIGltYWdlIHZpZXdlciBvcHRpb25zXG4gICAgICAgIHRoaXMub25lKGlkKS51cGRhdGVPcHRpb25zKHsgdG9vbHMgfSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZSA9PT0gJ3ZpZXdlci1paWlmJykge1xuICAgICAgICAvLyB1cGRhdGUgaW1hZ2Ugdmlld2VyIGlpaWYgb3B0aW9uc1xuICAgICAgICBjb25zdCB7IGxpYk9wdGlvbnMgfSA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuaGFzQ29udGV4dE1lbnUgPSAoKSA9PiAhIWxpYk9wdGlvbnNbJ2NvbnRleHQtbWVudSddO1xuICAgICAgICB0aGlzLm9uZShpZCkudXBkYXRlT3B0aW9ucyh7IGxpYk9wdGlvbnMgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAndGV4dC12aWV3ZXInKSB7XG4gICAgICAgIGxldCB1cmw7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdXJsID0gdGhpcy5jb21tdW5pY2F0aW9uLmdldFVybCgneG1sU2VhcmNoJyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICB1cmwgPSAnJztcbiAgICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VhcmNoQXBpID0ge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICAncmVzb3VyY2UtaWQnOiB0aGlzLmlkXG4gICAgICAgIH07XG5cbiAgICAgICAgb3B0aW9ucy5zZWFyY2hBcGkgPSBzZWFyY2hBcGk7XG4gICAgICAgIHRoaXMub25lKGlkKS51cGRhdGVPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgfVxuICAgICAgLy8gdXBkYXRlIGRhdGFcbiAgICAgIGlmIChyZXNwb25zZVNlY3Rpb24gJiYgIWhlbHBlcnMuaXNFbXB0eShyZXNwb25zZVNlY3Rpb24pKSB7XG4gICAgICAgIHRoaXMub25lKGlkKS51cGRhdGUocmVzcG9uc2VTZWN0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHVubG9hZCB0aGUgY29tcG9uZW50IHdpdGhvdXQgZGF0YVxuICAgICAgICB0aGlzLm9uZShpZCkudXBkYXRlKHVuZGVmaW5lZCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGluaXQgdmlld2VyIG92ZXJsYXkgZGV0YWlsc1xuICAgICAgaWYgKHR5cGUgPT09ICd2aWV3ZXInKSB7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlEZXRhaWxzSWQgPSBgJHtpZH0tb3ZlcmxheS1kZXRhaWxzYDtcbiAgICAgICAgY29uc3Qgd2lkZ2V0T3ZlcmxheURldGFpbHNEUyA9IHRoaXMuZ2V0V2lkZ2V0RGF0YVNvdXJjZShvdmVybGF5RGV0YWlsc0lkKTtcbiAgICAgICAgaWYgKCF3aWRnZXRPdmVybGF5RGV0YWlsc0RTKSByZXR1cm47XG4gICAgICAgIC8vIHNldCBpZFxuICAgICAgICB3aWRnZXRPdmVybGF5RGV0YWlsc0RTLmlkID0gb3ZlcmxheURldGFpbHNJZDtcbiAgICAgIH1cbiAgICAgIC8vIGltYWdlIHZpZXdlciB0b29scyBjaGVja1xuICAgICAgaWYgKHR5cGUgPT09ICd2aWV3ZXInICYmIHRvb2xzKSB7XG4gICAgICAgIGNvbnN0IHRvb2xzSWQgPSBgJHtpZH0tdG9vbHNgO1xuICAgICAgICAvLyB1cGRhdGUgaW1hZ2Ugdmlld2VyIHRvb2xzIGRhdGFzb3VyY2VcbiAgICAgICAgY29uc3Qgd2lkZ2V0VG9vbHNEYXRhU291cmNlID0gdGhpcy5nZXRXaWRnZXREYXRhU291cmNlKHRvb2xzSWQpO1xuICAgICAgICBpZiAoIXdpZGdldFRvb2xzRGF0YVNvdXJjZSkgcmV0dXJuO1xuICAgICAgICAvLyBzZXQgaWRcbiAgICAgICAgd2lkZ2V0VG9vbHNEYXRhU291cmNlLmlkID0gdG9vbHNJZDtcbiAgICAgICAgLy8gdXBkYXRlIGRhdGFcbiAgICAgICAgaWYgKHJlc3BvbnNlU2VjdGlvbiAmJiAhaGVscGVycy5pc0VtcHR5KHJlc3BvbnNlU2VjdGlvbikpIHtcbiAgICAgICAgICB0aGlzLm9uZSh0b29sc0lkKS51cGRhdGUocmVzcG9uc2VTZWN0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyB1bmxvYWQgdGhlIGNvbXBvbmVudCB3aXRob3V0IGRhdGFcbiAgICAgICAgICB0aGlzLm9uZSh0b29sc0lkKS51cGRhdGUodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gdXBkYXRlIHRhYnNcbiAgICBpZiAodGhpcy50YWJDb25maWcpIHtcbiAgICAgIGNvbnN0IHRhYlNlY3Rpb24gPSBzZWN0aW9ucy5maW5kKCh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gJ3RhYnMnKTtcbiAgICAgIGlmICh0YWJTZWN0aW9uPy5vcHRpb25zPy50YWJzQ29udGVudHMpIHtcbiAgICAgICAgdGhpcy50YWJzQ29udGVudCA9IHRhYlNlY3Rpb24ub3B0aW9ucy50YWJzQ29udGVudHM7XG4gICAgICB9XG4gICAgICB0aGlzLm9uZSh0YWJTZWN0aW9uLmlkKS51cGRhdGVPcHRpb25zKHtcbiAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgIHJvb3Q6IHRoaXMucGFnZUNvbmZpZy50YWJzLFxuICAgICAgICBzbHVnOiB0aGlzLnNsdWcsXG4gICAgICAgIGN1cnJlbnRUYWI6IHRoaXMudGFiLFxuICAgICAgICBsb2NhbGVTZXJ2aWNlOiB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vbmUodGFiU2VjdGlvbi5pZCkudXBkYXRlKHRoaXMudGFiQ29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAvLyBzZXQgcmVzb3VyY2UgbG9jYWxlIGNvbmZpZ1xuICAvLyB1c2VkIGJ5IGxhbmd1YWdlIHN3aXRjaGVyXG4gIHByaXZhdGUgc2V0TG9jYWxlUmVzb3VyY2VDb25maWcocmVzcG9uc2UpIHtcbiAgICBpZiAocmVzcG9uc2U/LmxvY2FsZSkge1xuICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlLnNldFJlc291cmNlQ29uZmlnKHJlc3BvbnNlLmxvY2FsZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVIZWFkVGl0bGUoeyB0aXRsZTogcmVzb3VyY2VUaXRsZSB9KSB7XG4gICAgY29uc3QgYXBwTmFtZSA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ25hbWUnKTtcbiAgICBjb25zdCBwYWdlVGl0bGUgPSB0aGlzLnBhZ2VDb25maWcudGl0bGU7XG4gICAgdGhpcy5tYWluU3RhdGUudXBkYXRlKCdoZWFkVGl0bGUnLCBbYXBwTmFtZSwgX3QocGFnZVRpdGxlKSwgcmVzb3VyY2VUaXRsZV0uam9pbignID4gJykpO1xuICB9XG59XG4iXX0=
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtbGF5b3V0LmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy9yZXNvdXJjZS1sYXlvdXQvcmVzb3VyY2UtbGF5b3V0LmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbEQsT0FBTyxFQUN5RCxPQUFPLEVBQ3RFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxXQUFXLE1BQU0sNEJBQTRCLENBQUM7QUFFckQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUF4RDs7UUFxQlMsZUFBVSxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRTdDLHFCQUFnQixHQUFHLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBbU1sRSxDQUFDO0lBN0xDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbkUsY0FBYztRQUNkLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE1BQU0s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QUMsYUFBYTthQUNsQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0lBRUQsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUNwQix1QkFBdUIsQ0FBQyxRQUFRO1FBQ3RDLElBQUksUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTGF5b3V0RGF0YVNvdXJjZSwgX3QgfSBmcm9tICdAbmV0Ny9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb25TZXJ2aWNlLCBDb21tdW5pY2F0aW9uU2VydmljZSwgTWFpblN0YXRlU2VydmljZSwgaGVscGVyc1xufSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuaW1wb3J0IHsgTXJMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuaW1wb3J0IGxpbmtzSGVscGVyIGZyb20gJy4uLy4uL2hlbHBlcnMvbGlua3MtaGVscGVyJztcblxuZXhwb3J0IGNsYXNzIE1yUmVzb3VyY2VMYXlvdXREUyBleHRlbmRzIExheW91dERhdGFTb3VyY2Uge1xuICBwcml2YXRlIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb25TZXJ2aWNlO1xuXG4gIHByaXZhdGUgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBtYWluU3RhdGU6IE1haW5TdGF0ZVNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBNckxvY2FsZVNlcnZpY2U7XG5cbiAgcHJpdmF0ZSByb3V0ZXJEYXRhOiBEYXRhO1xuXG4gIHByaXZhdGUgcGFnZUNvbmZpZzogYW55O1xuXG4gIHB1YmxpYyB0YWJDb25maWc6IGFueTtcblxuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgdGFiOiBzdHJpbmc7XG5cbiAgcHVibGljIHNsdWc6IHN0cmluZztcblxuICBwdWJsaWMgZXJyb3JUaXRsZSA9IF90KCdnbG9iYWwjbGF5b3V0X2Vycm9yX3RpdGxlJyk7XG5cbiAgcHVibGljIGVycm9yRGVzY3JpcHRpb24gPSBfdCgnZ2xvYmFsI2xheW91dF9lcnJvcl9kZXNjcmlwdGlvbicpO1xuXG4gIHB1YmxpYyBoYXNDb250ZXh0TWVudTogKCkgPT4gYm9vbGVhbjtcblxuICBwcml2YXRlIHRhYnNDb250ZW50OiBhbnk7XG5cbiAgb25Jbml0KHBheWxvYWQpIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBwYXlsb2FkLmNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5jb21tdW5pY2F0aW9uID0gcGF5bG9hZC5jb21tdW5pY2F0aW9uO1xuICAgIHRoaXMubWFpblN0YXRlID0gcGF5bG9hZC5tYWluU3RhdGU7XG4gICAgdGhpcy5sb2NhbGVTZXJ2aWNlID0gcGF5bG9hZC5sb2NhbGVTZXJ2aWNlO1xuICAgIHRoaXMucm91dGVyRGF0YSA9IHBheWxvYWQucm91dGVyRGF0YTtcbiAgICB0aGlzLnBhZ2VDb25maWcgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KHRoaXMucm91dGVyRGF0YS5jb25maWdJZCk7XG5cbiAgICAvLyB0YWJzIGNvbmZpZ1xuICAgIGNvbnN0IHRhYnMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCd0YWJzJyk7XG4gICAgY29uc3QgcGFnZVRhYnMgPSB0aGlzLnBhZ2VDb25maWcudGFicztcbiAgICBpZiAodGFicyAmJiBwYWdlVGFicykge1xuICAgICAgdGhpcy50YWJDb25maWcgPSB0YWJzW3BhZ2VUYWJzXTtcbiAgICB9XG5cbiAgICAvLyBhZGQgdHJhbnNsYXRpb25zXG4gICAgWyd0b3AnLCAnY29udGVudCddLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICAgIHRoaXMucGFnZUNvbmZpZy5zZWN0aW9uc1t0eXBlXSA9IHRoaXMucGFnZUNvbmZpZy5zZWN0aW9uc1t0eXBlXS5tYXAoKHNlY3Rpb24pID0+ICh7XG4gICAgICAgIC4uLnNlY3Rpb24sXG4gICAgICAgIHRpdGxlOiBfdChzZWN0aW9uLnRpdGxlKVxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFJlcXVlc3QgdGhlIGNvbmZpZ3VyZWQgd2lkZ2V0cyBkYXRhICovXG4gIHBhZ2VSZXF1ZXN0JChpZCwgb25FcnJvcjogKGVycjogYW55KSA9PiB2b2lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB7IGxvY2FsZSB9ID0gdGhpcy5yb3V0ZXJEYXRhO1xuICAgIGNvbnN0IHBhcmFtcyA9IGxpbmtzSGVscGVyLmdldFF1ZXJ5UGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgY29uc3QgeyB0b3AsIGNvbnRlbnQgfSA9IHRoaXMucGFnZUNvbmZpZy5zZWN0aW9ucztcbiAgICBjb25zdCBzZWN0aW9ucyA9IHRvcC5jb25jYXQoY29udGVudCk7XG4gICAgcmV0dXJuIHRoaXMuY29tbXVuaWNhdGlvbi5yZXF1ZXN0JCgncmVzb3VyY2UnLCB7XG4gICAgICBvbkVycm9yLFxuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgaWQsXG4gICAgICAgIHR5cGU6IHRoaXMucGFnZUNvbmZpZy50eXBlLFxuICAgICAgICBzZWN0aW9uczogc2VjdGlvbnMubWFwKChzKSA9PiBzLmlkKSxcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtczogcGFyYW1zLFxuICAgICAgdXJsUGFyYW1zOiBsb2NhbGUgPyBgP2xvY2FsZT0ke2xvY2FsZX1gIDogJycsXG4gICAgfSk7XG4gIH1cblxuICAvKiogUmVxdWVzdCB0aGUgY29uZmlndXJlZCB3aWRnZXRzIGRhdGEgaW4gUERGIGZvcm1hdCAqL1xuICBwZGZSZXF1ZXN0JChpZCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgeyBsb2NhbGUgfSA9IHRoaXMucm91dGVyRGF0YTtcbiAgICBjb25zdCBwYXJhbXMgPSBsaW5rc0hlbHBlci5nZXRRdWVyeVBhcmFtcyhkb2N1bWVudC5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIGxldCBzZWN0aW9ucztcbiAgICBpZiAodGhpcy50YWJzQ29udGVudCkge1xuICAgICAgY29uc3QgeyB0b3AgfSA9IHRoaXMucGFnZUNvbmZpZy5zZWN0aW9ucztcbiAgICAgIHNlY3Rpb25zID0gdG9wLm1hcCgocykgPT4gcy5pZCkuY29uY2F0KHRoaXMudGFic0NvbnRlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IHRvcCwgY29udGVudCB9ID0gdGhpcy5wYWdlQ29uZmlnLnNlY3Rpb25zO1xuICAgICAgc2VjdGlvbnMgPSB0b3AuY29uY2F0KGNvbnRlbnQpLm1hcCgocykgPT4gcy5pZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbW11bmljYXRpb24ucmVxdWVzdCQoJ2dldFBkZicsIHtcbiAgICAgIG9uRXJyb3I6IChlKSA9PiBjb25zb2xlLmVycm9yKCdnZXRQZGYnLCBlKSxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIGlkLFxuICAgICAgICB0eXBlOiB0aGlzLnBhZ2VDb25maWcudHlwZSxcbiAgICAgICAgc2VjdGlvbnNcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtczogcGFyYW1zLFxuICAgICAgdXJsUGFyYW1zOiBsb2NhbGUgPyBgP2xvY2FsZT0ke2xvY2FsZX1gIDogJycsXG4gICAgICBodHRwT3B0aW9uczoge1xuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgICB0aGlzLmluaXRTZWN0aW9ucyhyZXNwb25zZSk7XG4gICAgdGhpcy5zZXRMb2NhbGVSZXNvdXJjZUNvbmZpZyhyZXNwb25zZSk7XG4gICAgdGhpcy51cGRhdGVIZWFkVGl0bGUocmVzcG9uc2UpO1xuICB9XG5cbiAgLyoqIExvYWQgYWxsIHRoZSBjb25maWd1cmVkIHdpZGdldHMgKi9cbiAgcHJpdmF0ZSBpbml0U2VjdGlvbnMocmVzcG9uc2UpIHtcbiAgICBjb25zdCB7IHRvcCwgY29udGVudCB9ID0gdGhpcy5wYWdlQ29uZmlnLnNlY3Rpb25zO1xuICAgIGNvbnN0IHNlY3Rpb25zID0gdG9wLmNvbmNhdChjb250ZW50KTtcbiAgICBzZWN0aW9ucy5mb3JFYWNoKCh7XG4gICAgICBpZCwgdHlwZSwgdG9vbHMsIG9wdGlvbnNcbiAgICB9KSA9PiB7XG4gICAgICAvLyB1cGRhdGUgc2VjdGlvbiBkYXRhc291cmNlXG4gICAgICBjb25zdCB3aWRnZXREYXRhU291cmNlID0gdGhpcy5nZXRXaWRnZXREYXRhU291cmNlKGlkKTtcbiAgICAgIGlmICghd2lkZ2V0RGF0YVNvdXJjZSkgcmV0dXJuO1xuICAgICAgY29uc3QgcmVzcG9uc2VTZWN0aW9uID0gcmVzcG9uc2Uuc2VjdGlvbnNbaWRdO1xuICAgICAgLy8gc2V0IGlkXG4gICAgICB3aWRnZXREYXRhU291cmNlLmlkID0gaWQ7XG4gICAgICBpZiAodHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgIHRoaXMudGFiQ29uZmlnID0gdGhpcy50YWJDb25maWcubWFwKCh0YWI6IGFueSkgPT4gKHtcbiAgICAgICAgICBpZDogdGFiLmlkLFxuICAgICAgICAgIGxhYmVsOiB0YWIubGFiZWwsXG4gICAgICAgICAgaGlkZVRhYjogKHJlc3BvbnNlU2VjdGlvbiAmJiByZXNwb25zZVNlY3Rpb24uaW5jbHVkZXModGFiLmlkKSlcbiAgICAgICAgfSkpO1xuICAgICAgfVxuICAgICAgLy8gY2hlY2sgdmlld2VyIHRvb2xzXG4gICAgICBpZiAodHlwZSA9PT0gJ3ZpZXdlcicpIHtcbiAgICAgICAgLy8gdXBkYXRlIGltYWdlIHZpZXdlciBvcHRpb25zXG4gICAgICAgIHRoaXMub25lKGlkKS51cGRhdGVPcHRpb25zKHsgdG9vbHMgfSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZSA9PT0gJ3ZpZXdlci1paWlmJykge1xuICAgICAgICAvLyB1cGRhdGUgaW1hZ2Ugdmlld2VyIGlpaWYgb3B0aW9uc1xuICAgICAgICBjb25zdCB7IGxpYk9wdGlvbnMgfSA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuaGFzQ29udGV4dE1lbnUgPSAoKSA9PiAhIWxpYk9wdGlvbnNbJ2NvbnRleHQtbWVudSddO1xuICAgICAgICB0aGlzLm9uZShpZCkudXBkYXRlT3B0aW9ucyh7IGxpYk9wdGlvbnMgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAndGV4dC12aWV3ZXInIHx8IHR5cGUgPT09ICdwYXJhbGxlbC10ZXh0LXZpZXdlcicpICB7XG4gICAgICAgIGxldCB1cmw7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdXJsID0gdGhpcy5jb21tdW5pY2F0aW9uLmdldFVybCgneG1sU2VhcmNoJyk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIHVybCA9ICcnO1xuICAgICAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWFyY2hBcGkgPSB7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgICdyZXNvdXJjZS1pZCc6IHRoaXMuaWRcbiAgICAgICAgfTtcblxuICAgICAgICBvcHRpb25zLnNlYXJjaEFwaSA9IHNlYXJjaEFwaTtcbiAgICAgICAgdGhpcy5vbmUoaWQpLnVwZGF0ZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgICB9XG4gICAgICAvLyB1cGRhdGUgZGF0YVxuICAgICAgaWYgKHJlc3BvbnNlU2VjdGlvbiAmJiAhaGVscGVycy5pc0VtcHR5KHJlc3BvbnNlU2VjdGlvbikpIHtcbiAgICAgICAgdGhpcy5vbmUoaWQpLnVwZGF0ZShyZXNwb25zZVNlY3Rpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdW5sb2FkIHRoZSBjb21wb25lbnQgd2l0aG91dCBkYXRhXG4gICAgICAgIHRoaXMub25lKGlkKS51cGRhdGUodW5kZWZpbmVkKTtcbiAgICAgIH1cblxuICAgICAgLy8gaW5pdCB2aWV3ZXIgb3ZlcmxheSBkZXRhaWxzXG4gICAgICBpZiAodHlwZSA9PT0gJ3ZpZXdlcicpIHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheURldGFpbHNJZCA9IGAke2lkfS1vdmVybGF5LWRldGFpbHNgO1xuICAgICAgICBjb25zdCB3aWRnZXRPdmVybGF5RGV0YWlsc0RTID0gdGhpcy5nZXRXaWRnZXREYXRhU291cmNlKG92ZXJsYXlEZXRhaWxzSWQpO1xuICAgICAgICBpZiAoIXdpZGdldE92ZXJsYXlEZXRhaWxzRFMpIHJldHVybjtcbiAgICAgICAgLy8gc2V0IGlkXG4gICAgICAgIHdpZGdldE92ZXJsYXlEZXRhaWxzRFMuaWQgPSBvdmVybGF5RGV0YWlsc0lkO1xuICAgICAgfVxuICAgICAgLy8gaW1hZ2Ugdmlld2VyIHRvb2xzIGNoZWNrXG4gICAgICBpZiAodHlwZSA9PT0gJ3ZpZXdlcicgJiYgdG9vbHMpIHtcbiAgICAgICAgY29uc3QgdG9vbHNJZCA9IGAke2lkfS10b29sc2A7XG4gICAgICAgIC8vIHVwZGF0ZSBpbWFnZSB2aWV3ZXIgdG9vbHMgZGF0YXNvdXJjZVxuICAgICAgICBjb25zdCB3aWRnZXRUb29sc0RhdGFTb3VyY2UgPSB0aGlzLmdldFdpZGdldERhdGFTb3VyY2UodG9vbHNJZCk7XG4gICAgICAgIGlmICghd2lkZ2V0VG9vbHNEYXRhU291cmNlKSByZXR1cm47XG4gICAgICAgIC8vIHNldCBpZFxuICAgICAgICB3aWRnZXRUb29sc0RhdGFTb3VyY2UuaWQgPSB0b29sc0lkO1xuICAgICAgICAvLyB1cGRhdGUgZGF0YVxuICAgICAgICBpZiAocmVzcG9uc2VTZWN0aW9uICYmICFoZWxwZXJzLmlzRW1wdHkocmVzcG9uc2VTZWN0aW9uKSkge1xuICAgICAgICAgIHRoaXMub25lKHRvb2xzSWQpLnVwZGF0ZShyZXNwb25zZVNlY3Rpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHVubG9hZCB0aGUgY29tcG9uZW50IHdpdGhvdXQgZGF0YVxuICAgICAgICAgIHRoaXMub25lKHRvb2xzSWQpLnVwZGF0ZSh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyB1cGRhdGUgdGFic1xuICAgIGlmICh0aGlzLnRhYkNvbmZpZykge1xuICAgICAgY29uc3QgdGFiU2VjdGlvbiA9IHNlY3Rpb25zLmZpbmQoKHsgdHlwZSB9KSA9PiB0eXBlID09PSAndGFicycpO1xuICAgICAgaWYgKHRhYlNlY3Rpb24/Lm9wdGlvbnM/LnRhYnNDb250ZW50cykge1xuICAgICAgICB0aGlzLnRhYnNDb250ZW50ID0gdGFiU2VjdGlvbi5vcHRpb25zLnRhYnNDb250ZW50cztcbiAgICAgIH1cbiAgICAgIHRoaXMub25lKHRhYlNlY3Rpb24uaWQpLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgcm9vdDogdGhpcy5wYWdlQ29uZmlnLnRhYnMsXG4gICAgICAgIHNsdWc6IHRoaXMuc2x1ZyxcbiAgICAgICAgY3VycmVudFRhYjogdGhpcy50YWIsXG4gICAgICAgIGxvY2FsZVNlcnZpY2U6IHRoaXMubG9jYWxlU2VydmljZVxuICAgICAgfSk7XG4gICAgICB0aGlzLm9uZSh0YWJTZWN0aW9uLmlkKS51cGRhdGUodGhpcy50YWJDb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNldCByZXNvdXJjZSBsb2NhbGUgY29uZmlnXG4gIC8vIHVzZWQgYnkgbGFuZ3VhZ2Ugc3dpdGNoZXJcbiAgcHJpdmF0ZSBzZXRMb2NhbGVSZXNvdXJjZUNvbmZpZyhyZXNwb25zZSkge1xuICAgIGlmIChyZXNwb25zZT8ubG9jYWxlKSB7XG4gICAgICB0aGlzLmxvY2FsZVNlcnZpY2Uuc2V0UmVzb3VyY2VDb25maWcocmVzcG9uc2UubG9jYWxlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUhlYWRUaXRsZSh7IHRpdGxlOiByZXNvdXJjZVRpdGxlIH0pIHtcbiAgICBjb25zdCBhcHBOYW1lID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IHBhZ2VUaXRsZSA9IHRoaXMucGFnZUNvbmZpZy50aXRsZTtcbiAgICB0aGlzLm1haW5TdGF0ZS51cGRhdGUoJ2hlYWRUaXRsZScsIFthcHBOYW1lLCBfdChwYWdlVGl0bGUpLCByZXNvdXJjZVRpdGxlXS5qb2luKCcgPiAnKSk7XG4gIH1cbn1cbiJdfQ==
|