@indigina/kendo 1.1.16 → 1.1.18
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/esm2020/lib/angular/forms/directives/debounce.directive.mjs +3 -3
- package/esm2020/lib/angular/forms/extensions/FormGroupWithErrors.mjs +4 -4
- package/esm2020/lib/angular/forms/widgets/field/field-input/field-input.component.mjs +7 -7
- package/esm2020/lib/angular/forms/widgets/field/field-input/number-input.component.mjs +6 -6
- package/esm2020/lib/angular/forms/widgets/field/field.component.mjs +6 -6
- package/esm2020/lib/angular/forms/widgets/general-errors/general-errors.component.mjs +7 -7
- package/esm2020/lib/angular/indigina.module.mjs +20 -22
- package/esm2020/lib/angular/models/AppSettings.mjs +3 -3
- package/esm2020/lib/angular/models/IndiginaConfiguration.mjs +3 -3
- package/esm2020/lib/angular/services/http.service.mjs +3 -3
- package/esm2020/lib/angular/services/locale-settings.service.mjs +3 -3
- package/esm2020/lib/angular/services/settings.service.mjs +3 -3
- package/esm2020/lib/angular/services/toastr.service.mjs +3 -3
- package/esm2020/lib/angular/widgets/live-updates-control/live-updates-control.component.mjs +3 -3
- package/esm2020/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.mjs +5 -5
- package/esm2020/lib/angular/widgets/side-menu/side-menu.component.mjs +6 -6
- package/esm2020/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.mjs +4 -4
- package/esm2020/lib/angular/widgets/tree-view/tree-view.component.mjs +6 -6
- package/esm2020/lib/components/account-menu/account-menu.component.mjs +7 -7
- package/esm2020/lib/components/azure-login-callback/azure-login-callback.component.mjs +3 -3
- package/esm2020/lib/components/language-selector/language-selector.component.mjs +5 -5
- package/esm2020/lib/directives/requirePermission.directive.mjs +3 -3
- package/esm2020/lib/interceptors/auth-headers.interceptor.mjs +3 -3
- package/esm2020/lib/kendo.module.mjs +23 -25
- package/esm2020/lib/services/account.service.mjs +3 -3
- package/esm2020/lib/services/activity.filter.service.mjs +3 -3
- package/esm2020/lib/services/auth-provider.resolver.mjs +3 -3
- package/esm2020/lib/services/partner.service.mjs +3 -3
- package/esm2020/lib/services/permissions.service.mjs +3 -3
- package/esm2020/lib/services/signalr/signalr.service.mjs +3 -3
- package/esm2020/lib/widgets/activity-filter/activity-filter.component.mjs +8 -8
- package/esm2020/lib/widgets/confirm-dialog/confirm-dialog.component.mjs +6 -6
- package/esm2020/lib/widgets/current-timezone/current-timezone.component.mjs +4 -4
- package/esm2020/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.mjs +4 -4
- package/esm2020/lib/widgets/entity-edit/entity-edit-form.component.mjs +19 -17
- package/esm2020/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.mjs +7 -7
- package/esm2020/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.mjs +7 -7
- package/esm2020/lib/widgets/entity-list/entity-list.component.mjs +24 -19
- package/esm2020/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.mjs +4 -4
- package/esm2020/lib/widgets/entity-list/user-list-admin.component.mjs +11 -11
- package/esm2020/lib/widgets/excel-export-button/excel-export-button.component.mjs +6 -6
- package/esm2020/lib/widgets/footer-bar/footer-bar.component.mjs +4 -4
- package/esm2020/lib/widgets/modal-window/modal-window.component.mjs +5 -5
- package/esm2020/lib/widgets/multicheck-filter/multicheck-filter.component.mjs +3 -3
- package/esm2020/lib/widgets/top-bar/top-bar.component.mjs +7 -7
- package/fesm2015/indigina-kendo.mjs +223 -222
- package/fesm2015/indigina-kendo.mjs.map +1 -1
- package/fesm2020/indigina-kendo.mjs +223 -222
- package/fesm2020/indigina-kendo.mjs.map +1 -1
- package/{indigina-kendo.d.ts → index.d.ts} +0 -0
- package/lib/angular/forms/directives/debounce.directive.d.ts +1 -1
- package/lib/angular/forms/extensions/FormGroupWithErrors.d.ts +2 -2
- package/lib/angular/forms/widgets/field/field-input/field-input.component.d.ts +1 -1
- package/lib/angular/forms/widgets/field/field-input/number-input.component.d.ts +1 -1
- package/lib/angular/forms/widgets/field/field.component.d.ts +1 -1
- package/lib/angular/forms/widgets/general-errors/general-errors.component.d.ts +3 -3
- package/lib/angular/widgets/live-updates-control/live-updates-control.component.d.ts +1 -1
- package/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.d.ts +1 -1
- package/lib/angular/widgets/side-menu/side-menu.component.d.ts +1 -1
- package/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.d.ts +1 -1
- package/lib/angular/widgets/tree-view/tree-view.component.d.ts +1 -1
- package/lib/components/account-menu/account-menu.component.d.ts +1 -1
- package/lib/components/azure-login-callback/azure-login-callback.component.d.ts +1 -1
- package/lib/components/language-selector/language-selector.component.d.ts +1 -1
- package/lib/directives/requirePermission.directive.d.ts +1 -1
- package/lib/widgets/activity-filter/activity-filter.component.d.ts +1 -1
- package/lib/widgets/confirm-dialog/confirm-dialog.component.d.ts +1 -1
- package/lib/widgets/current-timezone/current-timezone.component.d.ts +1 -1
- package/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.d.ts +1 -1
- package/lib/widgets/entity-edit/entity-edit-form.component.d.ts +3 -2
- package/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.d.ts +1 -1
- package/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.d.ts +1 -1
- package/lib/widgets/entity-list/entity-list.component.d.ts +3 -3
- package/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.d.ts +1 -1
- package/lib/widgets/entity-list/user-list-admin.component.d.ts +1 -1
- package/lib/widgets/excel-export-button/excel-export-button.component.d.ts +1 -1
- package/lib/widgets/footer-bar/footer-bar.component.d.ts +1 -1
- package/lib/widgets/modal-window/modal-window.component.d.ts +1 -1
- package/lib/widgets/multicheck-filter/multicheck-filter.component.d.ts +1 -1
- package/lib/widgets/top-bar/top-bar.component.d.ts +1 -1
- package/package.json +34 -36
|
@@ -3,9 +3,9 @@ import { ControlContainer, FormGroupDirective, } from '@angular/forms';
|
|
|
3
3
|
import { FieldComponent } from '../../../angular/forms/widgets/field/field.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "@
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
7
|
import * as i3 from "@ngx-translate/core";
|
|
8
|
-
import * as i4 from "@angular
|
|
8
|
+
import * as i4 from "@progress/kendo-angular-dropdowns";
|
|
9
9
|
export class FieldMultiSelectComponent extends FieldComponent {
|
|
10
10
|
constructor(parent, eref) {
|
|
11
11
|
super(parent, eref, []);
|
|
@@ -26,15 +26,15 @@ export class FieldMultiSelectComponent extends FieldComponent {
|
|
|
26
26
|
return this.service.getPage(this.filter ? { filter: this.filter } : {});
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
FieldMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
30
|
-
FieldMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
29
|
+
FieldMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FieldMultiSelectComponent, deps: [{ token: i1.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
FieldMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: FieldMultiSelectComponent, selector: "field-multiselect", inputs: { service: "service", rebind: "rebind", filter: "filter" }, 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-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"false\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-multiselect>\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", 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: ["focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "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: [
|
|
31
31
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
32
32
|
] });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FieldMultiSelectComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{ selector: 'field-multiselect', viewProviders: [
|
|
36
36
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
37
|
-
], 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-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"false\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-multiselect>\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"
|
|
37
|
+
], 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-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"false\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-multiselect>\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" }]
|
|
38
38
|
}], ctorParameters: function () { return [{ type: i1.FormGroupDirective }, { type: i0.ElementRef }]; }, propDecorators: { service: [{
|
|
39
39
|
type: Input
|
|
40
40
|
}], rebind: [{
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
42
42
|
}], filter: [{
|
|
43
43
|
type: Input
|
|
44
44
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1lZGl0L2ZpZWxkLW11bHRpc2VsZWN0L2ZpZWxkLW11bHRpc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktZWRpdC9maWVsZC1tdWx0aXNlbGVjdC9maWVsZC1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsR0FFbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7OztBQWF0RixNQUFNLE9BQU8seUJBQ1gsU0FBUSxjQUF3QjtJQWNoQyxZQUFtQixNQUEwQixFQUFTLElBQWdCO1FBQ3BFLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRFAsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBTHRFLFNBQUksR0FBc0IsRUFBRSxDQUFDO0lBTzdCLENBQUM7SUFORCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQU1ELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3ZCLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzFELENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLE9BQU87UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7c0hBaENVLHlCQUF5QjswR0FBekIseUJBQXlCLHlLQ3BCdEMsOHpCQTRCQSxxckNEWmlCO1FBQ2IsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFO0tBQy9EOzJGQUVVLHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBR2Q7d0JBQ2IsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFO3FCQUMvRDtrSUFPRCxPQUFPO3NCQUROLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBBYnN0cmFjdENvbnRyb2wsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2FuZ3VsYXIvZm9ybXMvd2lkZ2V0cy9maWVsZC9maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWRlbnRpZmllZE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vYW5ndWxhci9tb2RlbHMvSWRlbnRpZmllZE1vZGVsJztcbmltcG9ydCB7IE5hbWVkTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9hbmd1bGFyL21vZGVscy9OYW1lZE1vZGVsJztcbmltcG9ydCB7IElFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvSUVudGl0eVNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWVsZC1tdWx0aXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpZWxkLW11bHRpc2VsZWN0LmNvbXBvbmVudC5jc3MnXSxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IEZvcm1Hcm91cERpcmVjdGl2ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZE11bHRpU2VsZWN0Q29tcG9uZW50XG4gIGV4dGVuZHMgRmllbGRDb21wb25lbnQ8c3RyaW5nW10+XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpXG4gIHNlcnZpY2U6IElFbnRpdHlTZXJ2aWNlPE5hbWVkTW9kZWw+O1xuICBASW5wdXQoKVxuICByZWJpbmQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgZmlsdGVyPzogQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcjtcbiAgZGF0YTogSWRlbnRpZmllZE1vZGVsW10gPSBbXTtcbiAgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuZm9ybS5nZXQodGhpcy5maWVsZE5hbWUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHBhcmVudDogRm9ybUdyb3VwRGlyZWN0aXZlLCBwdWJsaWMgZXJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKHBhcmVudCwgZXJlZiwgW10pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXREYXRhKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmRhdGEgPSBkYXRhLmRhdGE7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgIHRoaXMuY29udHJvbC52YWx1ZS5maWx0ZXIoXG4gICAgICAgICAgKHg6IHN0cmluZykgPT4gdGhpcy5kYXRhLmZpbHRlcigoZCkgPT4gZC5pZCA9PT0geCkubGVuZ3RoXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldERhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRQYWdlKHRoaXMuZmlsdGVyID8geyBmaWx0ZXI6IHRoaXMuZmlsdGVyIH0gOiB7fSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gIDxsYWJlbFxuICAgIGZvcj1cInt7ICdfJyArIGZpZWxkTmFtZSB9fVwiXG4gICAgY2xhc3M9XCJjb2wtbWQtMyBjb250cm9sLWxhYmVsXCJcbiAgICB0cmFuc2xhdGU9XCJ7eyBsYWJlbEtleSB9fVwiXG4gID48L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIiAqbmdJZj1cImNvbnRyb2xcIj5cbiAgICA8a2VuZG8tbXVsdGlzZWxlY3RcbiAgICAgIGlkPVwie3sgJ18nICsgZmllbGROYW1lIH19XCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgW2F1dG9DbG9zZV09XCJmYWxzZVwiXG4gICAgICB0ZXh0RmllbGQ9XCJuYW1lXCJcbiAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICBbdmFsdWVQcmltaXRpdmVdPVwidHJ1ZVwiXG4gICAgPlxuICAgIDwva2VuZG8tbXVsdGlzZWxlY3Q+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYmctZGFuZ2VyXCIgKm5nSWY9XCJjb250cm9sLmludmFsaWQgJiYgY29udHJvbC50b3VjaGVkXCI+XG4gICAgICA8c3BhbiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydyZXF1aXJlZCddXCI+e3tcbiAgICAgICAgJ1JlcXVpcmVkJyB8IHRyYW5zbGF0ZTogeyBwYXJhbTA6IGxhYmVsS2V5IHwgdHJhbnNsYXRlIH1cbiAgICAgIH19PC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb250cm9sLmVycm9yc1snc2VydmVyRXJyb3JNc2cnXVwiPnt7XG4gICAgICAgIGNvbnRyb2wuZXJyb3JzWydzZXJ2ZXJFcnJvck1zZyddXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
3
|
import { map } from 'rxjs/operators';
|
|
3
4
|
import { urlDeserialize, urlSerialize } from './UrlSerializer';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@ngx-translate/core";
|
|
6
7
|
import * as i2 from "@angular/router";
|
|
7
|
-
import * as i3 from "@
|
|
8
|
-
import * as i4 from "
|
|
9
|
-
import * as i5 from "
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "../../angular/forms/directives/debounce.directive";
|
|
10
|
+
import * as i5 from "@progress/kendo-angular-grid";
|
|
10
11
|
import * as i6 from "@progress/kendo-angular-inputs";
|
|
11
12
|
import * as i7 from "@angular/forms";
|
|
12
|
-
import * as i8 from "
|
|
13
|
-
import * as i9 from "
|
|
14
|
-
import * as i10 from "
|
|
13
|
+
import * as i8 from "../confirm-dialog/confirm-dialog.component";
|
|
14
|
+
import * as i9 from "../excel-export-button/excel-export-button.component";
|
|
15
|
+
import * as i10 from "../../directives/requirePermission.directive";
|
|
15
16
|
const nameField = 'name';
|
|
16
17
|
export class EntityListComponent {
|
|
17
18
|
constructor(translate, route, router) {
|
|
@@ -20,6 +21,7 @@ export class EntityListComponent {
|
|
|
20
21
|
this.router = router;
|
|
21
22
|
this.filterChange = new EventEmitter();
|
|
22
23
|
this.gridState = {};
|
|
24
|
+
this.page = new BehaviorSubject(null);
|
|
23
25
|
this.loadings = 0;
|
|
24
26
|
this.selected = [];
|
|
25
27
|
this.gridFields = [];
|
|
@@ -110,16 +112,19 @@ export class EntityListComponent {
|
|
|
110
112
|
});
|
|
111
113
|
}
|
|
112
114
|
updateGrid(data) {
|
|
113
|
-
const
|
|
115
|
+
const currentPage = { ...this.page.value };
|
|
116
|
+
const exists = currentPage.data.filter((x) => x.id === data.id);
|
|
114
117
|
if (exists.length) {
|
|
115
|
-
|
|
118
|
+
currentPage.data[currentPage.data.indexOf(exists[0])] = data;
|
|
119
|
+
this.page.next(currentPage);
|
|
116
120
|
return;
|
|
117
121
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (
|
|
121
|
-
|
|
122
|
+
currentPage.total++;
|
|
123
|
+
currentPage.data.splice(0, 0, data);
|
|
124
|
+
if (currentPage.data.length > this.gridState.take) {
|
|
125
|
+
currentPage.data.splice(this.page.value.data.length - 1, 1);
|
|
122
126
|
}
|
|
127
|
+
this.page.next(currentPage);
|
|
123
128
|
this.selected[0] = data.id;
|
|
124
129
|
this.router.navigate([data.id], {
|
|
125
130
|
relativeTo: this.route,
|
|
@@ -129,7 +134,7 @@ export class EntityListComponent {
|
|
|
129
134
|
getData() {
|
|
130
135
|
this.loadings++;
|
|
131
136
|
this.service.getPage(this.gridState).subscribe((page) => {
|
|
132
|
-
this.page
|
|
137
|
+
this.page.next(page);
|
|
133
138
|
this.loadings--;
|
|
134
139
|
});
|
|
135
140
|
}
|
|
@@ -180,11 +185,11 @@ export class EntityListComponent {
|
|
|
180
185
|
this.getData();
|
|
181
186
|
}
|
|
182
187
|
}
|
|
183
|
-
EntityListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
184
|
-
EntityListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
188
|
+
EntityListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityListComponent, deps: [{ token: i1.TranslateService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
189
|
+
EntityListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: EntityListComponent, selector: "entity-list", inputs: { service: "service", filters: "filters", fields: "fields", commands: "commands", rowClass: "rowClass", defaultSort: "defaultSort" }, 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>\n <button\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]=\"10\"\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", 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", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "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: "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: "directive", 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" }] });
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityListComponent, decorators: [{
|
|
186
191
|
type: Component,
|
|
187
|
-
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\"\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>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <
|
|
192
|
+
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>\n <button\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]=\"10\"\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" }]
|
|
188
193
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.ActivatedRoute }, { type: i2.Router }]; }, propDecorators: { service: [{
|
|
189
194
|
type: Input
|
|
190
195
|
}], filters: [{
|
|
@@ -203,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
203
208
|
type: ViewChild,
|
|
204
209
|
args: ['confirmDialog', { static: true }]
|
|
205
210
|
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9lbnRpdHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBTW5ILE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQVFwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7Ozs7Ozs7Ozs7QUFFOUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBT3pCLE1BQU0sT0FBTyxtQkFBbUI7SUEyQjlCLFlBQ1UsU0FBMkIsRUFDM0IsS0FBcUIsRUFDckIsTUFBYztRQUZkLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoQmpCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFHN0QsY0FBUyxHQUFVLEVBQUUsQ0FBQztRQUV0QixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUN4QixlQUFVLEdBQVksRUFBRSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVk7WUFDL0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdELENBQUM7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TUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN6RSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7O2dIQTVOVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix3WEN2QmhDLGc3R0ErRkE7MkZEeEVhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhO3lKQU1oQixPQUFPO3NCQURiLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLE1BQU07c0JBRFosS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsTUFBTTtnQkFHQSxNQUFNO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRGF0YVN0YXRlQ2hhbmdlRXZlbnQsIFJvd0NsYXNzQXJncyB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnXG5pbXBvcnQgeyBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yLCBGaWx0ZXJEZXNjcmlwdG9yLCBTb3J0RGVzY3JpcHRvciwgU3RhdGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tZGF0YS1xdWVyeSdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBJZGVudGlmaWVkTW9kZWwgfSBmcm9tICcuLi8uLi9hbmd1bGFyL21vZGVscy9JZGVudGlmaWVkTW9kZWwnXG5pbXBvcnQgeyBOYW1lZE1vZGVsIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9tb2RlbHMvTmFtZWRNb2RlbCdcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvUGFnZSdcbmltcG9ydCB7IElFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvSUVudGl0eVNlcnZpY2UnXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50J1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4vQ29tbWFuZCdcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9GaWVsZCdcbmltcG9ydCB7IHVybERlc2VyaWFsaXplLCB1cmxTZXJpYWxpemUgfSBmcm9tICcuL1VybFNlcmlhbGl6ZXInXG5cbmNvbnN0IG5hbWVGaWVsZCA9ICduYW1lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW50aXR5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbnRpdHktbGlzdC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXJ2aWNlOiBJRW50aXR5U2VydmljZTxOYW1lZE1vZGVsPjtcbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlcnM6IEFycmF5PEZpbHRlckRlc2NyaXB0b3IgfCBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yPjtcbiAgQElucHV0KClcbiAgcHVibGljIGZpZWxkcz86IEZpZWxkW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb21tYW5kcz86IENvbW1hbmRbXTtcbiAgQElucHV0KClcbiAgcHVibGljIHJvd0NsYXNzPzogKGRhdGFJdGVtOiBOYW1lZE1vZGVsLCBpbmRleDogbnVtYmVyKSA9PiB7fTtcbiAgQElucHV0KClcbiAgcHVibGljIGRlZmF1bHRTb3J0PzogU29ydERlc2NyaXB0b3JbXTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3I+KCk7XG4gIEBWaWV3Q2hpbGQoJ2NvbmZpcm1EaWFsb2cnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZGlhbG9nOiBDb25maXJtRGlhbG9nQ29tcG9uZW50O1xuICBwdWJsaWMgZ3JpZFN0YXRlOiBTdGF0ZSA9IHt9O1xuICBwdWJsaWMgcGFnZTogUGFnZTxOYW1lZE1vZGVsPjtcbiAgcHVibGljIGxvYWRpbmdzID0gMDtcbiAgcHVibGljIHNlYXJjaFRlcm06IHN0cmluZztcbiAgcHVibGljIHNlbGVjdGVkOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgZ3JpZEZpZWxkczogRmllbGRbXSA9IFtdO1xuICBwcml2YXRlIGRlZmF1bHRGaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgeyBuYW1lOiAnbmFtZScsIGxhYmVsOiAnTmFtZScsIHNvcnRhYmxlOiB0cnVlLCBwb3NpdGlvbjogMCB9LFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgdGhpcy5nZXRBbGxEYXRhID0gdGhpcy5nZXRBbGxEYXRhLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSb3dDbGFzcyA9IHRoaXMuZ2V0Um93Q2xhc3MuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoIWNoYW5nZXMuZmlsdGVycyB8fCBjaGFuZ2VzLmZpbHRlcnMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmdldEZpbHRlcmVkRGF0YSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5ncmlkRmllbGRzID0gKHRoaXMuZmllbGRzIHx8IFtdKVxuICAgICAgLmNvbmNhdCh0aGlzLmRlZmF1bHRGaWVsZHMpXG4gICAgICAuc29ydCgobGVmdCwgcmlnaHQpID0+IChsZWZ0LnBvc2l0aW9uIHx8IDApIC0gKHJpZ2h0LnBvc2l0aW9uIHx8IDApKTtcbiAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmZpbHRlcnMgPyB0aGlzLmZpbHRlcnMgOiBbXTtcbiAgICB0aGlzLmNvbW1hbmRzID0gdGhpcy5jb21tYW5kcyA/IHRoaXMuY29tbWFuZHMgOiBbXTtcbiAgICB0aGlzLnJvdXRlLmZyYWdtZW50LnN1YnNjcmliZShhc3luYyAoZnJhZ21lbnQ6IHN0cmluZykgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5yZXN0b3JlR3JpZFN0YXRlKG5ldyBVUkxTZWFyY2hQYXJhbXMoZnJhZ21lbnQpKTtcbiAgICB9KTtcblxuICAgIHRoaXMucm91dGUuZmlyc3RDaGlsZC5wYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IFBhcmFtcykgPT4ge1xuICAgICAgaWYgKHBhcmFtcy5pZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkWzBdID0gcGFyYW1zLmlkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5wb3AoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVIYW5kbGVyKHsgZGF0YUl0ZW0gfSkge1xuICAgIHRoaXMuZGlhbG9nLm9wZW4oXG4gICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdDb25maXJtYXRpb24uRGVsZXRlJykgK1xuICAgICAgICAnOiBcIicgK1xuICAgICAgICBkYXRhSXRlbS5uYW1lICtcbiAgICAgICAgJ1wiPycsXG4gICAgICAoKSA9PiB0aGlzLnJlbW92ZShkYXRhSXRlbSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEl0ZW0oeyBkYXRhSXRlbSB9KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2RhdGFJdGVtLmlkXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIGZyYWdtZW50OiB1cmxTZXJpYWxpemUodGhpcy5ncmlkU3RhdGUpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uQWN0aXZhdGUoY2hpbGQ6IHsgc2F2ZWQ6IEV2ZW50RW1pdHRlcjxOYW1lZE1vZGVsPiB9KSB7XG4gICAgaWYgKGNoaWxkLnNhdmVkKSB7XG4gICAgICBjaGlsZC5zYXZlZC5zdWJzY3JpYmUoKGRhdGE6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0pID0+XG4gICAgICAgIHRoaXMudXBkYXRlR3JpZChkYXRhKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EZWFjdGl2YXRlKGNoaWxkOiB7IHNhdmVkOiBFdmVudEVtaXR0ZXI8TmFtZWRNb2RlbD4gfSkge1xuICAgIGlmIChjaGlsZC5zYXZlZCkge1xuICAgICAgY2hpbGQuc2F2ZWQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGF0YVN0YXRlQ2hhbmdlKHN0YXRlOiBEYXRhU3RhdGVDaGFuZ2VFdmVudCkge1xuICAgIE9iamVjdC5rZXlzKHN0YXRlKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIHRoaXMuZ3JpZFN0YXRlW2tleV0gPSBpc05hTihzdGF0ZS5za2lwKVxuICAgICAgICA/IHRoaXMuZ3JpZFN0YXRlW2tleV1cbiAgICAgICAgOiBzdGF0ZVtrZXldO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBmcmFnbWVudDogdXJsU2VyaWFsaXplKHRoaXMuZ3JpZFN0YXRlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hUZXJtID0gdmFsdWU7XG4gICAgdGhpcy5ncmlkU3RhdGUuc2tpcCA9IDA7XG4gICAgdGhpcy5nZXRGaWx0ZXJlZERhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxEYXRhKCk6IE9ic2VydmFibGU8UGFnZTxOYW1lZE1vZGVsPj4ge1xuICAgIGNvbnN0IHN0YXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5ncmlkU3RhdGUpO1xuICAgIGRlbGV0ZSBzdGF0ZS5za2lwO1xuICAgIGRlbGV0ZSBzdGF0ZS50YWtlO1xuXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRQYWdlKHN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSb3dDbGFzcyhjb250ZXh0OiBSb3dDbGFzc0FyZ3MpOiBPYmplY3Qge1xuICAgIHJldHVybiB0aGlzLnJvd0NsYXNzICYmIGNvbnRleHRcbiAgICAgID8gdGhpcy5yb3dDbGFzcyhjb250ZXh0LmRhdGFJdGVtLCBjb250ZXh0LmluZGV4KVxuICAgICAgOiB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWx0ZXJlZERhdGEoKSB7XG4gICAgdGhpcy5ncmlkU3RhdGUuZmlsdGVyID0gdGhpcy5nZXRGaWx0ZXIoKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIGZyYWdtZW50OiB1cmxTZXJpYWxpemUodGhpcy5ncmlkU3RhdGUpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUdyaWQoZGF0YTogTmFtZWRNb2RlbCkge1xuICAgIGNvbnN0IGV4aXN0cyA9IHRoaXMucGFnZS5kYXRhLmZpbHRlcigoeCkgPT4geC5pZCA9PT0gZGF0YS5pZCk7XG4gICAgaWYgKGV4aXN0cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMucGFnZS5kYXRhW3RoaXMucGFnZS5kYXRhLmluZGV4T2YoZXhpc3RzWzBdKV0gPSBkYXRhO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYWdlLnRvdGFsKys7XG4gICAgdGhpcy5wYWdlLmRhdGEuc3BsaWNlKDAsIDAsIGRhdGEpO1xuICAgIGlmICh0aGlzLnBhZ2UuZGF0YS5sZW5ndGggPiB0aGlzLmdyaWRTdGF0ZS50YWtlKSB7XG4gICAgICB0aGlzLnBhZ2UuZGF0YS5zcGxpY2UodGhpcy5wYWdlLmRhdGEubGVuZ3RoIC0gMSwgMSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZFswXSA9IGRhdGEuaWQ7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2RhdGEuaWRdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgcHJlc2VydmVGcmFnbWVudDogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhKCkge1xuICAgIHRoaXMubG9hZGluZ3MrKztcbiAgICB0aGlzLnNlcnZpY2UuZ2V0UGFnZSh0aGlzLmdyaWRTdGF0ZSkuc3Vic2NyaWJlKChwYWdlKSA9PiB7XG4gICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xuICAgICAgdGhpcy5sb2FkaW5ncy0tO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmUoZW50aXR5OiBJZGVudGlmaWVkTW9kZWwpIHtcbiAgICB0aGlzLmxvYWRpbmdzKys7XG4gICAgdGhpcy5zZXJ2aWNlXG4gICAgICAuZGVsZXRlKGVudGl0eS5pZClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQubGVuZ3RoICYmXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkW3RoaXMuc2VsZWN0ZWQubGVuZ3RoIC0gMV0gPT09IGVudGl0eS5pZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwge1xuICAgICAgICAgICAgICBwcmVzZXJ2ZUZyYWdtZW50OiB0cnVlLFxuICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLmZpcnN0Q2hpbGQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5sb2FkaW5ncy0tO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcigpOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIHtcbiAgICBjb25zdCBmaWx0ZXI6IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IgPSB7XG4gICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICBmaWx0ZXJzOiB0aGlzLnNlYXJjaFRlcm1cbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7IGZpZWxkOiBuYW1lRmllbGQsIG9wZXJhdG9yOiAnY29udGFpbnMnLCB2YWx1ZTogdGhpcy5zZWFyY2hUZXJtIH0sXG4gICAgICAgICAgICAuLi50aGlzLmZpbHRlcnMsXG4gICAgICAgICAgXVxuICAgICAgICA6IHRoaXMuZmlsdGVycyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpbHRlcjtcbiAgfVxuXG4gIHByaXZhdGUgb25GaWx0ZXJDaGFuZ2UoKSB7XG4gICAgY29uc3QgZmlsdGVyOiBhbnkgPSB0aGlzLmdyaWRTdGF0ZS5maWx0ZXI/LmZpbHRlcnMuZmluZChcbiAgICAgICh4OiBGaWx0ZXJEZXNjcmlwdG9yKSA9PiB4LmZpZWxkID09PSBuYW1lRmllbGRcbiAgICApO1xuICAgIHRoaXMuc2VhcmNoVGVybSA9IGZpbHRlcj8udmFsdWU7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmdyaWRTdGF0ZS5maWx0ZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXN0b3JlR3JpZFN0YXRlKHBhcmFtczogVVJMU2VhcmNoUGFyYW1zKSB7XG4gICAgY29uc3QgZGVmYXVsdEdyaWRTdGF0ZTogU3RhdGUgPSB7XG4gICAgICBzb3J0OiB0aGlzLmRlZmF1bHRTb3J0IHx8IFt7IGZpZWxkOiBuYW1lRmllbGQsIGRpcjogJ2FzYycgfV0sXG4gICAgICBza2lwOiAwLFxuICAgICAgdGFrZTogMTAsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXRlID0gdXJsRGVzZXJpYWxpemUocGFyYW1zKTtcbiAgICB0aGlzLmdyaWRTdGF0ZSA9IHN0YXRlLmhhc093blByb3BlcnR5KCd0YWtlJykgPyBzdGF0ZSA6IGRlZmF1bHRHcmlkU3RhdGU7XG4gICAgdGhpcy5vbkZpbHRlckNoYW5nZSgpO1xuICAgIHRoaXMuZ2V0RGF0YSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxuICAgIDxoZWFkZXIgY2xhc3M9XCJoZWFkZXItcGFnZS1iZ1wiPjwvaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJwYW5lbCBzZWFyY2gtcGFuZWwgaGVyby11bml0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXNlbGVjdGlvbi1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgZm9yPVwic2VhcmNoaW5wdXRcIiBjbGFzcz1cInRpdGxlLWZpZWxkXCIgdHJhbnNsYXRlPVwiU2VhcmNoXCI+PC9sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAga2VuZG9UZXh0Qm94XG4gICAgICAgICAgY2xhc3M9XCJxdWljay1maWx0ZXIgaW5wdXQgaW5wdXQtZmllbGRcIlxuICAgICAgICAgIHRpdGxlPVwiXCJcbiAgICAgICAgICBpZD1cInNlYXJjaGlucHV0XCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgYXBwRGVib3VuY2VcbiAgICAgICAgICAoZGVib3VuY2VLZXl1cCk9XCJvblNlYXJjaCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoVGVybVwiXG4gICAgICAgICAgW2RlYm91bmNlVGltZV09XCI2MDBcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlLWxpbmVcIj48L2Rpdj5cblxuICAgICAgPGtlbmRvLWdyaWRcbiAgICAgICAgW2RhdGFdPVwicGFnZVwiXG4gICAgICAgIFtwYWdlU2l6ZV09XCJncmlkU3RhdGUudGFrZVwiXG4gICAgICAgIFtza2lwXT1cImdyaWRTdGF0ZS5za2lwXCJcbiAgICAgICAgW3NvcnRdPVwiZ3JpZFN0YXRlLnNvcnRcIlxuICAgICAgICBbcGFnZWFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtzb3J0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW3N0eWxlLm1heEhlaWdodC5weF09XCI0ODBcIlxuICAgICAgICAocmVtb3ZlKT1cInJlbW92ZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgIChkYXRhU3RhdGVDaGFuZ2UpPVwiZGF0YVN0YXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5ncyA+IDBcIlxuICAgICAgICAoY2VsbENsaWNrKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiXG4gICAgICAgIGN1bHR1cmVcbiAgICAgICAgY2xhc3M9XCJyb3dzLXBvaW50YWJsZVwiXG4gICAgICAgIGtlbmRvR3JpZFNlbGVjdEJ5PVwiaWRcIlxuICAgICAgICBbc2VsZWN0ZWRLZXlzXT1cInNlbGVjdGVkXCJcbiAgICAgICAgW3Jvd0NsYXNzXT1cImdldFJvd0NsYXNzXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZFRvb2xiYXJUZW1wbGF0ZT5cbiAgICAgICAgICA8ZXhjZWwtZXhwb3J0LWJ1dHRvbj48L2V4Y2VsLWV4cG9ydC1idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxrZW5kby1ncmlkLWV4Y2VsIFtmZXRjaERhdGFdPVwiZ2V0QWxsRGF0YVwiPjwva2VuZG8tZ3JpZC1leGNlbD5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGU+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGtlbmRvR3JpZFJlbW92ZUNvbW1hbmRcbiAgICAgICAgICAgICAgcmVxdWlyZVBlcm1pc3Npb25cbiAgICAgICAgICAgICAgcGVybWlzc2lvblR5cGU9XCJEZWxldGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImstaWNvbiBnbHlwaGljb24gZ2x5cGhpY29uLXRyYXNoXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbW1hbmQtY29sdW1uPlxuICAgICAgICA8a2VuZG8tZ3JpZC1jb2x1bW5cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZ3JpZEZpZWxkc1wiXG4gICAgICAgICAgZmllbGQ9XCJ7eyBmaWVsZC5uYW1lIH19XCJcbiAgICAgICAgICB0aXRsZT1cInt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBbc29ydGFibGVdPVwiZmllbGQuc29ydGFibGUgIT09IGZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuICAgICAgICA8a2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbiB3aWR0aD1cIjY1XCIgKm5nSWY9XCJjb21tYW5kcy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb21tYW5kIG9mIGNvbW1hbmRzXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbW1hbmQuaGFuZGxlcihkYXRhSXRlbSlcIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7IGNvbW1hbmQudGl0bGUgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBjbGFzcz1cImstYnV0dG9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgKm5nSWY9XCJjb21tYW5kLmljb25DbGFzc1wiIGNsYXNzPVwie3sgY29tbWFuZC5pY29uQ2xhc3MgfX1cIj48L2k+XG4gICAgICAgICAgICAgIHt7IGNvbW1hbmQubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbW1hbmQtY29sdW1uPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkTm9SZWNvcmRzVGVtcGxhdGU+XG4gICAgICAgICAge3sgJ01lc3NhZ2VzLk5vUmVjb3JkcycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFnZXJUZW1wbGF0ZT5cbiAgICAgICAgICA8a2VuZG8tZ3JpZC1zcGFjZXI+PC9rZW5kby1ncmlkLXNwYWNlcj5cbiAgICAgICAgICA8a2VuZG8tcGFnZXItcHJldi1idXR0b25zPjwva2VuZG8tcGFnZXItcHJldi1idXR0b25zPlxuICAgICAgICAgIDxrZW5kby1wYWdlci1udW1lcmljLWJ1dHRvbnNcbiAgICAgICAgICAgIFtidXR0b25Db3VudF09XCIxMFwiXG4gICAgICAgICAgPjwva2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zPlxuICAgICAgICAgIDxrZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+XG4gICAgICAgICAgPGtlbmRvLXBhZ2VyLWluZm8+PC9rZW5kby1wYWdlci1pbmZvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9rZW5kby1ncmlkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHJvdXRlci1vdXRsZXRcbiAgICAoYWN0aXZhdGUpPVwib25BY3RpdmF0ZSgkZXZlbnQpXCJcbiAgICAoZGVhY3RpdmF0ZSk9XCJvbkRlYWN0aXZhdGUoJGV2ZW50KVwiXG4gID48L3JvdXRlci1vdXRsZXQ+XG48L2Rpdj5cbjxjb25maXJtLWRpYWxvZyAjY29uZmlybURpYWxvZz48L2NvbmZpcm0tZGlhbG9nPlxuIl19
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9lbnRpdHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQWF2QixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7QUFFL0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBT3pCLE1BQU0sT0FBTyxtQkFBbUI7SUE2QjlCLFlBQ1UsU0FBMkIsRUFDM0IsS0FBcUIsRUFDckIsTUFBYztRQUZkLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFsQmpCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFHN0QsY0FBUyxHQUFVLEVBQUUsQ0FBQztRQUN0QixTQUFJLEdBQXNDLElBQUksZUFBZSxDQUVsRSxJQUFJLENBQUMsQ0FBQztRQUNELGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFYixhQUFRLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLGVBQVUsR0FBWSxFQUFFLENBQUM7UUFDeEIsa0JBQWEsR0FBWTtZQUMvQixFQUFFLElBQUks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LENBQUM7SUFFTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBdUI7UUFDcEQsTUFBTSxnQkFBZ0IsR0FBVTtZQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDNUQsSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLEVBQUUsRUFBRTtTQUNULENBQUM7UUFFRixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1FBQ3pFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7Z0hBak9VLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHdYQ3hDaEMsOCtHQWtHQTsyRkQxRGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7eUpBTWhCLE9BQU87c0JBRGIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsTUFBTTtzQkFEWixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxZQUFZO3NCQURsQixNQUFNO2dCQUdBLE1BQU07c0JBRFosU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIERhdGFTdGF0ZUNoYW5nZUV2ZW50LFxuICBSb3dDbGFzc0FyZ3MsXG59IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuaW1wb3J0IHtcbiAgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcixcbiAgRmlsdGVyRGVzY3JpcHRvcixcbiAgU29ydERlc2NyaXB0b3IsXG4gIFN0YXRlLFxufSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElkZW50aWZpZWRNb2RlbCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL0lkZW50aWZpZWRNb2RlbCc7XG5pbXBvcnQgeyBOYW1lZE1vZGVsIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9tb2RlbHMvTmFtZWRNb2RlbCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1BhZ2UnO1xuaW1wb3J0IHsgSUVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9JRW50aXR5U2VydmljZSc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICcuL0NvbW1hbmQnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL0ZpZWxkJztcbmltcG9ydCB7IHVybERlc2VyaWFsaXplLCB1cmxTZXJpYWxpemUgfSBmcm9tICcuL1VybFNlcmlhbGl6ZXInO1xuXG5jb25zdCBuYW1lRmllbGQgPSAnbmFtZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudGl0eS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LWxpc3QuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VydmljZTogSUVudGl0eVNlcnZpY2U8TmFtZWRNb2RlbD47XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJzOiBBcnJheTxGaWx0ZXJEZXNjcmlwdG9yIHwgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcj47XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWVsZHM/OiBGaWVsZFtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29tbWFuZHM/OiBDb21tYW5kW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dDbGFzcz86IChkYXRhSXRlbTogTmFtZWRNb2RlbCwgaW5kZXg6IG51bWJlcikgPT4ge307XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWZhdWx0U29ydD86IFNvcnREZXNjcmlwdG9yW107XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yPigpO1xuICBAVmlld0NoaWxkKCdjb25maXJtRGlhbG9nJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGRpYWxvZzogQ29uZmlybURpYWxvZ0NvbXBvbmVudDtcbiAgcHVibGljIGdyaWRTdGF0ZTogU3RhdGUgPSB7fTtcbiAgcHVibGljIHBhZ2U6IEJlaGF2aW9yU3ViamVjdDxQYWdlPE5hbWVkTW9kZWw+PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgUGFnZTxOYW1lZE1vZGVsPlxuICA+KG51bGwpO1xuICBwdWJsaWMgbG9hZGluZ3MgPSAwO1xuICBwdWJsaWMgc2VhcmNoVGVybTogc3RyaW5nO1xuICBwdWJsaWMgc2VsZWN0ZWQ6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyBncmlkRmllbGRzOiBGaWVsZFtdID0gW107XG4gIHByaXZhdGUgZGVmYXVsdEZpZWxkczogRmllbGRbXSA9IFtcbiAgICB7IG5hbWU6ICduYW1lJywgbGFiZWw6ICdOYW1lJywgc29ydGFibGU6IHRydWUsIHBvc2l0aW9uOiAwIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICB0aGlzLmdldEFsbERhdGEgPSB0aGlzLmdldEFsbERhdGEuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdldFJvd0NsYXNzID0gdGhpcy5nZXRSb3dDbGFzcy5iaW5kKHRoaXMpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICghY2hhbmdlcy5maWx0ZXJzIHx8IGNoYW5nZXMuZmlsdGVycy5maXJzdENoYW5nZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ2V0RmlsdGVyZWREYXRhKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdyaWRGaWVsZHMgPSAodGhpcy5maWVsZHMgfHwgW10pXG4gICAgICAuY29uY2F0KHRoaXMuZGVmYXVsdEZpZWxkcylcbiAgICAgIC5zb3J0KChsZWZ0LCByaWdodCkgPT4gKGxlZnQucG9zaXRpb24gfHwgMCkgLSAocmlnaHQucG9zaXRpb24gfHwgMCkpO1xuICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVycyA/IHRoaXMuZmlsdGVycyA6IFtdO1xuICAgIHRoaXMuY29tbWFuZHMgPSB0aGlzLmNvbW1hbmRzID8gdGhpcy5jb21tYW5kcyA6IFtdO1xuICAgIHRoaXMucm91dGUuZnJhZ21lbnQuc3Vic2NyaWJlKGFzeW5jIChmcmFnbWVudDogc3RyaW5nKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLnJlc3RvcmVHcmlkU3RhdGUobmV3IFVSTFNlYXJjaFBhcmFtcyhmcmFnbWVudCkpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZS5maXJzdENoaWxkLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1zKSA9PiB7XG4gICAgICBpZiAocGFyYW1zLmlkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRbMF0gPSBwYXJhbXMuaWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkLnBvcCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUhhbmRsZXIoeyBkYXRhSXRlbSB9KSB7XG4gICAgdGhpcy5kaWFsb2cub3BlbihcbiAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0NvbmZpcm1hdGlvbi5EZWxldGUnKSArXG4gICAgICAgICc6IFwiJyArXG4gICAgICAgIGRhdGFJdGVtLm5hbWUgK1xuICAgICAgICAnXCI/JyxcbiAgICAgICgpID0+IHRoaXMucmVtb3ZlKGRhdGFJdGVtKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SXRlbSh7IGRhdGFJdGVtIH0pIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZGF0YUl0ZW0uaWRdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgZnJhZ21lbnQ6IHVybFNlcmlhbGl6ZSh0aGlzLmdyaWRTdGF0ZSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25BY3RpdmF0ZShjaGlsZDogeyBzYXZlZDogRXZlbnRFbWl0dGVyPE5hbWVkTW9kZWw+IH0pIHtcbiAgICBpZiAoY2hpbGQuc2F2ZWQpIHtcbiAgICAgIGNoaWxkLnNhdmVkLnN1YnNjcmliZSgoZGF0YTogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfSkgPT5cbiAgICAgICAgdGhpcy51cGRhdGVHcmlkKGRhdGEpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkRlYWN0aXZhdGUoY2hpbGQ6IHsgc2F2ZWQ6IEV2ZW50RW1pdHRlcjxOYW1lZE1vZGVsPiB9KSB7XG4gICAgaWYgKGNoaWxkLnNhdmVkKSB7XG4gICAgICBjaGlsZC5zYXZlZC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkYXRhU3RhdGVDaGFuZ2Uoc3RhdGU6IERhdGFTdGF0ZUNoYW5nZUV2ZW50KSB7XG4gICAgT2JqZWN0LmtleXMoc3RhdGUpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgdGhpcy5ncmlkU3RhdGVba2V5XSA9IGlzTmFOKHN0YXRlLnNraXApXG4gICAgICAgID8gdGhpcy5ncmlkU3RhdGVba2V5XVxuICAgICAgICA6IHN0YXRlW2tleV07XG4gICAgfSk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIGZyYWdtZW50OiB1cmxTZXJpYWxpemUodGhpcy5ncmlkU3RhdGUpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uU2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSB2YWx1ZTtcbiAgICB0aGlzLmdyaWRTdGF0ZS5za2lwID0gMDtcbiAgICB0aGlzLmdldEZpbHRlcmVkRGF0YSgpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbERhdGEoKTogT2JzZXJ2YWJsZTxQYWdlPE5hbWVkTW9kZWw+PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmdyaWRTdGF0ZSk7XG4gICAgZGVsZXRlIHN0YXRlLnNraXA7XG4gICAgZGVsZXRlIHN0YXRlLnRha2U7XG5cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldFBhZ2Uoc3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGdldFJvd0NsYXNzKGNvbnRleHQ6IFJvd0NsYXNzQXJncyk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHRoaXMucm93Q2xhc3MgJiYgY29udGV4dFxuICAgICAgPyB0aGlzLnJvd0NsYXNzKGNvbnRleHQuZGF0YUl0ZW0sIGNvbnRleHQuaW5kZXgpXG4gICAgICA6IHt9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpbHRlcmVkRGF0YSgpIHtcbiAgICB0aGlzLmdyaWRTdGF0ZS5maWx0ZXIgPSB0aGlzLmdldEZpbHRlcigpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgZnJhZ21lbnQ6IHVybFNlcmlhbGl6ZSh0aGlzLmdyaWRTdGF0ZSksXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlR3JpZChkYXRhOiBOYW1lZE1vZGVsKSB7XG4gICAgY29uc3QgY3VycmVudFBhZ2UgPSB7IC4uLnRoaXMucGFnZS52YWx1ZSB9O1xuICAgIGNvbnN0IGV4aXN0cyA9IGN1cnJlbnRQYWdlLmRhdGEuZmlsdGVyKCh4KSA9PiB4LmlkID09PSBkYXRhLmlkKTtcbiAgICBpZiAoZXhpc3RzLmxlbmd0aCkge1xuICAgICAgY3VycmVudFBhZ2UuZGF0YVtjdXJyZW50UGFnZS5kYXRhLmluZGV4T2YoZXhpc3RzWzBdKV0gPSBkYXRhO1xuICAgICAgdGhpcy5wYWdlLm5leHQoY3VycmVudFBhZ2UpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3VycmVudFBhZ2UudG90YWwrKztcbiAgICBjdXJyZW50UGFnZS5kYXRhLnNwbGljZSgwLCAwLCBkYXRhKTtcbiAgICBpZiAoY3VycmVudFBhZ2UuZGF0YS5sZW5ndGggPiB0aGlzLmdyaWRTdGF0ZS50YWtlKSB7XG4gICAgICBjdXJyZW50UGFnZS5kYXRhLnNwbGljZSh0aGlzLnBhZ2UudmFsdWUuZGF0YS5sZW5ndGggLSAxLCAxKTtcbiAgICB9XG5cbiAgICB0aGlzLnBhZ2UubmV4dChjdXJyZW50UGFnZSk7XG4gICAgdGhpcy5zZWxlY3RlZFswXSA9IGRhdGEuaWQ7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2RhdGEuaWRdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgcHJlc2VydmVGcmFnbWVudDogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhKCkge1xuICAgIHRoaXMubG9hZGluZ3MrKztcbiAgICB0aGlzLnNlcnZpY2UuZ2V0UGFnZSh0aGlzLmdyaWRTdGF0ZSkuc3Vic2NyaWJlKChwYWdlKSA9PiB7XG4gICAgICB0aGlzLnBhZ2UubmV4dChwYWdlKTtcbiAgICAgIHRoaXMubG9hZGluZ3MtLTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlKGVudGl0eTogSWRlbnRpZmllZE1vZGVsKSB7XG4gICAgdGhpcy5sb2FkaW5ncysrO1xuICAgIHRoaXMuc2VydmljZVxuICAgICAgLmRlbGV0ZShlbnRpdHkuaWQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkLmxlbmd0aCAmJlxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFt0aGlzLnNlbGVjdGVkLmxlbmd0aCAtIDFdID09PSBlbnRpdHkuaWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vJ10sIHtcbiAgICAgICAgICAgICAgcHJlc2VydmVGcmFnbWVudDogdHJ1ZSxcbiAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZS5maXJzdENoaWxkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubG9hZGluZ3MtLTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmdldERhdGEoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWx0ZXIoKTogQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciB7XG4gICAgY29uc3QgZmlsdGVyOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yID0ge1xuICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgZmlsdGVyczogdGhpcy5zZWFyY2hUZXJtXG4gICAgICAgID8gW1xuICAgICAgICAgICAgeyBmaWVsZDogbmFtZUZpZWxkLCBvcGVyYXRvcjogJ2NvbnRhaW5zJywgdmFsdWU6IHRoaXMuc2VhcmNoVGVybSB9LFxuICAgICAgICAgICAgLi4udGhpcy5maWx0ZXJzLFxuICAgICAgICAgIF1cbiAgICAgICAgOiB0aGlzLmZpbHRlcnMsXG4gICAgfTtcblxuICAgIHJldHVybiBmaWx0ZXI7XG4gIH1cblxuICBwcml2YXRlIG9uRmlsdGVyQ2hhbmdlKCkge1xuICAgIGNvbnN0IGZpbHRlcjogYW55ID0gdGhpcy5ncmlkU3RhdGUuZmlsdGVyPy5maWx0ZXJzLmZpbmQoXG4gICAgICAoeDogRmlsdGVyRGVzY3JpcHRvcikgPT4geC5maWVsZCA9PT0gbmFtZUZpZWxkXG4gICAgKTtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSBmaWx0ZXI/LnZhbHVlO1xuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5ncmlkU3RhdGUuZmlsdGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVzdG9yZUdyaWRTdGF0ZShwYXJhbXM6IFVSTFNlYXJjaFBhcmFtcykge1xuICAgIGNvbnN0IGRlZmF1bHRHcmlkU3RhdGU6IFN0YXRlID0ge1xuICAgICAgc29ydDogdGhpcy5kZWZhdWx0U29ydCB8fCBbeyBmaWVsZDogbmFtZUZpZWxkLCBkaXI6ICdhc2MnIH1dLFxuICAgICAgc2tpcDogMCxcbiAgICAgIHRha2U6IDEwLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0ZSA9IHVybERlc2VyaWFsaXplKHBhcmFtcyk7XG4gICAgdGhpcy5ncmlkU3RhdGUgPSBzdGF0ZS5oYXNPd25Qcm9wZXJ0eSgndGFrZScpID8gc3RhdGUgOiBkZWZhdWx0R3JpZFN0YXRlO1xuICAgIHRoaXMub25GaWx0ZXJDaGFuZ2UoKTtcbiAgICB0aGlzLmdldERhdGEoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cbiAgICA8aGVhZGVyIGNsYXNzPVwiaGVhZGVyLXBhZ2UtYmdcIj48L2hlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwicGFuZWwgc2VhcmNoLXBhbmVsIGhlcm8tdW5pdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1zZWxlY3Rpb24tZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGZvcj1cInNlYXJjaGlucHV0XCIgY2xhc3M9XCJ0aXRsZS1maWVsZFwiIHRyYW5zbGF0ZT1cIlNlYXJjaFwiPjwvbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGtlbmRvVGV4dEJveFxuICAgICAgICAgIGNsYXNzPVwicXVpY2stZmlsdGVyIGlucHV0IGlucHV0LWZpZWxkXCJcbiAgICAgICAgICB0aXRsZT1cIlwiXG4gICAgICAgICAgaWQ9XCJzZWFyY2hpbnB1dFwiXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGFwcERlYm91bmNlXG4gICAgICAgICAgKGRlYm91bmNlS2V5dXApPVwib25TZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFRlcm1cIlxuICAgICAgICAgIFtkZWJvdW5jZVRpbWVdPVwiNjAwXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZS1saW5lXCI+PC9kaXY+XG5cbiAgICAgIDxrZW5kby1ncmlkXG4gICAgICAgIFtkYXRhXT1cInBhZ2UgfCBhc3luY1wiXG4gICAgICAgIFtwYWdlU2l6ZV09XCJncmlkU3RhdGUudGFrZVwiXG4gICAgICAgIFtza2lwXT1cImdyaWRTdGF0ZS5za2lwXCJcbiAgICAgICAgW3NvcnRdPVwiZ3JpZFN0YXRlLnNvcnRcIlxuICAgICAgICBbcGFnZWFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtzb3J0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW3N0eWxlLm1heEhlaWdodC5weF09XCI0ODBcIlxuICAgICAgICAocmVtb3ZlKT1cInJlbW92ZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgIChkYXRhU3RhdGVDaGFuZ2UpPVwiZGF0YVN0YXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5ncyA+IDBcIlxuICAgICAgICAoY2VsbENsaWNrKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiXG4gICAgICAgIGN1bHR1cmVcbiAgICAgICAgY2xhc3M9XCJyb3dzLXBvaW50YWJsZVwiXG4gICAgICAgIGtlbmRvR3JpZFNlbGVjdEJ5PVwiaWRcIlxuICAgICAgICBbc2VsZWN0ZWRLZXlzXT1cInNlbGVjdGVkXCJcbiAgICAgICAgW3Jvd0NsYXNzXT1cImdldFJvd0NsYXNzXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZFRvb2xiYXJUZW1wbGF0ZT5cbiAgICAgICAgICA8ZXhjZWwtZXhwb3J0LWJ1dHRvbj48L2V4Y2VsLWV4cG9ydC1idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxrZW5kby1ncmlkLWV4Y2VsIFtmZXRjaERhdGFdPVwiZ2V0QWxsRGF0YVwiPjwva2VuZG8tZ3JpZC1leGNlbD5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGU+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGtlbmRvR3JpZFJlbW92ZUNvbW1hbmRcbiAgICAgICAgICAgICAgcmVxdWlyZVBlcm1pc3Npb25cbiAgICAgICAgICAgICAgcGVybWlzc2lvblR5cGU9XCJEZWxldGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZW0gY2xhc3M9XCJrLWljb24gZ2x5cGhpY29uIGdseXBoaWNvbi10cmFzaFwiPjwvZW0+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2tlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4+XG4gICAgICAgIDxrZW5kby1ncmlkLWNvbHVtblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBncmlkRmllbGRzXCJcbiAgICAgICAgICBmaWVsZD1cInt7IGZpZWxkLm5hbWUgfX1cIlxuICAgICAgICAgIHRpdGxlPVwie3sgZmllbGQubGFiZWwgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtzb3J0YWJsZV09XCJmaWVsZC5zb3J0YWJsZSAhPT0gZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG4gICAgICAgIDxrZW5kby1ncmlkLWNvbW1hbmQtY29sdW1uIHdpZHRoPVwiNjVcIiAqbmdJZj1cImNvbW1hbmRzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbW1hbmQgb2YgY29tbWFuZHNcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY29tbWFuZC5oYW5kbGVyKGRhdGFJdGVtKVwiXG4gICAgICAgICAgICAgIHRpdGxlPVwie3sgY29tbWFuZC50aXRsZSB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiay1idXR0b25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZW1cbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbW1hbmQuaWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInt7IGNvbW1hbmQuaWNvbkNsYXNzIH19XCJcbiAgICAgICAgICAgICAgPjwvZW0+XG4gICAgICAgICAgICAgIHt7IGNvbW1hbmQubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbW1hbmQtY29sdW1uPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkTm9SZWNvcmRzVGVtcGxhdGU+XG4gICAgICAgICAge3sgJ01lc3NhZ2VzLk5vUmVjb3JkcycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFnZXJUZW1wbGF0ZT5cbiAgICAgICAgICA8a2VuZG8tZ3JpZC1zcGFjZXI+PC9rZW5kby1ncmlkLXNwYWNlcj5cbiAgICAgICAgICA8a2VuZG8tcGFnZXItcHJldi1idXR0b25zPjwva2VuZG8tcGFnZXItcHJldi1idXR0b25zPlxuICAgICAgICAgIDxrZW5kby1wYWdlci1udW1lcmljLWJ1dHRvbnNcbiAgICAgICAgICAgIFtidXR0b25Db3VudF09XCIxMFwiXG4gICAgICAgICAgPjwva2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zPlxuICAgICAgICAgIDxrZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+XG4gICAgICAgICAgPGtlbmRvLXBhZ2VyLWluZm8+PC9rZW5kby1wYWdlci1pbmZvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9rZW5kby1ncmlkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHJvdXRlci1vdXRsZXRcbiAgICAoYWN0aXZhdGUpPVwib25BY3RpdmF0ZSgkZXZlbnQpXCJcbiAgICAoZGVhY3RpdmF0ZSk9XCJvbkRlYWN0aXZhdGUoJGV2ZW50KVwiXG4gID48L3JvdXRlci1vdXRsZXQ+XG48L2Rpdj5cbjxjb25maXJtLWRpYWxvZyAjY29uZmlybURpYWxvZz48L2NvbmZpcm0tZGlhbG9nPlxuIl19
|
|
@@ -33,11 +33,11 @@ export class FieldDropdownlistComponent {
|
|
|
33
33
|
this.initialSelectedId = id;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
FieldDropdownlistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
37
|
-
FieldDropdownlistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
36
|
+
FieldDropdownlistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FieldDropdownlistComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
FieldDropdownlistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label", sort: "sort" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FieldDropdownlistComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
|
-
args: [{ selector: 'field-dropdownlist', template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n"
|
|
40
|
+
args: [{ selector: 'field-dropdownlist', template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n" }]
|
|
41
41
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { service: [{
|
|
42
42
|
type: Input
|
|
43
43
|
}], label: [{
|
|
@@ -5,14 +5,14 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "@ngx-translate/core";
|
|
6
6
|
import * as i2 from "@angular/router";
|
|
7
7
|
import * as i3 from "../../services/partner.service";
|
|
8
|
-
import * as i4 from "@
|
|
9
|
-
import * as i5 from "
|
|
10
|
-
import * as i6 from "
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "../../angular/forms/directives/debounce.directive";
|
|
10
|
+
import * as i6 from "@progress/kendo-angular-grid";
|
|
11
11
|
import * as i7 from "@progress/kendo-angular-inputs";
|
|
12
12
|
import * as i8 from "@angular/forms";
|
|
13
|
-
import * as i9 from "
|
|
14
|
-
import * as i10 from "
|
|
15
|
-
import * as i11 from "
|
|
13
|
+
import * as i9 from "../confirm-dialog/confirm-dialog.component";
|
|
14
|
+
import * as i10 from "../excel-export-button/excel-export-button.component";
|
|
15
|
+
import * as i11 from "../../directives/requirePermission.directive";
|
|
16
16
|
export class UserListAdminComponent extends EntityListComponent {
|
|
17
17
|
constructor(translate, route, router, partnerService) {
|
|
18
18
|
super(translate, route, router);
|
|
@@ -29,10 +29,10 @@ export class UserListAdminComponent extends EntityListComponent {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
UserListAdminComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
33
|
-
UserListAdminComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
32
|
+
UserListAdminComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: UserListAdminComponent, deps: [{ token: i1.TranslateService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.PartnerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
UserListAdminComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: UserListAdminComponent, selector: "lib-user-list-admin", providers: [PartnerService], usesInheritance: 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>\n <button\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]=\"10\"\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", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i5.DebounceDirective, selector: "[appDebounce]", inputs: ["debounceTime"], outputs: ["debounceKeyup"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "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: i6.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: i6.GridSpacerComponent, selector: "kendo-grid-spacer, kendo-pager-spacer", inputs: ["width"] }, { kind: "directive", type: i6.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i6.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i6.FocusableDirective, selector: "[kendoGridFocusable], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridCancelCommand], [kendoGridSelectionCheckbox] ", inputs: ["kendoGridFocusable"] }, { kind: "component", type: i6.CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: i6.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i6.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "directive", type: i6.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { kind: "component", type: i6.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i6.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i6.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i6.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "directive", type: i6.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i6.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"] }, { kind: "directive", type: i7.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "directive", type: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.ConfirmDialogComponent, selector: "confirm-dialog" }, { kind: "component", type: i10.ExcelExportButtonComponent, selector: "excel-export-button" }, { kind: "directive", type: i11.RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: UserListAdminComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
|
-
args: [{ selector: 'lib-user-list-admin', providers: [PartnerService], 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\"\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>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <
|
|
36
|
+
args: [{ selector: 'lib-user-list-admin', providers: [PartnerService], 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>\n <button\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]=\"10\"\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" }]
|
|
37
37
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.PartnerService }]; } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LWFkbWluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC91c2VyLWxpc3QtYWRtaW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBS3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU85RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBQzdELFlBQ0UsU0FBMkIsRUFDM0IsS0FBcUIsRUFDckIsTUFBYyxFQUNOLGNBQThCO1FBRXRDLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRnhCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUd4QyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQTBDO1FBQzFELElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNmLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FDbkMsSUFBSSxDQUFDLGNBQWM7aUJBQ2hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2lCQUNuQixTQUFTLENBQUMsQ0FBQyxPQUFtQixFQUFFLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FDTCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzttSEFyQlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsOENBRnRCLENBQUMsY0FBYyxDQUFDLGlEQ1g3Qiw4K0dBa0dBOzJGRHJGYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UscUJBQXFCLGFBRXBCLENBQUMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmFtZWRNb2RlbCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL05hbWVkTW9kZWwnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyJztcbmltcG9ydCB7IFBhcnRuZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGFydG5lci5zZXJ2aWNlJztcbmltcG9ydCB7IEVudGl0eUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2VudGl0eS1saXN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11c2VyLWxpc3QtYWRtaW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtQYXJ0bmVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJMaXN0QWRtaW5Db21wb25lbnQgZXh0ZW5kcyBFbnRpdHlMaXN0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHBhcnRuZXJTZXJ2aWNlOiBQYXJ0bmVyU2VydmljZVxuICApIHtcbiAgICBzdXBlcih0cmFuc2xhdGUsIHJvdXRlLCByb3V0ZXIpO1xuICB9XG5cbiAgcHVibGljIG9uQWN0aXZhdGUoY2hpbGQ6IHsgc2F2ZWQ6IEV2ZW50RW1pdHRlcjxOYW1lZE1vZGVsPiB9KSB7XG4gICAgaWYgKGNoaWxkLnNhdmVkKSB7XG4gICAgICBjaGlsZC5zYXZlZC5zdWJzY3JpYmUoKGRhdGE6IFVzZXIpID0+XG4gICAgICAgIHRoaXMucGFydG5lclNlcnZpY2VcbiAgICAgICAgICAuZ2V0KGRhdGEucGFydG5lcklkKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHBhcnRuZXI6IE5hbWVkTW9kZWwpID0+IHtcbiAgICAgICAgICAgIGRhdGEucGFydG5lck5hbWUgPSBwYXJ0bmVyLm5hbWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoZGF0YSk7XG4gICAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxuICAgIDxoZWFkZXIgY2xhc3M9XCJoZWFkZXItcGFnZS1iZ1wiPjwvaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJwYW5lbCBzZWFyY2gtcGFuZWwgaGVyby11bml0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXNlbGVjdGlvbi1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgZm9yPVwic2VhcmNoaW5wdXRcIiBjbGFzcz1cInRpdGxlLWZpZWxkXCIgdHJhbnNsYXRlPVwiU2VhcmNoXCI+PC9sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAga2VuZG9UZXh0Qm94XG4gICAgICAgICAgY2xhc3M9XCJxdWljay1maWx0ZXIgaW5wdXQgaW5wdXQtZmllbGRcIlxuICAgICAgICAgIHRpdGxlPVwiXCJcbiAgICAgICAgICBpZD1cInNlYXJjaGlucHV0XCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgYXBwRGVib3VuY2VcbiAgICAgICAgICAoZGVib3VuY2VLZXl1cCk9XCJvblNlYXJjaCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoVGVybVwiXG4gICAgICAgICAgW2RlYm91bmNlVGltZV09XCI2MDBcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlLWxpbmVcIj48L2Rpdj5cblxuICAgICAgPGtlbmRvLWdyaWRcbiAgICAgICAgW2RhdGFdPVwicGFnZSB8IGFzeW5jXCJcbiAgICAgICAgW3BhZ2VTaXplXT1cImdyaWRTdGF0ZS50YWtlXCJcbiAgICAgICAgW3NraXBdPVwiZ3JpZFN0YXRlLnNraXBcIlxuICAgICAgICBbc29ydF09XCJncmlkU3RhdGUuc29ydFwiXG4gICAgICAgIFtwYWdlYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW3NvcnRhYmxlXT1cInRydWVcIlxuICAgICAgICBbc3R5bGUubWF4SGVpZ2h0LnB4XT1cIjQ4MFwiXG4gICAgICAgIChyZW1vdmUpPVwicmVtb3ZlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgKGRhdGFTdGF0ZUNoYW5nZSk9XCJkYXRhU3RhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdzID4gMFwiXG4gICAgICAgIChjZWxsQ2xpY2spPVwic2VsZWN0SXRlbSgkZXZlbnQpXCJcbiAgICAgICAgY3VsdHVyZVxuICAgICAgICBjbGFzcz1cInJvd3MtcG9pbnRhYmxlXCJcbiAgICAgICAga2VuZG9HcmlkU2VsZWN0Qnk9XCJpZFwiXG4gICAgICAgIFtzZWxlY3RlZEtleXNdPVwic2VsZWN0ZWRcIlxuICAgICAgICBbcm93Q2xhc3NdPVwiZ2V0Um93Q2xhc3NcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkVG9vbGJhclRlbXBsYXRlPlxuICAgICAgICAgIDxleGNlbC1leHBvcnQtYnV0dG9uPjwvZXhjZWwtZXhwb3J0LWJ1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGtlbmRvLWdyaWQtZXhjZWwgW2ZldGNoRGF0YV09XCJnZXRBbGxEYXRhXCI+PC9rZW5kby1ncmlkLWV4Y2VsPlxuICAgICAgICA8a2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbiB3aWR0aD1cIjY1XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAga2VuZG9HcmlkUmVtb3ZlQ29tbWFuZFxuICAgICAgICAgICAgICByZXF1aXJlUGVybWlzc2lvblxuICAgICAgICAgICAgICBwZXJtaXNzaW9uVHlwZT1cIkRlbGV0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxlbSBjbGFzcz1cImstaWNvbiBnbHlwaGljb24gZ2x5cGhpY29uLXRyYXNoXCI+PC9lbT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbj5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29sdW1uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGdyaWRGaWVsZHNcIlxuICAgICAgICAgIGZpZWxkPVwie3sgZmllbGQubmFtZSB9fVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgW3NvcnRhYmxlXT1cImZpZWxkLnNvcnRhYmxlICE9PSBmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiICpuZ0lmPVwiY29tbWFuZHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29tbWFuZCBvZiBjb21tYW5kc1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb21tYW5kLmhhbmRsZXIoZGF0YUl0ZW0pXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBjb21tYW5kLnRpdGxlIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJrLWJ1dHRvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxlbVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29tbWFuZC5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwie3sgY29tbWFuZC5pY29uQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICA+PC9lbT5cbiAgICAgICAgICAgICAge3sgY29tbWFuZC5uYW1lIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2tlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWROb1JlY29yZHNUZW1wbGF0ZT5cbiAgICAgICAgICB7eyAnTWVzc2FnZXMuTm9SZWNvcmRzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9QYWdlclRlbXBsYXRlPlxuICAgICAgICAgIDxrZW5kby1ncmlkLXNwYWNlcj48L2tlbmRvLWdyaWQtc3BhY2VyPlxuICAgICAgICAgIDxrZW5kby1wYWdlci1wcmV2LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1wcmV2LWJ1dHRvbnM+XG4gICAgICAgICAgPGtlbmRvLXBhZ2VyLW51bWVyaWMtYnV0dG9uc1xuICAgICAgICAgICAgW2J1dHRvbkNvdW50XT1cIjEwXCJcbiAgICAgICAgICA+PC9rZW5kby1wYWdlci1udW1lcmljLWJ1dHRvbnM+XG4gICAgICAgICAgPGtlbmRvLXBhZ2VyLW5leHQtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLW5leHQtYnV0dG9ucz5cbiAgICAgICAgICA8a2VuZG8tcGFnZXItaW5mbz48L2tlbmRvLXBhZ2VyLWluZm8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLWdyaWQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8cm91dGVyLW91dGxldFxuICAgIChhY3RpdmF0ZSk9XCJvbkFjdGl2YXRlKCRldmVudClcIlxuICAgIChkZWFjdGl2YXRlKT1cIm9uRGVhY3RpdmF0ZSgkZXZlbnQpXCJcbiAgPjwvcm91dGVyLW91dGxldD5cbjwvZGl2PlxuPGNvbmZpcm0tZGlhbG9nICNjb25maXJtRGlhbG9nPjwvY29uZmlybS1kaWFsb2c+XG4iXX0=
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@
|
|
4
|
-
import * as i2 from "@angular
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@progress/kendo-angular-grid";
|
|
5
5
|
import * as i3 from "@ngx-translate/core";
|
|
6
6
|
export class ExcelExportButtonComponent {
|
|
7
7
|
}
|
|
8
|
-
ExcelExportButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
ExcelExportButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8
|
+
ExcelExportButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ExcelExportButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
ExcelExportButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: ExcelExportButtonComponent, selector: "excel-export-button", ngImport: i0, template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.ExcelCommandDirective, selector: "[kendoGridExcelCommand]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ExcelExportButtonComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
|
-
args: [{ selector: 'excel-export-button', template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n"
|
|
12
|
+
args: [{ selector: 'excel-export-button', template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n" }]
|
|
13
13
|
}] });
|
|
14
14
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZXhwb3J0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZXhjZWwtZXhwb3J0LWJ1dHRvbi9leGNlbC1leHBvcnQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9leGNlbC1leHBvcnQtYnV0dG9uL2V4Y2VsLWV4cG9ydC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPMUMsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDJEQ1B2QyxvSkFJQTsyRkRHYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V4Y2VsLWV4cG9ydC1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtZXhwb3J0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4Y2VsLWV4cG9ydC1idXR0b24uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFeGNlbEV4cG9ydEJ1dHRvbkNvbXBvbmVudCB7fVxuIiwiPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIga2VuZG9HcmlkRXhjZWxDb21tYW5kPlxuICA8ZW0gbmdDbGFzcz1cImZhIGZhLWZpbGUtZXhjZWwtb1wiPjwvZW0+XG4gIHt7ICdCdXR0b25zLkV4Y2VsRXhwb3J0JyB8IHRyYW5zbGF0ZSB9fVxuPC9idXR0b24+XG4iXX0=
|
|
@@ -2,10 +2,10 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class FooterBarComponent {
|
|
4
4
|
}
|
|
5
|
-
FooterBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6
|
-
FooterBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5
|
+
FooterBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FooterBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
+
FooterBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: FooterBarComponent, selector: "footer-bar", ngImport: i0, template: "<nav class=\"footer navbar navbar-default navbar-fixed-bottom\">\n <div class=\"container\">\n <a class=\"navbar-brand pull-right\" href=\"http://www.indigina.com/\">\n <ng-content></ng-content>\n </a>\n </div>\n</nav>\n", styles: [""] });
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FooterBarComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
|
-
args: [{ selector: 'footer-bar', template: "<nav class=\"footer navbar navbar-default navbar-fixed-bottom\">\n <div class=\"container\">\n <a class=\"navbar-brand pull-right\" href=\"http://www.indigina.com/\">\n <ng-content></ng-content>\n </a>\n </div>\n</nav>\n"
|
|
9
|
+
args: [{ selector: 'footer-bar', template: "<nav class=\"footer navbar navbar-default navbar-fixed-bottom\">\n <div class=\"container\">\n <a class=\"navbar-brand pull-right\" href=\"http://www.indigina.com/\">\n <ng-content></ng-content>\n </a>\n </div>\n</nav>\n" }]
|
|
10
10
|
}] });
|
|
11
11
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZm9vdGVyLWJhci9mb290ZXItYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9mb290ZXItYmFyL2Zvb3Rlci1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjttR0FBbEIsa0JBQWtCLGtEQ1AvQiwyT0FPQTsyRkRBYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb290ZXItYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvb3Rlci1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb290ZXItYmFyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyQmFyQ29tcG9uZW50IHt9XG4iLCI8bmF2IGNsYXNzPVwiZm9vdGVyIG5hdmJhciBuYXZiYXItZGVmYXVsdCBuYXZiYXItZml4ZWQtYm90dG9tXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICA8YSBjbGFzcz1cIm5hdmJhci1icmFuZCBwdWxsLXJpZ2h0XCIgaHJlZj1cImh0dHA6Ly93d3cuaW5kaWdpbmEuY29tL1wiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvYT5cbiAgPC9kaXY+XG48L25hdj5cbiJdfQ==
|