@indigina/kendo 1.2.37 → 1.2.38
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/angular/forms/directives/debounce.directive.mjs +5 -5
- package/esm2022/lib/angular/forms/widgets/field/field-input/field-input.component.mjs +5 -5
- package/esm2022/lib/angular/forms/widgets/field/field-input/field-input.module.mjs +5 -5
- package/esm2022/lib/angular/forms/widgets/field/field-input/number-input.component.mjs +5 -5
- package/esm2022/lib/angular/forms/widgets/field/field.component.mjs +5 -5
- package/esm2022/lib/angular/forms/widgets/file/file-select/field-file-select.component.mjs +5 -5
- package/esm2022/lib/angular/forms/widgets/file/file-select/field-file-select.module.mjs +5 -5
- package/esm2022/lib/angular/forms/widgets/file/file-upload/field-file-upload.component.mjs +5 -5
- package/esm2022/lib/angular/forms/widgets/file/file-upload/field-file-upload.module.mjs +5 -5
- package/esm2022/lib/angular/forms/widgets/form/form.component.mjs +140 -0
- package/esm2022/lib/angular/forms/widgets/general-errors/general-errors.component.mjs +4 -4
- package/esm2022/lib/angular/forms/widgets/textarea/field-textarea.component.mjs +5 -5
- package/esm2022/lib/angular/forms/widgets/textarea/field-textarea.module.mjs +5 -5
- package/esm2022/lib/angular/indigina.module.mjs +5 -5
- package/esm2022/lib/angular/models/AppSettings.mjs +4 -4
- package/esm2022/lib/angular/models/IndiginaConfiguration.mjs +4 -4
- package/esm2022/lib/angular/services/http.service.mjs +5 -5
- package/esm2022/lib/angular/services/locale-settings.service.mjs +5 -5
- package/esm2022/lib/angular/services/settings.service.mjs +4 -4
- package/esm2022/lib/angular/services/toastr.service.mjs +5 -5
- package/esm2022/lib/angular/widgets/live-updates-control/live-updates-control.component.mjs +4 -4
- package/esm2022/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.mjs +5 -5
- package/esm2022/lib/angular/widgets/side-menu/side-menu.component.mjs +4 -4
- package/esm2022/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.mjs +4 -4
- package/esm2022/lib/angular/widgets/tree-view/tree-view.component.mjs +5 -5
- package/esm2022/lib/components/account-menu/account-menu.component.mjs +5 -5
- package/esm2022/lib/components/azure-login-callback/azure-login-callback.component.mjs +5 -5
- package/esm2022/lib/components/forbidden/forbidden.component.mjs +5 -5
- package/esm2022/lib/components/language-selector/language-selector.component.mjs +5 -5
- package/esm2022/lib/directives/requirePermission.directive.mjs +5 -5
- package/esm2022/lib/interceptors/auth-headers.interceptor.mjs +5 -5
- package/esm2022/lib/kendo.module.mjs +6 -6
- package/esm2022/lib/services/account.service.mjs +5 -5
- package/esm2022/lib/services/activity.filter.service.mjs +6 -6
- package/esm2022/lib/services/auth-provider.resolver.mjs +5 -5
- package/esm2022/lib/services/partner.service.mjs +5 -5
- package/esm2022/lib/services/permissions.service.mjs +5 -5
- package/esm2022/lib/services/signalr/signalr.service.mjs +5 -5
- package/esm2022/lib/widgets/activity-filter/activity-filter.component.mjs +5 -5
- package/esm2022/lib/widgets/confirm-dialog/confirm-dialog.component.mjs +5 -5
- package/esm2022/lib/widgets/current-timezone/current-timezone.component.mjs +5 -5
- package/esm2022/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.mjs +4 -4
- package/esm2022/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.component.mjs +131 -0
- package/esm2022/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.module.mjs +32 -0
- package/esm2022/lib/widgets/entity-edit/dropdowns/form-dropdown/form-dropdown.component.mjs +137 -0
- package/esm2022/lib/widgets/entity-edit/dropdowns/form-dropdown/form-dropdown.module.mjs +32 -0
- package/esm2022/lib/widgets/entity-edit/entity-edit-form.component.mjs +5 -5
- package/esm2022/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.mjs +5 -5
- package/esm2022/lib/widgets/entity-list/entity-list.component.mjs +5 -5
- package/esm2022/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.mjs +5 -5
- package/esm2022/lib/widgets/entity-list/user-list-admin.component.mjs +5 -5
- package/esm2022/lib/widgets/excel-export-button/excel-export-button.component.mjs +4 -4
- package/esm2022/lib/widgets/footer-bar/footer-bar.component.mjs +4 -4
- package/esm2022/lib/widgets/modal-window/modal-window.component.mjs +5 -5
- package/esm2022/lib/widgets/multicheck-filter/multicheck-filter.component.mjs +4 -4
- package/esm2022/lib/widgets/top-bar/top-bar.component.mjs +4 -4
- package/esm2022/public-api.mjs +6 -3
- package/fesm2022/indigina-kendo.mjs +589 -228
- package/fesm2022/indigina-kendo.mjs.map +1 -1
- package/lib/angular/forms/widgets/form/form.component.d.ts +34 -0
- package/lib/kendo.module.d.ts +1 -1
- package/lib/widgets/entity-edit/{field-dropdown → dropdowns/field-dropdown}/field-dropdown.component.d.ts +23 -6
- package/lib/widgets/entity-edit/dropdowns/form-dropdown/form-dropdown.component.d.ts +46 -0
- package/lib/widgets/entity-edit/dropdowns/form-dropdown/form-dropdown.module.d.ts +11 -0
- package/package.json +24 -24
- package/public-api.d.ts +5 -2
- package/esm2022/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.mjs +0 -59
- package/esm2022/lib/widgets/entity-edit/field-dropdown/field-dropdown.module.mjs +0 -32
- /package/lib/widgets/entity-edit/{field-dropdown → dropdowns/field-dropdown}/field-dropdown.module.d.ts +0 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { ControlContainer, FormGroupDirective, } from '@angular/forms';
|
|
3
|
+
import { FormComponent } from '../../../../angular/forms/widgets/form/form.component';
|
|
4
|
+
import { BehaviorSubject, map, tap } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
import * as i2 from "@ngx-translate/core";
|
|
8
|
+
import * as i3 from "@progress/kendo-angular-dropdowns";
|
|
9
|
+
import * as i4 from "@angular/common";
|
|
10
|
+
const SelectValue = 'Select value';
|
|
11
|
+
const defaultFieldName = 'name';
|
|
12
|
+
const emptyLine = '';
|
|
13
|
+
export class FormDropdownComponent extends FormComponent {
|
|
14
|
+
get control() {
|
|
15
|
+
return this.parent.form.get(this.fieldName).get(this.textField);
|
|
16
|
+
}
|
|
17
|
+
constructor(parent, eref, translate) {
|
|
18
|
+
super(parent, eref, null);
|
|
19
|
+
this.parent = parent;
|
|
20
|
+
this.eref = eref;
|
|
21
|
+
this.translate = translate;
|
|
22
|
+
this.textField = defaultFieldName;
|
|
23
|
+
this.selectedChange = new EventEmitter();
|
|
24
|
+
this.firstLoad = true;
|
|
25
|
+
}
|
|
26
|
+
onValueChange(event) {
|
|
27
|
+
if (event !== emptyLine) {
|
|
28
|
+
const entity = this.getEntityById(event);
|
|
29
|
+
this.emitSelectedEntity(entity);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.emitSelectedEntity(this.defaultItem);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
super.ngOnInit();
|
|
37
|
+
this.setData();
|
|
38
|
+
this.setDefaultItem();
|
|
39
|
+
}
|
|
40
|
+
setDefaultItem() {
|
|
41
|
+
this.defaultItem = {
|
|
42
|
+
id: emptyLine,
|
|
43
|
+
name: this.translate.instant(this.defaultName || SelectValue),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
ngOnChanges() {
|
|
47
|
+
super.ngOnChanges();
|
|
48
|
+
this.setData();
|
|
49
|
+
}
|
|
50
|
+
setData() {
|
|
51
|
+
if (this.data) {
|
|
52
|
+
this.setInputData();
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
this.data$ = this.service
|
|
56
|
+
.getPage(this.filter ? { filter: this.filter } : {})
|
|
57
|
+
.pipe(tap((x) => {
|
|
58
|
+
this.items = x.data;
|
|
59
|
+
if (this.canUpdateWithSelectedItem()) {
|
|
60
|
+
const selectedItem = this.updateControlGroupWithSelectedEntity(this.selectedItem.id);
|
|
61
|
+
this.writeSelectedItemValueIfExists(selectedItem);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.updateControlGroupWithSelectedEntity(this.control.value);
|
|
65
|
+
}
|
|
66
|
+
this.setFirstLoadFalse();
|
|
67
|
+
}), map((x) => x.data));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
setInputData() {
|
|
71
|
+
let dataSubject = new BehaviorSubject(this.data);
|
|
72
|
+
this.data$ = dataSubject.asObservable();
|
|
73
|
+
}
|
|
74
|
+
canUpdateWithSelectedItem() {
|
|
75
|
+
return this.selectedItem && this.firstLoad;
|
|
76
|
+
}
|
|
77
|
+
updateControlGroupWithSelectedEntity(entityId) {
|
|
78
|
+
const entity = this.getEntityById(entityId);
|
|
79
|
+
if (entity) {
|
|
80
|
+
this.updateControlGroup(entity);
|
|
81
|
+
}
|
|
82
|
+
return entity;
|
|
83
|
+
}
|
|
84
|
+
updateControlGroup(entity) {
|
|
85
|
+
this.setControlValue(entity);
|
|
86
|
+
this.setGroupValues(entity);
|
|
87
|
+
}
|
|
88
|
+
setControlValue(entity) {
|
|
89
|
+
this.control.setValue(entity.id);
|
|
90
|
+
}
|
|
91
|
+
emitSelectedEntity(entity) {
|
|
92
|
+
this.selectedChange.emit(entity);
|
|
93
|
+
}
|
|
94
|
+
getEntityById(entityId) {
|
|
95
|
+
return this.items.find((x) => x.id === entityId);
|
|
96
|
+
}
|
|
97
|
+
writeSelectedItemValueIfExists(selectedItem) {
|
|
98
|
+
if (selectedItem) {
|
|
99
|
+
this.kendoDropDown.writeValue(selectedItem.id);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
setFirstLoadFalse() {
|
|
103
|
+
this.firstLoad = false;
|
|
104
|
+
}
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownComponent, deps: [{ token: i1.FormGroupDirective }, { token: i0.ElementRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: FormDropdownComponent, selector: "form-dropdown", inputs: { service: "service", rebind: "rebind", filter: "filter", defaultName: "defaultName", selectedItem: "selectedItem", data: "data", formFields: "formFields", textField: "textField" }, outputs: { selectedChange: "selectedChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"textField\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n #inputElement\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], viewProviders: [
|
|
107
|
+
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
108
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
109
|
+
}
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownComponent, decorators: [{
|
|
111
|
+
type: Component,
|
|
112
|
+
args: [{ selector: 'form-dropdown', viewProviders: [
|
|
113
|
+
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
114
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"textField\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n #inputElement\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n" }]
|
|
115
|
+
}], ctorParameters: () => [{ type: i1.FormGroupDirective }, { type: i0.ElementRef }, { type: i2.TranslateService }], propDecorators: { service: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], rebind: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], filter: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], defaultName: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], selectedItem: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], data: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], formFields: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], textField: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], selectedChange: [{
|
|
132
|
+
type: Output
|
|
133
|
+
}], kendoDropDown: [{
|
|
134
|
+
type: ViewChild,
|
|
135
|
+
args: ['inputElement']
|
|
136
|
+
}] } });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZHJvcGRvd25zL2Zvcm0tZHJvcGRvd24vZm9ybS1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZHJvcGRvd25zL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUl0RixPQUFPLEVBQUUsZUFBZSxFQUFjLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQUk3RCxNQUFNLFdBQVcsR0FBVyxjQUFjLENBQUM7QUFDM0MsTUFBTSxnQkFBZ0IsR0FBVyxNQUFNLENBQUM7QUFDeEMsTUFBTSxTQUFTLEdBQVcsRUFBRSxDQUFDO0FBVTdCLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBMkJ0RCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsWUFDUyxNQUEwQixFQUMxQixJQUFnQixFQUNmLFNBQTJCO1FBRW5DLEtBQUss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QUU7cUJBQy9ELG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOytJQUkvQyxPQUFPO3NCQUROLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLGNBQWM7c0JBRGIsTUFBTTtnQkFJQyxhQUFhO3NCQURwQixTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xDb250YWluZXIsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2FuZ3VsYXIvZm9ybXMvd2lkZ2V0cy9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IElHZXRQYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2dldC1wYWdlLnNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5hbWVkTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9hbmd1bGFyL21vZGVscy9OYW1lZE1vZGVsJztcbmltcG9ydCB7IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBEcm9wRG93bkxpc3RDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kcm9wZG93bnMnO1xuXG5jb25zdCBTZWxlY3RWYWx1ZTogc3RyaW5nID0gJ1NlbGVjdCB2YWx1ZSc7XG5jb25zdCBkZWZhdWx0RmllbGROYW1lOiBzdHJpbmcgPSAnbmFtZSc7XG5jb25zdCBlbXB0eUxpbmU6IHN0cmluZyA9ICcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHZpZXdQcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBGb3JtR3JvdXBEaXJlY3RpdmUgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Ecm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEZvcm1Db21wb25lbnQge1xuICBASW5wdXQoKVxuICBzZXJ2aWNlOiBJR2V0UGFnZVNlcnZpY2U8TmFtZWRNb2RlbD47XG4gIEBJbnB1dCgpXG4gIHJlYmluZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBmaWx0ZXI/OiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yO1xuICBASW5wdXQoKVxuICBkZWZhdWx0TmFtZT86IHN0cmluZztcbiAgQElucHV0KClcbiAgc2VsZWN0ZWRJdGVtPzogTmFtZWRNb2RlbDtcbiAgQElucHV0KClcbiAgZGF0YT86IE5hbWVkTW9kZWxbXTtcbiAgQElucHV0KClcbiAgZm9ybUZpZWxkczogc3RyaW5nW107XG4gIEBJbnB1dCgpXG4gIHRleHRGaWVsZDogc3RyaW5nID0gZGVmYXVsdEZpZWxkTmFtZTtcbiAgQE91dHB1dCgpXG4gIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TmFtZWRNb2RlbCB8IG51bWJlciB8IHN0cmluZz4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JylcbiAgcHJpdmF0ZSBrZW5kb0Ryb3BEb3duOiBEcm9wRG93bkxpc3RDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBpdGVtczogTmFtZWRNb2RlbFtdO1xuICBwdWJsaWMgZGVmYXVsdEl0ZW06IE5hbWVkTW9kZWw7XG4gIHB1YmxpYyBkYXRhJDogT2JzZXJ2YWJsZTxOYW1lZE1vZGVsW10+O1xuICBwdWJsaWMgZmlyc3RMb2FkOiBib29sZWFuID0gdHJ1ZTtcbiAgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuZm9ybS5nZXQodGhpcy5maWVsZE5hbWUpLmdldCh0aGlzLnRleHRGaWVsZCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGFyZW50OiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgcHVibGljIGVyZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKHBhcmVudCwgZXJlZiwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb25WYWx1ZUNoYW5nZShldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50ICE9PSBlbXB0eUxpbmUpIHtcbiAgICAgIGNvbnN0IGVudGl0eTogTmFtZWRNb2RlbCA9IHRoaXMuZ2V0RW50aXR5QnlJZChldmVudCk7XG4gICAgICB0aGlzLmVtaXRTZWxlY3RlZEVudGl0eShlbnRpdHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtaXRTZWxlY3RlZEVudGl0eSh0aGlzLmRlZmF1bHRJdGVtKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuc2V0RGF0YSgpO1xuICAgIHRoaXMuc2V0RGVmYXVsdEl0ZW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGVmYXVsdEl0ZW0oKTogdm9pZCB7XG4gICAgdGhpcy5kZWZhdWx0SXRlbSA9IHtcbiAgICAgIGlkOiBlbXB0eUxpbmUsXG4gICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRoaXMuZGVmYXVsdE5hbWUgfHwgU2VsZWN0VmFsdWUpLFxuICAgIH07XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uQ2hhbmdlcygpO1xuICAgIHRoaXMuc2V0RGF0YSgpO1xuICB9XG5cbiAgc2V0RGF0YSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLnNldElucHV0RGF0YSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGEkID0gdGhpcy5zZXJ2aWNlXG4gICAgICAgIC5nZXRQYWdlKHRoaXMuZmlsdGVyID8geyBmaWx0ZXI6IHRoaXMuZmlsdGVyIH0gOiB7fSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKCh4KSA9PiB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zID0geC5kYXRhO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FuVXBkYXRlV2l0aFNlbGVjdGVkSXRlbSgpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbTogTmFtZWRNb2RlbCA9XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDb250cm9sR3JvdXBXaXRoU2VsZWN0ZWRFbnRpdHkodGhpcy5zZWxlY3RlZEl0ZW0uaWQpO1xuICAgICAgICAgICAgICB0aGlzLndyaXRlU2VsZWN0ZWRJdGVtVmFsdWVJZkV4aXN0cyhzZWxlY3RlZEl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVDb250cm9sR3JvdXBXaXRoU2VsZWN0ZWRFbnRpdHkodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZXRGaXJzdExvYWRGYWxzZSgpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIG1hcCgoeCkgPT4geC5kYXRhKSxcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0RGF0YSgpOiB2b2lkIHtcbiAgICBsZXQgZGF0YVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxOYW1lZE1vZGVsW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAgIE5hbWVkTW9kZWxbXVxuICAgID4odGhpcy5kYXRhKTtcbiAgICB0aGlzLmRhdGEkID0gZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGNhblVwZGF0ZVdpdGhTZWxlY3RlZEl0ZW0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtICYmIHRoaXMuZmlyc3RMb2FkO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250cm9sR3JvdXBXaXRoU2VsZWN0ZWRFbnRpdHkoZW50aXR5SWQ6IHN0cmluZyk6IE5hbWVkTW9kZWwge1xuICAgIGNvbnN0IGVudGl0eTogTmFtZWRNb2RlbCA9IHRoaXMuZ2V0RW50aXR5QnlJZChlbnRpdHlJZCk7XG4gICAgaWYgKGVudGl0eSkge1xuICAgICAgdGhpcy51cGRhdGVDb250cm9sR3JvdXAoZW50aXR5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW50aXR5O1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250cm9sR3JvdXAoZW50aXR5OiBOYW1lZE1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5zZXRDb250cm9sVmFsdWUoZW50aXR5KTtcbiAgICB0aGlzLnNldEdyb3VwVmFsdWVzKGVudGl0eSk7XG4gIH1cblxuICBwcml2YXRlIHNldENvbnRyb2xWYWx1ZShlbnRpdHk6IE5hbWVkTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZW50aXR5LmlkKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdFNlbGVjdGVkRW50aXR5KGVudGl0eTogTmFtZWRNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChlbnRpdHkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbnRpdHlCeUlkKGVudGl0eUlkOiBzdHJpbmcpOiBOYW1lZE1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKCh4KSA9PiB4LmlkID09PSBlbnRpdHlJZCk7XG4gIH1cblxuICBwcml2YXRlIHdyaXRlU2VsZWN0ZWRJdGVtVmFsdWVJZkV4aXN0cyhzZWxlY3RlZEl0ZW06IE5hbWVkTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICB0aGlzLmtlbmRvRHJvcERvd24ud3JpdGVWYWx1ZShzZWxlY3RlZEl0ZW0uaWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Rmlyc3RMb2FkRmFsc2UoKTogdm9pZCB7XG4gICAgdGhpcy5maXJzdExvYWQgPSBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPGxhYmVsXG4gICAgZm9yPVwie3sgJ18nICsgZmllbGROYW1lIH19XCJcbiAgICBjbGFzcz1cImNvbC1tZC0zIGNvbnRyb2wtbGFiZWxcIlxuICAgIHRyYW5zbGF0ZT1cInt7IGxhYmVsS2V5IH19XCJcbiAgPjwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiICpuZ0lmPVwiY29udHJvbFwiPlxuICAgIDxrZW5kby1kcm9wZG93bmxpc3RcbiAgICAgIGlkPVwie3sgJ18nICsgZmllbGROYW1lIH19XCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgIFtkYXRhXT1cImRhdGEkIHwgYXN5bmNcIlxuICAgICAgW3RleHRGaWVsZF09XCJ0ZXh0RmllbGRcIlxuICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgIFt2YWx1ZVByaW1pdGl2ZV09XCJ0cnVlXCJcbiAgICAgIFtkZWZhdWx0SXRlbV09XCJkZWZhdWx0SXRlbVwiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICNpbnB1dEVsZW1lbnRcbiAgICA+XG4gICAgPC9rZW5kby1kcm9wZG93bmxpc3Q+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYmctZGFuZ2VyXCIgKm5nSWY9XCJjb250cm9sLmludmFsaWQgJiYgY29udHJvbC50b3VjaGVkXCI+XG4gICAgICA8c3BhbiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydyZXF1aXJlZCddXCI+e3tcbiAgICAgICAgXCJSZXF1aXJlZFwiIHwgdHJhbnNsYXRlIDogeyBwYXJhbTA6IGxhYmVsS2V5IHwgdHJhbnNsYXRlIH1cbiAgICAgIH19PC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb250cm9sLmVycm9yc1snc2VydmVyRXJyb3JNc2cnXVwiPnt7XG4gICAgICAgIGNvbnRyb2wuZXJyb3JzW1wic2VydmVyRXJyb3JNc2dcIl1cbiAgICAgIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { FormDropdownComponent } from './form-dropdown.component';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
|
5
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class FormDropdownModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownModule, declarations: [FormDropdownComponent], imports: [TranslateModule,
|
|
11
|
+
DropDownsModule,
|
|
12
|
+
ReactiveFormsModule,
|
|
13
|
+
CommonModule], exports: [FormDropdownComponent] }); }
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownModule, imports: [TranslateModule,
|
|
15
|
+
DropDownsModule,
|
|
16
|
+
ReactiveFormsModule,
|
|
17
|
+
CommonModule] }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownModule, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
declarations: [FormDropdownComponent],
|
|
23
|
+
imports: [
|
|
24
|
+
TranslateModule,
|
|
25
|
+
DropDownsModule,
|
|
26
|
+
ReactiveFormsModule,
|
|
27
|
+
CommonModule,
|
|
28
|
+
],
|
|
29
|
+
exports: [FormDropdownComponent],
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kcm9wZG93bi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZHJvcGRvd25zL2Zvcm0tZHJvcGRvd24vZm9ybS1kcm9wZG93bi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFZL0MsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsaUJBVGQscUJBQXFCLGFBRWxDLGVBQWU7WUFDZixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLFlBQVksYUFFSixxQkFBcUI7K0dBRXBCLGtCQUFrQixZQVAzQixlQUFlO1lBQ2YsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixZQUFZOzsyRkFJSCxrQkFBa0I7a0JBVjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRHJvcERvd25zTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZHJvcGRvd25zJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGb3JtRHJvcGRvd25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIERyb3BEb3duc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0Zvcm1Ecm9wZG93bkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Ecm9wZG93bk1vZHVsZSB7fVxuIl19
|
|
@@ -69,17 +69,17 @@ export class EntityEditFormComponent {
|
|
|
69
69
|
},
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: EntityEditFormComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", entityId: "entityId", adapter: "adapter" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n *ngIf=\"formGroup | async as form\"\n class=\"form-horizontal\"\n [formGroup]=\"form\"\n novalidate\n autocomplete=\"off\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n [form]=\"form\"\n [errors]=\"form.generalErrors\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"form.valid && form.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.GeneralErrorsComponent, selector: "app-general-errors", inputs: ["form", "errors"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: ["valid"], outputs: ["save"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
74
74
|
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: EntityEditFormComponent, decorators: [{
|
|
76
76
|
type: Component,
|
|
77
77
|
args: [{ selector: 'entity-edit-form', template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n *ngIf=\"formGroup | async as form\"\n class=\"form-horizontal\"\n [formGroup]=\"form\"\n novalidate\n autocomplete=\"off\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n [form]=\"form\"\n [errors]=\"form.generalErrors\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"form.valid && form.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n" }]
|
|
78
|
-
}], ctorParameters:
|
|
78
|
+
}], ctorParameters: () => [{ type: i1.ActivatedRoute }], propDecorators: { title: [{
|
|
79
79
|
type: Input
|
|
80
80
|
}], entityId: [{
|
|
81
81
|
type: Input
|
|
82
82
|
}], adapter: [{
|
|
83
83
|
type: Input
|
|
84
84
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFPckQsTUFBTSxPQUFPLHVCQUF1QjtJQWFsQyxZQUFvQixLQUFxQjtRQUFyQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQVpsQyxjQUFTLEdBQ2QsSUFBSSxlQUFlLENBQXNCLElBQUksQ0FBQyxDQUFDO1FBWS9DLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxR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dkIsdUJBQXVCLG1KQ2ZwQyx5d0JBNEJBOzsyRkRiYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCO21GQVE1QixLQUFLO3NCQURKLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUZvcm1BZGFwdGVyIH0gZnJvbSAnLi9JRm9ybUFkYXB0ZXInO1xuaW1wb3J0IHsgRm9ybUdyb3VwV2l0aEVycm9ycyB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvZm9ybXMvZXh0ZW5zaW9ucy9Gb3JtR3JvdXBXaXRoRXJyb3JzJztcbmltcG9ydCB7IElkZW50aWZpZWRNb2RlbCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL0lkZW50aWZpZWRNb2RlbCc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudGl0eS1lZGl0LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1lZGl0LWZvcm0uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlFZGl0Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBwdWJsaWMgZm9ybUdyb3VwOiBCZWhhdmlvclN1YmplY3Q8Rm9ybUdyb3VwV2l0aEVycm9ycz4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybUdyb3VwV2l0aEVycm9ycz4obnVsbCk7XG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGVudGl0eUlkPzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBhZGFwdGVyOiBJRm9ybUFkYXB0ZXI8SWRlbnRpZmllZE1vZGVsPjtcbiAgcm91dGVTZXJ2aWNlOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIHNhdmVJblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgdGhpcy5zYXZlSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW50aXR5SWQpIHtcbiAgICAgIHRoaXMubG9hZEVudGl0eSh0aGlzLmVudGl0eUlkKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlU2VydmljZT8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5lbnRpdHlJZCkge1xuICAgICAgdGhpcy5yb3V0ZVNlcnZpY2UgPSB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoXG4gICAgICAgIChwYXJhbXM6IElkZW50aWZpZWRNb2RlbCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZEVudGl0eShwYXJhbXMuaWQpO1xuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBsb2FkRW50aXR5KGlkPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAubmV4dChudWxsKTtcbiAgICBjb25zdCBmb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwV2l0aEVycm9ycyh7fSk7XG4gICAgaWYgKCFpZCkge1xuICAgICAgdGhpcy5hZGFwdGVyLnNldEZvcm0oZm9ybUdyb3VwKTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLm5leHQoZm9ybUdyb3VwKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWRhcHRlclxuICAgICAgLmdldFNlcnZpY2UoKVxuICAgICAgLmdldChpZCwgdGhpcy5hZGFwdGVyLmdldFVybFBhcmFtcygpKVxuICAgICAgLnN1YnNjcmliZSgobW9kZWwpID0+IHtcbiAgICAgICAgZm9ybUdyb3VwLmFkZENvbnRyb2woJ2lkJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbChtb2RlbC5pZCkpO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtb2RlbCkpIHtcbiAgICAgICAgICBmb3JtR3JvdXAuYWRkQ29udHJvbChrZXksIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobW9kZWxba2V5XSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hZGFwdGVyLnNldEZvcm0oZm9ybUdyb3VwKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAubmV4dChmb3JtR3JvdXApO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZUluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIHRoaXMuYWRhcHRlclxuICAgICAgLmdldFNlcnZpY2UoKVxuICAgICAgLnNhdmUodGhpcy5hZGFwdGVyLmdldFZhbHVlKCksIHRoaXMuYWRhcHRlci5nZXRVcmxQYXJhbXMoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5zYXZlSW5Qcm9ncmVzcyA9IGZhbHNlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlc3VsdDogSWRlbnRpZmllZE1vZGVsKSA9PiB7XG4gICAgICAgICAgdGhpcy5hZGFwdGVyLm9uU2F2ZWQocmVzdWx0KTtcbiAgICAgICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5hcHBseVNlcnZlckVycm9ycyhcbiAgICAgICAgICAgIHsgZXJyb3JzOiB7fSB9LFxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAudmFsdWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5uZXh0KHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5hcHBseVNlcnZlckVycm9ycyhcbiAgICAgICAgICAgIGVycm9yLmVycm9yLFxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAudmFsdWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5uZXh0KHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sLW1kLThcIj5cbiAgPGhlYWRlciBjbGFzcz1cImhlYWRlci1wYWdlLWJnXCI+XG4gICAgPGg0Pnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgPC9oZWFkZXI+XG4gIDxkaXYgY2xhc3M9XCJwYW5lbCBlZGl0b3ItYXJlYSBoZXJvLXVuaXRcIj5cbiAgICA8Zm9ybVxuICAgICAgKm5nSWY9XCJmb3JtR3JvdXAgfCBhc3luYyBhcyBmb3JtXCJcbiAgICAgIGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICBub3ZhbGlkYXRlXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC05XCI+XG4gICAgICAgIDxhcHAtZ2VuZXJhbC1lcnJvcnNcbiAgICAgICAgICBbZm9ybV09XCJmb3JtXCJcbiAgICAgICAgICBbZXJyb3JzXT1cImZvcm0uZ2VuZXJhbEVycm9yc1wiXG4gICAgICAgID48L2FwcC1nZW5lcmFsLWVycm9ycz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGVudGl0eS1lZGl0LWJ1dHRvbnMtYmFyXG4gICAgICAgIChzYXZlKT1cInNhdmUoKVwiXG4gICAgICAgIFt2YWxpZF09XCJmb3JtLnZhbGlkICYmIGZvcm0uZGlydHkgJiYgIXNhdmVJblByb2dyZXNzXCJcbiAgICAgID5cbiAgICAgIDwvZW50aXR5LWVkaXQtYnV0dG9ucy1iYXI+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -36,15 +36,15 @@ export class FieldMultiSelectComponent extends FieldComponent {
|
|
|
36
36
|
getData() {
|
|
37
37
|
return this.service.getPage(this.filter ? { filter: this.filter } : {});
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FieldMultiSelectComponent, deps: [{ token: i1.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: FieldMultiSelectComponent, selector: "field-multiselect", inputs: { service: "service", rebind: "rebind", filter: "filter", textField: "textField", valueField: "valueField", singleMode: "singleMode", autoClose: "autoClose" }, outputs: { changed: "changed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div *ngIf=\"control\" class=\"col-md-9\">\n <kendo-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"autoClose\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n (open)=\"onPopupOpen($event)\"\n >\n </kendo-multiselect>\n\n <div *ngIf=\"control.invalid && control.touched\" class=\"bg-danger\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "title", "subtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], viewProviders: [
|
|
41
41
|
{
|
|
42
42
|
provide: ControlContainer,
|
|
43
43
|
useExisting: FormGroupDirective,
|
|
44
44
|
},
|
|
45
45
|
] }); }
|
|
46
46
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FieldMultiSelectComponent, decorators: [{
|
|
48
48
|
type: Component,
|
|
49
49
|
args: [{ selector: 'field-multiselect', viewProviders: [
|
|
50
50
|
{
|
|
@@ -52,7 +52,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
52
52
|
useExisting: FormGroupDirective,
|
|
53
53
|
},
|
|
54
54
|
], template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div *ngIf=\"control\" class=\"col-md-9\">\n <kendo-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"autoClose\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n (open)=\"onPopupOpen($event)\"\n >\n </kendo-multiselect>\n\n <div *ngIf=\"control.invalid && control.touched\" class=\"bg-danger\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n" }]
|
|
55
|
-
}], ctorParameters:
|
|
55
|
+
}], ctorParameters: () => [{ type: i1.FormGroupDirective }, { type: i0.ElementRef }], propDecorators: { service: [{
|
|
56
56
|
type: Input
|
|
57
57
|
}], rebind: [{
|
|
58
58
|
type: Input
|
|
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
69
69
|
}], changed: [{
|
|
70
70
|
type: Output
|
|
71
71
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1lZGl0L2ZpZWxkLW11bHRpc2VsZWN0L2ZpZWxkLW11bHRpc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktZWRpdC9maWVsZC1tdWx0aXNlbGVjdC9maWVsZC1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBeUIsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUVuQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7O0FBbUJ0RixNQUFNLE9BQU8seUJBQ1gsU0FBUSxjQUF3QjtJQVloQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQ1MsTUFBMEIsRUFDMUIsSUFBZ0I7UUFFdkIsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFIakIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQVhoQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDMUIsWUFBTyxHQUFvQixJQUFJLFlBQVksRUFBSyxDQUFDO1FBRTNELFNBQUksR0FBc0IsRUFBRSxDQUFDO1FBVTNCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdkIsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDMUQsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXVCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFTyxPQUFPO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7OEdBL0NVLHlCQUF5QjtrR0FBekIseUJBQXlCLDhTQzFCdEMsMDNCQTZCQSw4dUNEVmlCO1lBQ2I7Z0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsV0FBVyxFQUFFLGtCQUFrQjthQUNoQztTQUNGOzsyRkFFVSx5QkFBeUI7a0JBWHJDLFNBQVM7K0JBQ0UsbUJBQW1CLGlCQUdkO3dCQUNiOzRCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7NEJBQ3pCLFdBQVcsRUFBRSxrQkFBa0I7eUJBQ2hDO3FCQUNGO2dIQUtRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xDb250YWluZXIsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgQWJzdHJhY3RDb250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9hbmd1bGFyL2Zvcm1zL3dpZGdldHMvZmllbGQvZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IElkZW50aWZpZWRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2FuZ3VsYXIvbW9kZWxzL0lkZW50aWZpZWRNb2RlbCc7XG5pbXBvcnQgeyBOYW1lZE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vYW5ndWxhci9tb2RlbHMvTmFtZWRNb2RlbCc7XG5pbXBvcnQgeyBJRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL0lFbnRpdHlTZXJ2aWNlJztcbmltcG9ydCB7IFByZXZlbnRhYmxlRXZlbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kcm9wZG93bnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJ3Byb2plY3RzL2tlbmRvL3NyYy9saWIvbW9kZWxzL1BhZ2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWVsZC1tdWx0aXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpZWxkLW11bHRpc2VsZWN0LmNvbXBvbmVudC5jc3MnXSxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkTXVsdGlTZWxlY3RDb21wb25lbnQ8VD5cbiAgZXh0ZW5kcyBGaWVsZENvbXBvbmVudDxzdHJpbmdbXT5cbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzZXJ2aWNlOiBJRW50aXR5U2VydmljZTxOYW1lZE1vZGVsPjtcbiAgQElucHV0KCkgcmViaW5kOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZpbHRlcj86IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3I7XG4gIEBJbnB1dCgpIHRleHRGaWVsZD86IHN0cmluZztcbiAgQElucHV0KCkgdmFsdWVGaWVsZD86IHN0cmluZztcbiAgQElucHV0KCkgc2luZ2xlTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvQ2xvc2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxUPiA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICBkYXRhOiBJZGVudGlmaWVkTW9kZWxbXSA9IFtdO1xuICBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5mb3JtLmdldCh0aGlzLmZpZWxkTmFtZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGFyZW50OiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgcHVibGljIGVyZWY6IEVsZW1lbnRSZWYsXG4gICkge1xuICAgIHN1cGVyKHBhcmVudCwgZXJlZiwgW10pO1xuICAgIHRoaXMudGV4dEZpZWxkID0gdGhpcy50ZXh0RmllbGQgPz8gJ25hbWUnO1xuICAgIHRoaXMudmFsdWVGaWVsZCA9IHRoaXMudmFsdWVGaWVsZCA/PyAnaWQnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXREYXRhKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmRhdGEgPSBkYXRhLmRhdGE7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgIHRoaXMuY29udHJvbC52YWx1ZS5maWx0ZXIoXG4gICAgICAgICAgKHg6IHN0cmluZykgPT4gdGhpcy5kYXRhLmZpbHRlcigoZCkgPT4gZC5pZCA9PT0geCkubGVuZ3RoXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBvblBvcHVwT3BlbihldmVudDogUHJldmVudGFibGVFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zaW5nbGVNb2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb250cm9sLnZhbHVlLmxlbmd0aCA+IDAgJiYgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGF0YSgpOiBPYnNlcnZhYmxlPFBhZ2U8TmFtZWRNb2RlbD4+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldFBhZ2UodGhpcy5maWx0ZXIgPyB7IGZpbHRlcjogdGhpcy5maWx0ZXIgfSA6IHt9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPGxhYmVsXG4gICAgZm9yPVwie3sgJ18nICsgZmllbGROYW1lIH19XCJcbiAgICBjbGFzcz1cImNvbC1tZC0zIGNvbnRyb2wtbGFiZWxcIlxuICAgIHRyYW5zbGF0ZT1cInt7IGxhYmVsS2V5IH19XCJcbiAgPjwvbGFiZWw+XG4gIDxkaXYgKm5nSWY9XCJjb250cm9sXCIgY2xhc3M9XCJjb2wtbWQtOVwiPlxuICAgIDxrZW5kby1tdWx0aXNlbGVjdFxuICAgICAgaWQ9XCJ7eyAnXycgKyBmaWVsZE5hbWUgfX1cIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgICBbYXV0b0Nsb3NlXT1cImF1dG9DbG9zZVwiXG4gICAgICBbdGV4dEZpZWxkXT1cInRleHRGaWVsZFwiXG4gICAgICBbdmFsdWVGaWVsZF09XCJ2YWx1ZUZpZWxkXCJcbiAgICAgIFt2YWx1ZVByaW1pdGl2ZV09XCJ0cnVlXCJcbiAgICAgIChvcGVuKT1cIm9uUG9wdXBPcGVuKCRldmVudClcIlxuICAgID5cbiAgICA8L2tlbmRvLW11bHRpc2VsZWN0PlxuXG4gICAgPGRpdiAqbmdJZj1cImNvbnRyb2wuaW52YWxpZCAmJiBjb250cm9sLnRvdWNoZWRcIiBjbGFzcz1cImJnLWRhbmdlclwiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb250cm9sLmVycm9yc1sncmVxdWlyZWQnXVwiPnt7XG4gICAgICAgICdSZXF1aXJlZCcgfCB0cmFuc2xhdGUgOiB7IHBhcmFtMDogbGFiZWxLZXkgfCB0cmFuc2xhdGUgfVxuICAgICAgfX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydzZXJ2ZXJFcnJvck1zZyddXCI+e3tcbiAgICAgICAgY29udHJvbC5lcnJvcnNbJ3NlcnZlckVycm9yTXNnJ11cbiAgICAgIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -195,13 +195,13 @@ export class EntityListComponent {
|
|
|
195
195
|
this.onFilterChange();
|
|
196
196
|
this.getData();
|
|
197
197
|
}
|
|
198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
199
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: EntityListComponent, deps: [{ token: i1.TranslateService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
199
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: EntityListComponent, selector: "entity-list", inputs: { service: "service", filters: "filters", fields: "fields", commands: "commands", rowClass: "rowClass", defaultSort: "defaultSort", mapItemFn: "mapItemFn", pageButtonsCount: "pageButtonsCount" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["confirmDialog"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page | async\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngIf=\"!dataItem.suppressDeletion\"\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ \"Messages.NoRecords\" | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"pageButtonsCount\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i4.DebounceDirective, selector: "[appDebounce]", inputs: ["debounceTime"], outputs: ["debounceKeyup"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i5.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: i5.GridSpacerComponent, selector: "kendo-grid-spacer, kendo-pager-spacer", inputs: ["width"] }, { kind: "directive", type: i5.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "directive", type: i5.GridToolbarFocusableDirective, selector: " [kendoGridToolbarFocusable], [kendoGridAddCommand], [kendoGridCancelCommand], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridExcelCommand], [kendoGridPDFCommand] " }, { kind: "component", type: i5.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i5.FocusableDirective, selector: "[kendoGridFocusable], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridCancelCommand], [kendoGridSelectionCheckbox] ", inputs: ["kendoGridFocusable"] }, { kind: "component", type: i5.CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: i5.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i5.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "component", type: i5.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { kind: "component", type: i5.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i5.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i5.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i5.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "directive", type: i5.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i5.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"] }, { kind: "directive", type: i6.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.ConfirmDialogComponent, selector: "confirm-dialog" }, { kind: "component", type: i9.ExcelExportButtonComponent, selector: "excel-export-button" }, { kind: "directive", type: i10.RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
200
200
|
}
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: EntityListComponent, decorators: [{
|
|
202
202
|
type: Component,
|
|
203
203
|
args: [{ selector: 'entity-list', template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page | async\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngIf=\"!dataItem.suppressDeletion\"\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ \"Messages.NoRecords\" | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"pageButtonsCount\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n" }]
|
|
204
|
-
}], ctorParameters:
|
|
204
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.ActivatedRoute }, { type: i2.Router }], propDecorators: { service: [{
|
|
205
205
|
type: Input
|
|
206
206
|
}], filters: [{
|
|
207
207
|
type: Input
|
|
@@ -223,4 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
223
223
|
type: ViewChild,
|
|
224
224
|
args: ['confirmDialog', { static: true }]
|
|
225
225
|
}] } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9lbnRpdHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQWF2QixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7QUFFL0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBT3pCLE1BQU0sT0FBTyxtQkFBbUI7SUFpQzlCLFlBQ1UsU0FBMkIsRUFDM0IsS0FBcUIsRUFDckIsTUFBYztRQUZkLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUF0QmpCLGNBQVMsR0FBa0QsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN6RSxJQUFJLENBQUM7UUFDRSxxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFFL0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUc3RCxjQUFTLEdBQVUsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBc0MsSUFBSSxlQUFlLENBRWxFLElBQUksQ0FBQyxDQUFDO1FBQ0QsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUVi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c2JDekNoQywrakhBbUdBOzs0RkQxRGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7eUpBTWhCLE9BQU87c0JBRGIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsTUFBTTtzQkFEWixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVDLFlBQVk7c0JBRGxCLE1BQU07Z0JBR0EsTUFBTTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFibGUgfSBmcm9tICcuLi8uLi9hbmd1bGFyL21vZGVscy9yZW1vdmFibGUuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBEYXRhU3RhdGVDaGFuZ2VFdmVudCxcbiAgUm93Q2xhc3NBcmdzLFxufSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ncmlkJztcbmltcG9ydCB7XG4gIENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IsXG4gIEZpbHRlckRlc2NyaXB0b3IsXG4gIFNvcnREZXNjcmlwdG9yLFxuICBTdGF0ZSxcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJZGVudGlmaWVkTW9kZWwgfSBmcm9tICcuLi8uLi9hbmd1bGFyL21vZGVscy9JZGVudGlmaWVkTW9kZWwnO1xuaW1wb3J0IHsgTmFtZWRNb2RlbCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL05hbWVkTW9kZWwnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJy4uLy4uL21vZGVscy9QYWdlJztcbmltcG9ydCB7IElFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvSUVudGl0eVNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnLi9Db21tYW5kJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9GaWVsZCc7XG5pbXBvcnQgeyB1cmxEZXNlcmlhbGl6ZSwgdXJsU2VyaWFsaXplIH0gZnJvbSAnLi9VcmxTZXJpYWxpemVyJztcblxuY29uc3QgbmFtZUZpZWxkID0gJ25hbWUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRpdHktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1saXN0LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgcHVibGljIHNlcnZpY2U6IElFbnRpdHlTZXJ2aWNlPE5hbWVkTW9kZWw+O1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsdGVyczogKEZpbHRlckRlc2NyaXB0b3IgfCBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yKVtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmllbGRzPzogRmllbGRbXTtcbiAgQElucHV0KClcbiAgcHVibGljIGNvbW1hbmRzPzogQ29tbWFuZFtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgcm93Q2xhc3M/OiAoZGF0YUl0ZW06IE5hbWVkTW9kZWwsIGluZGV4OiBudW1iZXIpID0+IHt9O1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdFNvcnQ/OiBTb3J0RGVzY3JpcHRvcltdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWFwSXRlbUZuPzogKGl0ZW06IE5hbWVkTW9kZWwpID0+IE5hbWVkTW9kZWwgJiBSZW1vdmFibGUgPSAoaXRlbSkgPT5cbiAgICBpdGVtO1xuICBASW5wdXQoKSBwYWdlQnV0dG9uc0NvdW50OiBudW1iZXIgPSA1O1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcj4oKTtcbiAgQFZpZXdDaGlsZCgnY29uZmlybURpYWxvZycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBkaWFsb2c6IENvbmZpcm1EaWFsb2dDb21wb25lbnQ7XG4gIHB1YmxpYyBncmlkU3RhdGU6IFN0YXRlID0ge307XG4gIHB1YmxpYyBwYWdlOiBCZWhhdmlvclN1YmplY3Q8UGFnZTxOYW1lZE1vZGVsPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIFBhZ2U8TmFtZWRNb2RlbD5cbiAgPihudWxsKTtcbiAgcHVibGljIGxvYWRpbmdzID0gMDtcbiAgcHVibGljIHNlYXJjaFRlcm06IHN0cmluZztcbiAgcHVibGljIHNlbGVjdGVkOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgZ3JpZEZpZWxkczogRmllbGRbXSA9IFtdO1xuICBwcml2YXRlIGRlZmF1bHRGaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgeyBuYW1lOiAnbmFtZScsIGxhYmVsOiAnTmFtZScsIHNvcnRhYmxlOiB0cnVlLCBwb3NpdGlvbjogMCB9LFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICkge1xuICAgIHRoaXMuZ2V0QWxsRGF0YSA9IHRoaXMuZ2V0QWxsRGF0YS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0Um93Q2xhc3MgPSB0aGlzLmdldFJvd0NsYXNzLmJpbmQodGhpcyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCFjaGFuZ2VzLmZpbHRlcnMgfHwgY2hhbmdlcy5maWx0ZXJzLmZpcnN0Q2hhbmdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5nZXRGaWx0ZXJlZERhdGEoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ3JpZEZpZWxkcyA9ICh0aGlzLmZpZWxkcyB8fCBbXSlcbiAgICAgIC5jb25jYXQodGhpcy5kZWZhdWx0RmllbGRzKVxuICAgICAgLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiAobGVmdC5wb3NpdGlvbiB8fCAwKSAtIChyaWdodC5wb3NpdGlvbiB8fCAwKSk7XG4gICAgdGhpcy5maWx0ZXJzID0gdGhpcy5maWx0ZXJzID8gdGhpcy5maWx0ZXJzIDogW107XG4gICAgdGhpcy5jb21tYW5kcyA9IHRoaXMuY29tbWFuZHMgPyB0aGlzLmNvbW1hbmRzIDogW107XG4gICAgdGhpcy5yb3V0ZS5mcmFnbWVudC5zdWJzY3JpYmUoYXN5bmMgKGZyYWdtZW50OiBzdHJpbmcpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMucmVzdG9yZUdyaWRTdGF0ZShuZXcgVVJMU2VhcmNoUGFyYW1zKGZyYWdtZW50KSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJvdXRlLmZpcnN0Q2hpbGQucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFswXSA9IHBhcmFtcy5pZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQucG9wKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSGFuZGxlcih7IGRhdGFJdGVtIH0pIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFxuICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQ29uZmlybWF0aW9uLkRlbGV0ZScpICtcbiAgICAgICAgJzogXCInICtcbiAgICAgICAgZGF0YUl0ZW0ubmFtZSArXG4gICAgICAgICdcIj8nLFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmUoZGF0YUl0ZW0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SXRlbSh7IGRhdGFJdGVtIH0pIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZGF0YUl0ZW0uaWRdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgZnJhZ21lbnQ6IHVybFNlcmlhbGl6ZSh0aGlzLmdyaWRTdGF0ZSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25BY3RpdmF0ZShjaGlsZDogeyBzYXZlZDogRXZlbnRFbWl0dGVyPE5hbWVkTW9kZWw+IH0pIHtcbiAgICBpZiAoY2hpbGQuc2F2ZWQpIHtcbiAgICAgIGNoaWxkLnNhdmVkLnN1YnNjcmliZSgoZGF0YTogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfSkgPT5cbiAgICAgICAgdGhpcy51cGRhdGVHcmlkKGRhdGEpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EZWFjdGl2YXRlKGNoaWxkOiB7IHNhdmVkOiBFdmVudEVtaXR0ZXI8TmFtZWRNb2RlbD4gfSkge1xuICAgIGlmIChjaGlsZC5zYXZlZCkge1xuICAgICAgY2hpbGQuc2F2ZWQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGF0YVN0YXRlQ2hhbmdlKHN0YXRlOiBEYXRhU3RhdGVDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMuZ3JpZFN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5ncmlkU3RhdGUuZmlsdGVyID0gdGhpcy5nZXRGaWx0ZXIoKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIGZyYWdtZW50OiB1cmxTZXJpYWxpemUodGhpcy5ncmlkU3RhdGUpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uU2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSB2YWx1ZTtcbiAgICB0aGlzLmdyaWRTdGF0ZS5za2lwID0gMDtcbiAgICB0aGlzLmdldEZpbHRlcmVkRGF0YSgpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbERhdGEoKTogT2JzZXJ2YWJsZTxQYWdlPE5hbWVkTW9kZWwgJiBSZW1vdmFibGU+PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmdyaWRTdGF0ZSk7XG4gICAgZGVsZXRlIHN0YXRlLnNraXA7XG4gICAgZGVsZXRlIHN0YXRlLnRha2U7XG5cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldFBhZ2Uoc3RhdGUpLnBpcGUoXG4gICAgICBtYXAoKHBhZ2VSZXN1bHQpID0+IHtcbiAgICAgICAgcGFnZVJlc3VsdC5kYXRhID0gcGFnZVJlc3VsdC5kYXRhLm1hcCh0aGlzLm1hcEl0ZW1Gbik7XG5cbiAgICAgICAgcmV0dXJuIHBhZ2VSZXN1bHQ7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFJvd0NsYXNzKGNvbnRleHQ6IFJvd0NsYXNzQXJncyk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHRoaXMucm93Q2xhc3MgJiYgY29udGV4dFxuICAgICAgPyB0aGlzLnJvd0NsYXNzKGNvbnRleHQuZGF0YUl0ZW0sIGNvbnRleHQuaW5kZXgpXG4gICAgICA6IHt9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpbHRlcmVkRGF0YSgpIHtcbiAgICB0aGlzLmdyaWRTdGF0ZS5maWx0ZXIgPSB0aGlzLmdldEZpbHRlcigpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgZnJhZ21lbnQ6IHVybFNlcmlhbGl6ZSh0aGlzLmdyaWRTdGF0ZSksXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlR3JpZChkYXRhOiBOYW1lZE1vZGVsKSB7XG4gICAgY29uc3QgY3VycmVudFBhZ2UgPSB7IC4uLnRoaXMucGFnZS52YWx1ZSB9O1xuICAgIGNvbnN0IGV4aXN0cyA9IGN1cnJlbnRQYWdlLmRhdGEuZmlsdGVyKCh4KSA9PiB4LmlkID09PSBkYXRhLmlkKTtcbiAgICBpZiAoZXhpc3RzLmxlbmd0aCkge1xuICAgICAgY3VycmVudFBhZ2UuZGF0YVtjdXJyZW50UGFnZS5kYXRhLmluZGV4T2YoZXhpc3RzWzBdKV0gPSBkYXRhO1xuICAgICAgdGhpcy5wYWdlLm5leHQoY3VycmVudFBhZ2UpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3VycmVudFBhZ2UudG90YWwrKztcbiAgICBjdXJyZW50UGFnZS5kYXRhLnNwbGljZSgwLCAwLCBkYXRhKTtcbiAgICBpZiAoY3VycmVudFBhZ2UuZGF0YS5sZW5ndGggPiB0aGlzLmdyaWRTdGF0ZS50YWtlKSB7XG4gICAgICBjdXJyZW50UGFnZS5kYXRhLnNwbGljZSh0aGlzLnBhZ2UudmFsdWUuZGF0YS5sZW5ndGggLSAxLCAxKTtcbiAgICB9XG5cbiAgICB0aGlzLnBhZ2UubmV4dChjdXJyZW50UGFnZSk7XG4gICAgdGhpcy5zZWxlY3RlZFswXSA9IGRhdGEuaWQ7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2RhdGEuaWRdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgcHJlc2VydmVGcmFnbWVudDogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhKCkge1xuICAgIHRoaXMubG9hZGluZ3MrKztcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlXG4gICAgICAuZ2V0UGFnZSh0aGlzLmdyaWRTdGF0ZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHBhZ2VSZXN1bHQpID0+IHtcbiAgICAgICAgICBwYWdlUmVzdWx0LmRhdGEgPSBwYWdlUmVzdWx0LmRhdGEubWFwKHRoaXMubWFwSXRlbUZuKTtcblxuICAgICAgICAgIHJldHVybiBwYWdlUmVzdWx0O1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHBhZ2UpID0+IHtcbiAgICAgICAgdGhpcy5wYWdlLm5leHQocGFnZSk7XG4gICAgICAgIHRoaXMubG9hZGluZ3MtLTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmUoZW50aXR5OiBJZGVudGlmaWVkTW9kZWwpIHtcbiAgICB0aGlzLmxvYWRpbmdzKys7XG4gICAgdGhpcy5zZXJ2aWNlXG4gICAgICAuZGVsZXRlKGVudGl0eS5pZClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQubGVuZ3RoICYmXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkW3RoaXMuc2VsZWN0ZWQubGVuZ3RoIC0gMV0gPT09IGVudGl0eS5pZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwge1xuICAgICAgICAgICAgICBwcmVzZXJ2ZUZyYWdtZW50OiB0cnVlLFxuICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLmZpcnN0Q2hpbGQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5sb2FkaW5ncy0tO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmdldERhdGEoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWx0ZXIoKTogQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciB7XG4gICAgY29uc3QgZmlsdGVyOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yID0ge1xuICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgZmlsdGVyczogdGhpcy5zZWFyY2hUZXJtXG4gICAgICAgID8gW1xuICAgICAgICAgICAgeyBmaWVsZDogbmFtZUZpZWxkLCBvcGVyYXRvcjogJ2NvbnRhaW5zJywgdmFsdWU6IHRoaXMuc2VhcmNoVGVybSB9LFxuICAgICAgICAgICAgLi4udGhpcy5maWx0ZXJzLFxuICAgICAgICAgIF1cbiAgICAgICAgOiB0aGlzLmZpbHRlcnMsXG4gICAgfTtcblxuICAgIHJldHVybiBmaWx0ZXI7XG4gIH1cblxuICBwcml2YXRlIG9uRmlsdGVyQ2hhbmdlKCkge1xuICAgIGNvbnN0IGZpbHRlcjogYW55ID0gdGhpcy5ncmlkU3RhdGUuZmlsdGVyPy5maWx0ZXJzLmZpbmQoXG4gICAgICAoeDogRmlsdGVyRGVzY3JpcHRvcikgPT4geC5maWVsZCA9PT0gbmFtZUZpZWxkLFxuICAgICk7XG4gICAgdGhpcy5zZWFyY2hUZXJtID0gZmlsdGVyPy52YWx1ZTtcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZ3JpZFN0YXRlLmZpbHRlcik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlc3RvcmVHcmlkU3RhdGUocGFyYW1zOiBVUkxTZWFyY2hQYXJhbXMpIHtcbiAgICBjb25zdCBkZWZhdWx0R3JpZFN0YXRlOiBTdGF0ZSA9IHtcbiAgICAgIHNvcnQ6IHRoaXMuZGVmYXVsdFNvcnQgfHwgW3sgZmllbGQ6IG5hbWVGaWVsZCwgZGlyOiAnYXNjJyB9XSxcbiAgICAgIHNraXA6IDAsXG4gICAgICB0YWtlOiAxMCxcbiAgICAgIGZpbHRlcjogdGhpcy5nZXRGaWx0ZXIoKSxcbiAgICB9O1xuXG4gICAgY29uc3Qgc3RhdGUgPSB1cmxEZXNlcmlhbGl6ZShwYXJhbXMpO1xuICAgIHRoaXMuZ3JpZFN0YXRlID0gc3RhdGUuaGFzT3duUHJvcGVydHkoJ3Rha2UnKSA/IHN0YXRlIDogZGVmYXVsdEdyaWRTdGF0ZTtcbiAgICB0aGlzLmdyaWRTdGF0ZS5za2lwID0gK3RoaXMuZ3JpZFN0YXRlLnNraXA7XG4gICAgdGhpcy5ncmlkU3RhdGUudGFrZSA9ICt0aGlzLmdyaWRTdGF0ZS50YWtlO1xuICAgIHRoaXMub25GaWx0ZXJDaGFuZ2UoKTtcbiAgICB0aGlzLmdldERhdGEoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cbiAgICA8aGVhZGVyIGNsYXNzPVwiaGVhZGVyLXBhZ2UtYmdcIj48L2hlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwicGFuZWwgc2VhcmNoLXBhbmVsIGhlcm8tdW5pdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1zZWxlY3Rpb24tZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGZvcj1cInNlYXJjaGlucHV0XCIgY2xhc3M9XCJ0aXRsZS1maWVsZFwiIHRyYW5zbGF0ZT1cIlNlYXJjaFwiPjwvbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGtlbmRvVGV4dEJveFxuICAgICAgICAgIGNsYXNzPVwicXVpY2stZmlsdGVyIGlucHV0IGlucHV0LWZpZWxkXCJcbiAgICAgICAgICB0aXRsZT1cIlwiXG4gICAgICAgICAgaWQ9XCJzZWFyY2hpbnB1dFwiXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGFwcERlYm91bmNlXG4gICAgICAgICAgKGRlYm91bmNlS2V5dXApPVwib25TZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFRlcm1cIlxuICAgICAgICAgIFtkZWJvdW5jZVRpbWVdPVwiNjAwXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZS1saW5lXCI+PC9kaXY+XG5cbiAgICAgIDxrZW5kby1ncmlkXG4gICAgICAgIFtkYXRhXT1cInBhZ2UgfCBhc3luY1wiXG4gICAgICAgIFtwYWdlU2l6ZV09XCJncmlkU3RhdGUudGFrZVwiXG4gICAgICAgIFtza2lwXT1cImdyaWRTdGF0ZS5za2lwXCJcbiAgICAgICAgW3NvcnRdPVwiZ3JpZFN0YXRlLnNvcnRcIlxuICAgICAgICBbcGFnZWFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtzb3J0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW3N0eWxlLm1heEhlaWdodC5weF09XCI0ODBcIlxuICAgICAgICAocmVtb3ZlKT1cInJlbW92ZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgIChkYXRhU3RhdGVDaGFuZ2UpPVwiZGF0YVN0YXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5ncyA+IDBcIlxuICAgICAgICAoY2VsbENsaWNrKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiXG4gICAgICAgIGN1bHR1cmVcbiAgICAgICAgY2xhc3M9XCJyb3dzLXBvaW50YWJsZVwiXG4gICAgICAgIGtlbmRvR3JpZFNlbGVjdEJ5PVwiaWRcIlxuICAgICAgICBbc2VsZWN0ZWRLZXlzXT1cInNlbGVjdGVkXCJcbiAgICAgICAgW3Jvd0NsYXNzXT1cImdldFJvd0NsYXNzXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZFRvb2xiYXJUZW1wbGF0ZT5cbiAgICAgICAgICA8ZXhjZWwtZXhwb3J0LWJ1dHRvbj48L2V4Y2VsLWV4cG9ydC1idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxrZW5kby1ncmlkLWV4Y2VsIFtmZXRjaERhdGFdPVwiZ2V0QWxsRGF0YVwiPjwva2VuZG8tZ3JpZC1leGNlbD5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRhSXRlbS5zdXBwcmVzc0RlbGV0aW9uXCJcbiAgICAgICAgICAgICAga2VuZG9HcmlkUmVtb3ZlQ29tbWFuZFxuICAgICAgICAgICAgICByZXF1aXJlUGVybWlzc2lvblxuICAgICAgICAgICAgICBwZXJtaXNzaW9uVHlwZT1cIkRlbGV0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxlbSBjbGFzcz1cImstaWNvbiBnbHlwaGljb24gZ2x5cGhpY29uLXRyYXNoXCI+PC9lbT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbj5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29sdW1uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGdyaWRGaWVsZHNcIlxuICAgICAgICAgIGZpZWxkPVwie3sgZmllbGQubmFtZSB9fVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgW3NvcnRhYmxlXT1cImZpZWxkLnNvcnRhYmxlICE9PSBmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiICpuZ0lmPVwiY29tbWFuZHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29tbWFuZCBvZiBjb21tYW5kc1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb21tYW5kLmhhbmRsZXIoZGF0YUl0ZW0pXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBjb21tYW5kLnRpdGxlIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJrLWJ1dHRvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxlbVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29tbWFuZC5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwie3sgY29tbWFuZC5pY29uQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICA+PC9lbT5cbiAgICAgICAgICAgICAge3sgY29tbWFuZC5uYW1lIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2tlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWROb1JlY29yZHNUZW1wbGF0ZT5cbiAgICAgICAgICB7eyBcIk1lc3NhZ2VzLk5vUmVjb3Jkc1wiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhZ2VyVGVtcGxhdGU+XG4gICAgICAgICAgPGtlbmRvLWdyaWQtc3BhY2VyPjwva2VuZG8tZ3JpZC1zcGFjZXI+XG4gICAgICAgICAgPGtlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICAgICAgICA8a2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zXG4gICAgICAgICAgICBbYnV0dG9uQ291bnRdPVwicGFnZUJ1dHRvbnNDb3VudFwiXG4gICAgICAgICAgPjwva2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zPlxuICAgICAgICAgIDxrZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+XG4gICAgICAgICAgPGtlbmRvLXBhZ2VyLWluZm8+PC9rZW5kby1wYWdlci1pbmZvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9rZW5kby1ncmlkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHJvdXRlci1vdXRsZXRcbiAgICAoYWN0aXZhdGUpPVwib25BY3RpdmF0ZSgkZXZlbnQpXCJcbiAgICAoZGVhY3RpdmF0ZSk9XCJvbkRlYWN0aXZhdGUoJGV2ZW50KVwiXG4gID48L3JvdXRlci1vdXRsZXQ+XG48L2Rpdj5cbjxjb25maXJtLWRpYWxvZyAjY29uZmlybURpYWxvZz48L2NvbmZpcm0tZGlhbG9nPlxuIl19
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9lbnRpdHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQWF2QixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7QUFFL0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBT3pCLE1BQU0sT0FBTyxtQkFBbUI7SUFpQzlCLFlBQ1UsU0FBMkIsRUFDM0IsS0FBcUIsRUFDckIsTUFBYztRQUZkLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUF0QmpCLGNBQVMsR0FBa0QsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN6RSxJQUFJLENBQUM7UUFDRSxxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFFL0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUc3RCxjQUFTLEdBQVUsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBc0MsSUFBSSxlQUFlLENBRWxFLElBQUksQ0FBQyxDQUFDO1FBQ0QsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUVi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c2JDekNoQywrakhBbUdBOzsyRkQxRGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7dUlBTWhCLE9BQU87c0JBRGIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsTUFBTTtzQkFEWixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVDLFlBQVk7c0JBRGxCLE1BQU07Z0JBR0EsTUFBTTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFibGUgfSBmcm9tICcuLi8uLi9hbmd1bGFyL21vZGVscy9yZW1vdmFibGUuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBEYXRhU3RhdGVDaGFuZ2VFdmVudCxcbiAgUm93Q2xhc3NBcmdzLFxufSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ncmlkJztcbmltcG9ydCB7XG4gIENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IsXG4gIEZpbHRlckRlc2NyaXB0b3IsXG4gIFNvcnREZXNjcmlwdG9yLFxuICBTdGF0ZSxcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJZGVudGlmaWVkTW9kZWwgfSBmcm9tICcuLi8uLi9hbmd1bGFyL21vZGVscy9JZGVudGlmaWVkTW9kZWwnO1xuaW1wb3J0IHsgTmFtZWRNb2RlbCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL05hbWVkTW9kZWwnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJy4uLy4uL21vZGVscy9QYWdlJztcbmltcG9ydCB7IElFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvSUVudGl0eVNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnLi9Db21tYW5kJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9GaWVsZCc7XG5pbXBvcnQgeyB1cmxEZXNlcmlhbGl6ZSwgdXJsU2VyaWFsaXplIH0gZnJvbSAnLi9VcmxTZXJpYWxpemVyJztcblxuY29uc3QgbmFtZUZpZWxkID0gJ25hbWUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRpdHktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1saXN0LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgcHVibGljIHNlcnZpY2U6IElFbnRpdHlTZXJ2aWNlPE5hbWVkTW9kZWw+O1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsdGVyczogKEZpbHRlckRlc2NyaXB0b3IgfCBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yKVtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmllbGRzPzogRmllbGRbXTtcbiAgQElucHV0KClcbiAgcHVibGljIGNvbW1hbmRzPzogQ29tbWFuZFtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgcm93Q2xhc3M/OiAoZGF0YUl0ZW06IE5hbWVkTW9kZWwsIGluZGV4OiBudW1iZXIpID0+IHt9O1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdFNvcnQ/OiBTb3J0RGVzY3JpcHRvcltdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWFwSXRlbUZuPzogKGl0ZW06IE5hbWVkTW9kZWwpID0+IE5hbWVkTW9kZWwgJiBSZW1vdmFibGUgPSAoaXRlbSkgPT5cbiAgICBpdGVtO1xuICBASW5wdXQoKSBwYWdlQnV0dG9uc0NvdW50OiBudW1iZXIgPSA1O1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcj4oKTtcbiAgQFZpZXdDaGlsZCgnY29uZmlybURpYWxvZycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBkaWFsb2c6IENvbmZpcm1EaWFsb2dDb21wb25lbnQ7XG4gIHB1YmxpYyBncmlkU3RhdGU6IFN0YXRlID0ge307XG4gIHB1YmxpYyBwYWdlOiBCZWhhdmlvclN1YmplY3Q8UGFnZTxOYW1lZE1vZGVsPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIFBhZ2U8TmFtZWRNb2RlbD5cbiAgPihudWxsKTtcbiAgcHVibGljIGxvYWRpbmdzID0gMDtcbiAgcHVibGljIHNlYXJjaFRlcm06IHN0cmluZztcbiAgcHVibGljIHNlbGVjdGVkOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgZ3JpZEZpZWxkczogRmllbGRbXSA9IFtdO1xuICBwcml2YXRlIGRlZmF1bHRGaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgeyBuYW1lOiAnbmFtZScsIGxhYmVsOiAnTmFtZScsIHNvcnRhYmxlOiB0cnVlLCBwb3NpdGlvbjogMCB9LFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICkge1xuICAgIHRoaXMuZ2V0QWxsRGF0YSA9IHRoaXMuZ2V0QWxsRGF0YS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0Um93Q2xhc3MgPSB0aGlzLmdldFJvd0NsYXNzLmJpbmQodGhpcyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCFjaGFuZ2VzLmZpbHRlcnMgfHwgY2hhbmdlcy5maWx0ZXJzLmZpcnN0Q2hhbmdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5nZXRGaWx0ZXJlZERhdGEoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ3JpZEZpZWxkcyA9ICh0aGlzLmZpZWxkcyB8fCBbXSlcbiAgICAgIC5jb25jYXQodGhpcy5kZWZhdWx0RmllbGRzKVxuICAgICAgLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiAobGVmdC5wb3NpdGlvbiB8fCAwKSAtIChyaWdodC5wb3NpdGlvbiB8fCAwKSk7XG4gICAgdGhpcy5maWx0ZXJzID0gdGhpcy5maWx0ZXJzID8gdGhpcy5maWx0ZXJzIDogW107XG4gICAgdGhpcy5jb21tYW5kcyA9IHRoaXMuY29tbWFuZHMgPyB0aGlzLmNvbW1hbmRzIDogW107XG4gICAgdGhpcy5yb3V0ZS5mcmFnbWVudC5zdWJzY3JpYmUoYXN5bmMgKGZyYWdtZW50OiBzdHJpbmcpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMucmVzdG9yZUdyaWRTdGF0ZShuZXcgVVJMU2VhcmNoUGFyYW1zKGZyYWdtZW50KSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJvdXRlLmZpcnN0Q2hpbGQucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFswXSA9IHBhcmFtcy5pZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQucG9wKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSGFuZGxlcih7IGRhdGFJdGVtIH0pIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFxuICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQ29uZmlybWF0aW9uLkRlbGV0ZScpICtcbiAgICAgICAgJzogXCInICtcbiAgICAgICAgZGF0YUl0ZW0ubmFtZSArXG4gICAgICAgICdcIj8nLFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmUoZGF0YUl0ZW0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SXRlbSh7IGRhdGFJdGVtIH0pIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZGF0YUl0ZW0uaWRdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgZnJhZ21lbnQ6IHVybFNlcmlhbGl6ZSh0aGlzLmdyaWRTdGF0ZSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25BY3RpdmF0ZShjaGlsZDogeyBzYXZlZDogRXZlbnRFbWl0dGVyPE5hbWVkTW9kZWw+IH0pIHtcbiAgICBpZiAoY2hpbGQuc2F2ZWQpIHtcbiAgICAgIGNoaWxkLnNhdmVkLnN1YnNjcmliZSgoZGF0YTogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfSkgPT5cbiAgICAgICAgdGhpcy51cGRhdGVHcmlkKGRhdGEpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EZWFjdGl2YXRlKGNoaWxkOiB7IHNhdmVkOiBFdmVudEVtaXR0ZXI8TmFtZWRNb2RlbD4gfSkge1xuICAgIGlmIChjaGlsZC5zYXZlZCkge1xuICAgICAgY2hpbGQuc2F2ZWQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGF0YVN0YXRlQ2hhbmdlKHN0YXRlOiBEYXRhU3RhdGVDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMuZ3JpZFN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5ncmlkU3RhdGUuZmlsdGVyID0gdGhpcy5nZXRGaWx0ZXIoKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIGZyYWdtZW50OiB1cmxTZXJpYWxpemUodGhpcy5ncmlkU3RhdGUpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uU2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSB2YWx1ZTtcbiAgICB0aGlzLmdyaWRTdGF0ZS5za2lwID0gMDtcbiAgICB0aGlzLmdldEZpbHRlcmVkRGF0YSgpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbERhdGEoKTogT2JzZXJ2YWJsZTxQYWdlPE5hbWVkTW9kZWwgJiBSZW1vdmFibGU+PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmdyaWRTdGF0ZSk7XG4gICAgZGVsZXRlIHN0YXRlLnNraXA7XG4gICAgZGVsZXRlIHN0YXRlLnRha2U7XG5cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldFBhZ2Uoc3RhdGUpLnBpcGUoXG4gICAgICBtYXAoKHBhZ2VSZXN1bHQpID0+IHtcbiAgICAgICAgcGFnZVJlc3VsdC5kYXRhID0gcGFnZVJlc3VsdC5kYXRhLm1hcCh0aGlzLm1hcEl0ZW1Gbik7XG5cbiAgICAgICAgcmV0dXJuIHBhZ2VSZXN1bHQ7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFJvd0NsYXNzKGNvbnRleHQ6IFJvd0NsYXNzQXJncyk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHRoaXMucm93Q2xhc3MgJiYgY29udGV4dFxuICAgICAgPyB0aGlzLnJvd0NsYXNzKGNvbnRleHQuZGF0YUl0ZW0sIGNvbnRleHQuaW5kZXgpXG4gICAgICA6IHt9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpbHRlcmVkRGF0YSgpIHtcbiAgICB0aGlzLmdyaWRTdGF0ZS5maWx0ZXIgPSB0aGlzLmdldEZpbHRlcigpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgZnJhZ21lbnQ6IHVybFNlcmlhbGl6ZSh0aGlzLmdyaWRTdGF0ZSksXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlR3JpZChkYXRhOiBOYW1lZE1vZGVsKSB7XG4gICAgY29uc3QgY3VycmVudFBhZ2UgPSB7IC4uLnRoaXMucGFnZS52YWx1ZSB9O1xuICAgIGNvbnN0IGV4aXN0cyA9IGN1cnJlbnRQYWdlLmRhdGEuZmlsdGVyKCh4KSA9PiB4LmlkID09PSBkYXRhLmlkKTtcbiAgICBpZiAoZXhpc3RzLmxlbmd0aCkge1xuICAgICAgY3VycmVudFBhZ2UuZGF0YVtjdXJyZW50UGFnZS5kYXRhLmluZGV4T2YoZXhpc3RzWzBdKV0gPSBkYXRhO1xuICAgICAgdGhpcy5wYWdlLm5leHQoY3VycmVudFBhZ2UpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3VycmVudFBhZ2UudG90YWwrKztcbiAgICBjdXJyZW50UGFnZS5kYXRhLnNwbGljZSgwLCAwLCBkYXRhKTtcbiAgICBpZiAoY3VycmVudFBhZ2UuZGF0YS5sZW5ndGggPiB0aGlzLmdyaWRTdGF0ZS50YWtlKSB7XG4gICAgICBjdXJyZW50UGFnZS5kYXRhLnNwbGljZSh0aGlzLnBhZ2UudmFsdWUuZGF0YS5sZW5ndGggLSAxLCAxKTtcbiAgICB9XG5cbiAgICB0aGlzLnBhZ2UubmV4dChjdXJyZW50UGFnZSk7XG4gICAgdGhpcy5zZWxlY3RlZFswXSA9IGRhdGEuaWQ7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2RhdGEuaWRdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgcHJlc2VydmVGcmFnbWVudDogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhKCkge1xuICAgIHRoaXMubG9hZGluZ3MrKztcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlXG4gICAgICAuZ2V0UGFnZSh0aGlzLmdyaWRTdGF0ZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHBhZ2VSZXN1bHQpID0+IHtcbiAgICAgICAgICBwYWdlUmVzdWx0LmRhdGEgPSBwYWdlUmVzdWx0LmRhdGEubWFwKHRoaXMubWFwSXRlbUZuKTtcblxuICAgICAgICAgIHJldHVybiBwYWdlUmVzdWx0O1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHBhZ2UpID0+IHtcbiAgICAgICAgdGhpcy5wYWdlLm5leHQocGFnZSk7XG4gICAgICAgIHRoaXMubG9hZGluZ3MtLTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmUoZW50aXR5OiBJZGVudGlmaWVkTW9kZWwpIHtcbiAgICB0aGlzLmxvYWRpbmdzKys7XG4gICAgdGhpcy5zZXJ2aWNlXG4gICAgICAuZGVsZXRlKGVudGl0eS5pZClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQubGVuZ3RoICYmXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkW3RoaXMuc2VsZWN0ZWQubGVuZ3RoIC0gMV0gPT09IGVudGl0eS5pZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwge1xuICAgICAgICAgICAgICBwcmVzZXJ2ZUZyYWdtZW50OiB0cnVlLFxuICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLmZpcnN0Q2hpbGQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5sb2FkaW5ncy0tO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmdldERhdGEoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWx0ZXIoKTogQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciB7XG4gICAgY29uc3QgZmlsdGVyOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yID0ge1xuICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgZmlsdGVyczogdGhpcy5zZWFyY2hUZXJtXG4gICAgICAgID8gW1xuICAgICAgICAgICAgeyBmaWVsZDogbmFtZUZpZWxkLCBvcGVyYXRvcjogJ2NvbnRhaW5zJywgdmFsdWU6IHRoaXMuc2VhcmNoVGVybSB9LFxuICAgICAgICAgICAgLi4udGhpcy5maWx0ZXJzLFxuICAgICAgICAgIF1cbiAgICAgICAgOiB0aGlzLmZpbHRlcnMsXG4gICAgfTtcblxuICAgIHJldHVybiBmaWx0ZXI7XG4gIH1cblxuICBwcml2YXRlIG9uRmlsdGVyQ2hhbmdlKCkge1xuICAgIGNvbnN0IGZpbHRlcjogYW55ID0gdGhpcy5ncmlkU3RhdGUuZmlsdGVyPy5maWx0ZXJzLmZpbmQoXG4gICAgICAoeDogRmlsdGVyRGVzY3JpcHRvcikgPT4geC5maWVsZCA9PT0gbmFtZUZpZWxkLFxuICAgICk7XG4gICAgdGhpcy5zZWFyY2hUZXJtID0gZmlsdGVyPy52YWx1ZTtcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZ3JpZFN0YXRlLmZpbHRlcik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlc3RvcmVHcmlkU3RhdGUocGFyYW1zOiBVUkxTZWFyY2hQYXJhbXMpIHtcbiAgICBjb25zdCBkZWZhdWx0R3JpZFN0YXRlOiBTdGF0ZSA9IHtcbiAgICAgIHNvcnQ6IHRoaXMuZGVmYXVsdFNvcnQgfHwgW3sgZmllbGQ6IG5hbWVGaWVsZCwgZGlyOiAnYXNjJyB9XSxcbiAgICAgIHNraXA6IDAsXG4gICAgICB0YWtlOiAxMCxcbiAgICAgIGZpbHRlcjogdGhpcy5nZXRGaWx0ZXIoKSxcbiAgICB9O1xuXG4gICAgY29uc3Qgc3RhdGUgPSB1cmxEZXNlcmlhbGl6ZShwYXJhbXMpO1xuICAgIHRoaXMuZ3JpZFN0YXRlID0gc3RhdGUuaGFzT3duUHJvcGVydHkoJ3Rha2UnKSA/IHN0YXRlIDogZGVmYXVsdEdyaWRTdGF0ZTtcbiAgICB0aGlzLmdyaWRTdGF0ZS5za2lwID0gK3RoaXMuZ3JpZFN0YXRlLnNraXA7XG4gICAgdGhpcy5ncmlkU3RhdGUudGFrZSA9ICt0aGlzLmdyaWRTdGF0ZS50YWtlO1xuICAgIHRoaXMub25GaWx0ZXJDaGFuZ2UoKTtcbiAgICB0aGlzLmdldERhdGEoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cbiAgICA8aGVhZGVyIGNsYXNzPVwiaGVhZGVyLXBhZ2UtYmdcIj48L2hlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwicGFuZWwgc2VhcmNoLXBhbmVsIGhlcm8tdW5pdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1zZWxlY3Rpb24tZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGZvcj1cInNlYXJjaGlucHV0XCIgY2xhc3M9XCJ0aXRsZS1maWVsZFwiIHRyYW5zbGF0ZT1cIlNlYXJjaFwiPjwvbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGtlbmRvVGV4dEJveFxuICAgICAgICAgIGNsYXNzPVwicXVpY2stZmlsdGVyIGlucHV0IGlucHV0LWZpZWxkXCJcbiAgICAgICAgICB0aXRsZT1cIlwiXG4gICAgICAgICAgaWQ9XCJzZWFyY2hpbnB1dFwiXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGFwcERlYm91bmNlXG4gICAgICAgICAgKGRlYm91bmNlS2V5dXApPVwib25TZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFRlcm1cIlxuICAgICAgICAgIFtkZWJvdW5jZVRpbWVdPVwiNjAwXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZS1saW5lXCI+PC9kaXY+XG5cbiAgICAgIDxrZW5kby1ncmlkXG4gICAgICAgIFtkYXRhXT1cInBhZ2UgfCBhc3luY1wiXG4gICAgICAgIFtwYWdlU2l6ZV09XCJncmlkU3RhdGUudGFrZVwiXG4gICAgICAgIFtza2lwXT1cImdyaWRTdGF0ZS5za2lwXCJcbiAgICAgICAgW3NvcnRdPVwiZ3JpZFN0YXRlLnNvcnRcIlxuICAgICAgICBbcGFnZWFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtzb3J0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW3N0eWxlLm1heEhlaWdodC5weF09XCI0ODBcIlxuICAgICAgICAocmVtb3ZlKT1cInJlbW92ZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgIChkYXRhU3RhdGVDaGFuZ2UpPVwiZGF0YVN0YXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5ncyA+IDBcIlxuICAgICAgICAoY2VsbENsaWNrKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiXG4gICAgICAgIGN1bHR1cmVcbiAgICAgICAgY2xhc3M9XCJyb3dzLXBvaW50YWJsZVwiXG4gICAgICAgIGtlbmRvR3JpZFNlbGVjdEJ5PVwiaWRcIlxuICAgICAgICBbc2VsZWN0ZWRLZXlzXT1cInNlbGVjdGVkXCJcbiAgICAgICAgW3Jvd0NsYXNzXT1cImdldFJvd0NsYXNzXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZFRvb2xiYXJUZW1wbGF0ZT5cbiAgICAgICAgICA8ZXhjZWwtZXhwb3J0LWJ1dHRvbj48L2V4Y2VsLWV4cG9ydC1idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxrZW5kby1ncmlkLWV4Y2VsIFtmZXRjaERhdGFdPVwiZ2V0QWxsRGF0YVwiPjwva2VuZG8tZ3JpZC1leGNlbD5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRhSXRlbS5zdXBwcmVzc0RlbGV0aW9uXCJcbiAgICAgICAgICAgICAga2VuZG9HcmlkUmVtb3ZlQ29tbWFuZFxuICAgICAgICAgICAgICByZXF1aXJlUGVybWlzc2lvblxuICAgICAgICAgICAgICBwZXJtaXNzaW9uVHlwZT1cIkRlbGV0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxlbSBjbGFzcz1cImstaWNvbiBnbHlwaGljb24gZ2x5cGhpY29uLXRyYXNoXCI+PC9lbT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbj5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29sdW1uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGdyaWRGaWVsZHNcIlxuICAgICAgICAgIGZpZWxkPVwie3sgZmllbGQubmFtZSB9fVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgW3NvcnRhYmxlXT1cImZpZWxkLnNvcnRhYmxlICE9PSBmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiICpuZ0lmPVwiY29tbWFuZHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29tbWFuZCBvZiBjb21tYW5kc1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb21tYW5kLmhhbmRsZXIoZGF0YUl0ZW0pXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBjb21tYW5kLnRpdGxlIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJrLWJ1dHRvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxlbVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29tbWFuZC5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwie3sgY29tbWFuZC5pY29uQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICA+PC9lbT5cbiAgICAgICAgICAgICAge3sgY29tbWFuZC5uYW1lIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2tlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWROb1JlY29yZHNUZW1wbGF0ZT5cbiAgICAgICAgICB7eyBcIk1lc3NhZ2VzLk5vUmVjb3Jkc1wiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhZ2VyVGVtcGxhdGU+XG4gICAgICAgICAgPGtlbmRvLWdyaWQtc3BhY2VyPjwva2VuZG8tZ3JpZC1zcGFjZXI+XG4gICAgICAgICAgPGtlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICAgICAgICA8a2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zXG4gICAgICAgICAgICBbYnV0dG9uQ291bnRdPVwicGFnZUJ1dHRvbnNDb3VudFwiXG4gICAgICAgICAgPjwva2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zPlxuICAgICAgICAgIDxrZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+XG4gICAgICAgICAgPGtlbmRvLXBhZ2VyLWluZm8+PC9rZW5kby1wYWdlci1pbmZvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9rZW5kby1ncmlkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHJvdXRlci1vdXRsZXRcbiAgICAoYWN0aXZhdGUpPVwib25BY3RpdmF0ZSgkZXZlbnQpXCJcbiAgICAoZGVhY3RpdmF0ZSk9XCJvbkRlYWN0aXZhdGUoJGV2ZW50KVwiXG4gID48L3JvdXRlci1vdXRsZXQ+XG48L2Rpdj5cbjxjb25maXJtLWRpYWxvZyAjY29uZmlybURpYWxvZz48L2NvbmZpcm0tZGlhbG9nPlxuIl19
|