@indigina/kendo 1.2.67 → 1.2.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/angular/forms/directives/debounce/debounce.directive.mjs +3 -3
- package/esm2022/lib/angular/forms/directives/debounce/debounce.module.mjs +4 -4
- package/esm2022/lib/angular/forms/widgets/field/field-input/field-input.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/field/field-input/field-input.module.mjs +4 -4
- package/esm2022/lib/angular/forms/widgets/field/field-input/number-input.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/field/field.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/file/file-select/field-file-select.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/file/file-select/field-file-select.module.mjs +4 -4
- package/esm2022/lib/angular/forms/widgets/file/file-upload/field-file-upload.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/file/file-upload/field-file-upload.module.mjs +4 -4
- package/esm2022/lib/angular/forms/widgets/general-errors/general-errors.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/general-errors/general-errors.module.mjs +4 -4
- package/esm2022/lib/angular/forms/widgets/textarea/field-textarea.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/textarea/field-textarea.module.mjs +4 -4
- package/esm2022/lib/angular/indigina.module.mjs +4 -4
- package/esm2022/lib/angular/models/AppSettings.mjs +3 -3
- package/esm2022/lib/angular/models/IndiginaConfiguration.mjs +3 -3
- package/esm2022/lib/angular/services/http.service.mjs +3 -3
- package/esm2022/lib/angular/services/locale-settings.service.mjs +3 -3
- package/esm2022/lib/angular/services/settings.service.mjs +3 -3
- package/esm2022/lib/angular/services/toastr.service.mjs +3 -3
- package/esm2022/lib/angular/widgets/live-updates-control/live-updates-control.component.mjs +3 -3
- package/esm2022/lib/angular/widgets/live-updates-control/live-updates-control.module.mjs +4 -4
- package/esm2022/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.mjs +3 -3
- package/esm2022/lib/angular/widgets/side-menu/side-menu.component.mjs +3 -3
- package/esm2022/lib/angular/widgets/tree-view/indigina-tree-view.module.mjs +4 -4
- package/esm2022/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.mjs +3 -3
- package/esm2022/lib/angular/widgets/tree-view/tree-view.component.mjs +3 -3
- package/esm2022/lib/components/account-menu/account-menu.component.mjs +3 -3
- package/esm2022/lib/components/account-menu/account-menu.module.mjs +4 -4
- package/esm2022/lib/components/azure-login-callback/azure-login-callback.component.mjs +3 -3
- package/esm2022/lib/components/forbidden/forbidden.component.mjs +3 -3
- package/esm2022/lib/components/language-selector/language-selector.component.mjs +3 -3
- package/esm2022/lib/components/language-selector/language-selector.module.mjs +4 -4
- package/esm2022/lib/directives/requirePermission/requirePermission.directive.mjs +3 -3
- package/esm2022/lib/directives/requirePermission/requirePermission.module.mjs +4 -4
- package/esm2022/lib/interceptors/auth-headers.interceptor.mjs +3 -3
- package/esm2022/lib/kendo.module.mjs +4 -4
- package/esm2022/lib/services/account.service.mjs +3 -3
- package/esm2022/lib/services/activity.filter.service.mjs +3 -3
- package/esm2022/lib/services/auth-provider.resolver.mjs +3 -3
- package/esm2022/lib/services/partner.service.mjs +3 -3
- package/esm2022/lib/services/permissions.service.mjs +3 -3
- package/esm2022/lib/services/signalr/signalr.service.mjs +3 -3
- package/esm2022/lib/widgets/activity-filter/activity-filter.component.mjs +3 -3
- package/esm2022/lib/widgets/activity-filter/activity-filter.module.mjs +4 -4
- package/esm2022/lib/widgets/confirm-dialog/confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/widgets/confirm-dialog/confirm-dialog.module.mjs +4 -4
- package/esm2022/lib/widgets/current-timezone/current-timezone.component.mjs +3 -3
- package/esm2022/lib/widgets/current-timezone/current-timezone.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-edit/buttons-bar/buttons-bar.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-edit/create-new/create-new.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-edit/create-new/create-new.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.component.mjs +27 -29
- package/esm2022/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.component.mjs +5 -5
- package/esm2022/lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-edit/entity-edit-form.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-edit/entity-edit-form.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-edit/field-multiselect/field-multiselect.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-list/entity-list.component.mjs +8 -5
- package/esm2022/lib/widgets/entity-list/entity-list.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-list/user-list-admin.component.mjs +5 -5
- package/esm2022/lib/widgets/excel-export-button/excel-export-button.component.mjs +3 -3
- package/esm2022/lib/widgets/excel-export-button/excel-export-button.module.mjs +4 -4
- package/esm2022/lib/widgets/footer-bar/footer-bar.component.mjs +3 -3
- package/esm2022/lib/widgets/footer-bar/footer-bar.module.mjs +4 -4
- package/esm2022/lib/widgets/modal-window/modal-window.component.mjs +3 -3
- package/esm2022/lib/widgets/modal-window/modal-window.module.mjs +4 -4
- package/esm2022/lib/widgets/multicheck-filter/multicheck-filter.component.mjs +3 -3
- package/esm2022/lib/widgets/multicheck-filter/multicheck-filter.module.mjs +4 -4
- package/esm2022/lib/widgets/top-bar/top-bar.component.mjs +3 -3
- package/esm2022/lib/widgets/top-bar/top-bar.module.mjs +4 -4
- package/fesm2022/indigina-kendo.mjs +289 -288
- package/fesm2022/indigina-kendo.mjs.map +1 -1
- package/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.component.d.ts +3 -3
- package/lib/widgets/entity-list/entity-list.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -7,21 +7,21 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class EntityEditFormModule {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: EntityEditFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: EntityEditFormModule, declarations: [EntityEditFormComponent], imports: [CommonModule,
|
|
12
12
|
TranslateModule,
|
|
13
13
|
GeneralErrorsModule,
|
|
14
14
|
EntityEditButtonsBarModule,
|
|
15
15
|
FormsModule,
|
|
16
16
|
ReactiveFormsModule], exports: [EntityEditFormComponent] }); }
|
|
17
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
17
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: EntityEditFormModule, imports: [CommonModule,
|
|
18
18
|
TranslateModule,
|
|
19
19
|
GeneralErrorsModule,
|
|
20
20
|
EntityEditButtonsBarModule,
|
|
21
21
|
FormsModule,
|
|
22
22
|
ReactiveFormsModule] }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: EntityEditFormModule, decorators: [{
|
|
25
25
|
type: NgModule,
|
|
26
26
|
args: [{
|
|
27
27
|
declarations: [EntityEditFormComponent],
|
|
@@ -39,15 +39,15 @@ export class FieldMultiSelectComponent extends FieldComponent {
|
|
|
39
39
|
getData() {
|
|
40
40
|
return this.service.getPage(this.filter ? { filter: this.filter } : {});
|
|
41
41
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FieldMultiSelectComponent, deps: [{ token: i1.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: FieldMultiSelectComponent, selector: "field-multiselect", inputs: { service: "service", rebind: "rebind", filter: "filter", textField: "textField", valueField: "valueField", singleMode: "singleMode", autoClose: "autoClose" }, outputs: { changed: "changed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label class=\"col-md-3 control-label\"\n [translate]=\"labelKey\"\n [for]=\"'_' + fieldName\"\n ></label>\n <div *ngIf=\"control\" class=\"col-md-9\">\n <kendo-multiselect\n [id]=\"'_' + fieldName\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"autoClose\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n (open)=\"onPopupOpen($event)\"\n (valueChange)=\"onValueChange($event)\"\n ></kendo-multiselect>\n\n <div *ngIf=\"control.invalid && control.touched\" class=\"bg-danger\">\n <span *ngIf=\"control.errors['required']\">\n {{ \"Required\" | translate : { param0: labelKey | translate } }}\n </span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">\n {{ control.errors['serverErrorMsg'] }}\n </span>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "title", "subtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], viewProviders: [
|
|
44
44
|
{
|
|
45
45
|
provide: ControlContainer,
|
|
46
46
|
useExisting: FormGroupDirective,
|
|
47
47
|
},
|
|
48
48
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FieldMultiSelectComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
52
|
args: [{ selector: 'field-multiselect', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [
|
|
53
53
|
{
|
|
@@ -6,17 +6,17 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class FieldMultiselectModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FieldMultiselectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: FieldMultiselectModule, declarations: [FieldMultiSelectComponent], imports: [ReactiveFormsModule,
|
|
11
11
|
MultiSelectModule,
|
|
12
12
|
TranslateModule,
|
|
13
13
|
CommonModule], exports: [FieldMultiSelectComponent] }); }
|
|
14
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FieldMultiselectModule, imports: [ReactiveFormsModule,
|
|
15
15
|
MultiSelectModule,
|
|
16
16
|
TranslateModule,
|
|
17
17
|
CommonModule] }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FieldMultiselectModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
22
|
declarations: [
|
|
@@ -56,6 +56,9 @@ export class EntityListComponent {
|
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
|
+
generateDateBasedExcelFileName() {
|
|
60
|
+
return `Export-${new Date().toLocaleString()}.xlsx`;
|
|
61
|
+
}
|
|
59
62
|
removeHandler({ dataItem }) {
|
|
60
63
|
this.dialog.open(this.translate.instant('Confirmation.Delete') +
|
|
61
64
|
': "' +
|
|
@@ -195,12 +198,12 @@ export class EntityListComponent {
|
|
|
195
198
|
this.onFilterChange();
|
|
196
199
|
this.getData();
|
|
197
200
|
}
|
|
198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
199
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
201
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: EntityListComponent, deps: [{ token: i1.TranslateService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
202
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: EntityListComponent, selector: "entity-list", inputs: { service: "service", filters: "filters", fields: "fields", commands: "commands", rowClass: "rowClass", defaultSort: "defaultSort", mapItemFn: "mapItemFn", pageButtonsCount: "pageButtonsCount" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["confirmDialog"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\">{{\n \"Search\" | translate\n }}</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\n [fileName]=\"generateDateBasedExcelFileName()\"\n [fetchData]=\"getAllData\"\n ></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngIf=\"!dataItem.suppressDeletion\"\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ \"Messages.NoRecords\" | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <div class=\"pager\">\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"pageButtonsCount\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </div>\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: [".pager{display:flex;justify-content:center;align-items:center;width:100%}\n"], 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: i4.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "component", type: i5.ConfirmDialogComponent, selector: "confirm-dialog" }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { 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.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: 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: "directive", type: i6.GridToolbarFocusableDirective, selector: " [kendoGridToolbarFocusable], [kendoGridAddCommand], [kendoGridCancelCommand], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridExcelCommand], [kendoGridPDFCommand] " }, { 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: "component", type: i6.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { kind: "component", type: i6.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"] }, { 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: "directive", type: i8.DebounceDirective, selector: "[appDebounce]", inputs: ["debounceTime"], outputs: ["debounceKeyup"] }, { kind: "component", type: i9.ExcelExportButtonComponent, selector: "excel-export-button" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
200
203
|
}
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: EntityListComponent, decorators: [{
|
|
202
205
|
type: Component,
|
|
203
|
-
args: [{ selector: 'entity-list', template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\"
|
|
206
|
+
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\">{{\n \"Search\" | translate\n }}</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\n [fileName]=\"generateDateBasedExcelFileName()\"\n [fetchData]=\"getAllData\"\n ></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngIf=\"!dataItem.suppressDeletion\"\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ \"Messages.NoRecords\" | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <div class=\"pager\">\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"pageButtonsCount\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </div>\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: [".pager{display:flex;justify-content:center;align-items:center;width:100%}\n"] }]
|
|
204
207
|
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.ActivatedRoute }, { type: i2.Router }], propDecorators: { service: [{
|
|
205
208
|
type: Input
|
|
206
209
|
}], filters: [{
|
|
@@ -223,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
223
226
|
type: ViewChild,
|
|
224
227
|
args: ['confirmDialog', { static: true }]
|
|
225
228
|
}] } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9lbnRpdHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQWF2QixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztBQUUvRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUM7QUFPekIsTUFBTSxPQUFPLG1CQUFtQjtJQWlDOUIsWUFDVSxTQUEyQixFQUMzQixLQUFxQixFQUNyQixNQUFjO1FBRmQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXRCakIsY0FBUyxHQUFrRCxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3pFLElBQUksQ0FBQztRQUNFLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUUvQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBRzdELGNBQVMsR0FBVSxFQUFFLENBQUM7UUFDdEIsU0FBSSxHQUFzQyxJQUFJLGVBQWUsQ0FFbEUsSUFBSSxDQUFDLENBQUM7UUFDRCxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIs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LE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7OEdBcFBVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHNiQ3pDaEMsZ29IQXFHQTs7MkZENURhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhO3VJQU1oQixPQUFPO3NCQURiLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLE1BQU07c0JBRFosS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFQyxZQUFZO3NCQURsQixNQUFNO2dCQUdBLE1BQU07c0JBRFosU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhYmxlIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9tb2RlbHMvcmVtb3ZhYmxlLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGF0YVN0YXRlQ2hhbmdlRXZlbnQsXG4gIFJvd0NsYXNzQXJncyxcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XG5pbXBvcnQge1xuICBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yLFxuICBGaWx0ZXJEZXNjcmlwdG9yLFxuICBTb3J0RGVzY3JpcHRvcixcbiAgU3RhdGUsXG59IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSWRlbnRpZmllZE1vZGVsIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9tb2RlbHMvSWRlbnRpZmllZE1vZGVsJztcbmltcG9ydCB7IE5hbWVkTW9kZWwgfSBmcm9tICcuLi8uLi9hbmd1bGFyL21vZGVscy9OYW1lZE1vZGVsJztcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvUGFnZSc7XG5pbXBvcnQgeyBJRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL0lFbnRpdHlTZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4vQ29tbWFuZCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vRmllbGQnO1xuaW1wb3J0IHsgdXJsRGVzZXJpYWxpemUsIHVybFNlcmlhbGl6ZSB9IGZyb20gJy4vVXJsU2VyaWFsaXplcic7XG5cbmNvbnN0IG5hbWVGaWVsZCA9ICduYW1lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW50aXR5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbnRpdHktbGlzdC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXJ2aWNlOiBJRW50aXR5U2VydmljZTxOYW1lZE1vZGVsPjtcbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlcnM6IChGaWx0ZXJEZXNjcmlwdG9yIHwgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcilbXTtcbiAgQElucHV0KClcbiAgcHVibGljIGZpZWxkcz86IEZpZWxkW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb21tYW5kcz86IENvbW1hbmRbXTtcbiAgQElucHV0KClcbiAgcHVibGljIHJvd0NsYXNzPzogKGRhdGFJdGVtOiBOYW1lZE1vZGVsLCBpbmRleDogbnVtYmVyKSA9PiB7fTtcbiAgQElucHV0KClcbiAgcHVibGljIGRlZmF1bHRTb3J0PzogU29ydERlc2NyaXB0b3JbXTtcbiAgQElucHV0KClcbiAgcHVibGljIG1hcEl0ZW1Gbj86IChpdGVtOiBOYW1lZE1vZGVsKSA9PiBOYW1lZE1vZGVsICYgUmVtb3ZhYmxlID0gKGl0ZW0pID0+XG4gICAgaXRlbTtcbiAgQElucHV0KCkgcGFnZUJ1dHRvbnNDb3VudDogbnVtYmVyID0gNTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3I+KCk7XG4gIEBWaWV3Q2hpbGQoJ2NvbmZpcm1EaWFsb2cnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZGlhbG9nOiBDb25maXJtRGlhbG9nQ29tcG9uZW50O1xuICBwdWJsaWMgZ3JpZFN0YXRlOiBTdGF0ZSA9IHt9O1xuICBwdWJsaWMgcGFnZTogQmVoYXZpb3JTdWJqZWN0PFBhZ2U8TmFtZWRNb2RlbD4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICBQYWdlPE5hbWVkTW9kZWw+XG4gID4obnVsbCk7XG4gIHB1YmxpYyBsb2FkaW5ncyA9IDA7XG4gIHB1YmxpYyBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZDogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGdyaWRGaWVsZHM6IEZpZWxkW10gPSBbXTtcbiAgcHJpdmF0ZSBkZWZhdWx0RmllbGRzOiBGaWVsZFtdID0gW1xuICAgIHsgbmFtZTogJ25hbWUnLCBsYWJlbDogJ05hbWUnLCBzb3J0YWJsZTogdHJ1ZSwgcG9zaXRpb246IDAgfSxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICApIHtcbiAgICB0aGlzLmdldEFsbERhdGEgPSB0aGlzLmdldEFsbERhdGEuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdldFJvd0NsYXNzID0gdGhpcy5nZXRSb3dDbGFzcy5iaW5kKHRoaXMpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICghY2hhbmdlcy5maWx0ZXJzIHx8IGNoYW5nZXMuZmlsdGVycy5maXJzdENoYW5nZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ2V0RmlsdGVyZWREYXRhKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdyaWRGaWVsZHMgPSAodGhpcy5maWVsZHMgfHwgW10pXG4gICAgICAuY29uY2F0KHRoaXMuZGVmYXVsdEZpZWxkcylcbiAgICAgIC5zb3J0KChsZWZ0LCByaWdodCkgPT4gKGxlZnQucG9zaXRpb24gfHwgMCkgLSAocmlnaHQucG9zaXRpb24gfHwgMCkpO1xuICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVycyA/IHRoaXMuZmlsdGVycyA6IFtdO1xuICAgIHRoaXMuY29tbWFuZHMgPSB0aGlzLmNvbW1hbmRzID8gdGhpcy5jb21tYW5kcyA6IFtdO1xuICAgIHRoaXMucm91dGUuZnJhZ21lbnQuc3Vic2NyaWJlKGFzeW5jIChmcmFnbWVudDogc3RyaW5nKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLnJlc3RvcmVHcmlkU3RhdGUobmV3IFVSTFNlYXJjaFBhcmFtcyhmcmFnbWVudCkpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZS5maXJzdENoaWxkLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1zKSA9PiB7XG4gICAgICBpZiAocGFyYW1zLmlkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRbMF0gPSBwYXJhbXMuaWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkLnBvcCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUhhbmRsZXIoeyBkYXRhSXRlbSB9KSB7XG4gICAgdGhpcy5kaWFsb2cub3BlbihcbiAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0NvbmZpcm1hdGlvbi5EZWxldGUnKSArXG4gICAgICAgICc6IFwiJyArXG4gICAgICAgIGRhdGFJdGVtLm5hbWUgK1xuICAgICAgICAnXCI/JyxcbiAgICAgICgpID0+IHRoaXMucmVtb3ZlKGRhdGFJdGVtKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEl0ZW0oeyBkYXRhSXRlbSB9KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2RhdGFJdGVtLmlkXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIGZyYWdtZW50OiB1cmxTZXJpYWxpemUodGhpcy5ncmlkU3RhdGUpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uQWN0aXZhdGUoY2hpbGQ6IHsgc2F2ZWQ6IEV2ZW50RW1pdHRlcjxOYW1lZE1vZGVsPiB9KSB7XG4gICAgaWYgKGNoaWxkLnNhdmVkKSB7XG4gICAgICBjaGlsZC5zYXZlZC5zdWJzY3JpYmUoKGRhdGE6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0pID0+XG4gICAgICAgIHRoaXMudXBkYXRlR3JpZChkYXRhKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRGVhY3RpdmF0ZShjaGlsZDogeyBzYXZlZDogRXZlbnRFbWl0dGVyPE5hbWVkTW9kZWw+IH0pIHtcbiAgICBpZiAoY2hpbGQuc2F2ZWQpIHtcbiAgICAgIGNoaWxkLnNhdmVkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRhdGFTdGF0ZUNoYW5nZShzdGF0ZTogRGF0YVN0YXRlQ2hhbmdlRXZlbnQpIHtcbiAgICB0aGlzLmdyaWRTdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuZ3JpZFN0YXRlLmZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyKCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBmcmFnbWVudDogdXJsU2VyaWFsaXplKHRoaXMuZ3JpZFN0YXRlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hUZXJtID0gdmFsdWU7XG4gICAgdGhpcy5ncmlkU3RhdGUuc2tpcCA9IDA7XG4gICAgdGhpcy5nZXRGaWx0ZXJlZERhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxEYXRhKCk6IE9ic2VydmFibGU8UGFnZTxOYW1lZE1vZGVsICYgUmVtb3ZhYmxlPj4ge1xuICAgIGNvbnN0IHN0YXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5ncmlkU3RhdGUpO1xuICAgIGRlbGV0ZSBzdGF0ZS5za2lwO1xuICAgIGRlbGV0ZSBzdGF0ZS50YWtlO1xuXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRQYWdlKHN0YXRlKS5waXBlKFxuICAgICAgbWFwKChwYWdlUmVzdWx0KSA9PiB7XG4gICAgICAgIHBhZ2VSZXN1bHQuZGF0YSA9IHBhZ2VSZXN1bHQuZGF0YS5tYXAodGhpcy5tYXBJdGVtRm4pO1xuXG4gICAgICAgIHJldHVybiBwYWdlUmVzdWx0O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSb3dDbGFzcyhjb250ZXh0OiBSb3dDbGFzc0FyZ3MpOiBPYmplY3Qge1xuICAgIHJldHVybiB0aGlzLnJvd0NsYXNzICYmIGNvbnRleHRcbiAgICAgID8gdGhpcy5yb3dDbGFzcyhjb250ZXh0LmRhdGFJdGVtLCBjb250ZXh0LmluZGV4KVxuICAgICAgOiB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWx0ZXJlZERhdGEoKSB7XG4gICAgdGhpcy5ncmlkU3RhdGUuZmlsdGVyID0gdGhpcy5nZXRGaWx0ZXIoKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIGZyYWdtZW50OiB1cmxTZXJpYWxpemUodGhpcy5ncmlkU3RhdGUpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUdyaWQoZGF0YTogTmFtZWRNb2RlbCkge1xuICAgIGNvbnN0IG5ld0l0ZW0gPSB0aGlzLm1hcEl0ZW1GbihkYXRhKTtcbiAgICBjb25zdCBjdXJyZW50UGFnZSA9IHsgLi4udGhpcy5wYWdlLnZhbHVlIH07XG4gICAgY29uc3QgZXhpc3RzID0gY3VycmVudFBhZ2UuZGF0YS5maWx0ZXIoKHgpID0+IHguaWQgPT09IGRhdGEuaWQpO1xuICAgIGlmIChleGlzdHMubGVuZ3RoKSB7XG4gICAgICBjdXJyZW50UGFnZS5kYXRhW2N1cnJlbnRQYWdlLmRhdGEuaW5kZXhPZihleGlzdHNbMF0pXSA9IG5ld0l0ZW07XG4gICAgICB0aGlzLnBhZ2UubmV4dChjdXJyZW50UGFnZSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjdXJyZW50UGFnZS50b3RhbCsrO1xuICAgIGN1cnJlbnRQYWdlLmRhdGEuc3BsaWNlKDAsIDAsIGRhdGEpO1xuICAgIGlmIChjdXJyZW50UGFnZS5kYXRhLmxlbmd0aCA+IHRoaXMuZ3JpZFN0YXRlLnRha2UpIHtcbiAgICAgIGN1cnJlbnRQYWdlLmRhdGEuc3BsaWNlKHRoaXMucGFnZS52YWx1ZS5kYXRhLmxlbmd0aCAtIDEsIDEpO1xuICAgIH1cblxuICAgIHRoaXMucGFnZS5uZXh0KGN1cnJlbnRQYWdlKTtcbiAgICB0aGlzLnNlbGVjdGVkWzBdID0gZGF0YS5pZDtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZGF0YS5pZF0sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBwcmVzZXJ2ZUZyYWdtZW50OiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERhdGEoKSB7XG4gICAgdGhpcy5sb2FkaW5ncysrO1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgIC5nZXRQYWdlKHRoaXMuZ3JpZFN0YXRlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocGFnZVJlc3VsdCkgPT4ge1xuICAgICAgICAgIHBhZ2VSZXN1bHQuZGF0YSA9IHBhZ2VSZXN1bHQuZGF0YS5tYXAodGhpcy5tYXBJdGVtRm4pO1xuXG4gICAgICAgICAgcmV0dXJuIHBhZ2VSZXN1bHQ7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocGFnZSkgPT4ge1xuICAgICAgICB0aGlzLnBhZ2UubmV4dChwYWdlKTtcbiAgICAgICAgdGhpcy5sb2FkaW5ncy0tO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZShlbnRpdHk6IElkZW50aWZpZWRNb2RlbCkge1xuICAgIHRoaXMubG9hZGluZ3MrKztcbiAgICB0aGlzLnNlcnZpY2VcbiAgICAgIC5kZWxldGUoZW50aXR5LmlkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5sZW5ndGggJiZcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRbdGhpcy5zZWxlY3RlZC5sZW5ndGggLSAxXSA9PT0gZW50aXR5LmlkXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uLyddLCB7XG4gICAgICAgICAgICAgIHByZXNlcnZlRnJhZ21lbnQ6IHRydWUsXG4gICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUuZmlyc3RDaGlsZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmxvYWRpbmdzLS07XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcigpOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIHtcbiAgICBjb25zdCBmaWx0ZXI6IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IgPSB7XG4gICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICBmaWx0ZXJzOiB0aGlzLnNlYXJjaFRlcm1cbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7IGZpZWxkOiBuYW1lRmllbGQsIG9wZXJhdG9yOiAnY29udGFpbnMnLCB2YWx1ZTogdGhpcy5zZWFyY2hUZXJtIH0sXG4gICAgICAgICAgICAuLi50aGlzLmZpbHRlcnMsXG4gICAgICAgICAgXVxuICAgICAgICA6IHRoaXMuZmlsdGVycyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpbHRlcjtcbiAgfVxuXG4gIHByaXZhdGUgb25GaWx0ZXJDaGFuZ2UoKSB7XG4gICAgY29uc3QgZmlsdGVyOiBhbnkgPSB0aGlzLmdyaWRTdGF0ZS5maWx0ZXI/LmZpbHRlcnMuZmluZChcbiAgICAgICh4OiBGaWx0ZXJEZXNjcmlwdG9yKSA9PiB4LmZpZWxkID09PSBuYW1lRmllbGQsXG4gICAgKTtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSBmaWx0ZXI/LnZhbHVlO1xuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5ncmlkU3RhdGUuZmlsdGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVzdG9yZUdyaWRTdGF0ZShwYXJhbXM6IFVSTFNlYXJjaFBhcmFtcykge1xuICAgIGNvbnN0IGRlZmF1bHRHcmlkU3RhdGU6IFN0YXRlID0ge1xuICAgICAgc29ydDogdGhpcy5kZWZhdWx0U29ydCB8fCBbeyBmaWVsZDogbmFtZUZpZWxkLCBkaXI6ICdhc2MnIH1dLFxuICAgICAgc2tpcDogMCxcbiAgICAgIHRha2U6IDEwLFxuICAgICAgZmlsdGVyOiB0aGlzLmdldEZpbHRlcigpLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0ZSA9IHVybERlc2VyaWFsaXplKHBhcmFtcyk7XG4gICAgdGhpcy5ncmlkU3RhdGUgPSBzdGF0ZS5oYXNPd25Qcm9wZXJ0eSgndGFrZScpID8gc3RhdGUgOiBkZWZhdWx0R3JpZFN0YXRlO1xuICAgIHRoaXMuZ3JpZFN0YXRlLnNraXAgPSArdGhpcy5ncmlkU3RhdGUuc2tpcDtcbiAgICB0aGlzLmdyaWRTdGF0ZS50YWtlID0gK3RoaXMuZ3JpZFN0YXRlLnRha2U7XG4gICAgdGhpcy5vbkZpbHRlckNoYW5nZSgpO1xuICAgIHRoaXMuZ2V0RGF0YSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxuICAgIDxoZWFkZXIgY2xhc3M9XCJoZWFkZXItcGFnZS1iZ1wiPjwvaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJwYW5lbCBzZWFyY2gtcGFuZWwgaGVyby11bml0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXNlbGVjdGlvbi1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgZm9yPVwic2VhcmNoaW5wdXRcIiBjbGFzcz1cInRpdGxlLWZpZWxkXCIgdHJhbnNsYXRlPVwiU2VhcmNoXCI+PC9sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAga2VuZG9UZXh0Qm94XG4gICAgICAgICAgY2xhc3M9XCJxdWljay1maWx0ZXIgaW5wdXQgaW5wdXQtZmllbGRcIlxuICAgICAgICAgIHRpdGxlPVwiXCJcbiAgICAgICAgICBpZD1cInNlYXJjaGlucHV0XCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgYXBwRGVib3VuY2VcbiAgICAgICAgICAoZGVib3VuY2VLZXl1cCk9XCJvblNlYXJjaCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoVGVybVwiXG4gICAgICAgICAgW2RlYm91bmNlVGltZV09XCI2MDBcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlLWxpbmVcIj48L2Rpdj5cblxuICAgICAgPGtlbmRvLWdyaWRcbiAgICAgICAgW2RhdGFdPVwicGFnZSB8IGFzeW5jXCJcbiAgICAgICAgW3BhZ2VTaXplXT1cImdyaWRTdGF0ZS50YWtlXCJcbiAgICAgICAgW3NraXBdPVwiZ3JpZFN0YXRlLnNraXBcIlxuICAgICAgICBbc29ydF09XCJncmlkU3RhdGUuc29ydFwiXG4gICAgICAgIFtwYWdlYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW3NvcnRhYmxlXT1cInRydWVcIlxuICAgICAgICBbc3R5bGUubWF4SGVpZ2h0LnB4XT1cIjQ4MFwiXG4gICAgICAgIChyZW1vdmUpPVwicmVtb3ZlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgKGRhdGFTdGF0ZUNoYW5nZSk9XCJkYXRhU3RhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdzID4gMFwiXG4gICAgICAgIChjZWxsQ2xpY2spPVwic2VsZWN0SXRlbSgkZXZlbnQpXCJcbiAgICAgICAgY3VsdHVyZVxuICAgICAgICBjbGFzcz1cInJvd3MtcG9pbnRhYmxlXCJcbiAgICAgICAga2VuZG9HcmlkU2VsZWN0Qnk9XCJpZFwiXG4gICAgICAgIFtzZWxlY3RlZEtleXNdPVwic2VsZWN0ZWRcIlxuICAgICAgICBbcm93Q2xhc3NdPVwiZ2V0Um93Q2xhc3NcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkVG9vbGJhclRlbXBsYXRlPlxuICAgICAgICAgIDxleGNlbC1leHBvcnQtYnV0dG9uPjwvZXhjZWwtZXhwb3J0LWJ1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGtlbmRvLWdyaWQtZXhjZWwgW2ZldGNoRGF0YV09XCJnZXRBbGxEYXRhXCI+PC9rZW5kby1ncmlkLWV4Y2VsPlxuICAgICAgICA8a2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbiB3aWR0aD1cIjY1XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWRhdGFJdGVtLnN1cHByZXNzRGVsZXRpb25cIlxuICAgICAgICAgICAgICBrZW5kb0dyaWRSZW1vdmVDb21tYW5kXG4gICAgICAgICAgICAgIHJlcXVpcmVQZXJtaXNzaW9uXG4gICAgICAgICAgICAgIHBlcm1pc3Npb25UeXBlPVwiRGVsZXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGVtIGNsYXNzPVwiay1pY29uIGdseXBoaWNvbiBnbHlwaGljb24tdHJhc2hcIj48L2VtPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbW1hbmQtY29sdW1uPlxuICAgICAgICA8a2VuZG8tZ3JpZC1jb2x1bW5cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZ3JpZEZpZWxkc1wiXG4gICAgICAgICAgZmllbGQ9XCJ7eyBmaWVsZC5uYW1lIH19XCJcbiAgICAgICAgICB0aXRsZT1cInt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBbc29ydGFibGVdPVwiZmllbGQuc29ydGFibGUgIT09IGZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuICAgICAgICA8a2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbiB3aWR0aD1cIjY1XCIgKm5nSWY9XCJjb21tYW5kcy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb21tYW5kIG9mIGNvbW1hbmRzXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbW1hbmQuaGFuZGxlcihkYXRhSXRlbSlcIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7IGNvbW1hbmQudGl0bGUgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBjbGFzcz1cImstYnV0dG9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGVtXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjb21tYW5kLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBjb21tYW5kLmljb25DbGFzcyB9fVwiXG4gICAgICAgICAgICAgID48L2VtPlxuICAgICAgICAgICAgICB7eyBjb21tYW5kLm5hbWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZE5vUmVjb3Jkc1RlbXBsYXRlPlxuICAgICAgICAgIHt7IFwiTWVzc2FnZXMuTm9SZWNvcmRzXCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFnZXJUZW1wbGF0ZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZXJcIj5cbiAgICAgICAgICAgIDxrZW5kby1ncmlkLXNwYWNlcj48L2tlbmRvLWdyaWQtc3BhY2VyPlxuICAgICAgICAgICAgPGtlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICAgICAgICAgIDxrZW5kby1wYWdlci1udW1lcmljLWJ1dHRvbnNcbiAgICAgICAgICAgICAgW2J1dHRvbkNvdW50XT1cInBhZ2VCdXR0b25zQ291bnRcIlxuICAgICAgICAgICAgPjwva2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zPlxuICAgICAgICAgICAgPGtlbmRvLXBhZ2VyLW5leHQtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLW5leHQtYnV0dG9ucz5cbiAgICAgICAgICAgIDxrZW5kby1wYWdlci1pbmZvPjwva2VuZG8tcGFnZXItaW5mbz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwva2VuZG8tZ3JpZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxyb3V0ZXItb3V0bGV0XG4gICAgKGFjdGl2YXRlKT1cIm9uQWN0aXZhdGUoJGV2ZW50KVwiXG4gICAgKGRlYWN0aXZhdGUpPVwib25EZWFjdGl2YXRlKCRldmVudClcIlxuICA+PC9yb3V0ZXItb3V0bGV0PlxuPC9kaXY+XG48Y29uZmlybS1kaWFsb2cgI2NvbmZpcm1EaWFsb2c+PC9jb25maXJtLWRpYWxvZz5cbiJdfQ==
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9lbnRpdHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQWF2QixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztBQUUvRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUM7QUFPekIsTUFBTSxPQUFPLG1CQUFtQjtJQWlDOUIsWUFDVSxTQUEyQixFQUMzQixLQUFxQixFQUNyQixNQUFjO1FBRmQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXRCakIsY0FBUyxHQUFrRCxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3pFLElBQUksQ0FBQztRQUNFLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUUvQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBRzdELGNBQVMsR0FBVSxFQUFFLENBQUM7UUFDdEIsU0FBSSxHQUFzQyxJQUFJLGVBQWUsQ0FFbEUsSUFBSSxDQUFDLENBQUM7UUFDRCxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIs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QUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOzhHQXhQVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixzYkN6Q2hDLDJ1SEEwR0E7OzJGRGpFYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTt1SUFNaEIsT0FBTztzQkFEYixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxNQUFNO3NCQURaLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLFNBQVM7c0JBRGYsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUMsWUFBWTtzQkFEbEIsTUFBTTtnQkFHQSxNQUFNO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92YWJsZSB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL3JlbW92YWJsZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIERhdGFTdGF0ZUNoYW5nZUV2ZW50LFxuICBSb3dDbGFzc0FyZ3MsXG59IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuaW1wb3J0IHtcbiAgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcixcbiAgRmlsdGVyRGVzY3JpcHRvcixcbiAgU29ydERlc2NyaXB0b3IsXG4gIFN0YXRlLFxufSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElkZW50aWZpZWRNb2RlbCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL0lkZW50aWZpZWRNb2RlbCc7XG5pbXBvcnQgeyBOYW1lZE1vZGVsIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9tb2RlbHMvTmFtZWRNb2RlbCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1BhZ2UnO1xuaW1wb3J0IHsgSUVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9JRW50aXR5U2VydmljZSc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICcuL0NvbW1hbmQnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL0ZpZWxkJztcbmltcG9ydCB7IHVybERlc2VyaWFsaXplLCB1cmxTZXJpYWxpemUgfSBmcm9tICcuL1VybFNlcmlhbGl6ZXInO1xuXG5jb25zdCBuYW1lRmllbGQgPSAnbmFtZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudGl0eS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LWxpc3QuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VydmljZTogSUVudGl0eVNlcnZpY2U8TmFtZWRNb2RlbD47XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJzOiAoRmlsdGVyRGVzY3JpcHRvciB8IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IpW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWVsZHM/OiBGaWVsZFtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29tbWFuZHM/OiBDb21tYW5kW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dDbGFzcz86IChkYXRhSXRlbTogTmFtZWRNb2RlbCwgaW5kZXg6IG51bWJlcikgPT4ge307XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWZhdWx0U29ydD86IFNvcnREZXNjcmlwdG9yW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXBJdGVtRm4/OiAoaXRlbTogTmFtZWRNb2RlbCkgPT4gTmFtZWRNb2RlbCAmIFJlbW92YWJsZSA9IChpdGVtKSA9PlxuICAgIGl0ZW07XG4gIEBJbnB1dCgpIHBhZ2VCdXR0b25zQ291bnQ6IG51bWJlciA9IDU7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yPigpO1xuICBAVmlld0NoaWxkKCdjb25maXJtRGlhbG9nJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGRpYWxvZzogQ29uZmlybURpYWxvZ0NvbXBvbmVudDtcbiAgcHVibGljIGdyaWRTdGF0ZTogU3RhdGUgPSB7fTtcbiAgcHVibGljIHBhZ2U6IEJlaGF2aW9yU3ViamVjdDxQYWdlPE5hbWVkTW9kZWw+PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgUGFnZTxOYW1lZE1vZGVsPlxuICA+KG51bGwpO1xuICBwdWJsaWMgbG9hZGluZ3MgPSAwO1xuICBwdWJsaWMgc2VhcmNoVGVybTogc3RyaW5nO1xuICBwdWJsaWMgc2VsZWN0ZWQ6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyBncmlkRmllbGRzOiBGaWVsZFtdID0gW107XG4gIHByaXZhdGUgZGVmYXVsdEZpZWxkczogRmllbGRbXSA9IFtcbiAgICB7IG5hbWU6ICduYW1lJywgbGFiZWw6ICdOYW1lJywgc29ydGFibGU6IHRydWUsIHBvc2l0aW9uOiAwIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgKSB7XG4gICAgdGhpcy5nZXRBbGxEYXRhID0gdGhpcy5nZXRBbGxEYXRhLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSb3dDbGFzcyA9IHRoaXMuZ2V0Um93Q2xhc3MuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoIWNoYW5nZXMuZmlsdGVycyB8fCBjaGFuZ2VzLmZpbHRlcnMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmdldEZpbHRlcmVkRGF0YSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5ncmlkRmllbGRzID0gKHRoaXMuZmllbGRzIHx8IFtdKVxuICAgICAgLmNvbmNhdCh0aGlzLmRlZmF1bHRGaWVsZHMpXG4gICAgICAuc29ydCgobGVmdCwgcmlnaHQpID0+IChsZWZ0LnBvc2l0aW9uIHx8IDApIC0gKHJpZ2h0LnBvc2l0aW9uIHx8IDApKTtcbiAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmZpbHRlcnMgPyB0aGlzLmZpbHRlcnMgOiBbXTtcbiAgICB0aGlzLmNvbW1hbmRzID0gdGhpcy5jb21tYW5kcyA/IHRoaXMuY29tbWFuZHMgOiBbXTtcbiAgICB0aGlzLnJvdXRlLmZyYWdtZW50LnN1YnNjcmliZShhc3luYyAoZnJhZ21lbnQ6IHN0cmluZykgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5yZXN0b3JlR3JpZFN0YXRlKG5ldyBVUkxTZWFyY2hQYXJhbXMoZnJhZ21lbnQpKTtcbiAgICB9KTtcblxuICAgIHRoaXMucm91dGUuZmlyc3RDaGlsZC5wYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IFBhcmFtcykgPT4ge1xuICAgICAgaWYgKHBhcmFtcy5pZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkWzBdID0gcGFyYW1zLmlkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5wb3AoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZURhdGVCYXNlZEV4Y2VsRmlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYEV4cG9ydC0ke25ldyBEYXRlKCkudG9Mb2NhbGVTdHJpbmcoKX0ueGxzeGA7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSGFuZGxlcih7IGRhdGFJdGVtIH0pIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFxuICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQ29uZmlybWF0aW9uLkRlbGV0ZScpICtcbiAgICAgICAgJzogXCInICtcbiAgICAgICAgZGF0YUl0ZW0ubmFtZSArXG4gICAgICAgICdcIj8nLFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmUoZGF0YUl0ZW0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SXRlbSh7IGRhdGFJdGVtIH0pIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZGF0YUl0ZW0uaWRdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgZnJhZ21lbnQ6IHVybFNlcmlhbGl6ZSh0aGlzLmdyaWRTdGF0ZSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25BY3RpdmF0ZShjaGlsZDogeyBzYXZlZDogRXZlbnRFbWl0dGVyPE5hbWVkTW9kZWw+IH0pIHtcbiAgICBpZiAoY2hpbGQuc2F2ZWQpIHtcbiAgICAgIGNoaWxkLnNhdmVkLnN1YnNjcmliZSgoZGF0YTogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfSkgPT5cbiAgICAgICAgdGhpcy51cGRhdGVHcmlkKGRhdGEpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EZWFjdGl2YXRlKGNoaWxkOiB7IHNhdmVkOiBFdmVudEVtaXR0ZXI8TmFtZWRNb2RlbD4gfSkge1xuICAgIGlmIChjaGlsZC5zYXZlZCkge1xuICAgICAgY2hpbGQuc2F2ZWQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGF0YVN0YXRlQ2hhbmdlKHN0YXRlOiBEYXRhU3RhdGVDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMuZ3JpZFN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5ncmlkU3RhdGUuZmlsdGVyID0gdGhpcy5nZXRGaWx0ZXIoKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIGZyYWdtZW50OiB1cmxTZXJpYWxpemUodGhpcy5ncmlkU3RhdGUpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uU2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSB2YWx1ZTtcbiAgICB0aGlzLmdyaWRTdGF0ZS5za2lwID0gMDtcbiAgICB0aGlzLmdldEZpbHRlcmVkRGF0YSgpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbERhdGEoKTogT2JzZXJ2YWJsZTxQYWdlPE5hbWVkTW9kZWwgJiBSZW1vdmFibGU+PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmdyaWRTdGF0ZSk7XG4gICAgZGVsZXRlIHN0YXRlLnNraXA7XG4gICAgZGVsZXRlIHN0YXRlLnRha2U7XG5cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldFBhZ2Uoc3RhdGUpLnBpcGUoXG4gICAgICBtYXAoKHBhZ2VSZXN1bHQpID0+IHtcbiAgICAgICAgcGFnZVJlc3VsdC5kYXRhID0gcGFnZVJlc3VsdC5kYXRhLm1hcCh0aGlzLm1hcEl0ZW1Gbik7XG5cbiAgICAgICAgcmV0dXJuIHBhZ2VSZXN1bHQ7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFJvd0NsYXNzKGNvbnRleHQ6IFJvd0NsYXNzQXJncyk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHRoaXMucm93Q2xhc3MgJiYgY29udGV4dFxuICAgICAgPyB0aGlzLnJvd0NsYXNzKGNvbnRleHQuZGF0YUl0ZW0sIGNvbnRleHQuaW5kZXgpXG4gICAgICA6IHt9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpbHRlcmVkRGF0YSgpIHtcbiAgICB0aGlzLmdyaWRTdGF0ZS5maWx0ZXIgPSB0aGlzLmdldEZpbHRlcigpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgZnJhZ21lbnQ6IHVybFNlcmlhbGl6ZSh0aGlzLmdyaWRTdGF0ZSksXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlR3JpZChkYXRhOiBOYW1lZE1vZGVsKSB7XG4gICAgY29uc3QgbmV3SXRlbSA9IHRoaXMubWFwSXRlbUZuKGRhdGEpO1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0geyAuLi50aGlzLnBhZ2UudmFsdWUgfTtcbiAgICBjb25zdCBleGlzdHMgPSBjdXJyZW50UGFnZS5kYXRhLmZpbHRlcigoeCkgPT4geC5pZCA9PT0gZGF0YS5pZCk7XG4gICAgaWYgKGV4aXN0cy5sZW5ndGgpIHtcbiAgICAgIGN1cnJlbnRQYWdlLmRhdGFbY3VycmVudFBhZ2UuZGF0YS5pbmRleE9mKGV4aXN0c1swXSldID0gbmV3SXRlbTtcbiAgICAgIHRoaXMucGFnZS5uZXh0KGN1cnJlbnRQYWdlKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGN1cnJlbnRQYWdlLnRvdGFsKys7XG4gICAgY3VycmVudFBhZ2UuZGF0YS5zcGxpY2UoMCwgMCwgZGF0YSk7XG4gICAgaWYgKGN1cnJlbnRQYWdlLmRhdGEubGVuZ3RoID4gdGhpcy5ncmlkU3RhdGUudGFrZSkge1xuICAgICAgY3VycmVudFBhZ2UuZGF0YS5zcGxpY2UodGhpcy5wYWdlLnZhbHVlLmRhdGEubGVuZ3RoIC0gMSwgMSk7XG4gICAgfVxuXG4gICAgdGhpcy5wYWdlLm5leHQoY3VycmVudFBhZ2UpO1xuICAgIHRoaXMuc2VsZWN0ZWRbMF0gPSBkYXRhLmlkO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtkYXRhLmlkXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIHByZXNlcnZlRnJhZ21lbnQ6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGF0YSgpIHtcbiAgICB0aGlzLmxvYWRpbmdzKys7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgLmdldFBhZ2UodGhpcy5ncmlkU3RhdGUpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwYWdlUmVzdWx0KSA9PiB7XG4gICAgICAgICAgcGFnZVJlc3VsdC5kYXRhID0gcGFnZVJlc3VsdC5kYXRhLm1hcCh0aGlzLm1hcEl0ZW1Gbik7XG5cbiAgICAgICAgICByZXR1cm4gcGFnZVJlc3VsdDtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChwYWdlKSA9PiB7XG4gICAgICAgIHRoaXMucGFnZS5uZXh0KHBhZ2UpO1xuICAgICAgICB0aGlzLmxvYWRpbmdzLS07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlKGVudGl0eTogSWRlbnRpZmllZE1vZGVsKSB7XG4gICAgdGhpcy5sb2FkaW5ncysrO1xuICAgIHRoaXMuc2VydmljZVxuICAgICAgLmRlbGV0ZShlbnRpdHkuaWQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkLmxlbmd0aCAmJlxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFt0aGlzLnNlbGVjdGVkLmxlbmd0aCAtIDFdID09PSBlbnRpdHkuaWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vJ10sIHtcbiAgICAgICAgICAgICAgcHJlc2VydmVGcmFnbWVudDogdHJ1ZSxcbiAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZS5maXJzdENoaWxkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubG9hZGluZ3MtLTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5nZXREYXRhKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsdGVyKCk6IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3Ige1xuICAgIGNvbnN0IGZpbHRlcjogQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciA9IHtcbiAgICAgIGxvZ2ljOiAnYW5kJyxcbiAgICAgIGZpbHRlcnM6IHRoaXMuc2VhcmNoVGVybVxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHsgZmllbGQ6IG5hbWVGaWVsZCwgb3BlcmF0b3I6ICdjb250YWlucycsIHZhbHVlOiB0aGlzLnNlYXJjaFRlcm0gfSxcbiAgICAgICAgICAgIC4uLnRoaXMuZmlsdGVycyxcbiAgICAgICAgICBdXG4gICAgICAgIDogdGhpcy5maWx0ZXJzLFxuICAgIH07XG5cbiAgICByZXR1cm4gZmlsdGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkZpbHRlckNoYW5nZSgpIHtcbiAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHRoaXMuZ3JpZFN0YXRlLmZpbHRlcj8uZmlsdGVycy5maW5kKFxuICAgICAgKHg6IEZpbHRlckRlc2NyaXB0b3IpID0+IHguZmllbGQgPT09IG5hbWVGaWVsZCxcbiAgICApO1xuICAgIHRoaXMuc2VhcmNoVGVybSA9IGZpbHRlcj8udmFsdWU7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmdyaWRTdGF0ZS5maWx0ZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXN0b3JlR3JpZFN0YXRlKHBhcmFtczogVVJMU2VhcmNoUGFyYW1zKSB7XG4gICAgY29uc3QgZGVmYXVsdEdyaWRTdGF0ZTogU3RhdGUgPSB7XG4gICAgICBzb3J0OiB0aGlzLmRlZmF1bHRTb3J0IHx8IFt7IGZpZWxkOiBuYW1lRmllbGQsIGRpcjogJ2FzYycgfV0sXG4gICAgICBza2lwOiAwLFxuICAgICAgdGFrZTogMTAsXG4gICAgICBmaWx0ZXI6IHRoaXMuZ2V0RmlsdGVyKCksXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXRlID0gdXJsRGVzZXJpYWxpemUocGFyYW1zKTtcbiAgICB0aGlzLmdyaWRTdGF0ZSA9IHN0YXRlLmhhc093blByb3BlcnR5KCd0YWtlJykgPyBzdGF0ZSA6IGRlZmF1bHRHcmlkU3RhdGU7XG4gICAgdGhpcy5ncmlkU3RhdGUuc2tpcCA9ICt0aGlzLmdyaWRTdGF0ZS5za2lwO1xuICAgIHRoaXMuZ3JpZFN0YXRlLnRha2UgPSArdGhpcy5ncmlkU3RhdGUudGFrZTtcbiAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKCk7XG4gICAgdGhpcy5nZXREYXRhKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XG4gICAgPGhlYWRlciBjbGFzcz1cImhlYWRlci1wYWdlLWJnXCI+PC9oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cInBhbmVsIHNlYXJjaC1wYW5lbCBoZXJvLXVuaXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItc2VsZWN0aW9uLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJzZWFyY2hpbnB1dFwiIGNsYXNzPVwidGl0bGUtZmllbGRcIj57e1xuICAgICAgICAgIFwiU2VhcmNoXCIgfCB0cmFuc2xhdGVcbiAgICAgICAgfX08L2xhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBrZW5kb1RleHRCb3hcbiAgICAgICAgICBjbGFzcz1cInF1aWNrLWZpbHRlciBpbnB1dCBpbnB1dC1maWVsZFwiXG4gICAgICAgICAgdGl0bGU9XCJcIlxuICAgICAgICAgIGlkPVwic2VhcmNoaW5wdXRcIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBhcHBEZWJvdW5jZVxuICAgICAgICAgIChkZWJvdW5jZUtleXVwKT1cIm9uU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICBbZGVib3VuY2VUaW1lXT1cIjYwMFwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGUtbGluZVwiPjwvZGl2PlxuXG4gICAgICA8a2VuZG8tZ3JpZFxuICAgICAgICBbZGF0YV09XCJwYWdlIHwgYXN5bmNcIlxuICAgICAgICBbcGFnZVNpemVdPVwiZ3JpZFN0YXRlLnRha2VcIlxuICAgICAgICBbc2tpcF09XCJncmlkU3RhdGUuc2tpcFwiXG4gICAgICAgIFtzb3J0XT1cImdyaWRTdGF0ZS5zb3J0XCJcbiAgICAgICAgW3BhZ2VhYmxlXT1cInRydWVcIlxuICAgICAgICBbc29ydGFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiNDgwXCJcbiAgICAgICAgKHJlbW92ZSk9XCJyZW1vdmVIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAoZGF0YVN0YXRlQ2hhbmdlKT1cImRhdGFTdGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ3MgPiAwXCJcbiAgICAgICAgKGNlbGxDbGljayk9XCJzZWxlY3RJdGVtKCRldmVudClcIlxuICAgICAgICBjdWx0dXJlXG4gICAgICAgIGNsYXNzPVwicm93cy1wb2ludGFibGVcIlxuICAgICAgICBrZW5kb0dyaWRTZWxlY3RCeT1cImlkXCJcbiAgICAgICAgW3NlbGVjdGVkS2V5c109XCJzZWxlY3RlZFwiXG4gICAgICAgIFtyb3dDbGFzc109XCJnZXRSb3dDbGFzc1wiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRUb29sYmFyVGVtcGxhdGU+XG4gICAgICAgICAgPGV4Y2VsLWV4cG9ydC1idXR0b24+PC9leGNlbC1leHBvcnQtYnV0dG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8a2VuZG8tZ3JpZC1leGNlbFxuICAgICAgICAgIFtmaWxlTmFtZV09XCJnZW5lcmF0ZURhdGVCYXNlZEV4Y2VsRmlsZU5hbWUoKVwiXG4gICAgICAgICAgW2ZldGNoRGF0YV09XCJnZXRBbGxEYXRhXCJcbiAgICAgICAgPjwva2VuZG8tZ3JpZC1leGNlbD5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRhSXRlbS5zdXBwcmVzc0RlbGV0aW9uXCJcbiAgICAgICAgICAgICAga2VuZG9HcmlkUmVtb3ZlQ29tbWFuZFxuICAgICAgICAgICAgICByZXF1aXJlUGVybWlzc2lvblxuICAgICAgICAgICAgICBwZXJtaXNzaW9uVHlwZT1cIkRlbGV0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxlbSBjbGFzcz1cImstaWNvbiBnbHlwaGljb24gZ2x5cGhpY29uLXRyYXNoXCI+PC9lbT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbj5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29sdW1uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGdyaWRGaWVsZHNcIlxuICAgICAgICAgIGZpZWxkPVwie3sgZmllbGQubmFtZSB9fVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgW3NvcnRhYmxlXT1cImZpZWxkLnNvcnRhYmxlICE9PSBmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiICpuZ0lmPVwiY29tbWFuZHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29tbWFuZCBvZiBjb21tYW5kc1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb21tYW5kLmhhbmRsZXIoZGF0YUl0ZW0pXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBjb21tYW5kLnRpdGxlIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJrLWJ1dHRvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxlbVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29tbWFuZC5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwie3sgY29tbWFuZC5pY29uQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICA+PC9lbT5cbiAgICAgICAgICAgICAge3sgY29tbWFuZC5uYW1lIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2tlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWROb1JlY29yZHNUZW1wbGF0ZT5cbiAgICAgICAgICB7eyBcIk1lc3NhZ2VzLk5vUmVjb3Jkc1wiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhZ2VyVGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2VyXCI+XG4gICAgICAgICAgICA8a2VuZG8tZ3JpZC1zcGFjZXI+PC9rZW5kby1ncmlkLXNwYWNlcj5cbiAgICAgICAgICAgIDxrZW5kby1wYWdlci1wcmV2LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1wcmV2LWJ1dHRvbnM+XG4gICAgICAgICAgICA8a2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zXG4gICAgICAgICAgICAgIFtidXR0b25Db3VudF09XCJwYWdlQnV0dG9uc0NvdW50XCJcbiAgICAgICAgICAgID48L2tlbmRvLXBhZ2VyLW51bWVyaWMtYnV0dG9ucz5cbiAgICAgICAgICAgIDxrZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+XG4gICAgICAgICAgICA8a2VuZG8tcGFnZXItaW5mbz48L2tlbmRvLXBhZ2VyLWluZm8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLWdyaWQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8cm91dGVyLW91dGxldFxuICAgIChhY3RpdmF0ZSk9XCJvbkFjdGl2YXRlKCRldmVudClcIlxuICAgIChkZWFjdGl2YXRlKT1cIm9uRGVhY3RpdmF0ZSgkZXZlbnQpXCJcbiAgPjwvcm91dGVyLW91dGxldD5cbjwvZGl2PlxuPGNvbmZpcm0tZGlhbG9nICNjb25maXJtRGlhbG9nPjwvY29uZmlybS1kaWFsb2c+XG4iXX0=
|
|
@@ -12,8 +12,8 @@ import { ExcelExportButtonModule } from '../excel-export-button';
|
|
|
12
12
|
import { CreateNewModule } from '../entity-edit/create-new';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export class EntityListModule {
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
16
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: EntityListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: EntityListModule, declarations: [EntityListComponent], imports: [CommonModule,
|
|
17
17
|
InputsModule,
|
|
18
18
|
TranslateModule,
|
|
19
19
|
ConfirmDialogModule,
|
|
@@ -26,7 +26,7 @@ export class EntityListModule {
|
|
|
26
26
|
ExcelExportButtonModule,
|
|
27
27
|
RouterModule,
|
|
28
28
|
CreateNewModule], exports: [EntityListComponent] }); }
|
|
29
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
29
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: EntityListModule, imports: [CommonModule,
|
|
30
30
|
InputsModule,
|
|
31
31
|
TranslateModule,
|
|
32
32
|
ConfirmDialogModule,
|
|
@@ -40,7 +40,7 @@ export class EntityListModule {
|
|
|
40
40
|
RouterModule,
|
|
41
41
|
CreateNewModule] }); }
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: EntityListModule, decorators: [{
|
|
44
44
|
type: NgModule,
|
|
45
45
|
args: [{
|
|
46
46
|
declarations: [EntityListComponent],
|
|
@@ -34,10 +34,10 @@ export class FieldDropdownlistComponent {
|
|
|
34
34
|
initSelectedId(id) {
|
|
35
35
|
this.initialSelectedId = id;
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FieldDropdownlistComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label", sort: "sort", filter: "filter", initialSelectedId: "initialSelectedId" }, 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: "component", type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FieldDropdownlistComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
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" }]
|
|
43
43
|
}], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { service: [{
|
|
@@ -3,11 +3,11 @@ import { FieldDropdownlistComponent } from './field-dropdownlist.component';
|
|
|
3
3
|
import { DropDownListModule } from '@progress/kendo-angular-dropdowns';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class FieldDropdownlistModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FieldDropdownlistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: FieldDropdownlistModule, declarations: [FieldDropdownlistComponent], imports: [DropDownListModule], exports: [FieldDropdownlistComponent] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FieldDropdownlistModule, imports: [DropDownListModule] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FieldDropdownlistModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
declarations: [FieldDropdownlistComponent],
|
|
@@ -28,11 +28,11 @@ export class UserListAdminComponent extends EntityListComponent {
|
|
|
28
28
|
}));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: UserListAdminComponent, deps: [{ token: i1.TranslateService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.PartnerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.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\">{{\n \"Search\" | translate\n }}</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\n [fileName]=\"generateDateBasedExcelFileName()\"\n [fetchData]=\"getAllData\"\n ></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngIf=\"!dataItem.suppressDeletion\"\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ \"Messages.NoRecords\" | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <div class=\"pager\">\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"pageButtonsCount\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </div>\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", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i5.DebounceDirective, selector: "[appDebounce]", inputs: ["debounceTime"], outputs: ["debounceKeyup"] }, { kind: "component", type: i6.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: 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: "directive", type: i6.GridToolbarFocusableDirective, selector: " [kendoGridToolbarFocusable], [kendoGridAddCommand], [kendoGridCancelCommand], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridExcelCommand], [kendoGridPDFCommand] " }, { 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: "component", 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: "directive", type: i10.RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }, { kind: "component", type: i11.ExcelExportButtonComponent, selector: "excel-export-button" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.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\"
|
|
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\">{{\n \"Search\" | translate\n }}</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\n [fileName]=\"generateDateBasedExcelFileName()\"\n [fetchData]=\"getAllData\"\n ></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngIf=\"!dataItem.suppressDeletion\"\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ \"Messages.NoRecords\" | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <div class=\"pager\">\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"pageButtonsCount\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </div>\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: () => [{ type: i1.TranslateService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.PartnerService }] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LWFkbWluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC91c2VyLWxpc3QtYWRtaW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBS3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU85RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBQzdELFlBQ0UsU0FBMkIsRUFDM0IsS0FBcUIsRUFDckIsTUFBYyxFQUNOLGNBQThCO1FBRXRDLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRnhCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUd4QyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQTBDO1FBQzFELElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNmLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FDbkMsSUFBSSxDQUFDLGNBQWM7aUJBQ2hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2lCQUNuQixTQUFTLENBQUMsQ0FBQyxPQUFtQixFQUFFLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FDTCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzhHQXJCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiw4Q0FGdEIsQ0FBQyxjQUFjLENBQUMsaURDWDdCLDJ1SEEwR0E7OzJGRDdGYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UscUJBQXFCLGFBRXBCLENBQUMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmFtZWRNb2RlbCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL05hbWVkTW9kZWwnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyJztcbmltcG9ydCB7IFBhcnRuZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGFydG5lci5zZXJ2aWNlJztcbmltcG9ydCB7IEVudGl0eUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2VudGl0eS1saXN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11c2VyLWxpc3QtYWRtaW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtQYXJ0bmVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJMaXN0QWRtaW5Db21wb25lbnQgZXh0ZW5kcyBFbnRpdHlMaXN0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHBhcnRuZXJTZXJ2aWNlOiBQYXJ0bmVyU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIodHJhbnNsYXRlLCByb3V0ZSwgcm91dGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkFjdGl2YXRlKGNoaWxkOiB7IHNhdmVkOiBFdmVudEVtaXR0ZXI8TmFtZWRNb2RlbD4gfSkge1xuICAgIGlmIChjaGlsZC5zYXZlZCkge1xuICAgICAgY2hpbGQuc2F2ZWQuc3Vic2NyaWJlKChkYXRhOiBVc2VyKSA9PlxuICAgICAgICB0aGlzLnBhcnRuZXJTZXJ2aWNlXG4gICAgICAgICAgLmdldChkYXRhLnBhcnRuZXJJZClcbiAgICAgICAgICAuc3Vic2NyaWJlKChwYXJ0bmVyOiBOYW1lZE1vZGVsKSA9PiB7XG4gICAgICAgICAgICBkYXRhLnBhcnRuZXJOYW1lID0gcGFydG5lci5uYW1lO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVHcmlkKGRhdGEpO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XG4gICAgPGhlYWRlciBjbGFzcz1cImhlYWRlci1wYWdlLWJnXCI+PC9oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cInBhbmVsIHNlYXJjaC1wYW5lbCBoZXJvLXVuaXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItc2VsZWN0aW9uLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJzZWFyY2hpbnB1dFwiIGNsYXNzPVwidGl0bGUtZmllbGRcIj57e1xuICAgICAgICAgIFwiU2VhcmNoXCIgfCB0cmFuc2xhdGVcbiAgICAgICAgfX08L2xhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBrZW5kb1RleHRCb3hcbiAgICAgICAgICBjbGFzcz1cInF1aWNrLWZpbHRlciBpbnB1dCBpbnB1dC1maWVsZFwiXG4gICAgICAgICAgdGl0bGU9XCJcIlxuICAgICAgICAgIGlkPVwic2VhcmNoaW5wdXRcIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBhcHBEZWJvdW5jZVxuICAgICAgICAgIChkZWJvdW5jZUtleXVwKT1cIm9uU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICBbZGVib3VuY2VUaW1lXT1cIjYwMFwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGUtbGluZVwiPjwvZGl2PlxuXG4gICAgICA8a2VuZG8tZ3JpZFxuICAgICAgICBbZGF0YV09XCJwYWdlIHwgYXN5bmNcIlxuICAgICAgICBbcGFnZVNpemVdPVwiZ3JpZFN0YXRlLnRha2VcIlxuICAgICAgICBbc2tpcF09XCJncmlkU3RhdGUuc2tpcFwiXG4gICAgICAgIFtzb3J0XT1cImdyaWRTdGF0ZS5zb3J0XCJcbiAgICAgICAgW3BhZ2VhYmxlXT1cInRydWVcIlxuICAgICAgICBbc29ydGFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiNDgwXCJcbiAgICAgICAgKHJlbW92ZSk9XCJyZW1vdmVIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAoZGF0YVN0YXRlQ2hhbmdlKT1cImRhdGFTdGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ3MgPiAwXCJcbiAgICAgICAgKGNlbGxDbGljayk9XCJzZWxlY3RJdGVtKCRldmVudClcIlxuICAgICAgICBjdWx0dXJlXG4gICAgICAgIGNsYXNzPVwicm93cy1wb2ludGFibGVcIlxuICAgICAgICBrZW5kb0dyaWRTZWxlY3RCeT1cImlkXCJcbiAgICAgICAgW3NlbGVjdGVkS2V5c109XCJzZWxlY3RlZFwiXG4gICAgICAgIFtyb3dDbGFzc109XCJnZXRSb3dDbGFzc1wiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRUb29sYmFyVGVtcGxhdGU+XG4gICAgICAgICAgPGV4Y2VsLWV4cG9ydC1idXR0b24+PC9leGNlbC1leHBvcnQtYnV0dG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8a2VuZG8tZ3JpZC1leGNlbFxuICAgICAgICAgIFtmaWxlTmFtZV09XCJnZW5lcmF0ZURhdGVCYXNlZEV4Y2VsRmlsZU5hbWUoKVwiXG4gICAgICAgICAgW2ZldGNoRGF0YV09XCJnZXRBbGxEYXRhXCJcbiAgICAgICAgPjwva2VuZG8tZ3JpZC1leGNlbD5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRhSXRlbS5zdXBwcmVzc0RlbGV0aW9uXCJcbiAgICAgICAgICAgICAga2VuZG9HcmlkUmVtb3ZlQ29tbWFuZFxuICAgICAgICAgICAgICByZXF1aXJlUGVybWlzc2lvblxuICAgICAgICAgICAgICBwZXJtaXNzaW9uVHlwZT1cIkRlbGV0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxlbSBjbGFzcz1cImstaWNvbiBnbHlwaGljb24gZ2x5cGhpY29uLXRyYXNoXCI+PC9lbT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbj5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29sdW1uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGdyaWRGaWVsZHNcIlxuICAgICAgICAgIGZpZWxkPVwie3sgZmllbGQubmFtZSB9fVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgW3NvcnRhYmxlXT1cImZpZWxkLnNvcnRhYmxlICE9PSBmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cbiAgICAgICAgPGtlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4gd2lkdGg9XCI2NVwiICpuZ0lmPVwiY29tbWFuZHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29tbWFuZCBvZiBjb21tYW5kc1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb21tYW5kLmhhbmRsZXIoZGF0YUl0ZW0pXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBjb21tYW5kLnRpdGxlIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJrLWJ1dHRvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxlbVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29tbWFuZC5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwie3sgY29tbWFuZC5pY29uQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICA+PC9lbT5cbiAgICAgICAgICAgICAge3sgY29tbWFuZC5uYW1lIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2tlbmRvLWdyaWQtY29tbWFuZC1jb2x1bW4+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWROb1JlY29yZHNUZW1wbGF0ZT5cbiAgICAgICAgICB7eyBcIk1lc3NhZ2VzLk5vUmVjb3Jkc1wiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhZ2VyVGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2VyXCI+XG4gICAgICAgICAgICA8a2VuZG8tZ3JpZC1zcGFjZXI+PC9rZW5kby1ncmlkLXNwYWNlcj5cbiAgICAgICAgICAgIDxrZW5kby1wYWdlci1wcmV2LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1wcmV2LWJ1dHRvbnM+XG4gICAgICAgICAgICA8a2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zXG4gICAgICAgICAgICAgIFtidXR0b25Db3VudF09XCJwYWdlQnV0dG9uc0NvdW50XCJcbiAgICAgICAgICAgID48L2tlbmRvLXBhZ2VyLW51bWVyaWMtYnV0dG9ucz5cbiAgICAgICAgICAgIDxrZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+XG4gICAgICAgICAgICA8a2VuZG8tcGFnZXItaW5mbz48L2tlbmRvLXBhZ2VyLWluZm8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLWdyaWQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8cm91dGVyLW91dGxldFxuICAgIChhY3RpdmF0ZSk9XCJvbkFjdGl2YXRlKCRldmVudClcIlxuICAgIChkZWFjdGl2YXRlKT1cIm9uRGVhY3RpdmF0ZSgkZXZlbnQpXCJcbiAgPjwvcm91dGVyLW91dGxldD5cbjwvZGl2PlxuPGNvbmZpcm0tZGlhbG9nICNjb25maXJtRGlhbG9nPjwvY29uZmlybS1kaWFsb2c+XG4iXX0=
|
|
@@ -3,10 +3,10 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
import * as i1 from "@progress/kendo-angular-grid";
|
|
4
4
|
import * as i2 from "@ngx-translate/core";
|
|
5
5
|
export class ExcelExportButtonComponent {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ExcelExportButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.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: "component", type: i1.ExcelCommandDirective, selector: "[kendoGridExcelCommand]" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ExcelExportButtonComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
11
11
|
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
12
|
}] });
|
|
@@ -4,11 +4,11 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
4
4
|
import { ExcelModule } from '@progress/kendo-angular-grid';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class ExcelExportButtonModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
9
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ExcelExportButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ExcelExportButtonModule, declarations: [ExcelExportButtonComponent], imports: [TranslateModule, ExcelModule], exports: [ExcelExportButtonComponent] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ExcelExportButtonModule, imports: [TranslateModule, ExcelModule] }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ExcelExportButtonModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [ExcelExportButtonComponent],
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class FooterBarComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FooterBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.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: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FooterBarComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
args: [{ selector: 'footer-bar', changeDetection: ChangeDetectionStrategy.OnPush, 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
|
}] });
|