@tilde-nlp/ngx-common 4.1.2 → 4.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/filter-bar/filter-bar.component.mjs +36 -4
- package/esm2022/lib/filter-bar/models/filter-bar-filter-search.model.mjs +2 -0
- package/esm2022/lib/filter-bar/models/filter-bar-filter-single-selection.model.mjs +2 -0
- package/esm2022/lib/filter-bar/models/filter-bar-filter.model.mjs +1 -1
- package/esm2022/lib/terminology/components/terminology-panel/terminology-panel.component.mjs +6 -3
- package/esm2022/lib/terminology/terminology.component.mjs +6 -3
- package/fesm2022/tilde-nlp-ngx-common.mjs +45 -7
- package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -1
- package/lib/filter-bar/filter-bar.component.d.ts +6 -1
- package/lib/filter-bar/models/filter-bar-filter-search.model.d.ts +9 -0
- package/lib/filter-bar/models/filter-bar-filter-single-selection.model.d.ts +13 -0
- package/lib/filter-bar/models/filter-bar-filter.model.d.ts +14 -1
- package/lib/terminology/components/terminology-panel/terminology-panel.component.d.ts +2 -1
- package/lib/terminology/terminology.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output, ViewChild, ViewChildren } from '@angular/core';
|
|
2
2
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@ngx-translate/core";
|
|
@@ -85,6 +85,35 @@ export class FilterBarComponent {
|
|
|
85
85
|
ngOnDestroy() {
|
|
86
86
|
this.formChangesSubscription.unsubscribe();
|
|
87
87
|
}
|
|
88
|
+
focusOptionSearchInput(filter, select, index) {
|
|
89
|
+
if (!filter.search?.placeholder) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
setTimeout(() => {
|
|
93
|
+
this.optionSearchInputs.find((_item, i) => i === index)?.nativeElement.focus();
|
|
94
|
+
}, 300);
|
|
95
|
+
if (filter.maxPanelWidth === '' && filter.search.placeholder) {
|
|
96
|
+
this.setMaxPanelWidth(filter, select);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
filterOptions(event, filter) {
|
|
100
|
+
const target = event.target;
|
|
101
|
+
this.settings.filters?.map((item) => {
|
|
102
|
+
if (item.fieldName === filter.fieldName && item.search) {
|
|
103
|
+
item.search.filteredValues = filter.values.filter((value) => (item.translated ? value.key : this.translate.instant(value.key)).toLowerCase().includes(target.value));
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
setMaxPanelWidth(filter, select) {
|
|
108
|
+
const openedMenuOptionWidth = document.querySelector('.filter-option')?.clientWidth;
|
|
109
|
+
const filterObj = this.settings.filters?.find((item) => item.fieldName === filter.fieldName);
|
|
110
|
+
filterObj.maxPanelWidth = openedMenuOptionWidth;
|
|
111
|
+
// select should be rerendered to get maxPanelWith applied
|
|
112
|
+
select.toggle();
|
|
113
|
+
setTimeout(() => {
|
|
114
|
+
select.toggle();
|
|
115
|
+
});
|
|
116
|
+
}
|
|
88
117
|
emitFilters() {
|
|
89
118
|
this.filterBarChange.next(this.filters);
|
|
90
119
|
}
|
|
@@ -129,14 +158,17 @@ export class FilterBarComponent {
|
|
|
129
158
|
});
|
|
130
159
|
}
|
|
131
160
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterBarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
132
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterBarComponent, selector: "tld-filter-bar", inputs: { settings: "settings", filterRowVisible: "filterRowVisible" }, outputs: { filterBarChange: "filterBarChange" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "filterWrapper", first: true, predicate: ["filterWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"filter-row\" *ngIf=\"filterRowVisible\">\r\n <div fxLayout=\"row\" class=\"filter-wrapper\" #filterWrapper [formGroup]=\"form\">\r\n <mat-form-field fxFlex *ngIf=\"showSearch && !filterOverflow || activeFilterIndex === searchIndex\" class=\"filter-bar-search-input\">\r\n <span matPrefix class=\"material-icons-outlined\">\r\n {{prefixIcon}}\r\n </span>\r\n <span matSuffix class=\"material-icons-outlined\" *ngIf=\"showSuffixIcon\" [matTooltip]=\"searchTooltip | translate\">\r\n {{suffixIcon}}\r\n </span>\r\n <input class=\"search-input\" matInput [placeholder]=\"searchTitle | translate\"\r\n [formControlName]=\"inputFormControlName\">\r\n </mat-form-field>\r\n <ng-container [formGroup]=\"filterFormGroup\">\r\n\r\n <mat-form-field [ngClass]=\"{'hidden': filterOverflow && activeFilterIndex !== i, 'engine-filter': !filterOverflow}\" *ngFor=\"let filter of settings?.filters; let i = index\">\r\n <mat-label>{{filter.title | translate}}</mat-label>\r\n <mat-select multiple [formControlName]=\"filter.fieldName\">\r\n <ng-container *ngIf=\"filter.values.length\">\r\n <ng-container *ngIf=\"filter.translated; else sortedValuesByProperty\">\r\n <mat-option *ngFor=\"let value of filter.values | sortAlphabetically:'key'\" [value]=\"value\">\r\n {{ value.key | titlecase }}\r\n </mat-option>\r\n </ng-container>\r\n \r\n <ng-template #sortedValuesByProperty>\r\n <mat-option *ngFor=\"let value of filter.values | sortTranslationsByProperty:'key':'value'\" [value]=\"value\">\r\n {{value.key | translate : {default: value.value | titlecase } }}\r\n </mat-option>\r\n </ng-template>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n <button mat-icon-button (click)=\"switchLeft()\" *ngIf=\"filterOverflow\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_back_ios\r\n </span>\r\n </button>\r\n <button mat-icon-button *ngIf=\"filterOverflow\" (click)=\"switchRight()\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_forward_ios\r\n </span>\r\n </button>\r\n</div>\r\n<mat-chip-listbox>\r\n <div *ngFor=\"let filter of settings?.filters\">\r\n <mat-chip-option *ngFor=\"let filterValue of filterFormGroupValue[filter.fieldName]; let ix=index\"\r\n (removed)=\"removeFilter(filter.fieldName, ix)\" class=\"text-s\">\r\n <button matChipRemove>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <span class=\"chip-filter-title\">{{filter.title | translate}}:</span>\r\n <span class=\"chip-value semi-bold\"> {{(filter.translated ? filterValue.key : filterValue.key | translate : {default: filterValue.value}) | titlecase\r\n }}</span>\r\n </mat-chip-option>\r\n </div>\r\n</mat-chip-listbox>\r\n", styles: [":host{display:inline-block}.filter-row{display:flex;background-color:var(--base-95);min-height:40px;min-width:100%;border-radius:.5rem;padding:1.25rem 1.25rem 0;max-width:100%;align-items:baseline;margin-bottom:.5rem}.search-input{background-color:unset;border:none}.engine-filter{margin-left:1rem}.filter-bar-search-input{width:100%}.filter-bar-search-input::ng-deep .material-icons-outlined{vertical-align:bottom}.material-icons-outlined{color:var(--base-40)}.filter-wrapper{max-width:100%;overflow-x:hidden;overflow-y:hidden;display:flex;flex:1}.mat-mdc-chip.mat-mdc-standard-chip{background-color:var(--base-95);padding-left:.5em;padding-right:.75em;border:.5px solid var(--base-70)}.mat-mdc-chip.mat-mdc-standard-chip span{display:inline-block}.mat-mdc-chip.mat-mdc-standard-chip .chip-filter-title+.chip-value{margin-left:.25rem}.chip-filter-title{margin-left:.5em}.hidden{display:none}:host ::ng-deep .mat-mdc-form-field-focus-overlay,:host ::ng-deep .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--base-95)}:host ::ng-deep .mat-mdc-chip-graphic{display:none}:host ::ng-deep .mat-mdc-chip-remove{color:var(--base-40)!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i6.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i12.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i12.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i12.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i14.SortTranslationsByPropertyPipe, name: "sortTranslationsByProperty" }, { kind: "pipe", type: i15.SortAlphabeticallyPipe, name: "sortAlphabetically" }] }); }
|
|
161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterBarComponent, selector: "tld-filter-bar", inputs: { settings: "settings", filterRowVisible: "filterRowVisible" }, outputs: { filterBarChange: "filterBarChange" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "filterWrapper", first: true, predicate: ["filterWrapper"], descendants: true }, { propertyName: "optionSearchInputs", predicate: ["optionSearchInput"], descendants: true }], ngImport: i0, template: "<div class=\"filter-row\" *ngIf=\"filterRowVisible\">\r\n <div fxLayout=\"row\" class=\"filter-wrapper\" #filterWrapper [formGroup]=\"form\">\r\n <mat-form-field fxFlex *ngIf=\"showSearch && !filterOverflow || activeFilterIndex === searchIndex\" class=\"filter-bar-search-input\">\r\n <span matPrefix class=\"material-icons-outlined\">\r\n {{prefixIcon}}\r\n </span>\r\n <span matSuffix class=\"material-icons-outlined\" *ngIf=\"showSuffixIcon\" [matTooltip]=\"searchTooltip | translate\">\r\n {{suffixIcon}}\r\n </span>\r\n <input class=\"search-input\" matInput [placeholder]=\"searchTitle | translate\"\r\n [formControlName]=\"inputFormControlName\">\r\n </mat-form-field>\r\n <ng-container [formGroup]=\"filterFormGroup\">\r\n\r\n <mat-form-field [ngClass]=\"{'hidden': filterOverflow && activeFilterIndex !== i, 'engine-filter': !filterOverflow}\" *ngFor=\"let filter of settings?.filters; let i = index\">\r\n <mat-label>{{filter.title | translate}}</mat-label>\r\n <mat-select #select multiple [panelWidth]=\"filter?.maxPanelWidth ?? 'auto'\" [formControlName]=\"filter.fieldName\" (openedChange)=\"$event === true ? focusOptionSearchInput(filter, select, i) : null\">\r\n <ng-container *ngIf=\"filter?.search?.placeholder\">\r\n <input #optionSearchInput class=\"option-search-input\" type=\"text\" [placeholder]=\"filter.search?.placeholder ?? '' | translate\" (keyup)=\"filterOptions($event, filter)\" (keydown)=\"$event.stopPropagation()\">\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"filter.values.length\">\r\n <ng-container *ngIf=\"filter.translated; else sortedValuesByProperty\">\r\n <mat-option class=\"filter-option\" *ngFor=\"let value of (filter.search?.filteredValues ?? filter.values) | sortAlphabetically:'key'\" [disabled]=\"filter.singleSelection?.selected && filter.singleSelection?.value !== value.value\" [value]=\"value\">\r\n {{ filter.disableTitleCase ? value.key : (value.key | titlecase) }}\r\n </mat-option>\r\n </ng-container>\r\n \r\n <ng-template #sortedValuesByProperty>\r\n <mat-option class=\"filter-option\" *ngFor=\"let value of (filter.search?.filteredValues ?? filter.values) | sortTranslationsByProperty:'key':'value'\" [disabled]=\"filter.singleSelection?.selected && filter.singleSelection?.value !== value.value\" [value]=\"value\">\r\n <ng-container *ngIf=\"!filter.disableTitleCase; else defaultCase\">\r\n {{ value.key | translate : { default: value.value | titlecase } }}\r\n </ng-container>\r\n\r\n <ng-template #defaultCase>\r\n {{ value.key | translate : { default: value.value } }} \r\n </ng-template>\r\n </mat-option>\r\n </ng-template>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n <button mat-icon-button (click)=\"switchLeft()\" *ngIf=\"filterOverflow\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_back_ios\r\n </span>\r\n </button>\r\n <button mat-icon-button *ngIf=\"filterOverflow\" (click)=\"switchRight()\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_forward_ios\r\n </span>\r\n </button>\r\n</div>\r\n<mat-chip-listbox>\r\n <div *ngFor=\"let filter of settings?.filters\">\r\n <mat-chip-option *ngFor=\"let filterValue of filterFormGroupValue[filter.fieldName]; let ix=index\"\r\n (removed)=\"removeFilter(filter.fieldName, ix)\" class=\"text-s\">\r\n <button matChipRemove>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <span class=\"chip-filter-title\">{{filter.title | translate}}:</span>\r\n <span class=\"chip-value semi-bold\"> {{(filter.translated ? filterValue.key : filterValue.key | translate : {default: filterValue.value}) | titlecase\r\n }}</span>\r\n </mat-chip-option>\r\n </div>\r\n</mat-chip-listbox>\r\n", styles: [":host{display:inline-block}.filter-row{display:flex;background-color:var(--base-95);min-height:40px;min-width:100%;border-radius:.5rem;padding:1.25rem 1.25rem 0;max-width:100%;align-items:baseline;margin-bottom:.5rem}.option-search-input{padding:1rem;width:100%}.search-input{background-color:unset;border:none}.engine-filter{margin-left:1rem}.filter-bar-search-input{width:100%}.filter-bar-search-input::ng-deep .material-icons-outlined{vertical-align:bottom}.material-icons-outlined{color:var(--base-40)}.filter-wrapper{max-width:100%;overflow-x:hidden;overflow-y:hidden;display:flex;flex:1}.mat-mdc-chip.mat-mdc-standard-chip{background-color:var(--base-95);padding-left:.5em;padding-right:.75em;border:.5px solid var(--base-70)}.mat-mdc-chip.mat-mdc-standard-chip span{display:inline-block}.mat-mdc-chip.mat-mdc-standard-chip .chip-filter-title+.chip-value{margin-left:.25rem}.chip-filter-title{margin-left:.5em}.hidden{display:none}:host ::ng-deep .mat-mdc-form-field-focus-overlay,:host ::ng-deep .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--base-95)}:host ::ng-deep .mat-mdc-chip-graphic{display:none}:host ::ng-deep .mat-mdc-chip-remove{color:var(--base-40)!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i6.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i12.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i12.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i12.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i14.SortTranslationsByPropertyPipe, name: "sortTranslationsByProperty" }, { kind: "pipe", type: i15.SortAlphabeticallyPipe, name: "sortAlphabetically" }] }); }
|
|
133
162
|
}
|
|
134
163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterBarComponent, decorators: [{
|
|
135
164
|
type: Component,
|
|
136
|
-
args: [{ selector: 'tld-filter-bar', template: "<div class=\"filter-row\" *ngIf=\"filterRowVisible\">\r\n <div fxLayout=\"row\" class=\"filter-wrapper\" #filterWrapper [formGroup]=\"form\">\r\n <mat-form-field fxFlex *ngIf=\"showSearch && !filterOverflow || activeFilterIndex === searchIndex\" class=\"filter-bar-search-input\">\r\n <span matPrefix class=\"material-icons-outlined\">\r\n {{prefixIcon}}\r\n </span>\r\n <span matSuffix class=\"material-icons-outlined\" *ngIf=\"showSuffixIcon\" [matTooltip]=\"searchTooltip | translate\">\r\n {{suffixIcon}}\r\n </span>\r\n <input class=\"search-input\" matInput [placeholder]=\"searchTitle | translate\"\r\n [formControlName]=\"inputFormControlName\">\r\n </mat-form-field>\r\n <ng-container [formGroup]=\"filterFormGroup\">\r\n\r\n <mat-form-field [ngClass]=\"{'hidden': filterOverflow && activeFilterIndex !== i, 'engine-filter': !filterOverflow}\" *ngFor=\"let filter of settings?.filters; let i = index\">\r\n <mat-label>{{filter.title | translate}}</mat-label>\r\n <mat-select multiple [formControlName]=\"filter.fieldName\">\r\n <ng-container *ngIf=\"filter.values.length\">\r\n <ng-container *ngIf=\"filter.translated; else sortedValuesByProperty\">\r\n <mat-option *ngFor=\"let value of filter.values | sortAlphabetically:'key'\" [value]=\"value\">\r\n {{ value.key | titlecase }}\r\n </mat-option>\r\n </ng-container>\r\n \r\n <ng-template #sortedValuesByProperty>\r\n <mat-option *ngFor=\"let value of filter.values | sortTranslationsByProperty:'key':'value'\" [value]=\"value\">\r\n {{value.key | translate : {default: value.value | titlecase } }}\r\n </mat-option>\r\n </ng-template>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n <button mat-icon-button (click)=\"switchLeft()\" *ngIf=\"filterOverflow\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_back_ios\r\n </span>\r\n </button>\r\n <button mat-icon-button *ngIf=\"filterOverflow\" (click)=\"switchRight()\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_forward_ios\r\n </span>\r\n </button>\r\n</div>\r\n<mat-chip-listbox>\r\n <div *ngFor=\"let filter of settings?.filters\">\r\n <mat-chip-option *ngFor=\"let filterValue of filterFormGroupValue[filter.fieldName]; let ix=index\"\r\n (removed)=\"removeFilter(filter.fieldName, ix)\" class=\"text-s\">\r\n <button matChipRemove>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <span class=\"chip-filter-title\">{{filter.title | translate}}:</span>\r\n <span class=\"chip-value semi-bold\"> {{(filter.translated ? filterValue.key : filterValue.key | translate : {default: filterValue.value}) | titlecase\r\n }}</span>\r\n </mat-chip-option>\r\n </div>\r\n</mat-chip-listbox>\r\n", styles: [":host{display:inline-block}.filter-row{display:flex;background-color:var(--base-95);min-height:40px;min-width:100%;border-radius:.5rem;padding:1.25rem 1.25rem 0;max-width:100%;align-items:baseline;margin-bottom:.5rem}.search-input{background-color:unset;border:none}.engine-filter{margin-left:1rem}.filter-bar-search-input{width:100%}.filter-bar-search-input::ng-deep .material-icons-outlined{vertical-align:bottom}.material-icons-outlined{color:var(--base-40)}.filter-wrapper{max-width:100%;overflow-x:hidden;overflow-y:hidden;display:flex;flex:1}.mat-mdc-chip.mat-mdc-standard-chip{background-color:var(--base-95);padding-left:.5em;padding-right:.75em;border:.5px solid var(--base-70)}.mat-mdc-chip.mat-mdc-standard-chip span{display:inline-block}.mat-mdc-chip.mat-mdc-standard-chip .chip-filter-title+.chip-value{margin-left:.25rem}.chip-filter-title{margin-left:.5em}.hidden{display:none}:host ::ng-deep .mat-mdc-form-field-focus-overlay,:host ::ng-deep .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--base-95)}:host ::ng-deep .mat-mdc-chip-graphic{display:none}:host ::ng-deep .mat-mdc-chip-remove{color:var(--base-40)!important}\n"] }]
|
|
165
|
+
args: [{ selector: 'tld-filter-bar', template: "<div class=\"filter-row\" *ngIf=\"filterRowVisible\">\r\n <div fxLayout=\"row\" class=\"filter-wrapper\" #filterWrapper [formGroup]=\"form\">\r\n <mat-form-field fxFlex *ngIf=\"showSearch && !filterOverflow || activeFilterIndex === searchIndex\" class=\"filter-bar-search-input\">\r\n <span matPrefix class=\"material-icons-outlined\">\r\n {{prefixIcon}}\r\n </span>\r\n <span matSuffix class=\"material-icons-outlined\" *ngIf=\"showSuffixIcon\" [matTooltip]=\"searchTooltip | translate\">\r\n {{suffixIcon}}\r\n </span>\r\n <input class=\"search-input\" matInput [placeholder]=\"searchTitle | translate\"\r\n [formControlName]=\"inputFormControlName\">\r\n </mat-form-field>\r\n <ng-container [formGroup]=\"filterFormGroup\">\r\n\r\n <mat-form-field [ngClass]=\"{'hidden': filterOverflow && activeFilterIndex !== i, 'engine-filter': !filterOverflow}\" *ngFor=\"let filter of settings?.filters; let i = index\">\r\n <mat-label>{{filter.title | translate}}</mat-label>\r\n <mat-select #select multiple [panelWidth]=\"filter?.maxPanelWidth ?? 'auto'\" [formControlName]=\"filter.fieldName\" (openedChange)=\"$event === true ? focusOptionSearchInput(filter, select, i) : null\">\r\n <ng-container *ngIf=\"filter?.search?.placeholder\">\r\n <input #optionSearchInput class=\"option-search-input\" type=\"text\" [placeholder]=\"filter.search?.placeholder ?? '' | translate\" (keyup)=\"filterOptions($event, filter)\" (keydown)=\"$event.stopPropagation()\">\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"filter.values.length\">\r\n <ng-container *ngIf=\"filter.translated; else sortedValuesByProperty\">\r\n <mat-option class=\"filter-option\" *ngFor=\"let value of (filter.search?.filteredValues ?? filter.values) | sortAlphabetically:'key'\" [disabled]=\"filter.singleSelection?.selected && filter.singleSelection?.value !== value.value\" [value]=\"value\">\r\n {{ filter.disableTitleCase ? value.key : (value.key | titlecase) }}\r\n </mat-option>\r\n </ng-container>\r\n \r\n <ng-template #sortedValuesByProperty>\r\n <mat-option class=\"filter-option\" *ngFor=\"let value of (filter.search?.filteredValues ?? filter.values) | sortTranslationsByProperty:'key':'value'\" [disabled]=\"filter.singleSelection?.selected && filter.singleSelection?.value !== value.value\" [value]=\"value\">\r\n <ng-container *ngIf=\"!filter.disableTitleCase; else defaultCase\">\r\n {{ value.key | translate : { default: value.value | titlecase } }}\r\n </ng-container>\r\n\r\n <ng-template #defaultCase>\r\n {{ value.key | translate : { default: value.value } }} \r\n </ng-template>\r\n </mat-option>\r\n </ng-template>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n <button mat-icon-button (click)=\"switchLeft()\" *ngIf=\"filterOverflow\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_back_ios\r\n </span>\r\n </button>\r\n <button mat-icon-button *ngIf=\"filterOverflow\" (click)=\"switchRight()\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_forward_ios\r\n </span>\r\n </button>\r\n</div>\r\n<mat-chip-listbox>\r\n <div *ngFor=\"let filter of settings?.filters\">\r\n <mat-chip-option *ngFor=\"let filterValue of filterFormGroupValue[filter.fieldName]; let ix=index\"\r\n (removed)=\"removeFilter(filter.fieldName, ix)\" class=\"text-s\">\r\n <button matChipRemove>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <span class=\"chip-filter-title\">{{filter.title | translate}}:</span>\r\n <span class=\"chip-value semi-bold\"> {{(filter.translated ? filterValue.key : filterValue.key | translate : {default: filterValue.value}) | titlecase\r\n }}</span>\r\n </mat-chip-option>\r\n </div>\r\n</mat-chip-listbox>\r\n", styles: [":host{display:inline-block}.filter-row{display:flex;background-color:var(--base-95);min-height:40px;min-width:100%;border-radius:.5rem;padding:1.25rem 1.25rem 0;max-width:100%;align-items:baseline;margin-bottom:.5rem}.option-search-input{padding:1rem;width:100%}.search-input{background-color:unset;border:none}.engine-filter{margin-left:1rem}.filter-bar-search-input{width:100%}.filter-bar-search-input::ng-deep .material-icons-outlined{vertical-align:bottom}.material-icons-outlined{color:var(--base-40)}.filter-wrapper{max-width:100%;overflow-x:hidden;overflow-y:hidden;display:flex;flex:1}.mat-mdc-chip.mat-mdc-standard-chip{background-color:var(--base-95);padding-left:.5em;padding-right:.75em;border:.5px solid var(--base-70)}.mat-mdc-chip.mat-mdc-standard-chip span{display:inline-block}.mat-mdc-chip.mat-mdc-standard-chip .chip-filter-title+.chip-value{margin-left:.25rem}.chip-filter-title{margin-left:.5em}.hidden{display:none}:host ::ng-deep .mat-mdc-form-field-focus-overlay,:host ::ng-deep .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--base-95)}:host ::ng-deep .mat-mdc-chip-graphic{display:none}:host ::ng-deep .mat-mdc-chip-remove{color:var(--base-40)!important}\n"] }]
|
|
137
166
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }]; }, propDecorators: { filterWrapper: [{
|
|
138
167
|
type: ViewChild,
|
|
139
168
|
args: ["filterWrapper"]
|
|
169
|
+
}], optionSearchInputs: [{
|
|
170
|
+
type: ViewChildren,
|
|
171
|
+
args: ['optionSearchInput']
|
|
140
172
|
}], onResize: [{
|
|
141
173
|
type: HostListener,
|
|
142
174
|
args: ['window:resize', []]
|
|
@@ -147,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
147
179
|
}], filterBarChange: [{
|
|
148
180
|
type: Output
|
|
149
181
|
}] } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsdGVyLWJhci9maWx0ZXItYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9maWx0ZXItYmFyL2ZpbHRlci1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakssT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFheEQsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxJQUFhLGdCQUFnQixDQUFDLEtBQWM7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBZ0NELG1DQUFtQztJQUNuQyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFDRCwyRUFBMkU7SUFDM0UsSUFBSSxnQkFBZ0IsS0FBSyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDekQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEs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SUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFlLENBQUMsU0FBUyxDQUEwQixDQUFDO2dCQUMzRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO2FBQ3pHO1lBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0E3SVUsa0JBQWtCO21HQUFsQixrQkFBa0IsdVZDZC9CLDQ2RkEwREE7OzRGRDVDYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBRUUsZ0JBQWdCO3VJQUtFLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFFMUIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUt4QixRQUFRO3NCQUFoQixLQUFLO2dCQUNPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFNSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZpbHRlckJhckZpbHRlckl0ZW0gfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IEZpbHRlckJhckNoYW5nZUV2ZW50IH0gZnJvbSAnLi9tb2RlbHMvZmlsdGVyLWJhci1jaGFuZ2UtZXZlbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJCYXJTZXR0aW5ncyB9IGZyb20gJy4vbW9kZWxzL2ZpbHRlci1iYXItc2V0dGluZ3MubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAndGxkLWZpbHRlci1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItYmFyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlckJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKFwiZmlsdGVyV3JhcHBlclwiKSBmaWx0ZXJXcmFwcGVyITogRWxlbWVudFJlZjtcclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgW10pXHJcbiAgb25SZXNpemUoKSB7XHJcbiAgICB0aGlzLmNoZWNrT3ZlcmZsb3coKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldHRpbmdzITogRmlsdGVyQmFyU2V0dGluZ3M7XHJcbiAgQElucHV0KCkgc2V0IGZpbHRlclJvd1Zpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2ZpbHRlclJvd1Zpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMuY2RyZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5jaGVja092ZXJmbG93KCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgZmlsdGVyQmFyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RmlsdGVyQmFyQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJCYXJDaGFuZ2VFdmVudD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfaW5wdXRUZXh0ID0gXCJcIjtcclxuICBwcml2YXRlIF9maWx0ZXJSb3dWaXNpYmxlITogYm9vbGVhbjtcclxuICBwcml2YXRlIGZvcm1DaGFuZ2VzU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvKiogVG8gaGlkZSBmaWx0ZXJzLCBidXQgbGVhdmUgY2hpcHMgdmlzaWJsZSAqL1xyXG4gIHJlYWRvbmx5IGlucHV0Rm9ybUNvbnRyb2xOYW1lID0gXCJpbnB1dFwiO1xyXG4gIHJlYWRvbmx5IGZpbHRlckZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIFt0aGlzLmlucHV0Rm9ybUNvbnRyb2xOYW1lXTogbmV3IEZvcm1Db250cm9sKFwiXCIpLFxyXG4gICAgZmlsdGVyczogdGhpcy5maWx0ZXJGb3JtR3JvdXBcclxuICB9KTtcclxuXHJcbiAgc2VhcmNoVGl0bGUhOiBzdHJpbmc7XHJcbiAgc2VhcmNoVG9vbHRpcCE6IHN0cmluZztcclxuICBzdWZmaXhJY29uITogc3RyaW5nO1xyXG4gIHByZWZpeEljb24hOiBzdHJpbmc7XHJcbiAgc2hvd1N1ZmZpeEljb24hOiBib29sZWFuO1xyXG4gIGZpbHRlcnM6IEZpbHRlckJhckNoYW5nZUV2ZW50ID0ge1xyXG4gICAgZmlsdGVyczoge30sXHJcbiAgICBpbnB1dDogXCJcIlxyXG4gIH07XHJcblxyXG4gIGZpbHRlck92ZXJmbG93ID0gZmFsc2U7XHJcbiAgYWN0aXZlRmlsdGVySW5kZXggPSAwO1xyXG5cclxuICAvLyB3aGVuIHRvIHNob3cgZmlsdGVyIGJ5IG5hbWUgb3IgaWQgb24gbW9iaWxlXHJcbiAgc2VhcmNoSW5kZXggPSAtMTtcclxuXHJcbiAgLy8gZ2V0dGVyIGZvciBjbGVhbmVyIHRlbXBsYXRlIGh0bWxcclxuICBnZXQgZmlsdGVyRm9ybUdyb3VwVmFsdWUoKTogeyBba2V5OiBzdHJpbmddOiBGaWx0ZXJCYXJGaWx0ZXJJdGVtW10gfSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWU7XHJcbiAgfVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYWRqYWNlbnQtb3ZlcmxvYWQtc2lnbmF0dXJlc1xyXG4gIGdldCBmaWx0ZXJSb3dWaXNpYmxlKCkgeyByZXR1cm4gdGhpcy5fZmlsdGVyUm93VmlzaWJsZTsgfVxyXG4gIGdldCBpbnB1dFRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5wdXRUZXh0O1xyXG4gIH1cclxuICBnZXQgc2hvd1NlYXJjaCgpIHtcclxuICAgIHJldHVybiAhdGhpcy5zZXR0aW5ncz8uaGlkZVNlYXJjaDtcclxuICB9XHJcbiAgZ2V0IG91dHB1dEZpbHRlcktleUFuZFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3M/Lm91dHB1dEZpbHRlcktleUFuZFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9hZGphY2VudC1vdmVybG9hZC1zaWduYXR1cmVzXHJcbiAgc2V0IGlucHV0VGV4dCh2YWx1ZSkge1xyXG4gICAgdGhpcy5faW5wdXRUZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlcnMuaW5wdXQgPSB0aGlzLl9pbnB1dFRleHQ7XHJcbiAgICB0aGlzLmVtaXRGaWx0ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0dGluZ3MuZmlsdGVycz8uZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuYWRkQ29udHJvbChmaWVsZC5maWVsZE5hbWUsIG5ldyBGb3JtQ29udHJvbChbXSkpO1xyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnN1YnNjcmliZVRvRm9ybVZhbHVlQ2hhbmdlcygpO1xyXG4gICAgdGhpcy5zZWFyY2hUb29sdGlwID0gdGhpcy5zZXR0aW5ncz8uc2VhcmNoVG9vbHRpcCA/PyAnRklMVEVSX0JBUi5TRUFSQ0hfVE9PTFRJUCc7XHJcbiAgICB0aGlzLnNlYXJjaFRpdGxlID0gdGhpcy5zZXR0aW5ncz8uc2VhcmNoVGl0bGUgPz8gJ0ZJTFRFUl9CQVIuU0VBUkNIJztcclxuICAgIHRoaXMucHJlZml4SWNvbiA9IHRoaXMuc2V0dGluZ3M/LnByZWZpeEljb24gPz8gXCJmaWx0ZXJfYWx0XCI7XHJcbiAgICB0aGlzLnN1ZmZpeEljb24gPSB0aGlzLnNldHRpbmdzPy5zdWZmaXhJY29uID8/IFwicXVlc3Rpb25fbWFya1wiO1xyXG4gICAgdGhpcy5zaG93U3VmZml4SWNvbiA9IHRoaXMuc2V0dGluZ3M/LnNob3dTdWZmaXhJY29uID8/IHRydWU7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoZWNrT3ZlcmZsb3coKTtcclxuICAgIHRoaXMuY2RyZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1DaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBlbWl0RmlsdGVycygpIHtcclxuICAgIHRoaXMuZmlsdGVyQmFyQ2hhbmdlLm5leHQodGhpcy5maWx0ZXJzKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaFJpZ2h0KCkge1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3M/LmZpbHRlcnMgJiYgdGhpcy5zZXR0aW5ncz8uZmlsdGVycy5sZW5ndGggPT09IHRoaXMuYWN0aXZlRmlsdGVySW5kZXggKyAxKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZlRmlsdGVySW5kZXggKz0gMTtcclxuICB9XHJcblxyXG4gIHN3aXRjaExlZnQoKSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVGaWx0ZXJJbmRleCA9PT0gdGhpcy5zZWFyY2hJbmRleCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2ZUZpbHRlckluZGV4IC09IDE7XHJcbiAgfVxyXG5cclxuICByZW1vdmVGaWx0ZXIoa2V5OiBzdHJpbmcsIGl4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoa2V5KTtcclxuXHJcbiAgICBpZiAoIWNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5ld0FycmF5ID0gY29udHJvbC52YWx1ZSBhcyBbXTtcclxuICAgIG5ld0FycmF5LnNwbGljZShpeCwgMSk7XHJcbiAgICBjb250cm9sLnNldFZhbHVlKG5ld0FycmF5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tPdmVyZmxvdygpIHtcclxuICAgIGlmICh0aGlzLmZpbHRlcldyYXBwZXIpIHtcclxuICAgICAgdGhpcy5maWx0ZXJPdmVyZmxvdyA9IHRoaXMuZmlsdGVyV3JhcHBlci5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIDwgdGhpcy5maWx0ZXJXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvRm9ybVZhbHVlQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuZm9ybUNoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHtcclxuICAgICAgICBpbnB1dDogdGhpcy5mb3JtLnZhbHVlLmlucHV0ID8/IFwiXCIsXHJcbiAgICAgICAgZmlsdGVyczoge31cclxuICAgICAgfTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgZmlsdGVyS2V5IGluIHRoaXMuZm9ybS52YWx1ZS5maWx0ZXJzKSB7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBjb25zdCBmaWx0ZXI6IEZpbHRlckJhckZpbHRlckl0ZW1bXSA9ICh0aGlzLmZvcm0udmFsdWUuZmlsdGVycyBhcyBhbnkpW2ZpbHRlcktleV0gYXMgRmlsdGVyQmFyRmlsdGVySXRlbVtdO1xyXG4gICAgICAgIHRoaXMuZmlsdGVycy5maWx0ZXJzW2ZpbHRlcktleV0gPSBmaWx0ZXIubWFwKChpdGVtKSA9PiB0aGlzLm91dHB1dEZpbHRlcktleUFuZFZhbHVlID8gaXRlbSA6IGl0ZW0udmFsdWUpXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5lbWl0RmlsdGVycygpO1xyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1yb3dcIiAqbmdJZj1cImZpbHRlclJvd1Zpc2libGVcIj5cclxuICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJmaWx0ZXItd3JhcHBlclwiICNmaWx0ZXJXcmFwcGVyIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleCAqbmdJZj1cInNob3dTZWFyY2ggJiYgIWZpbHRlck92ZXJmbG93IHx8IGFjdGl2ZUZpbHRlckluZGV4ID09PSBzZWFyY2hJbmRleFwiIGNsYXNzPVwiZmlsdGVyLWJhci1zZWFyY2gtaW5wdXRcIj5cclxuICAgICAgPHNwYW4gbWF0UHJlZml4IGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cclxuICAgICAgICB7e3ByZWZpeEljb259fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuIG1hdFN1ZmZpeCBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCIgKm5nSWY9XCJzaG93U3VmZml4SWNvblwiIFttYXRUb29sdGlwXT1cInNlYXJjaFRvb2x0aXAgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICB7e3N1ZmZpeEljb259fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxpbnB1dCBjbGFzcz1cInNlYXJjaC1pbnB1dFwiIG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCJzZWFyY2hUaXRsZSB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dEZvcm1Db250cm9sTmFtZVwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtR3JvdXBcIj5cclxuXHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBbbmdDbGFzc109XCJ7J2hpZGRlbic6IGZpbHRlck92ZXJmbG93ICYmIGFjdGl2ZUZpbHRlckluZGV4ICE9PSBpLCAnZW5naW5lLWZpbHRlcic6ICFmaWx0ZXJPdmVyZmxvd31cIiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIHNldHRpbmdzPy5maWx0ZXJzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57e2ZpbHRlci50aXRsZSB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgbXVsdGlwbGUgW2Zvcm1Db250cm9sTmFtZV09XCJmaWx0ZXIuZmllbGROYW1lXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyLnZhbHVlcy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlci50cmFuc2xhdGVkOyBlbHNlIHNvcnRlZFZhbHVlc0J5UHJvcGVydHlcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgZmlsdGVyLnZhbHVlcyB8IHNvcnRBbHBoYWJldGljYWxseTona2V5J1wiIFt2YWx1ZV09XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgdmFsdWUua2V5IHwgdGl0bGVjYXNlIH19XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc29ydGVkVmFsdWVzQnlQcm9wZXJ0eT5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgZmlsdGVyLnZhbHVlcyB8IHNvcnRUcmFuc2xhdGlvbnNCeVByb3BlcnR5OidrZXknOid2YWx1ZSdcIiBbdmFsdWVdPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIHt7dmFsdWUua2V5IHwgdHJhbnNsYXRlIDoge2RlZmF1bHQ6IHZhbHVlLnZhbHVlIHwgdGl0bGVjYXNlIH0gfX1cclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic3dpdGNoTGVmdCgpXCIgKm5nSWY9XCJmaWx0ZXJPdmVyZmxvd1wiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPlxyXG4gICAgICBhcnJvd19iYWNrX2lvc1xyXG4gICAgPC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiZmlsdGVyT3ZlcmZsb3dcIiAoY2xpY2spPVwic3dpdGNoUmlnaHQoKVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPlxyXG4gICAgICBhcnJvd19mb3J3YXJkX2lvc1xyXG4gICAgPC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuPG1hdC1jaGlwLWxpc3Rib3g+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIHNldHRpbmdzPy5maWx0ZXJzXCI+XHJcbiAgICA8bWF0LWNoaXAtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXJWYWx1ZSBvZiBmaWx0ZXJGb3JtR3JvdXBWYWx1ZVtmaWx0ZXIuZmllbGROYW1lXTsgbGV0IGl4PWluZGV4XCJcclxuICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlRmlsdGVyKGZpbHRlci5maWVsZE5hbWUsIGl4KVwiIGNsYXNzPVwidGV4dC1zXCI+XHJcbiAgICAgIDxidXR0b24gbWF0Q2hpcFJlbW92ZT5cclxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwLWZpbHRlci10aXRsZVwiPnt7ZmlsdGVyLnRpdGxlIHwgdHJhbnNsYXRlfX06PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImNoaXAtdmFsdWUgc2VtaS1ib2xkXCI+IHt7KGZpbHRlci50cmFuc2xhdGVkID8gZmlsdGVyVmFsdWUua2V5IDogZmlsdGVyVmFsdWUua2V5IHwgdHJhbnNsYXRlIDoge2RlZmF1bHQ6IGZpbHRlclZhbHVlLnZhbHVlfSkgfCB0aXRsZWNhc2VcclxuICAgICAgICB9fTwvc3Bhbj5cclxuICAgIDwvbWF0LWNoaXAtb3B0aW9uPlxyXG4gIDwvZGl2PlxyXG48L21hdC1jaGlwLWxpc3Rib3g+XHJcbiJdfQ==
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsdGVyLWJhci9maWx0ZXItYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9maWx0ZXItYmFyL2ZpbHRlci1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9LLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY3hELE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBR0QsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFjO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQWdDRCxtQ0FBbUM7SUFDbkMsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBQ0QsMkVBQTJFO0lBQzNFLElBQUksZ0JBQWdCLEtBQUssT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ3pELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxDQUFDLElBQUks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O2dCQUVqQyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUU7Z0JBS3hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQU1JLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJCYXJGaWx0ZXIsIEZpbHRlckJhckZpbHRlckl0ZW0gfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IEZpbHRlckJhckNoYW5nZUV2ZW50IH0gZnJvbSAnLi9tb2RlbHMvZmlsdGVyLWJhci1jaGFuZ2UtZXZlbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJCYXJTZXR0aW5ncyB9IGZyb20gJy4vbW9kZWxzL2ZpbHRlci1iYXItc2V0dGluZ3MubW9kZWwnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAndGxkLWZpbHRlci1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItYmFyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlckJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKFwiZmlsdGVyV3JhcHBlclwiKSBmaWx0ZXJXcmFwcGVyITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkcmVuKCdvcHRpb25TZWFyY2hJbnB1dCcpIG9wdGlvblNlYXJjaElucHV0cyE6IEVsZW1lbnRSZWY8TWF0U2VsZWN0PltdO1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIHRoaXMuY2hlY2tPdmVyZmxvdygpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0dGluZ3MhOiBGaWx0ZXJCYXJTZXR0aW5ncztcclxuICBASW5wdXQoKSBzZXQgZmlsdGVyUm93VmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZmlsdGVyUm93VmlzaWJsZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZHJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmNoZWNrT3ZlcmZsb3coKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBmaWx0ZXJCYXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGaWx0ZXJCYXJDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlckJhckNoYW5nZUV2ZW50PigpO1xyXG5cclxuICBwcml2YXRlIF9pbnB1dFRleHQgPSBcIlwiO1xyXG4gIHByaXZhdGUgX2ZpbHRlclJvd1Zpc2libGUhOiBib29sZWFuO1xyXG4gIHByaXZhdGUgZm9ybUNoYW5nZXNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKiBUbyBoaWRlIGZpbHRlcnMsIGJ1dCBsZWF2ZSBjaGlwcyB2aXNpYmxlICovXHJcbiAgcmVhZG9ubHkgaW5wdXRGb3JtQ29udHJvbE5hbWUgPSBcImlucHV0XCI7XHJcbiAgcmVhZG9ubHkgZmlsdGVyRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgW3RoaXMuaW5wdXRGb3JtQ29udHJvbE5hbWVdOiBuZXcgRm9ybUNvbnRyb2woXCJcIiksXHJcbiAgICBmaWx0ZXJzOiB0aGlzLmZpbHRlckZvcm1Hcm91cFxyXG4gIH0pO1xyXG5cclxuICBzZWFyY2hUaXRsZSE6IHN0cmluZztcclxuICBzZWFyY2hUb29sdGlwITogc3RyaW5nO1xyXG4gIHN1ZmZpeEljb24hOiBzdHJpbmc7XHJcbiAgcHJlZml4SWNvbiE6IHN0cmluZztcclxuICBzaG93U3VmZml4SWNvbiE6IGJvb2xlYW47XHJcbiAgZmlsdGVyczogRmlsdGVyQmFyQ2hhbmdlRXZlbnQgPSB7XHJcbiAgICBmaWx0ZXJzOiB7fSxcclxuICAgIGlucHV0OiBcIlwiXHJcbiAgfTtcclxuXHJcbiAgZmlsdGVyT3ZlcmZsb3cgPSBmYWxzZTtcclxuICBhY3RpdmVGaWx0ZXJJbmRleCA9IDA7XHJcblxyXG4gIC8vIHdoZW4gdG8gc2hvdyBmaWx0ZXIgYnkgbmFtZSBvciBpZCBvbiBtb2JpbGVcclxuICBzZWFyY2hJbmRleCA9IC0xO1xyXG5cclxuICAvLyBnZXR0ZXIgZm9yIGNsZWFuZXIgdGVtcGxhdGUgaHRtbFxyXG4gIGdldCBmaWx0ZXJGb3JtR3JvdXBWYWx1ZSgpOiB7IFtrZXk6IHN0cmluZ106IEZpbHRlckJhckZpbHRlckl0ZW1bXSB9IHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZTtcclxuICB9XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9hZGphY2VudC1vdmVybG9hZC1zaWduYXR1cmVzXHJcbiAgZ2V0IGZpbHRlclJvd1Zpc2libGUoKSB7IHJldHVybiB0aGlzLl9maWx0ZXJSb3dWaXNpYmxlOyB9XHJcbiAgZ2V0IGlucHV0VGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9pbnB1dFRleHQ7XHJcbiAgfVxyXG4gIGdldCBzaG93U2VhcmNoKCkge1xyXG4gICAgcmV0dXJuICF0aGlzLnNldHRpbmdzPy5oaWRlU2VhcmNoO1xyXG4gIH1cclxuICBnZXQgb3V0cHV0RmlsdGVyS2V5QW5kVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncz8ub3V0cHV0RmlsdGVyS2V5QW5kVmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2FkamFjZW50LW92ZXJsb2FkLXNpZ25hdHVyZXNcclxuICBzZXQgaW5wdXRUZXh0KHZhbHVlKSB7XHJcbiAgICB0aGlzLl9pbnB1dFRleHQgPSB2YWx1ZTtcclxuICAgIHRoaXMuZmlsdGVycy5pbnB1dCA9IHRoaXMuX2lucHV0VGV4dDtcclxuICAgIHRoaXMuZW1pdEZpbHRlcnMoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXR0aW5ncy5maWx0ZXJzPy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5hZGRDb250cm9sKGZpZWxkLmZpZWxkTmFtZSwgbmV3IEZvcm1Db250cm9sKFtdKSk7XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaWJlVG9Gb3JtVmFsdWVDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnNlYXJjaFRvb2x0aXAgPSB0aGlzLnNldHRpbmdzPy5zZWFyY2hUb29sdGlwID8/ICdGSUxURVJfQkFSLlNFQVJDSF9UT09MVElQJztcclxuICAgIHRoaXMuc2VhcmNoVGl0bGUgPSB0aGlzLnNldHRpbmdzPy5zZWFyY2hUaXRsZSA/PyAnRklMVEVSX0JBUi5TRUFSQ0gnO1xyXG4gICAgdGhpcy5wcmVmaXhJY29uID0gdGhpcy5zZXR0aW5ncz8ucHJlZml4SWNvbiA/PyBcImZpbHRlcl9hbHRcIjtcclxuICAgIHRoaXMuc3VmZml4SWNvbiA9IHRoaXMuc2V0dGluZ3M/LnN1ZmZpeEljb24gPz8gXCJxdWVzdGlvbl9tYXJrXCI7XHJcbiAgICB0aGlzLnNob3dTdWZmaXhJY29uID0gdGhpcy5zZXR0aW5ncz8uc2hvd1N1ZmZpeEljb24gPz8gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hlY2tPdmVyZmxvdygpO1xyXG4gICAgdGhpcy5jZHJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNoYW5nZXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGZvY3VzT3B0aW9uU2VhcmNoSW5wdXQoZmlsdGVyOiBGaWx0ZXJCYXJGaWx0ZXIsIHNlbGVjdDogTWF0U2VsZWN0LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoIWZpbHRlci5zZWFyY2g/LnBsYWNlaG9sZGVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5vcHRpb25TZWFyY2hJbnB1dHMuZmluZCgoX2l0ZW0sIGkpID0+IGkgPT09IGluZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSwgMzAwKTtcclxuXHJcbiAgICBpZiAoZmlsdGVyLm1heFBhbmVsV2lkdGggPT09ICcnICYmIGZpbHRlci5zZWFyY2gucGxhY2Vob2xkZXIpIHtcclxuICAgICAgdGhpcy5zZXRNYXhQYW5lbFdpZHRoKGZpbHRlciwgc2VsZWN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbHRlck9wdGlvbnMoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGZpbHRlcjogRmlsdGVyQmFyRmlsdGVyKSB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFRleHRBcmVhRWxlbWVudDtcclxuICAgIHRoaXMuc2V0dGluZ3MuZmlsdGVycz8ubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLmZpZWxkTmFtZSA9PT0gZmlsdGVyLmZpZWxkTmFtZSAmJiBpdGVtLnNlYXJjaCkge1xyXG4gICAgICAgIGl0ZW0uc2VhcmNoLmZpbHRlcmVkVmFsdWVzID0gZmlsdGVyLnZhbHVlcy5maWx0ZXIoXHJcbiAgICAgICAgICAodmFsdWUpID0+IChpdGVtLnRyYW5zbGF0ZWQgPyB2YWx1ZS5rZXkgOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHZhbHVlLmtleSkpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGFyZ2V0LnZhbHVlKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0TWF4UGFuZWxXaWR0aChmaWx0ZXI6IEZpbHRlckJhckZpbHRlciwgc2VsZWN0OiBNYXRTZWxlY3QpOiB2b2lkIHtcclxuICAgIGNvbnN0IG9wZW5lZE1lbnVPcHRpb25XaWR0aCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5maWx0ZXItb3B0aW9uJyk/LmNsaWVudFdpZHRoIGFzIG51bWJlcjtcclxuICAgIGNvbnN0IGZpbHRlck9iaiA9IHRoaXMuc2V0dGluZ3MuZmlsdGVycz8uZmluZCgoaXRlbSkgPT4gaXRlbS5maWVsZE5hbWUgPT09IGZpbHRlci5maWVsZE5hbWUpIGFzIEZpbHRlckJhckZpbHRlcjtcclxuICAgIGZpbHRlck9iai5tYXhQYW5lbFdpZHRoID0gb3BlbmVkTWVudU9wdGlvbldpZHRoO1xyXG5cclxuICAgIC8vIHNlbGVjdCBzaG91bGQgYmUgcmVyZW5kZXJlZCB0byBnZXQgbWF4UGFuZWxXaXRoIGFwcGxpZWRcclxuICAgIHNlbGVjdC50b2dnbGUoKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBzZWxlY3QudG9nZ2xlKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZW1pdEZpbHRlcnMoKSB7XHJcbiAgICB0aGlzLmZpbHRlckJhckNoYW5nZS5uZXh0KHRoaXMuZmlsdGVycyk7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hSaWdodCgpIHtcclxuICAgIGlmICh0aGlzLnNldHRpbmdzPy5maWx0ZXJzICYmIHRoaXMuc2V0dGluZ3M/LmZpbHRlcnMubGVuZ3RoID09PSB0aGlzLmFjdGl2ZUZpbHRlckluZGV4ICsgMSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2ZUZpbHRlckluZGV4ICs9IDE7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hMZWZ0KCkge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlRmlsdGVySW5kZXggPT09IHRoaXMuc2VhcmNoSW5kZXgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVGaWx0ZXJJbmRleCAtPSAxO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRmlsdGVyKGtleTogc3RyaW5nLCBpeDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KGtleSk7XHJcblxyXG4gICAgaWYgKCFjb250cm9sKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdBcnJheSA9IGNvbnRyb2wudmFsdWUgYXMgW107XHJcbiAgICBuZXdBcnJheS5zcGxpY2UoaXgsIDEpO1xyXG4gICAgY29udHJvbC5zZXRWYWx1ZShuZXdBcnJheSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrT3ZlcmZsb3coKSB7XHJcbiAgICBpZiAodGhpcy5maWx0ZXJXcmFwcGVyKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyT3ZlcmZsb3cgPSB0aGlzLmZpbHRlcldyYXBwZXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA8IHRoaXMuZmlsdGVyV3JhcHBlci5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0Zvcm1WYWx1ZUNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmZvcm1DaGFuZ2VzU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZpbHRlcnMgPSB7XHJcbiAgICAgICAgaW5wdXQ6IHRoaXMuZm9ybS52YWx1ZS5pbnB1dCA/PyBcIlwiLFxyXG4gICAgICAgIGZpbHRlcnM6IHt9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IGZpbHRlcktleSBpbiB0aGlzLmZvcm0udmFsdWUuZmlsdGVycykge1xyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgY29uc3QgZmlsdGVyOiBGaWx0ZXJCYXJGaWx0ZXJJdGVtW10gPSAodGhpcy5mb3JtLnZhbHVlLmZpbHRlcnMgYXMgYW55KVtmaWx0ZXJLZXldIGFzIEZpbHRlckJhckZpbHRlckl0ZW1bXTtcclxuICAgICAgICB0aGlzLmZpbHRlcnMuZmlsdGVyc1tmaWx0ZXJLZXldID0gZmlsdGVyLm1hcCgoaXRlbSkgPT4gdGhpcy5vdXRwdXRGaWx0ZXJLZXlBbmRWYWx1ZSA/IGl0ZW0gOiBpdGVtLnZhbHVlKVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZW1pdEZpbHRlcnMoKTtcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXItcm93XCIgKm5nSWY9XCJmaWx0ZXJSb3dWaXNpYmxlXCI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiZmlsdGVyLXdyYXBwZXJcIiAjZmlsdGVyV3JhcHBlciBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggKm5nSWY9XCJzaG93U2VhcmNoICYmICFmaWx0ZXJPdmVyZmxvdyB8fCBhY3RpdmVGaWx0ZXJJbmRleCA9PT0gc2VhcmNoSW5kZXhcIiBjbGFzcz1cImZpbHRlci1iYXItc2VhcmNoLWlucHV0XCI+XHJcbiAgICAgIDxzcGFuIG1hdFByZWZpeCBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+XHJcbiAgICAgICAge3twcmVmaXhJY29ufX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3BhbiBtYXRTdWZmaXggY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiICpuZ0lmPVwic2hvd1N1ZmZpeEljb25cIiBbbWF0VG9vbHRpcF09XCJzZWFyY2hUb29sdGlwIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAge3tzdWZmaXhJY29ufX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8aW5wdXQgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIiBtYXRJbnB1dCBbcGxhY2Vob2xkZXJdPVwic2VhcmNoVGl0bGUgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaW5wdXRGb3JtQ29udHJvbE5hbWVcIj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybUdyb3VwXCI+XHJcblxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieydoaWRkZW4nOiBmaWx0ZXJPdmVyZmxvdyAmJiBhY3RpdmVGaWx0ZXJJbmRleCAhPT0gaSwgJ2VuZ2luZS1maWx0ZXInOiAhZmlsdGVyT3ZlcmZsb3d9XCIgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBzZXR0aW5ncz8uZmlsdGVyczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3tmaWx0ZXIudGl0bGUgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0ICNzZWxlY3QgbXVsdGlwbGUgW3BhbmVsV2lkdGhdPVwiZmlsdGVyPy5tYXhQYW5lbFdpZHRoID8/ICdhdXRvJ1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmlsdGVyLmZpZWxkTmFtZVwiIChvcGVuZWRDaGFuZ2UpPVwiJGV2ZW50ID09PSB0cnVlID8gZm9jdXNPcHRpb25TZWFyY2hJbnB1dChmaWx0ZXIsIHNlbGVjdCwgaSkgOiBudWxsXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyPy5zZWFyY2g/LnBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCAjb3B0aW9uU2VhcmNoSW5wdXQgY2xhc3M9XCJvcHRpb24tc2VhcmNoLWlucHV0XCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwiZmlsdGVyLnNlYXJjaD8ucGxhY2Vob2xkZXIgPz8gJycgfCB0cmFuc2xhdGVcIiAoa2V5dXApPVwiZmlsdGVyT3B0aW9ucygkZXZlbnQsIGZpbHRlcilcIiAoa2V5ZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICBcclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXIudmFsdWVzLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyLnRyYW5zbGF0ZWQ7IGVsc2Ugc29ydGVkVmFsdWVzQnlQcm9wZXJ0eVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwiZmlsdGVyLW9wdGlvblwiICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiAoZmlsdGVyLnNlYXJjaD8uZmlsdGVyZWRWYWx1ZXMgPz8gZmlsdGVyLnZhbHVlcykgfCBzb3J0QWxwaGFiZXRpY2FsbHk6J2tleSdcIiBbZGlzYWJsZWRdPVwiZmlsdGVyLnNpbmdsZVNlbGVjdGlvbj8uc2VsZWN0ZWQgJiYgZmlsdGVyLnNpbmdsZVNlbGVjdGlvbj8udmFsdWUgIT09IHZhbHVlLnZhbHVlXCIgW3ZhbHVlXT1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBmaWx0ZXIuZGlzYWJsZVRpdGxlQ2FzZSA/IHZhbHVlLmtleSA6ICh2YWx1ZS5rZXkgfCB0aXRsZWNhc2UpIH19XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc29ydGVkVmFsdWVzQnlQcm9wZXJ0eT5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cImZpbHRlci1vcHRpb25cIiAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgKGZpbHRlci5zZWFyY2g/LmZpbHRlcmVkVmFsdWVzID8/IGZpbHRlci52YWx1ZXMpIHwgc29ydFRyYW5zbGF0aW9uc0J5UHJvcGVydHk6J2tleSc6J3ZhbHVlJ1wiIFtkaXNhYmxlZF09XCJmaWx0ZXIuc2luZ2xlU2VsZWN0aW9uPy5zZWxlY3RlZCAmJiBmaWx0ZXIuc2luZ2xlU2VsZWN0aW9uPy52YWx1ZSAhPT0gdmFsdWUudmFsdWVcIiBbdmFsdWVdPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZmlsdGVyLmRpc2FibGVUaXRsZUNhc2U7IGVsc2UgZGVmYXVsdENhc2VcIj5cclxuICAgICAgICAgICAgICAgICB7eyB2YWx1ZS5rZXkgfCB0cmFuc2xhdGUgOiB7IGRlZmF1bHQ6IHZhbHVlLnZhbHVlIHwgdGl0bGVjYXNlIH0gfX1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENhc2U+XHJcbiAgICAgICAgICAgICAgICAgIHt7IHZhbHVlLmtleSB8IHRyYW5zbGF0ZSA6IHsgZGVmYXVsdDogdmFsdWUudmFsdWUgfSB9fSBcclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInN3aXRjaExlZnQoKVwiICpuZ0lmPVwiZmlsdGVyT3ZlcmZsb3dcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cclxuICAgICAgYXJyb3dfYmFja19pb3NcclxuICAgIDwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cImZpbHRlck92ZXJmbG93XCIgKGNsaWNrKT1cInN3aXRjaFJpZ2h0KClcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cclxuICAgICAgYXJyb3dfZm9yd2FyZF9pb3NcclxuICAgIDwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbjxtYXQtY2hpcC1saXN0Ym94PlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBzZXR0aW5ncz8uZmlsdGVyc1wiPlxyXG4gICAgPG1hdC1jaGlwLW9wdGlvbiAqbmdGb3I9XCJsZXQgZmlsdGVyVmFsdWUgb2YgZmlsdGVyRm9ybUdyb3VwVmFsdWVbZmlsdGVyLmZpZWxkTmFtZV07IGxldCBpeD1pbmRleFwiXHJcbiAgICAgIChyZW1vdmVkKT1cInJlbW92ZUZpbHRlcihmaWx0ZXIuZmllbGROYW1lLCBpeClcIiBjbGFzcz1cInRleHQtc1wiPlxyXG4gICAgICA8YnV0dG9uIG1hdENoaXBSZW1vdmU+XHJcbiAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcC1maWx0ZXItdGl0bGVcIj57e2ZpbHRlci50aXRsZSB8IHRyYW5zbGF0ZX19Ojwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwLXZhbHVlIHNlbWktYm9sZFwiPiB7eyhmaWx0ZXIudHJhbnNsYXRlZCA/IGZpbHRlclZhbHVlLmtleSA6IGZpbHRlclZhbHVlLmtleSB8IHRyYW5zbGF0ZSA6IHtkZWZhdWx0OiBmaWx0ZXJWYWx1ZS52YWx1ZX0pIHwgdGl0bGVjYXNlXHJcbiAgICAgICAgfX08L3NwYW4+XHJcbiAgICA8L21hdC1jaGlwLW9wdGlvbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtY2hpcC1saXN0Ym94PlxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci1maWx0ZXItc2VhcmNoLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2ZpbHRlci1iYXIvbW9kZWxzL2ZpbHRlci1iYXItZmlsdGVyLXNlYXJjaC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyQmFyRmlsdGVySXRlbSB9IGZyb20gJy4vZmlsdGVyLWJhci1maWx0ZXItaXRlbS5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckJhckZpbHRlclNlYXJjaCB7XHJcbiAgLyoqXHJcbiAgICogSWYgcGxhY2Vob2xkZXIgaXMgZGVmaW5lZCBzZWFyY2ggd2lsbCBiZSBhcHBlYXJlZC5cclxuICAgKiBXaGVuIHNlYXJjaGluZyBmb3IgaXRlbXMsIHRoZSBmaWx0ZXJlZFZhbHVlcyBhcmUgYmVpbmcgc2V0IGF1dG9tYXRpY2FsbHkuXHJcbiAgICovXHJcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBmaWx0ZXJlZFZhbHVlcz86IEZpbHRlckJhckZpbHRlckl0ZW1bXTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci1maWx0ZXItc2luZ2xlLXNlbGVjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9maWx0ZXItYmFyL21vZGVscy9maWx0ZXItYmFyLWZpbHRlci1zaW5nbGUtc2VsZWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZpbHRlckJhckZpbHRlclNpbmdsZVNlbGVjdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGZpbHRlciBpcyBzZWxlY3RlZC4gVGhpcyBwcm9wZXJ0eSBtdXN0IGJlIHN1cHBsaWVkIGV4dGVybmFsbHkuXHJcbiAgICogV2hlbiBzZXQgdG8gdHJ1ZSwgaXQgZGlzYWJsZXMgYWxsIG9wdGlvbnMgZXhjZXB0IHRoZSBvbmUgd2l0aCB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZS5cclxuICAgKiBJbiBvcmRlciB0byBhbGxvdyB1bnNlbGVjdGluZyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHZhbHVlLCBhIHNwZWNpZmljIHZhbHVlIG11c3QgYmUgZGVmaW5lZC5cclxuICAgKi9cclxuICBzZWxlY3RlZDogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBmaWx0ZXIgb3B0aW9uIHRoYXQgcmVtYWlucyBlbmFibGVkIHdoZW4gYHNlbGVjdGVkYCBpcyB0cnVlLlxyXG4gICAqIFRoaXMgaXMgdXNlZCB0byBtYXRjaCB0aGUgb3B0aW9uIHRoYXQgc2hvdWxkIG5vdCBiZSBkaXNhYmxlZC5cclxuICAgKi9cclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci1maWx0ZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsdGVyLWJhci9tb2RlbHMvZmlsdGVyLWJhci1maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckJhckZpbHRlckl0ZW0gfSBmcm9tICcuL2ZpbHRlci1iYXItZmlsdGVyLWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJCYXJGaWx0ZXJTZWFyY2ggfSBmcm9tICcuL2ZpbHRlci1iYXItZmlsdGVyLXNlYXJjaC5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbHRlckJhckZpbHRlclNpbmdsZVNlbGVjdGlvbiB9IGZyb20gJy4vZmlsdGVyLWJhci1maWx0ZXItc2luZ2xlLXNlbGVjdGlvbi5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckJhckZpbHRlciB7XHJcbiAgZmllbGROYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB2YWx1ZXM6IEZpbHRlckJhckZpbHRlckl0ZW1bXTtcclxuICBzZWFyY2g/OiBGaWx0ZXJCYXJGaWx0ZXJTZWFyY2g7XHJcbiAgc2luZ2xlU2VsZWN0aW9uPzogRmlsdGVyQmFyRmlsdGVyU2luZ2xlU2VsZWN0aW9uO1xyXG4gIGRpc2FibGVUaXRsZUNhc2U/OiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhpcyB0byAnJyBpbiBjYXNlIHlvdSBuZWVkIHRvIGZpdCBsb25nZXN0IGNvbnRlbnQuXHJcbiAgICogQ29tYmluZSB0aGlzIHdpdGggc2VhcmNoLCBzbyBmaWx0ZXJpbmcgZG9lcyBub3QgYWZmZWN0IHBhbmVsIHNpemUuXHJcbiAgICovXHJcbiAgbWF4UGFuZWxXaWR0aD86IG51bWJlciB8IHN0cmluZztcclxuICBcclxuICAvKipcclxuICAgKiBJZiB2YWx1ZXMgYXJyYXkga2V5cyBhcmUgYWxyZWFkeSB0cmFuc2xhdGVkLCBzZXQgdGhpcyB0byB0cnVlLlxyXG4gICAqL1xyXG4gIHRyYW5zbGF0ZWQ/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
package/esm2022/lib/terminology/components/terminology-panel/terminology-panel.component.mjs
CHANGED
|
@@ -19,7 +19,7 @@ export class TerminologyPanelComponent {
|
|
|
19
19
|
this.readerLocalizationKey = "TERM_COLLECTIONS.READER.";
|
|
20
20
|
}
|
|
21
21
|
ngOnInit() {
|
|
22
|
-
this.initializeData(this.system.sourceLanguageCode, this.system.targetLanguageCode, this.system.systemId,
|
|
22
|
+
this.initializeData(this.system.sourceLanguageCode, this.system.targetLanguageCode, this.system.systemId, this.setSelectedFromLocalStorage);
|
|
23
23
|
}
|
|
24
24
|
selectGlossary(collection) {
|
|
25
25
|
this.glossarySelectEvent.emit(collection);
|
|
@@ -33,7 +33,7 @@ export class TerminologyPanelComponent {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminologyPanelComponent, deps: [{ token: i1.TerminologyService }, { token: i2.TerminologyConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TerminologyPanelComponent, selector: "lib-terminology-panel", inputs: { system: "system", selectedCollection: "selectedCollection" }, outputs: { glossarySelectEvent: "glossarySelectEvent" }, ngImport: i0, template: "<section class=\"tld-collection-list-wrapper\">\r\n <ng-container *ngIf=\"hasAnyCollections || canCreateCollections; else emptyView\">\r\n <lib-terminology-collection-list (glossarySelectEvent)=\"selectGlossary($event)\" [system]=\"system\" [selectedCollection]=\"selectedCollection\"></lib-terminology-collection-list>\r\n\r\n <footer *ngIf=\"hasEditPermissions\" class=\"tld-collection-list-footer\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"1rem\">\r\n <lib-terminology-create-collection [sourceLanguageCode]=\"sourceLanguageCode\" [targetLanguageCode]=\"targetLanguageCode\"></lib-terminology-create-collection>\r\n \r\n <a *ngIf=\"defaultGlossaryManagementLink\" [attr.href]=\"defaultGlossaryManagementLink\" class=\"default-glossary-management text-m\" target=\"_blank\">\r\n {{ \"TERM_COLLECTIONS.DEFAULT_GLOSSARY_MANAGEMENT\" | translate }}\r\n </a>\r\n </footer>\r\n </ng-container>\r\n <ng-template #emptyView>\r\n <section class=\"term-reader-wrapper\" fxLayout=\"column\" fxLayoutGap=\"16px\">\r\n <div>\r\n <h1 class=\"text-l-semi-bold\">{{ readerLocalizationKey + \"TITLE\" | translate }}</h1>\r\n <p class=\"text-xl-semi-bold glossary-unavailable\">{{ readerLocalizationKey + \"UNAVAILABLE\" | translate }}</p>\r\n <p [innerHtml]=\"readerLocalizationKey + 'TEXT' | translate\"></p>\r\n\r\n <p class=\"text-s-semi-bold hint-title\">{{ readerLocalizationKey + \"WHAT_IS_GLOSSARY_TITLE\" | translate }}</p>\r\n <p class=\"text-s\">{{ readerLocalizationKey + \"WHAT_IS_GLOSSARY_DESC\" | translate }}</p>\r\n \r\n <p class=\"text-s-semi-bold hint-title\">{{ readerLocalizationKey + \"BENEFITS_TITLE\" | translate }}</p>\r\n <p class=\"text-s\">{{ readerLocalizationKey + \"BENEFITS_DESC\" | translate }}</p>\r\n </div>\r\n </section>\r\n </ng-template>\r\n</section>\r\n", styles: [".tld-collection-list-footer{margin-top:1rem;padding:0 .75em 1em}.default-glossary-management{display:block;color:var(--base-30)}.term-reader-wrapper{margin:1em}.glossary-unavailable{font-weight:500;font-style:italic}.hint-title{margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i5.TerminologyCreateCollectionComponent, selector: "lib-terminology-create-collection", inputs: ["sourceLanguageCode", "targetLanguageCode"], outputs: ["collectionCreated"] }, { kind: "component", type: i6.TerminologyCollectionListComponent, selector: "lib-terminology-collection-list", inputs: ["system", "selectedCollection"], outputs: ["glossarySelectEvent"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TerminologyPanelComponent, selector: "lib-terminology-panel", inputs: { system: "system", setSelectedFromLocalStorage: "setSelectedFromLocalStorage", selectedCollection: "selectedCollection" }, outputs: { glossarySelectEvent: "glossarySelectEvent" }, ngImport: i0, template: "<section class=\"tld-collection-list-wrapper\">\r\n <ng-container *ngIf=\"hasAnyCollections || canCreateCollections; else emptyView\">\r\n <lib-terminology-collection-list (glossarySelectEvent)=\"selectGlossary($event)\" [system]=\"system\" [selectedCollection]=\"selectedCollection\"></lib-terminology-collection-list>\r\n\r\n <footer *ngIf=\"hasEditPermissions\" class=\"tld-collection-list-footer\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"1rem\">\r\n <lib-terminology-create-collection [sourceLanguageCode]=\"sourceLanguageCode\" [targetLanguageCode]=\"targetLanguageCode\"></lib-terminology-create-collection>\r\n \r\n <a *ngIf=\"defaultGlossaryManagementLink\" [attr.href]=\"defaultGlossaryManagementLink\" class=\"default-glossary-management text-m\" target=\"_blank\">\r\n {{ \"TERM_COLLECTIONS.DEFAULT_GLOSSARY_MANAGEMENT\" | translate }}\r\n </a>\r\n </footer>\r\n </ng-container>\r\n <ng-template #emptyView>\r\n <section class=\"term-reader-wrapper\" fxLayout=\"column\" fxLayoutGap=\"16px\">\r\n <div>\r\n <h1 class=\"text-l-semi-bold\">{{ readerLocalizationKey + \"TITLE\" | translate }}</h1>\r\n <p class=\"text-xl-semi-bold glossary-unavailable\">{{ readerLocalizationKey + \"UNAVAILABLE\" | translate }}</p>\r\n <p [innerHtml]=\"readerLocalizationKey + 'TEXT' | translate\"></p>\r\n\r\n <p class=\"text-s-semi-bold hint-title\">{{ readerLocalizationKey + \"WHAT_IS_GLOSSARY_TITLE\" | translate }}</p>\r\n <p class=\"text-s\">{{ readerLocalizationKey + \"WHAT_IS_GLOSSARY_DESC\" | translate }}</p>\r\n \r\n <p class=\"text-s-semi-bold hint-title\">{{ readerLocalizationKey + \"BENEFITS_TITLE\" | translate }}</p>\r\n <p class=\"text-s\">{{ readerLocalizationKey + \"BENEFITS_DESC\" | translate }}</p>\r\n </div>\r\n </section>\r\n </ng-template>\r\n</section>\r\n", styles: [".tld-collection-list-footer{margin-top:1rem;padding:0 .75em 1em}.default-glossary-management{display:block;color:var(--base-30)}.term-reader-wrapper{margin:1em}.glossary-unavailable{font-weight:500;font-style:italic}.hint-title{margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i5.TerminologyCreateCollectionComponent, selector: "lib-terminology-create-collection", inputs: ["sourceLanguageCode", "targetLanguageCode"], outputs: ["collectionCreated"] }, { kind: "component", type: i6.TerminologyCollectionListComponent, selector: "lib-terminology-collection-list", inputs: ["system", "selectedCollection"], outputs: ["glossarySelectEvent"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
37
37
|
}
|
|
38
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminologyPanelComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
@@ -41,9 +41,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
41
41
|
}], ctorParameters: function () { return [{ type: i1.TerminologyService }, { type: i2.TerminologyConfigService }]; }, propDecorators: { system: [{
|
|
42
42
|
type: Input,
|
|
43
43
|
args: [{ required: true }]
|
|
44
|
+
}], setSelectedFromLocalStorage: [{
|
|
45
|
+
type: Input,
|
|
46
|
+
args: [{ required: true }]
|
|
44
47
|
}], selectedCollection: [{
|
|
45
48
|
type: Input
|
|
46
49
|
}], glossarySelectEvent: [{
|
|
47
50
|
type: Output
|
|
48
51
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWlub2xvZ3ktcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L2NvbXBvbmVudHMvdGVybWlub2xvZ3ktcGFuZWwvdGVybWlub2xvZ3ktcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L2NvbXBvbmVudHMvdGVybWlub2xvZ3ktcGFuZWwvdGVybWlub2xvZ3ktcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBVS9FLE1BQU0sT0FBTyx5QkFBeUI7SUFNcEMsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFBLENBQUMsQ0FBQztJQUN4RSxJQUFJLGlCQUFpQixLQUFLLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQ2xHLElBQUksa0JBQWtCLEtBQUksT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUEsQ0FBQyxDQUFDO0lBQzdFLElBQUksb0JBQW9CLEtBQUssT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUEsQ0FBQyxDQUFDO0lBU2xGLFlBQTZCLGtCQUFzQyxFQUFtQixNQUFnQztRQUF6Rix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQW1CLFdBQU0sR0FBTixNQUFNLENBQTBCO1FBZDVHLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBWXJFLDBCQUFxQixHQUFHLDBCQUEwQixDQUFDO0lBRTZELENBQUM7SUFFMUgsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlJLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBcUM7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWUsRUFBRSxPQUFlLEVBQUUsUUFBZ0IsRUFBRSwyQkFBb0M7UUFDN0csSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDO1FBRWxDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLDJCQUEyQixDQUFDLENBQUM7UUFFN0gsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsRUFBRTtZQUN4RCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckc7SUFDSCxDQUFDOytHQXJDVSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwwUENWdEMsdzNEQTRCQTs7NEZEbEJhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx1QkFBdUI7Z0pBS04sTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsMkJBQTJCO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUZXJtaW5vbG9neVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXNcIjtcclxuaW1wb3J0IHsgVGVybWlub2xvZ3lDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBDb21iaW5lZENvbGxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItdGVybWlub2xvZ3ktcGFuZWxcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3Rlcm1pbm9sb2d5LXBhbmVsLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3Rlcm1pbm9sb2d5LXBhbmVsLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVybWlub2xvZ3lQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgc3lzdGVtITogeyBzeXN0ZW1JZDogc3RyaW5nLCBzb3VyY2VMYW5ndWFnZUNvZGU6IHN0cmluZywgdGFyZ2V0TGFuZ3VhZ2VDb2RlOiBzdHJpbmcgfTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzZXRTZWxlY3RlZEZyb21Mb2NhbFN0b3JhZ2UhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ29sbGVjdGlvbiE6IENvbWJpbmVkQ29sbGVjdGlvbiB8IG51bGw7XHJcbiAgQE91dHB1dCgpIGdsb3NzYXJ5U2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbWJpbmVkQ29sbGVjdGlvbiB8IG51bGw+KCk7XHJcbiAgXHJcbiAgZ2V0IGlzQXV0aGVudGljYXRlZCgpIHsgcmV0dXJuIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCB9XHJcbiAgZ2V0IGhhc0FueUNvbGxlY3Rpb25zKCkgeyByZXR1cm4gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuaGFzQW55Q29sbGVjdGlvbnModGhpcy5zeXN0ZW0uc3lzdGVtSWQpIH1cclxuICBnZXQgaGFzRWRpdFBlcm1pc3Npb25zKCl7IHJldHVybiB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5oYXNFZGl0UGVybWlzc2lvbnMgfVxyXG4gIGdldCBjYW5DcmVhdGVDb2xsZWN0aW9ucygpIHsgcmV0dXJuIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmNhbkNyZWF0ZUNvbGxlY3Rpb25zIH1cclxuICBcclxuICBzb3VyY2VMYW5ndWFnZUNvZGUhOiBzdHJpbmc7XHJcbiAgdGFyZ2V0TGFuZ3VhZ2VDb2RlITogc3RyaW5nO1xyXG5cclxuICBkZWZhdWx0R2xvc3NhcnlNYW5hZ2VtZW50TGluayE6IHN0cmluZztcclxuXHJcbiAgcmVhZG9ubHkgcmVhZGVyTG9jYWxpemF0aW9uS2V5ID0gXCJURVJNX0NPTExFQ1RJT05TLlJFQURFUi5cIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0ZXJtaW5vbG9neVNlcnZpY2U6IFRlcm1pbm9sb2d5U2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRlcm1pbm9sb2d5Q29uZmlnU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVEYXRhKHRoaXMuc3lzdGVtLnNvdXJjZUxhbmd1YWdlQ29kZSwgdGhpcy5zeXN0ZW0udGFyZ2V0TGFuZ3VhZ2VDb2RlLCB0aGlzLnN5c3RlbS5zeXN0ZW1JZCwgdGhpcy5zZXRTZWxlY3RlZEZyb21Mb2NhbFN0b3JhZ2UpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0R2xvc3NhcnkoY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5nbG9zc2FyeVNlbGVjdEV2ZW50LmVtaXQoY29sbGVjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRpYWxpemVEYXRhKHNyY0xhbmc6IHN0cmluZywgdHJnTGFuZzogc3RyaW5nLCBzeXN0ZW1JZDogc3RyaW5nLCBzZXRTZWxlY3RlZEZyb21Mb2NhbFN0b3JhZ2U6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuc291cmNlTGFuZ3VhZ2VDb2RlID0gc3JjTGFuZztcclxuICAgIHRoaXMudGFyZ2V0TGFuZ3VhZ2VDb2RlID0gdHJnTGFuZztcclxuICAgIFxyXG4gICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2Uuc2V0RW5naW5lKHN5c3RlbUlkLCBbdGhpcy5zb3VyY2VMYW5ndWFnZUNvZGUsIHRoaXMudGFyZ2V0TGFuZ3VhZ2VDb2RlXSwgc2V0U2VsZWN0ZWRGcm9tTG9jYWxTdG9yYWdlKTtcclxuICAgIFxyXG4gICAgaWYgKHRoaXMuY29uZmlnLnRlcm1Db25maWcuZGVmYXVsdEdsb3NzYXJ5TWFuYWdlbWVudExpbmspIHtcclxuICAgICAgdGhpcy5kZWZhdWx0R2xvc3NhcnlNYW5hZ2VtZW50TGluayA9IHRoaXMuY29uZmlnLnRlcm1Db25maWcuZGVmYXVsdEdsb3NzYXJ5TWFuYWdlbWVudExpbmsoc3lzdGVtSWQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLWxpc3Qtd3JhcHBlclwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNBbnlDb2xsZWN0aW9ucyB8fCBjYW5DcmVhdGVDb2xsZWN0aW9uczsgZWxzZSBlbXB0eVZpZXdcIj5cclxuICAgIDxsaWItdGVybWlub2xvZ3ktY29sbGVjdGlvbi1saXN0IChnbG9zc2FyeVNlbGVjdEV2ZW50KT1cInNlbGVjdEdsb3NzYXJ5KCRldmVudClcIiBbc3lzdGVtXT1cInN5c3RlbVwiIFtzZWxlY3RlZENvbGxlY3Rpb25dPVwic2VsZWN0ZWRDb2xsZWN0aW9uXCI+PC9saWItdGVybWlub2xvZ3ktY29sbGVjdGlvbi1saXN0PlxyXG5cclxuICAgIDxmb290ZXIgKm5nSWY9XCJoYXNFZGl0UGVybWlzc2lvbnNcIiBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLWxpc3QtZm9vdGVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XHJcbiAgICAgIDxsaWItdGVybWlub2xvZ3ktY3JlYXRlLWNvbGxlY3Rpb24gW3NvdXJjZUxhbmd1YWdlQ29kZV09XCJzb3VyY2VMYW5ndWFnZUNvZGVcIiBbdGFyZ2V0TGFuZ3VhZ2VDb2RlXT1cInRhcmdldExhbmd1YWdlQ29kZVwiPjwvbGliLXRlcm1pbm9sb2d5LWNyZWF0ZS1jb2xsZWN0aW9uPlxyXG4gICAgXHJcbiAgICAgIDxhICpuZ0lmPVwiZGVmYXVsdEdsb3NzYXJ5TWFuYWdlbWVudExpbmtcIiBbYXR0ci5ocmVmXT1cImRlZmF1bHRHbG9zc2FyeU1hbmFnZW1lbnRMaW5rXCIgY2xhc3M9XCJkZWZhdWx0LWdsb3NzYXJ5LW1hbmFnZW1lbnQgdGV4dC1tXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAge3sgXCJURVJNX0NPTExFQ1RJT05TLkRFRkFVTFRfR0xPU1NBUllfTUFOQUdFTUVOVFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvYT5cclxuICAgIDwvZm9vdGVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy10ZW1wbGF0ZSAjZW1wdHlWaWV3PlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJ0ZXJtLXJlYWRlci13cmFwcGVyXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIjE2cHhcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8aDEgY2xhc3M9XCJ0ZXh0LWwtc2VtaS1ib2xkXCI+e3sgcmVhZGVyTG9jYWxpemF0aW9uS2V5ICsgXCJUSVRMRVwiIHwgdHJhbnNsYXRlIH19PC9oMT5cclxuICAgICAgICA8cCBjbGFzcz1cInRleHQteGwtc2VtaS1ib2xkIGdsb3NzYXJ5LXVuYXZhaWxhYmxlXCI+e3sgcmVhZGVyTG9jYWxpemF0aW9uS2V5ICsgXCJVTkFWQUlMQUJMRVwiIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gICAgICAgIDxwIFtpbm5lckh0bWxdPVwicmVhZGVyTG9jYWxpemF0aW9uS2V5ICsgJ1RFWFQnIHwgdHJhbnNsYXRlXCI+PC9wPlxyXG5cclxuICAgICAgICA8cCBjbGFzcz1cInRleHQtcy1zZW1pLWJvbGQgaGludC10aXRsZVwiPnt7IHJlYWRlckxvY2FsaXphdGlvbktleSArIFwiV0hBVF9JU19HTE9TU0FSWV9USVRMRVwiIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1zXCI+e3sgcmVhZGVyTG9jYWxpemF0aW9uS2V5ICsgXCJXSEFUX0lTX0dMT1NTQVJZX0RFU0NcIiB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuICAgICAgICBcclxuICAgICAgICA8cCBjbGFzcz1cInRleHQtcy1zZW1pLWJvbGQgaGludC10aXRsZVwiPnt7IHJlYWRlckxvY2FsaXphdGlvbktleSArIFwiQkVORUZJVFNfVElUTEVcIiB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuICAgICAgICA8cCBjbGFzcz1cInRleHQtc1wiPnt7IHJlYWRlckxvY2FsaXphdGlvbktleSArIFwiQkVORUZJVFNfREVTQ1wiIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvc2VjdGlvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
|
@@ -21,6 +21,7 @@ export class TerminologyComponent {
|
|
|
21
21
|
this.terminologyService = terminologyService;
|
|
22
22
|
this.iconService = iconService;
|
|
23
23
|
this.storeSelectedInLocalStorage = true;
|
|
24
|
+
this.setSelectedFromLocalStorage = true;
|
|
24
25
|
this.showMenuIconOnMobile = true;
|
|
25
26
|
this.glossarySelectEvent = new EventEmitter();
|
|
26
27
|
this.menuToggleEvent = new EventEmitter();
|
|
@@ -113,11 +114,11 @@ export class TerminologyComponent {
|
|
|
113
114
|
});
|
|
114
115
|
}
|
|
115
116
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminologyComponent, deps: [{ token: i1.TerminologyService }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TerminologyComponent, selector: "lib-terminology", inputs: { selectedCollectionId: "selectedCollectionId", system: "system", disabled: "disabled", storeSelectedInLocalStorage: "storeSelectedInLocalStorage", showMenuIconOnMobile: "showMenuIconOnMobile" }, outputs: { glossarySelectEvent: "glossarySelectEvent", menuToggleEvent: "menuToggleEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"glossary-menu\" fxLayoutAlign=\"center center\" [ngClass.lt-sm]=\"'tld-term-collection-wrapper-mobile'\" fxLayoutGap=\"8px\">\r\n <span class=\"glossary-label\" fxHide.lt-md>\r\n {{ \"TERM_COLLECTIONS.GLOSSARY\" | translate }}\r\n </span>\r\n\r\n <lib-open-close-button\r\n *ngIf=\"!showMenuIconOnMobile; else defaultLayout\"\r\n class=\"tld-collection-menu-button\"\r\n #state=\"matMenuTrigger\"\r\n [isOpened]=\"state.menuOpen\"\r\n (menuOpened)=\"openMenu()\"\r\n (menuClosed)=\"closeMenu()\"\r\n [matMenuTriggerFor]=\"menu\"\r\n [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\"\r\n [matTooltip]=\"selected?.mtCollection?.name ?? selected?.termCollection?.name ?? ''\"\r\n [disabled]=\"disabled\"\r\n >\r\n <span class=\"selected-collection\">\r\n {{ selected?.mtCollection?.name ?? selected?.termCollection?.name ?? (\"TERM_COLLECTIONS.SELECTED_NONE\" | translate) }}\r\n </span>\r\n <mat-spinner *ngIf=\"selected?.isImporting\" class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\"></mat-spinner>\r\n </lib-open-close-button>\r\n\r\n <ng-template #defaultLayout>\r\n <lib-open-close-button\r\n fxHide.lt-sm\r\n class=\"tld-collection-menu-button\"\r\n #state=\"matMenuTrigger\"\r\n [isOpened]=\"state.menuOpen\"\r\n (menuOpened)=\"openMenu()\"\r\n (menuClosed)=\"closeMenu()\"\r\n [matMenuTriggerFor]=\"menu\"\r\n [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\"\r\n [matTooltip]=\"selected?.mtCollection?.name ?? selected?.termCollection?.name ?? ''\"\r\n [disabled]=\"disabled\"\r\n >\r\n <span class=\"selected-collection\">\r\n {{ selected?.mtCollection?.name ?? selected?.termCollection?.name ?? (\"TERM_COLLECTIONS.SELECTED_NONE\" | translate) }}\r\n </span>\r\n <mat-spinner *ngIf=\"selected?.isImporting\" class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\"></mat-spinner>\r\n </lib-open-close-button>\r\n\r\n <button (menuOpened)=\"openMenu()\" (menuClosed)=\"closeMenu()\" mat-icon-button fxHide.gt-xs #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"collections_menu\" [attr.color]=\"selected ? 'accent' : ''\"></mat-icon>\r\n </button>\r\n </ng-template>\r\n</div>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"tld-collection-menu\">\r\n <tld-close-button fxHide.gt-xs></tld-close-button>\r\n <div class=\"tld-term-collection\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <lib-terminology-panel (glossarySelectEvent)=\"selectGlossary($event)\" [system]=\"system\" [selectedCollection]=\"selected\"></lib-terminology-panel>\r\n </div>\r\n</mat-menu>\r\n", styles: [":host ::ng-deep .mdc-circular-progress__circle-clipper,:host ::ng-deep .mdc-circular-progress__indeterminate-circle-graphic{width:100%!important}.selected-col-spinner{margin-left:5px}.tld-collection-menu-button .selected-collection{overflow:hidden;text-overflow:ellipsis;max-width:140px;display:inline-block;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.OpenCloseButtonComponent, selector: "lib-open-close-button", inputs: ["disableFocusOnAction", "disabled", "isIcon", "ariaLabelCode", "isOpened"] }, { kind: "directive", type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i6.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i7.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i13.TerminologyPanelComponent, selector: "lib-terminology-panel", inputs: ["system", "selectedCollection"], outputs: ["glossarySelectEvent"] }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
|
|
117
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TerminologyComponent, selector: "lib-terminology", inputs: { selectedCollectionId: "selectedCollectionId", system: "system", disabled: "disabled", storeSelectedInLocalStorage: "storeSelectedInLocalStorage", setSelectedFromLocalStorage: "setSelectedFromLocalStorage", showMenuIconOnMobile: "showMenuIconOnMobile" }, outputs: { glossarySelectEvent: "glossarySelectEvent", menuToggleEvent: "menuToggleEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"glossary-menu\" fxLayoutAlign=\"center center\" [ngClass.lt-sm]=\"'tld-term-collection-wrapper-mobile'\" fxLayoutGap=\"8px\">\r\n <span class=\"glossary-label\" fxHide.lt-md>\r\n {{ \"TERM_COLLECTIONS.GLOSSARY\" | translate }}\r\n </span>\r\n\r\n <lib-open-close-button\r\n *ngIf=\"!showMenuIconOnMobile; else defaultLayout\"\r\n class=\"tld-collection-menu-button\"\r\n #state=\"matMenuTrigger\"\r\n [isOpened]=\"state.menuOpen\"\r\n (menuOpened)=\"openMenu()\"\r\n (menuClosed)=\"closeMenu()\"\r\n [matMenuTriggerFor]=\"menu\"\r\n [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\"\r\n [matTooltip]=\"selected?.mtCollection?.name ?? selected?.termCollection?.name ?? ''\"\r\n [disabled]=\"disabled\"\r\n >\r\n <span class=\"selected-collection\">\r\n {{ selected?.mtCollection?.name ?? selected?.termCollection?.name ?? (\"TERM_COLLECTIONS.SELECTED_NONE\" | translate) }}\r\n </span>\r\n <mat-spinner *ngIf=\"selected?.isImporting\" class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\"></mat-spinner>\r\n </lib-open-close-button>\r\n\r\n <ng-template #defaultLayout>\r\n <lib-open-close-button\r\n fxHide.lt-sm\r\n class=\"tld-collection-menu-button\"\r\n #state=\"matMenuTrigger\"\r\n [isOpened]=\"state.menuOpen\"\r\n (menuOpened)=\"openMenu()\"\r\n (menuClosed)=\"closeMenu()\"\r\n [matMenuTriggerFor]=\"menu\"\r\n [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\"\r\n [matTooltip]=\"selected?.mtCollection?.name ?? selected?.termCollection?.name ?? ''\"\r\n [disabled]=\"disabled\"\r\n >\r\n <span class=\"selected-collection\">\r\n {{ selected?.mtCollection?.name ?? selected?.termCollection?.name ?? (\"TERM_COLLECTIONS.SELECTED_NONE\" | translate) }}\r\n </span>\r\n <mat-spinner *ngIf=\"selected?.isImporting\" class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\"></mat-spinner>\r\n </lib-open-close-button>\r\n\r\n <button (menuOpened)=\"openMenu()\" (menuClosed)=\"closeMenu()\" mat-icon-button fxHide.gt-xs #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"collections_menu\" [attr.color]=\"selected ? 'accent' : ''\"></mat-icon>\r\n </button>\r\n </ng-template>\r\n</div>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"tld-collection-menu\">\r\n <tld-close-button fxHide.gt-xs></tld-close-button>\r\n <div class=\"tld-term-collection\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <lib-terminology-panel (glossarySelectEvent)=\"selectGlossary($event)\" [system]=\"system\" [selectedCollection]=\"selected\" [setSelectedFromLocalStorage]=\"setSelectedFromLocalStorage\"></lib-terminology-panel>\r\n </div>\r\n</mat-menu>\r\n", styles: [":host ::ng-deep .mdc-circular-progress__circle-clipper,:host ::ng-deep .mdc-circular-progress__indeterminate-circle-graphic{width:100%!important}.selected-col-spinner{margin-left:5px}.tld-collection-menu-button .selected-collection{overflow:hidden;text-overflow:ellipsis;max-width:140px;display:inline-block;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.OpenCloseButtonComponent, selector: "lib-open-close-button", inputs: ["disableFocusOnAction", "disabled", "isIcon", "ariaLabelCode", "isOpened"] }, { kind: "directive", type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i6.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i7.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i13.TerminologyPanelComponent, selector: "lib-terminology-panel", inputs: ["system", "setSelectedFromLocalStorage", "selectedCollection"], outputs: ["glossarySelectEvent"] }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
|
|
117
118
|
}
|
|
118
119
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminologyComponent, decorators: [{
|
|
119
120
|
type: Component,
|
|
120
|
-
args: [{ selector: 'lib-terminology', template: "<div class=\"glossary-menu\" fxLayoutAlign=\"center center\" [ngClass.lt-sm]=\"'tld-term-collection-wrapper-mobile'\" fxLayoutGap=\"8px\">\r\n <span class=\"glossary-label\" fxHide.lt-md>\r\n {{ \"TERM_COLLECTIONS.GLOSSARY\" | translate }}\r\n </span>\r\n\r\n <lib-open-close-button\r\n *ngIf=\"!showMenuIconOnMobile; else defaultLayout\"\r\n class=\"tld-collection-menu-button\"\r\n #state=\"matMenuTrigger\"\r\n [isOpened]=\"state.menuOpen\"\r\n (menuOpened)=\"openMenu()\"\r\n (menuClosed)=\"closeMenu()\"\r\n [matMenuTriggerFor]=\"menu\"\r\n [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\"\r\n [matTooltip]=\"selected?.mtCollection?.name ?? selected?.termCollection?.name ?? ''\"\r\n [disabled]=\"disabled\"\r\n >\r\n <span class=\"selected-collection\">\r\n {{ selected?.mtCollection?.name ?? selected?.termCollection?.name ?? (\"TERM_COLLECTIONS.SELECTED_NONE\" | translate) }}\r\n </span>\r\n <mat-spinner *ngIf=\"selected?.isImporting\" class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\"></mat-spinner>\r\n </lib-open-close-button>\r\n\r\n <ng-template #defaultLayout>\r\n <lib-open-close-button\r\n fxHide.lt-sm\r\n class=\"tld-collection-menu-button\"\r\n #state=\"matMenuTrigger\"\r\n [isOpened]=\"state.menuOpen\"\r\n (menuOpened)=\"openMenu()\"\r\n (menuClosed)=\"closeMenu()\"\r\n [matMenuTriggerFor]=\"menu\"\r\n [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\"\r\n [matTooltip]=\"selected?.mtCollection?.name ?? selected?.termCollection?.name ?? ''\"\r\n [disabled]=\"disabled\"\r\n >\r\n <span class=\"selected-collection\">\r\n {{ selected?.mtCollection?.name ?? selected?.termCollection?.name ?? (\"TERM_COLLECTIONS.SELECTED_NONE\" | translate) }}\r\n </span>\r\n <mat-spinner *ngIf=\"selected?.isImporting\" class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\"></mat-spinner>\r\n </lib-open-close-button>\r\n\r\n <button (menuOpened)=\"openMenu()\" (menuClosed)=\"closeMenu()\" mat-icon-button fxHide.gt-xs #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"collections_menu\" [attr.color]=\"selected ? 'accent' : ''\"></mat-icon>\r\n </button>\r\n </ng-template>\r\n</div>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"tld-collection-menu\">\r\n <tld-close-button fxHide.gt-xs></tld-close-button>\r\n <div class=\"tld-term-collection\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <lib-terminology-panel (glossarySelectEvent)=\"selectGlossary($event)\" [system]=\"system\" [selectedCollection]=\"selected\"></lib-terminology-panel>\r\n </div>\r\n</mat-menu>\r\n", styles: [":host ::ng-deep .mdc-circular-progress__circle-clipper,:host ::ng-deep .mdc-circular-progress__indeterminate-circle-graphic{width:100%!important}.selected-col-spinner{margin-left:5px}.tld-collection-menu-button .selected-collection{overflow:hidden;text-overflow:ellipsis;max-width:140px;display:inline-block;white-space:nowrap}\n"] }]
|
|
121
|
+
args: [{ selector: 'lib-terminology', template: "<div class=\"glossary-menu\" fxLayoutAlign=\"center center\" [ngClass.lt-sm]=\"'tld-term-collection-wrapper-mobile'\" fxLayoutGap=\"8px\">\r\n <span class=\"glossary-label\" fxHide.lt-md>\r\n {{ \"TERM_COLLECTIONS.GLOSSARY\" | translate }}\r\n </span>\r\n\r\n <lib-open-close-button\r\n *ngIf=\"!showMenuIconOnMobile; else defaultLayout\"\r\n class=\"tld-collection-menu-button\"\r\n #state=\"matMenuTrigger\"\r\n [isOpened]=\"state.menuOpen\"\r\n (menuOpened)=\"openMenu()\"\r\n (menuClosed)=\"closeMenu()\"\r\n [matMenuTriggerFor]=\"menu\"\r\n [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\"\r\n [matTooltip]=\"selected?.mtCollection?.name ?? selected?.termCollection?.name ?? ''\"\r\n [disabled]=\"disabled\"\r\n >\r\n <span class=\"selected-collection\">\r\n {{ selected?.mtCollection?.name ?? selected?.termCollection?.name ?? (\"TERM_COLLECTIONS.SELECTED_NONE\" | translate) }}\r\n </span>\r\n <mat-spinner *ngIf=\"selected?.isImporting\" class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\"></mat-spinner>\r\n </lib-open-close-button>\r\n\r\n <ng-template #defaultLayout>\r\n <lib-open-close-button\r\n fxHide.lt-sm\r\n class=\"tld-collection-menu-button\"\r\n #state=\"matMenuTrigger\"\r\n [isOpened]=\"state.menuOpen\"\r\n (menuOpened)=\"openMenu()\"\r\n (menuClosed)=\"closeMenu()\"\r\n [matMenuTriggerFor]=\"menu\"\r\n [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\"\r\n [matTooltip]=\"selected?.mtCollection?.name ?? selected?.termCollection?.name ?? ''\"\r\n [disabled]=\"disabled\"\r\n >\r\n <span class=\"selected-collection\">\r\n {{ selected?.mtCollection?.name ?? selected?.termCollection?.name ?? (\"TERM_COLLECTIONS.SELECTED_NONE\" | translate) }}\r\n </span>\r\n <mat-spinner *ngIf=\"selected?.isImporting\" class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\"></mat-spinner>\r\n </lib-open-close-button>\r\n\r\n <button (menuOpened)=\"openMenu()\" (menuClosed)=\"closeMenu()\" mat-icon-button fxHide.gt-xs #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"collections_menu\" [attr.color]=\"selected ? 'accent' : ''\"></mat-icon>\r\n </button>\r\n </ng-template>\r\n</div>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"tld-collection-menu\">\r\n <tld-close-button fxHide.gt-xs></tld-close-button>\r\n <div class=\"tld-term-collection\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <lib-terminology-panel (glossarySelectEvent)=\"selectGlossary($event)\" [system]=\"system\" [selectedCollection]=\"selected\" [setSelectedFromLocalStorage]=\"setSelectedFromLocalStorage\"></lib-terminology-panel>\r\n </div>\r\n</mat-menu>\r\n", styles: [":host ::ng-deep .mdc-circular-progress__circle-clipper,:host ::ng-deep .mdc-circular-progress__indeterminate-circle-graphic{width:100%!important}.selected-col-spinner{margin-left:5px}.tld-collection-menu-button .selected-collection{overflow:hidden;text-overflow:ellipsis;max-width:140px;display:inline-block;white-space:nowrap}\n"] }]
|
|
121
122
|
}], ctorParameters: function () { return [{ type: i1.TerminologyService }, { type: i2.IconService }]; }, propDecorators: { selectedCollectionId: [{
|
|
122
123
|
type: Input
|
|
123
124
|
}], system: [{
|
|
@@ -127,6 +128,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
127
128
|
type: Input
|
|
128
129
|
}], storeSelectedInLocalStorage: [{
|
|
129
130
|
type: Input
|
|
131
|
+
}], setSelectedFromLocalStorage: [{
|
|
132
|
+
type: Input
|
|
130
133
|
}], showMenuIconOnMobile: [{
|
|
131
134
|
type: Input
|
|
132
135
|
}], glossarySelectEvent: [{
|
|
@@ -134,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
134
137
|
}], menuToggleEvent: [{
|
|
135
138
|
type: Output
|
|
136
139
|
}] } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWlub2xvZ3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L3Rlcm1pbm9sb2d5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi90ZXJtaW5vbG9neS90ZXJtaW5vbG9neS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWlDLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFckgsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3hELE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBT2pDLE1BQU0sT0FBTyxvQkFBb0I7SUFpQi9CLFlBQTZCLGtCQUFzQyxFQUFtQixXQUF3QjtRQUFqRix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQW1CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBYnJHLGdDQUEyQixHQUFHLElBQUksQ0FBQztRQUNuQyx5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDM0Isd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFDcEUsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWhELHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdaLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXpDLGFBQVEsR0FBOEIsSUFBSSxDQUFDO0lBRXNFLENBQUM7SUFFbEgsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENB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LElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDO2FBQ3BEO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOytHQXpIVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixxWENaakMsdXVGQXNEQTs7NEZEMUNhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUI7bUlBS2xCLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDcUIsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZXJtaW5vbG9neVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tYmluZWRDb2xsZWN0aW9uIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0ICogYXMgaWNvbnMgZnJvbSAnLi9pY29ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10ZXJtaW5vbG9neScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rlcm1pbm9sb2d5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXJtaW5vbG9neS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVybWlub2xvZ3lDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBzZWxlY3RlZENvbGxlY3Rpb25JZCE6IHN0cmluZztcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzeXN0ZW0hOiB7IHN5c3RlbUlkOiBzdHJpbmc7IHNvdXJjZUxhbmd1YWdlQ29kZTogc3RyaW5nOyB0YXJnZXRMYW5ndWFnZUNvZGU6IHN0cmluZyB9O1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzdG9yZVNlbGVjdGVkSW5Mb2NhbFN0b3JhZ2UgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dNZW51SWNvbk9uTW9iaWxlID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgZ2xvc3NhcnlTZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tYmluZWRDb2xsZWN0aW9uIHwgbnVsbD4oKTtcclxuICBAT3V0cHV0KCkgbWVudVRvZ2dsZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBwcml2YXRlIGlzUmVmcmVzaEVuYWJsZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIGlzTWVudU9wZW5lZCA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIHByZXNldENvbGxlY3Rpb25TdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgc2VsZWN0ZWQ6IENvbWJpbmVkQ29sbGVjdGlvbiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRlcm1pbm9sb2d5U2VydmljZTogVGVybWlub2xvZ3lTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IGljb25TZXJ2aWNlOiBJY29uU2VydmljZSkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmVuZ2luZXNbdGhpcy5zeXN0ZW0uc3lzdGVtSWRdPy5zZWxlY3RlZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pY29uU2VydmljZS5yZWdpc3Rlckljb25zKGljb25zKTtcclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvbGxlY3Rpb25JZCkge1xyXG4gICAgICB0aGlzLnByZXNldENvbGxlY3Rpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLndhdGNoU3lzdGVtQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0R2xvc3NhcnkoY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IGNvbGxlY3Rpb247XHJcblxyXG4gICAgaWYgKCFjb2xsZWN0aW9uPy5tdENvbGxlY3Rpb24gJiYgY29sbGVjdGlvbiAhPT0gbnVsbCkge1xyXG4gICAgICBpZiAodGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuYWRkVG9FbmdpbmVWYWxpZGF0aW9uKGNvbGxlY3Rpb24pKSB7XHJcbiAgICAgICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UudXBkYXRlSWZOZWNlc3NhcnkoY29sbGVjdGlvbiwgdGhpcy5zeXN0ZW0uc3lzdGVtSWQsIHRydWUpLnN1YnNjcmliZSh7IFxyXG4gICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmdsb3NzYXJ5U2VsZWN0RXZlbnQuZW1pdChyZXMpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuaGFuZGxlQWRkVG9FbmdpbmVFcnJvcihlcnJvciwgdGhpcy5zeXN0ZW0uc3lzdGVtSWQpXHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdsb3NzYXJ5U2VsZWN0RXZlbnQuZW1pdChjb2xsZWN0aW9uKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2Uuc2V0U2VsZWN0ZWRDb2xsZWN0aW9uKHRoaXMuc3lzdGVtLnN5c3RlbUlkLCBjb2xsZWN0aW9uLCB0aGlzLnN0b3JlU2VsZWN0ZWRJbkxvY2FsU3RvcmFnZSk7XHJcbiAgfVxyXG5cclxuICBvcGVuTWVudSgpOiB2b2lkIHtcclxuICAgIHRoaXMubWVudVRvZ2dsZUV2ZW50LmVtaXQodHJ1ZSk7XHJcblxyXG4gICAgdGhpcy5pc1JlZnJlc2hFbmFibGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNNZW51T3BlbmVkID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnRlcm1pbm9sb2d5U2VydmljZVxyXG4gICAgICAuc3RhcnRBdXRvUmVmcmVzaCh0aGlzLnN5c3RlbS5zeXN0ZW1JZClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpc0JhY2tncm91bmRJbXBvcnRDb21wbGV0ZWQgPSBcclxuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hFbmFibGVkICYmICF0aGlzLmlzTWVudU9wZW5lZCAmJiAhdGhpcy5zZWxlY3RlZD8uaXNJbXBvcnRpbmc7XHJcblxyXG4gICAgICAgICAgaWYgKCghdGhpcy5pc1JlZnJlc2hFbmFibGVkICYmICF0aGlzLnNlbGVjdGVkPy5pc0ltcG9ydGluZykgfHwgaXNCYWNrZ3JvdW5kSW1wb3J0Q29tcGxldGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcFJlZnJlc2goKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VNZW51KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZW51VG9nZ2xlRXZlbnQuZW1pdChmYWxzZSk7XHJcblxyXG4gICAgdGhpcy5pc01lbnVPcGVuZWQgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZD8uaXNJbXBvcnRpbmcpIHtcclxuICAgICAgdGhpcy5pc1JlZnJlc2hFbmFibGVkID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RvcFJlZnJlc2goKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UucmVzZXRFbmdpbmVzKCk7ICAgIFxyXG4gICAgdGhpcy5zdG9wUmVmcmVzaCgpO1xyXG4gICAgdGhpcy5kZXN0cm95Lm5leHQobnVsbCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RvcFJlZnJlc2goKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5zdG9wQXV0b1JlZnJlc2godGhpcy5zeXN0ZW0uc3lzdGVtSWQpO1xyXG4gICAgdGhpcy5pc1JlZnJlc2hFbmFibGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByZXNldENvbGxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLnByZXNldENvbGxlY3Rpb25TdWJzY3JpcHRpb24gPSB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5nZXRDb2xsZWN0aW9ucygpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHJlc1t0aGlzLnN5c3RlbS5zeXN0ZW1JZF0/LmNvbGxlY3Rpb25zLmZvckVhY2goKGNvbGxlY3Rpb24pID0+IHtcclxuICAgICAgICBpZiAoY29sbGVjdGlvbi5tdENvbGxlY3Rpb24/LmlkID09PSB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbklkIHx8IGNvbGxlY3Rpb24udGVybUlkID09PSB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbklkKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gY29sbGVjdGlvbjtcclxuXHJcbiAgICAgICAgICB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5zZXRTZWxlY3RlZENvbGxlY3Rpb24odGhpcy5zeXN0ZW0uc3lzdGVtSWQsIGNvbGxlY3Rpb24sIGZhbHNlKTtcclxuICAgICAgICAgIHRoaXMucHJlc2V0Q29sbGVjdGlvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgd2F0Y2hTeXN0ZW1DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuZ2V0RW5naW5lc1dpdGhTZWxlY3RlZENvbGxlY3Rpb25DaGFuZ2UoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95KSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXNbdGhpcy5zeXN0ZW0uc3lzdGVtSWRdKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHJlc1t0aGlzLnN5c3RlbS5zeXN0ZW1JZF0uc2VsZWN0ZWQ7XHJcbiAgICAgIH0gICAgICBcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJnbG9zc2FyeS1tZW51XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBbbmdDbGFzcy5sdC1zbV09XCIndGxkLXRlcm0tY29sbGVjdGlvbi13cmFwcGVyLW1vYmlsZSdcIiBmeExheW91dEdhcD1cIjhweFwiPlxyXG4gIDxzcGFuIGNsYXNzPVwiZ2xvc3NhcnktbGFiZWxcIiBmeEhpZGUubHQtbWQ+XHJcbiAgICB7eyBcIlRFUk1fQ09MTEVDVElPTlMuR0xPU1NBUllcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPGxpYi1vcGVuLWNsb3NlLWJ1dHRvblxyXG4gICAgKm5nSWY9XCIhc2hvd01lbnVJY29uT25Nb2JpbGU7IGVsc2UgZGVmYXVsdExheW91dFwiXHJcbiAgICBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLW1lbnUtYnV0dG9uXCJcclxuICAgICNzdGF0ZT1cIm1hdE1lbnVUcmlnZ2VyXCJcclxuICAgIFtpc09wZW5lZF09XCJzdGF0ZS5tZW51T3BlblwiXHJcbiAgICAobWVudU9wZW5lZCk9XCJvcGVuTWVudSgpXCJcclxuICAgIChtZW51Q2xvc2VkKT1cImNsb3NlTWVudSgpXCJcclxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcclxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1RFUk1fQ09MTEVDVElPTlMuQVJJQV9MQUJFTFMuT1RIRVJfQ09MTEVDVElPTlMnIHwgdHJhbnNsYXRlXCJcclxuICAgIFttYXRUb29sdGlwXT1cInNlbGVjdGVkPy5tdENvbGxlY3Rpb24/Lm5hbWUgPz8gc2VsZWN0ZWQ/LnRlcm1Db2xsZWN0aW9uPy5uYW1lID8/ICcnXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZC1jb2xsZWN0aW9uXCI+XHJcbiAgICAgIHt7IHNlbGVjdGVkPy5tdENvbGxlY3Rpb24/Lm5hbWUgPz8gc2VsZWN0ZWQ/LnRlcm1Db2xsZWN0aW9uPy5uYW1lID8/IChcIlRFUk1fQ09MTEVDVElPTlMuU0VMRUNURURfTk9ORVwiIHwgdHJhbnNsYXRlKSB9fVxyXG4gICAgPC9zcGFuPlxyXG4gICAgPG1hdC1zcGlubmVyICpuZ0lmPVwic2VsZWN0ZWQ/LmlzSW1wb3J0aW5nXCIgY2xhc3M9XCJzZWxlY3RlZC1jb2wtc3Bpbm5lclwiIGNvbG9yPVwiYWNjZW50XCIgZGlhbWV0ZXI9XCIxNlwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgPC9saWItb3Blbi1jbG9zZS1idXR0b24+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExheW91dD5cclxuICAgIDxsaWItb3Blbi1jbG9zZS1idXR0b25cclxuICAgICAgZnhIaWRlLmx0LXNtXHJcbiAgICAgIGNsYXNzPVwidGxkLWNvbGxlY3Rpb24tbWVudS1idXR0b25cIlxyXG4gICAgICAjc3RhdGU9XCJtYXRNZW51VHJpZ2dlclwiXHJcbiAgICAgIFtpc09wZW5lZF09XCJzdGF0ZS5tZW51T3BlblwiXHJcbiAgICAgIChtZW51T3BlbmVkKT1cIm9wZW5NZW51KClcIlxyXG4gICAgICAobWVudUNsb3NlZCk9XCJjbG9zZU1lbnUoKVwiXHJcbiAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInVEVSTV9DT0xMRUNUSU9OUy5BUklBX0xBQkVMUy5PVEhFUl9DT0xMRUNUSU9OUycgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBbbWF0VG9vbHRpcF09XCJzZWxlY3RlZD8ubXRDb2xsZWN0aW9uPy5uYW1lID8/IHNlbGVjdGVkPy50ZXJtQ29sbGVjdGlvbj8ubmFtZSA/PyAnJ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtY29sbGVjdGlvblwiPlxyXG4gICAgICAgIHt7IHNlbGVjdGVkPy5tdENvbGxlY3Rpb24/Lm5hbWUgPz8gc2VsZWN0ZWQ/LnRlcm1Db2xsZWN0aW9uPy5uYW1lID8/IChcIlRFUk1fQ09MTEVDVElPTlMuU0VMRUNURURfTk9ORVwiIHwgdHJhbnNsYXRlKSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cInNlbGVjdGVkPy5pc0ltcG9ydGluZ1wiIGNsYXNzPVwic2VsZWN0ZWQtY29sLXNwaW5uZXJcIiBjb2xvcj1cImFjY2VudFwiIGRpYW1ldGVyPVwiMTZcIj48L21hdC1zcGlubmVyPlxyXG4gICAgPC9saWItb3Blbi1jbG9zZS1idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvbiAobWVudU9wZW5lZCk9XCJvcGVuTWVudSgpXCIgKG1lbnVDbG9zZWQpPVwiY2xvc2VNZW51KClcIiBtYXQtaWNvbi1idXR0b24gZnhIaWRlLmd0LXhzICNzdGF0ZT1cIm1hdE1lbnVUcmlnZ2VyXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cclxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb2xsZWN0aW9uc19tZW51XCIgW2F0dHIuY29sb3JdPVwic2VsZWN0ZWQgPyAnYWNjZW50JyA6ICcnXCI+PC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG5cclxuPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwidGxkLWNvbGxlY3Rpb24tbWVudVwiPlxyXG4gIDx0bGQtY2xvc2UtYnV0dG9uIGZ4SGlkZS5ndC14cz48L3RsZC1jbG9zZS1idXR0b24+XHJcbiAgPGRpdiBjbGFzcz1cInRsZC10ZXJtLWNvbGxlY3Rpb25cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICA8bGliLXRlcm1pbm9sb2d5LXBhbmVsIChnbG9zc2FyeVNlbGVjdEV2ZW50KT1cInNlbGVjdEdsb3NzYXJ5KCRldmVudClcIiBbc3lzdGVtXT1cInN5c3RlbVwiIFtzZWxlY3RlZENvbGxlY3Rpb25dPVwic2VsZWN0ZWRcIj48L2xpYi10ZXJtaW5vbG9neS1wYW5lbD5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT5cclxuIl19
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWlub2xvZ3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L3Rlcm1pbm9sb2d5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi90ZXJtaW5vbG9neS90ZXJtaW5vbG9neS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWlDLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFckgsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3hELE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBT2pDLE1BQU0sT0FBTyxvQkFBb0I7SUFrQi9CLFlBQTZCLGtCQUFzQyxFQUFtQixXQUF3QjtRQUFqRix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQW1CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBZHJHLGdDQUEyQixHQUFHLElBQUksQ0FBQztRQUNuQyxnQ0FBMkIsR0FBRyxJQUFJLENBQUM7UUFDbkMseUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBQ3BFLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVoRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHWixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV6QyxhQUFRLEdBQThCLElBQUksQ0FBQztJQUVzRSxDQUFDO0lBRWxILFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxR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QUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuQixJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQzthQUNwRDtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0ExSFUsb0JBQW9CO21HQUFwQixvQkFBb0IsaWJDWmpDLHF5RkFzREE7OzRGRDFDYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsaUJBQWlCO21JQUtsQixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ3FCLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCAgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRlcm1pbm9sb2d5U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21iaW5lZENvbGxlY3Rpb24gfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgKiBhcyBpY29ucyBmcm9tICcuL2ljb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRlcm1pbm9sb2d5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGVybWlub2xvZ3kuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Rlcm1pbm9sb2d5LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXJtaW5vbG9neUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ29sbGVjdGlvbklkITogc3RyaW5nO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHN5c3RlbSE6IHsgc3lzdGVtSWQ6IHN0cmluZzsgc291cmNlTGFuZ3VhZ2VDb2RlOiBzdHJpbmc7IHRhcmdldExhbmd1YWdlQ29kZTogc3RyaW5nIH07XHJcbiAgQElucHV0KCkgZGlzYWJsZWQhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHN0b3JlU2VsZWN0ZWRJbkxvY2FsU3RvcmFnZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2V0U2VsZWN0ZWRGcm9tTG9jYWxTdG9yYWdlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93TWVudUljb25Pbk1vYmlsZSA9IHRydWU7XHJcbiAgQE91dHB1dCgpIGdsb3NzYXJ5U2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbWJpbmVkQ29sbGVjdGlvbiB8IG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIG1lbnVUb2dnbGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgcHJpdmF0ZSBpc1JlZnJlc2hFbmFibGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBpc01lbnVPcGVuZWQgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBwcmVzZXRDb2xsZWN0aW9uU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHNlbGVjdGVkOiBDb21iaW5lZENvbGxlY3Rpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0ZXJtaW5vbG9neVNlcnZpY2U6IFRlcm1pbm9sb2d5U2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5lbmdpbmVzW3RoaXMuc3lzdGVtLnN5c3RlbUlkXT8uc2VsZWN0ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaWNvblNlcnZpY2UucmVnaXN0ZXJJY29ucyhpY29ucyk7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDb2xsZWN0aW9uSWQpIHtcclxuICAgICAgdGhpcy5wcmVzZXRDb2xsZWN0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy53YXRjaFN5c3RlbUNoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEdsb3NzYXJ5KGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbiB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSBjb2xsZWN0aW9uO1xyXG5cclxuICAgIGlmICghY29sbGVjdGlvbj8ubXRDb2xsZWN0aW9uICYmIGNvbGxlY3Rpb24gIT09IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmFkZFRvRW5naW5lVmFsaWRhdGlvbihjb2xsZWN0aW9uKSkge1xyXG4gICAgICAgIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLnVwZGF0ZUlmTmVjZXNzYXJ5KGNvbGxlY3Rpb24sIHRoaXMuc3lzdGVtLnN5c3RlbUlkLCB0cnVlKS5zdWJzY3JpYmUoeyBcclxuICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5nbG9zc2FyeVNlbGVjdEV2ZW50LmVtaXQocmVzKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmhhbmRsZUFkZFRvRW5naW5lRXJyb3IoZXJyb3IsIHRoaXMuc3lzdGVtLnN5c3RlbUlkKVxyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5nbG9zc2FyeVNlbGVjdEV2ZW50LmVtaXQoY29sbGVjdGlvbik7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLnNldFNlbGVjdGVkQ29sbGVjdGlvbih0aGlzLnN5c3RlbS5zeXN0ZW1JZCwgY29sbGVjdGlvbiwgdGhpcy5zdG9yZVNlbGVjdGVkSW5Mb2NhbFN0b3JhZ2UpO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1lbnUoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1lbnVUb2dnbGVFdmVudC5lbWl0KHRydWUpO1xyXG5cclxuICAgIHRoaXMuaXNSZWZyZXNoRW5hYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLmlzTWVudU9wZW5lZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2VcclxuICAgICAgLnN0YXJ0QXV0b1JlZnJlc2godGhpcy5zeXN0ZW0uc3lzdGVtSWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaXNCYWNrZ3JvdW5kSW1wb3J0Q29tcGxldGVkID0gXHJcbiAgICAgICAgICAgIHRoaXMuaXNSZWZyZXNoRW5hYmxlZCAmJiAhdGhpcy5pc01lbnVPcGVuZWQgJiYgIXRoaXMuc2VsZWN0ZWQ/LmlzSW1wb3J0aW5nO1xyXG5cclxuICAgICAgICAgIGlmICgoIXRoaXMuaXNSZWZyZXNoRW5hYmxlZCAmJiAhdGhpcy5zZWxlY3RlZD8uaXNJbXBvcnRpbmcpIHx8IGlzQmFja2dyb3VuZEltcG9ydENvbXBsZXRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3BSZWZyZXNoKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGNsb3NlTWVudSgpOiB2b2lkIHtcclxuICAgIHRoaXMubWVudVRvZ2dsZUV2ZW50LmVtaXQoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMuaXNNZW51T3BlbmVkID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQ/LmlzSW1wb3J0aW5nKSB7XHJcbiAgICAgIHRoaXMuaXNSZWZyZXNoRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0b3BSZWZyZXNoKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLnJlc2V0RW5naW5lcygpOyAgICBcclxuICAgIHRoaXMuc3RvcFJlZnJlc2goKTtcclxuICAgIHRoaXMuZGVzdHJveS5uZXh0KG51bGwpO1xyXG4gICAgdGhpcy5kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3BSZWZyZXNoKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2Uuc3RvcEF1dG9SZWZyZXNoKHRoaXMuc3lzdGVtLnN5c3RlbUlkKTtcclxuICAgIHRoaXMuaXNSZWZyZXNoRW5hYmxlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcmVzZXRDb2xsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmVzZXRDb2xsZWN0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuZ2V0Q29sbGVjdGlvbnMoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICByZXNbdGhpcy5zeXN0ZW0uc3lzdGVtSWRdPy5jb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XHJcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24ubXRDb2xsZWN0aW9uPy5pZCA9PT0gdGhpcy5zZWxlY3RlZENvbGxlY3Rpb25JZCB8fCBjb2xsZWN0aW9uLnRlcm1JZCA9PT0gdGhpcy5zZWxlY3RlZENvbGxlY3Rpb25JZCkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IGNvbGxlY3Rpb247XHJcblxyXG4gICAgICAgICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2Uuc2V0U2VsZWN0ZWRDb2xsZWN0aW9uKHRoaXMuc3lzdGVtLnN5c3RlbUlkLCBjb2xsZWN0aW9uLCBmYWxzZSk7XHJcbiAgICAgICAgICB0aGlzLnByZXNldENvbGxlY3Rpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHdhdGNoU3lzdGVtQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmdldEVuZ2luZXNXaXRoU2VsZWN0ZWRDb2xsZWN0aW9uQ2hhbmdlKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzW3RoaXMuc3lzdGVtLnN5c3RlbUlkXSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSByZXNbdGhpcy5zeXN0ZW0uc3lzdGVtSWRdLnNlbGVjdGVkO1xyXG4gICAgICB9ICAgICAgXHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZ2xvc3NhcnktbWVudVwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgW25nQ2xhc3MubHQtc21dPVwiJ3RsZC10ZXJtLWNvbGxlY3Rpb24td3JhcHBlci1tb2JpbGUnXCIgZnhMYXlvdXRHYXA9XCI4cHhcIj5cclxuICA8c3BhbiBjbGFzcz1cImdsb3NzYXJ5LWxhYmVsXCIgZnhIaWRlLmx0LW1kPlxyXG4gICAge3sgXCJURVJNX0NPTExFQ1RJT05TLkdMT1NTQVJZXCIgfCB0cmFuc2xhdGUgfX1cclxuICA8L3NwYW4+XHJcblxyXG4gIDxsaWItb3Blbi1jbG9zZS1idXR0b25cclxuICAgICpuZ0lmPVwiIXNob3dNZW51SWNvbk9uTW9iaWxlOyBlbHNlIGRlZmF1bHRMYXlvdXRcIlxyXG4gICAgY2xhc3M9XCJ0bGQtY29sbGVjdGlvbi1tZW51LWJ1dHRvblwiXHJcbiAgICAjc3RhdGU9XCJtYXRNZW51VHJpZ2dlclwiXHJcbiAgICBbaXNPcGVuZWRdPVwic3RhdGUubWVudU9wZW5cIlxyXG4gICAgKG1lbnVPcGVuZWQpPVwib3Blbk1lbnUoKVwiXHJcbiAgICAobWVudUNsb3NlZCk9XCJjbG9zZU1lbnUoKVwiXHJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXHJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidURVJNX0NPTExFQ1RJT05TLkFSSUFfTEFCRUxTLk9USEVSX0NPTExFQ1RJT05TJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJzZWxlY3RlZD8ubXRDb2xsZWN0aW9uPy5uYW1lID8/IHNlbGVjdGVkPy50ZXJtQ29sbGVjdGlvbj8ubmFtZSA/PyAnJ1wiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gID5cclxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtY29sbGVjdGlvblwiPlxyXG4gICAgICB7eyBzZWxlY3RlZD8ubXRDb2xsZWN0aW9uPy5uYW1lID8/IHNlbGVjdGVkPy50ZXJtQ29sbGVjdGlvbj8ubmFtZSA/PyAoXCJURVJNX0NPTExFQ1RJT05TLlNFTEVDVEVEX05PTkVcIiB8IHRyYW5zbGF0ZSkgfX1cclxuICAgIDwvc3Bhbj5cclxuICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cInNlbGVjdGVkPy5pc0ltcG9ydGluZ1wiIGNsYXNzPVwic2VsZWN0ZWQtY29sLXNwaW5uZXJcIiBjb2xvcj1cImFjY2VudFwiIGRpYW1ldGVyPVwiMTZcIj48L21hdC1zcGlubmVyPlxyXG4gIDwvbGliLW9wZW4tY2xvc2UtYnV0dG9uPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMYXlvdXQ+XHJcbiAgICA8bGliLW9wZW4tY2xvc2UtYnV0dG9uXHJcbiAgICAgIGZ4SGlkZS5sdC1zbVxyXG4gICAgICBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLW1lbnUtYnV0dG9uXCJcclxuICAgICAgI3N0YXRlPVwibWF0TWVudVRyaWdnZXJcIlxyXG4gICAgICBbaXNPcGVuZWRdPVwic3RhdGUubWVudU9wZW5cIlxyXG4gICAgICAobWVudU9wZW5lZCk9XCJvcGVuTWVudSgpXCJcclxuICAgICAgKG1lbnVDbG9zZWQpPVwiY2xvc2VNZW51KClcIlxyXG4gICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1RFUk1fQ09MTEVDVElPTlMuQVJJQV9MQUJFTFMuT1RIRVJfQ09MTEVDVElPTlMnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwic2VsZWN0ZWQ/Lm10Q29sbGVjdGlvbj8ubmFtZSA/PyBzZWxlY3RlZD8udGVybUNvbGxlY3Rpb24/Lm5hbWUgPz8gJydcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInNlbGVjdGVkLWNvbGxlY3Rpb25cIj5cclxuICAgICAgICB7eyBzZWxlY3RlZD8ubXRDb2xsZWN0aW9uPy5uYW1lID8/IHNlbGVjdGVkPy50ZXJtQ29sbGVjdGlvbj8ubmFtZSA/PyAoXCJURVJNX0NPTExFQ1RJT05TLlNFTEVDVEVEX05PTkVcIiB8IHRyYW5zbGF0ZSkgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJzZWxlY3RlZD8uaXNJbXBvcnRpbmdcIiBjbGFzcz1cInNlbGVjdGVkLWNvbC1zcGlubmVyXCIgY29sb3I9XCJhY2NlbnRcIiBkaWFtZXRlcj1cIjE2XCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvbGliLW9wZW4tY2xvc2UtYnV0dG9uPlxyXG5cclxuICAgIDxidXR0b24gKG1lbnVPcGVuZWQpPVwib3Blbk1lbnUoKVwiIChtZW51Q2xvc2VkKT1cImNsb3NlTWVudSgpXCIgbWF0LWljb24tYnV0dG9uIGZ4SGlkZS5ndC14cyAjc3RhdGU9XCJtYXRNZW51VHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY29sbGVjdGlvbnNfbWVudVwiIFthdHRyLmNvbG9yXT1cInNlbGVjdGVkID8gJ2FjY2VudCcgOiAnJ1wiPjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuXHJcbjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLW1lbnVcIj5cclxuICA8dGxkLWNsb3NlLWJ1dHRvbiBmeEhpZGUuZ3QteHM+PC90bGQtY2xvc2UtYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJ0bGQtdGVybS1jb2xsZWN0aW9uXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIChrZXlkb3duKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgPGxpYi10ZXJtaW5vbG9neS1wYW5lbCAoZ2xvc3NhcnlTZWxlY3RFdmVudCk9XCJzZWxlY3RHbG9zc2FyeSgkZXZlbnQpXCIgW3N5c3RlbV09XCJzeXN0ZW1cIiBbc2VsZWN0ZWRDb2xsZWN0aW9uXT1cInNlbGVjdGVkXCIgW3NldFNlbGVjdGVkRnJvbUxvY2FsU3RvcmFnZV09XCJzZXRTZWxlY3RlZEZyb21Mb2NhbFN0b3JhZ2VcIj48L2xpYi10ZXJtaW5vbG9neS1wYW5lbD5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT5cclxuIl19
|