@mediusinc/mng-commons 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/api/models/builders/query-param.builder.mjs +7 -2
- package/esm2020/lib/api/services/api.abstract.service.mjs +21 -10
- package/esm2020/lib/api/utils/object-serializer.util.mjs +7 -1
- package/esm2020/lib/components/action/action.component.mjs +28 -6
- package/esm2020/lib/components/action/editor/action-editor.component.mjs +7 -6
- package/esm2020/lib/components/action/models/action-execution.model.mjs +1 -1
- package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +186 -32
- package/esm2020/lib/components/form/editor/form-editor.component.mjs +3 -3
- package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +1 -1
- package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +3 -3
- package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +8 -8
- package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +4 -6
- package/esm2020/lib/components/layout/main-layout.component.mjs +1 -1
- package/esm2020/lib/components/layout/topbar.component.mjs +1 -1
- package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +17 -5
- package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +1 -1
- package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +9 -23
- package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +21 -7
- package/esm2020/lib/components/tableview/table/table.component.mjs +5 -5
- package/esm2020/lib/components/tableview/tableview.component.mjs +3 -3
- package/esm2020/lib/descriptors/action.descriptor.mjs +87 -4
- package/esm2020/lib/descriptors/column.descriptor.mjs +197 -0
- package/esm2020/lib/descriptors/editor.descriptor.mjs +3 -734
- package/esm2020/lib/descriptors/field.descriptor.interface.mjs +2 -0
- package/esm2020/lib/descriptors/field.descriptor.mjs +755 -0
- package/esm2020/lib/descriptors/filter.descriptor.mjs +237 -0
- package/esm2020/lib/descriptors/index.mjs +5 -1
- package/esm2020/lib/descriptors/table.descriptor.mjs +4 -385
- package/esm2020/lib/descriptors/tableview.descriptor.mjs +3 -3
- package/esm2020/lib/directives/component.directive.mjs +18 -2
- package/esm2020/lib/mng-commons.module.mjs +9 -5
- package/esm2020/lib/models/column-value.model.mjs +2 -0
- package/esm2020/lib/models/error.model.mjs +1 -1
- package/esm2020/lib/models/index.mjs +2 -1
- package/esm2020/lib/pipes/index.mjs +3 -2
- package/esm2020/lib/pipes/json-path.pipe.mjs +80 -0
- package/esm2020/lib/pipes/link-formatter.pipe.mjs +39 -0
- package/esm2020/lib/services/action-executor.service.mjs +33 -39
- package/esm2020/lib/utils/index.mjs +2 -2
- package/esm2020/lib/utils/model.util.mjs +16 -15
- package/esm2020/lib/utils/notification.util.mjs +47 -0
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/mediusinc-mng-commons.mjs +1945 -1483
- package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
- package/fesm2020/mediusinc-mng-commons.mjs +1938 -1480
- package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
- package/lib/api/models/builders/query-param.builder.d.ts +2 -1
- package/lib/api/services/api.abstract.service.d.ts +10 -5
- package/lib/api/utils/object-serializer.util.d.ts +4 -2
- package/lib/components/action/action.component.d.ts +12 -1
- package/lib/components/action/models/action-execution.model.d.ts +2 -0
- package/lib/components/form/autocomplete/autocomplete.component.d.ts +20 -5
- package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +1 -2
- package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +5 -1
- package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +1 -0
- package/lib/components/tableview/table/column-value/column-value.component.d.ts +5 -1
- package/lib/descriptors/action.descriptor.d.ts +35 -1
- package/lib/descriptors/column.descriptor.d.ts +66 -0
- package/lib/descriptors/editor.descriptor.d.ts +1 -292
- package/lib/descriptors/field.descriptor.d.ts +301 -0
- package/lib/descriptors/{editor.descriptor.interface.d.ts → field.descriptor.interface.d.ts} +0 -0
- package/lib/descriptors/filter.descriptor.d.ts +108 -0
- package/lib/descriptors/index.d.ts +4 -0
- package/lib/descriptors/table.descriptor.d.ts +5 -159
- package/lib/descriptors/tableview.descriptor.d.ts +4 -2
- package/lib/directives/component.directive.d.ts +5 -1
- package/lib/mng-commons.module.d.ts +70 -69
- package/lib/models/column-value.model.d.ts +4 -0
- package/lib/models/error.model.d.ts +2 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/pipes/index.d.ts +2 -1
- package/lib/pipes/json-path.pipe.d.ts +13 -0
- package/lib/pipes/link-formatter.pipe.d.ts +11 -0
- package/lib/services/action-executor.service.d.ts +5 -3
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/model.util.d.ts +1 -0
- package/lib/utils/{toast.util.d.ts → notification.util.d.ts} +7 -10
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/scss/mng-overrides/_layout_action.scss +7 -0
- package/scss/mng-overrides/_layout_dialog.scss +17 -6
- package/scss/mng-overrides/_mixins.scss +60 -0
- package/scss/mng-overrides/_theme_button.scss +4 -0
- package/scss/theme/default/_mng-variables-theme-dark.scss +2 -3
- package/scss/theme/default/_mng-variables-theme-light.scss +2 -3
- package/scss/theme/default/_mng-variables.scss +12 -0
- package/esm2020/lib/descriptors/editor.descriptor.interface.mjs +0 -2
- package/esm2020/lib/pipes/property-path.pipe.mjs +0 -36
- package/esm2020/lib/utils/toast.util.mjs +0 -44
- package/lib/pipes/property-path.pipe.d.ts +0 -7
|
@@ -38,7 +38,7 @@ export class MngMainLayoutComponent {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
MngMainLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngMainLayoutComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.MngCommonsService }, { token: i3.MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
MngMainLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngMainLayoutComponent, selector: "mng-main-layout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [MngMainLayoutComponentService], viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n", directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent"], outputs: ["instanceCreated"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
41
|
+
MngMainLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngMainLayoutComponent, selector: "mng-main-layout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [MngMainLayoutComponentService], viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n", directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
42
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngMainLayoutComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ selector: 'mng-main-layout', providers: [MngMainLayoutComponentService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n" }]
|
|
@@ -47,7 +47,7 @@ export class MngTopbarComponent {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
MngTopbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTopbarComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.MngCommonsService }, { token: i3.MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
MngTopbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTopbarComponent, selector: "mng-topbar", viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a\n href=\"#\"\n class=\"topbar-menu-button\"\n (click)=\"mainLayoutService.onMenuButtonClick($event)\"\n *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li #profile class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <a href=\"#\" (click)=\"mainLayoutService.onTopbarItemClick($event, profile)\">\n <i class=\"pi pi-fw pi-user\"></i>\n </a>\n <ul class=\"fadeInDown\" *ngIf=\"user\">\n <li role=\"menuitem\">\n <a>\n {{ user?.displayName ?? user?.username }}\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n", components: [{ type: i4.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent"], outputs: ["instanceCreated"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i5.AsyncPipe, "translate": i8.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
50
|
+
MngTopbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTopbarComponent, selector: "mng-topbar", viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a\n href=\"#\"\n class=\"topbar-menu-button\"\n (click)=\"mainLayoutService.onMenuButtonClick($event)\"\n *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li #profile class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <a href=\"#\" (click)=\"mainLayoutService.onTopbarItemClick($event, profile)\">\n <i class=\"pi pi-fw pi-user\"></i>\n </a>\n <ul class=\"fadeInDown\" *ngIf=\"user\">\n <li role=\"menuitem\">\n <a>\n {{ user?.displayName ?? user?.username }}\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n", components: [{ type: i4.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i5.AsyncPipe, "translate": i8.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTopbarComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
53
|
args: [{ selector: 'mng-topbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a\n href=\"#\"\n class=\"topbar-menu-button\"\n (click)=\"mainLayoutService.onMenuButtonClick($event)\"\n *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li #profile class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <a href=\"#\" (click)=\"mainLayoutService.onTopbarItemClick($event, profile)\">\n <i class=\"pi pi-fw pi-user\"></i>\n </a>\n <ul class=\"fadeInDown\" *ngIf=\"user\">\n <li role=\"menuitem\">\n <a>\n {{ user?.displayName ?? user?.username }}\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n" }]
|
|
@@ -9,16 +9,28 @@ export class AMngTableviewRouteComponent {
|
|
|
9
9
|
}
|
|
10
10
|
createActionDescriptors() {
|
|
11
11
|
const actions = [];
|
|
12
|
-
actions.push(
|
|
13
|
-
actions.push(
|
|
14
|
-
actions.push(
|
|
15
|
-
actions.push(
|
|
12
|
+
actions.push(this.createActionDescriptorForDetails());
|
|
13
|
+
actions.push(this.createActionDescriptorForAdd());
|
|
14
|
+
actions.push(this.createActionDescriptorForEdit());
|
|
15
|
+
actions.push(this.createActionDescriptorForDelete());
|
|
16
16
|
return actions;
|
|
17
17
|
}
|
|
18
|
+
createActionDescriptorForDetails(descriptor = this.descriptor.viewEditor) {
|
|
19
|
+
return new ActionEditorDetailsDescriptor(descriptor);
|
|
20
|
+
}
|
|
21
|
+
createActionDescriptorForAdd(descriptor = this.descriptor.addEditor) {
|
|
22
|
+
return new ActionEditorAddDescriptor(descriptor);
|
|
23
|
+
}
|
|
24
|
+
createActionDescriptorForEdit(descriptor = this.descriptor.editEditor) {
|
|
25
|
+
return new ActionEditorEditDescriptor(descriptor);
|
|
26
|
+
}
|
|
27
|
+
createActionDescriptorForDelete(descriptor = this.descriptor.model) {
|
|
28
|
+
return new ActionDeleteDescriptor(descriptor);
|
|
29
|
+
}
|
|
18
30
|
}
|
|
19
31
|
AMngTableviewRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AMngTableviewRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
32
|
AMngTableviewRouteComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: AMngTableviewRouteComponent, ngImport: i0 });
|
|
21
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AMngTableviewRouteComponent, decorators: [{
|
|
22
34
|
type: Directive
|
|
23
35
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvcm91dGUvdGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR2hELE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFJN0IsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHOUIsTUFBTSxPQUFnQiwyQkFBMkI7SUFLdEMsUUFBUTtRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFNUyx1QkFBdUI7UUFDN0IsTUFBTSxPQUFPLEdBQStCLEVBQUUsQ0FBQztRQUMvQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUMsQ0FBQztRQUNuRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDLENBQUM7UUFDckQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVTLGdDQUFnQyxDQUFDLGFBQWtDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVTtRQUNuRyxPQUFPLElBQUksNkJBQTZCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVTLDRCQUE0QixDQUFDLGFBQWtDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztRQUM5RixPQUFPLElBQUkseUJBQXlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVTLDZCQUE2QixDQUFDLGFBQWtDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVTtRQUNoRyxPQUFPLElBQUksMEJBQTBCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVTLCtCQUErQixDQUFDLGFBQWlDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztRQUM1RixPQUFPLElBQUksc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7d0hBdENpQiwyQkFBMkI7NEdBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQURoRCxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7SVRhYmxldmlld0RhdGFQcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHtcbiAgICBBY3Rpb25EZWxldGVEZXNjcmlwdG9yLFxuICAgIEFjdGlvbkRlc2NyaXB0b3IsXG4gICAgQWN0aW9uRWRpdG9yQWRkRGVzY3JpcHRvcixcbiAgICBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvcixcbiAgICBBY3Rpb25FZGl0b3JFZGl0RGVzY3JpcHRvcixcbiAgICBFZGl0b3JEZXNjcmlwdG9yLFxuICAgIE1vZGVsRGVzY3JpcHRvcixcbiAgICBUYWJsZXZpZXdEZXNjcmlwdG9yXG59IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQU1uZ1RhYmxldmlld1JvdXRlQ29tcG9uZW50PFQsIFM+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgZGVzY3JpcHRvciE6IFRhYmxldmlld0Rlc2NyaXB0b3I8VD47XG4gICAgcHVibGljIGRhdGFQcm92aWRlciE6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8VCwgUz47XG4gICAgcHVibGljIGFjdGlvbnMhOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PjtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kZXNjcmlwdG9yID0gdGhpcy5jcmVhdGVUYWJsZXZpZXdEZXNjcmlwdG9yKCk7XG4gICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyID0gdGhpcy5jcmVhdGVUYWJsZXZpZXdEYXRhUHJvdmlkZXIoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9ycygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVUYWJsZXZpZXdEZXNjcmlwdG9yKCk6IFRhYmxldmlld0Rlc2NyaXB0b3I8VD47XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlVGFibGV2aWV3RGF0YVByb3ZpZGVyKCk6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8VCwgUz47XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvcnMoKTogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4ge1xuICAgICAgICBjb25zdCBhY3Rpb25zOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PiA9IFtdO1xuICAgICAgICBhY3Rpb25zLnB1c2godGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlscygpKTtcbiAgICAgICAgYWN0aW9ucy5wdXNoKHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckFkZCgpKTtcbiAgICAgICAgYWN0aW9ucy5wdXNoKHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckVkaXQoKSk7XG4gICAgICAgIGFjdGlvbnMucHVzaCh0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZWxldGUoKSk7XG4gICAgICAgIHJldHVybiBhY3Rpb25zO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlscyhkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLnZpZXdFZGl0b3IpOiBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgQWN0aW9uRWRpdG9yRGV0YWlsc0Rlc2NyaXB0b3IoZGVzY3JpcHRvcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JBZGQoZGVzY3JpcHRvcjogRWRpdG9yRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci5hZGRFZGl0b3IpOiBBY3Rpb25FZGl0b3JBZGREZXNjcmlwdG9yPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBBY3Rpb25FZGl0b3JBZGREZXNjcmlwdG9yKGRlc2NyaXB0b3IpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRWRpdChkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLmVkaXRFZGl0b3IpOiBBY3Rpb25FZGl0b3JFZGl0RGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3IoZGVzY3JpcHRvcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZWxldGUoZGVzY3JpcHRvcjogTW9kZWxEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLm1vZGVsKTogQWN0aW9uRGVsZXRlRGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgQWN0aW9uRGVsZXRlRGVzY3JpcHRvcihkZXNjcmlwdG9yKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
51
51
|
type: Input,
|
|
52
52
|
args: ['actions']
|
|
53
53
|
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvcm91dGUvdGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RlbXBsYXRlcy90YWJsZXZpZXctcm91dGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFNdkQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFNakYsTUFBTSxPQUFPLDBCQUFpQyxTQUFRLDJCQUFpQztJQUtuRixZQUFvQixLQUFxQjtRQUNyQyxLQUFLLEVBQUUsQ0FBQztRQURRLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBRXpDLENBQUM7SUFFUyx5QkFBeUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUM5QjtRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQXFCLENBQUM7UUFDNUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFO1lBQ25DLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7U0FDbkQ7UUFDRCxPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0lBQzFDLENBQUM7SUFFUywyQkFBMkI7UUFDakMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FDaEM7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFxQixDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRTtZQUNyQyxNQUFNLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztJQUM1QyxDQUFDO0lBRWtCLHVCQUF1QjtRQUN0QyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQzNCO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBcUIsQ0FBQztRQUM1RCxPQUFPLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQzVFLENBQUM7O3VIQXJDUSwwQkFBMEI7MkdBQTFCLDBCQUEwQixpUENadkMsbU1BS0E7MkZET2EsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNJLHFCQUFxQjtxR0FJSCxjQUFjO3NCQUF6QyxLQUFLO3VCQUFDLFlBQVk7Z0JBQ1csZ0JBQWdCO3NCQUE3QyxLQUFLO3VCQUFDLGNBQWM7Z0JBQ0ksV0FBVztzQkFBbkMsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtJVGFibGV2aWV3RGF0YVByb3ZpZGVyfSBmcm9tICcuLi8uLi8uLi9kYXRhLXByb3ZpZGVycyc7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3IsIFRhYmxldmlld0Rlc2NyaXB0b3J9IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7TW5nUm91dGVyRGF0YX0gZnJvbSAnLi4vLi4vLi4vcm91dGVyL21vZGVscyc7XG5pbXBvcnQge0FNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudH0gZnJvbSAnLi90YWJsZXZpZXctcm91dGUuYWJzdHJhY3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctdGFibGV2aWV3LXJvdXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4uLy4uLy4uLy4uLy4uL3RlbXBsYXRlcy90YWJsZXZpZXctcm91dGUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1uZ1RhYmxldmlld1JvdXRlQ29tcG9uZW50PFQsIFM+IGV4dGVuZHMgQU1uZ1RhYmxldmlld1JvdXRlQ29tcG9uZW50PFQsIFM+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ2Rlc2NyaXB0b3InKSBwdWJsaWMgZGVzY3JpcHRvckluaXQ/OiBUYWJsZXZpZXdEZXNjcmlwdG9yPFQ+O1xuICAgIEBJbnB1dCgnZGF0YVByb3ZpZGVyJykgcHVibGljIGRhdGFQcm92aWRlckluaXQ/OiBJVGFibGV2aWV3RGF0YVByb3ZpZGVyPFQsIFM+O1xuICAgIEBJbnB1dCgnYWN0aW9ucycpIHB1YmxpYyBhY3Rpb25zSW5pdD86IEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVGFibGV2aWV3RGVzY3JpcHRvcigpOiBUYWJsZXZpZXdEZXNjcmlwdG9yPFQ+IHtcbiAgICAgICAgaWYgKHRoaXMuZGVzY3JpcHRvckluaXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3JJbml0O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvdXRlRGF0YSA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YSBhcyBNbmdSb3V0ZXJEYXRhO1xuICAgICAgICBpZiAoIXJvdXRlRGF0YT8udGFibGV2aWV3Py5kZXNjcmlwdG9yKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignVGFibGV2aWV3IHJlcXVpcmVzIGEgZGVzY3JpcHRvci4nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm91dGVEYXRhLnRhYmxldmlldy5kZXNjcmlwdG9yO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVUYWJsZXZpZXdEYXRhUHJvdmlkZXIoKTogSVRhYmxldmlld0RhdGFQcm92aWRlcjxULCBTPiB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFQcm92aWRlckluaXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFQcm92aWRlckluaXQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm91dGVEYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhIGFzIE1uZ1JvdXRlckRhdGE7XG4gICAgICAgIGlmICghcm91dGVEYXRhPy50YWJsZXZpZXc/LmRhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1RhYmxldmlldyByZXF1aXJlcyBhIGRhdGEgcHJvdmlkZXIuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvdXRlRGF0YS50YWJsZXZpZXcuZGF0YVByb3ZpZGVyO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBjcmVhdGVBY3Rpb25EZXNjcmlwdG9ycygpOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PiB7XG4gICAgICAgIGlmICh0aGlzLmFjdGlvbnNJbml0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zSW5pdDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb3V0ZURhdGEgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEgYXMgTW5nUm91dGVyRGF0YTtcbiAgICAgICAgcmV0dXJuIHJvdXRlRGF0YT8udGFibGV2aWV3Py5hY3Rpb25zID8/IHN1cGVyLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JzKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgIDxtbmctdGFibGV2aWV3IFtkZXNjcmlwdG9yXT1cImRlc2NyaXB0b3JcIiBbZGF0YVByb3ZpZGVyXT1cImRhdGFQcm92aWRlclwiIFthY3Rpb25zXT1cImFjdGlvbnNcIj48L21uZy10YWJsZXZpZXc+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -61,39 +61,25 @@ export class MngTableColumnFilterComponent {
|
|
|
61
61
|
}
|
|
62
62
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
63
63
|
autocompleteFilter(value, filterCallback) {
|
|
64
|
-
|
|
65
|
-
let filterValue = value;
|
|
66
|
-
if (this.lookupDescriptor.itemsValueProperty) {
|
|
67
|
-
filterValue = filterValue[this.lookupDescriptor.itemsValueProperty];
|
|
68
|
-
}
|
|
69
|
-
filterCallback(filterValue);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
filterCallback(value);
|
|
73
|
-
}
|
|
64
|
+
filterCallback(value);
|
|
74
65
|
}
|
|
75
66
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
76
67
|
dropdownFilter(value, filterCallback) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
filterCallback(filterValue);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
filterCallback(value);
|
|
86
|
-
}
|
|
68
|
+
filterCallback(value);
|
|
69
|
+
}
|
|
70
|
+
toLookupFilterValue(value) {
|
|
71
|
+
console.log(this.descriptor.property, value);
|
|
72
|
+
return this.lookupDescriptor.dataKeyProperty && value ? { [this.lookupDescriptor.dataKeyProperty]: value } : value;
|
|
87
73
|
}
|
|
88
74
|
}
|
|
89
75
|
MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, deps: [{ token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
-
MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [
|
|
76
|
+
MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", components: [{ type: i2.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { type: i3.MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["valueChange"] }, { type: i4.MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i7.TranslatePipe } });
|
|
91
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
|
|
92
78
|
type: Component,
|
|
93
|
-
args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [
|
|
79
|
+
args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
|
|
94
80
|
}], ctorParameters: function () { return [{ type: i1.PrimeNGConfig }]; }, propDecorators: { descriptor: [{
|
|
95
81
|
type: Input
|
|
96
82
|
}], display: [{
|
|
97
83
|
type: Input
|
|
98
84
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsZUFBZSxFQUE0QixNQUFNLGFBQWEsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7OztBQUVsRzs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sNkJBQTZCO0lBZ0J0QyxZQUFvQixXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQWY5Qix1QkFBa0IsR0FBMEMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUMzRywyQkFBc0IsR0FBMEMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztRQVE1SCxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ25CLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUMxQiwwQkFBcUIsR0FBVyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQ3ZELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG9CQUFlLEdBQXdCLElBQUksQ0FBQztJQUVGLENBQUM7SUFFbEQsUUFBUTtRQUNKLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDaEMsS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTztnQkFD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QVEsS0FBSyxDQUFDO1lBQzdCLElBQUksSUFBSSxDQUFDLGdCQUFpQixDQUFDLGtCQUFrQixFQUFFO2dCQUMzQyxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3hFO1lBQ0QsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDSCxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDOzswSEFoRlEsNkJBQTZCOzhHQUE3Qiw2QkFBNkIseUhDZDFDLDR3RUE0Q0E7MkZEOUJhLDZCQUE2QjtrQkFKekMsU0FBUzsrQkFDSSx5QkFBeUI7b0dBTzFCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0ZpbHRlck1hdGNoTW9kZSwgUHJpbWVOR0NvbmZpZywgU2VsZWN0SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQge0ZpbHRlckRlc2NyaXB0b3IsIEZpbHRlckxvb2t1cERlc2NyaXB0b3IsIFRhYmxlRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuXG4vKipcbiAqIENhbm5vdCBiZSBvbiBwdXNoIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kgYmVjYXVzZSBvZiBmaWx0ZXIgdXBkYXRlcyB0cmlnZ2VyZWQgZnJvbSByb3V0ZSB3aGljaCBjYXVzZXMgdG8gZm9yY2UgdXBkYXRlIHZhbHVlcyBpbiBmb3JjZSBtZXRhZGF0YVxuICogYW5kIHRoZXNlIG11c3QgYmUgcHJvcGFnYXRlZCB0aHJvdWdoIHRvIHRoaXMgY29tcG9uZW50IGFuZCBiZXlvbmQgdG8gcHJpbWVORy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctdGFibGUtY29sdW1uLWZpbHRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1uZ1RhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9va3VwVHlwZURyb3Bkb3duOiBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yLkxvb2t1cFR5cGVFbnVtID0gRmlsdGVyTG9va3VwRGVzY3JpcHRvci5Mb29rdXBUeXBlRW51bS5Ecm9wZG93bjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9va3VwVHlwZUF1dG9jb21wbGV0ZTogRmlsdGVyTG9va3VwRGVzY3JpcHRvci5Mb29rdXBUeXBlRW51bSA9IEZpbHRlckxvb2t1cERlc2NyaXB0b3IuTG9va3VwVHlwZUVudW0uQXV0b2NvbXBsZXRlO1xuXG4gICAgQElucHV0KCkgZGVzY3JpcHRvciE6IEZpbHRlckRlc2NyaXB0b3I8VD47XG4gICAgQElucHV0KCkgZGlzcGxheSE6IFRhYmxlRGVzY3JpcHRvci5GaWx0ZXJEaXNwbGF5RW51bTtcblxuICAgIHB1YmxpYyBsb29rdXBEZXNjcmlwdG9yPzogRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxUPjtcblxuICAgIHB1YmxpYyBwcmltZUZpZWxkITogc3RyaW5nO1xuICAgIHB1YmxpYyBwcmltZVR5cGUgPSAndGV4dCc7XG4gICAgcHVibGljIHByaW1lU2hvd01hdGNoTW9kZSA9IHRydWU7XG4gICAgcHVibGljIHByaW1lRGVmYXVsdE1hdGNoTW9kZTogc3RyaW5nID0gRmlsdGVyTWF0Y2hNb2RlLkVRVUFMUztcbiAgICBwdWJsaWMgcHJpbWVEaXNwbGF5ID0gJ3Jvdyc7XG4gICAgcHVibGljIHByaW1lTWF0Y2hNb2RlczogU2VsZWN0SXRlbVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByaW1lQ29uZmlnOiBQcmltZU5HQ29uZmlnKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5kZXNjcmlwdG9yLmZpbHRlclR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyRGVzY3JpcHRvci5UeXBlRW51bS5Cb29sZWFuOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ2Jvb2xlYW4nO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVTaG93TWF0Y2hNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpbHRlckRlc2NyaXB0b3IuVHlwZUVudW0uTnVtYmVyOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ251bWVyaWMnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJEZXNjcmlwdG9yLlR5cGVFbnVtLkRhdGU6XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVR5cGUgPSAnZGF0ZSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpbHRlckRlc2NyaXB0b3IuVHlwZUVudW0uTG9va3VwOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ2xvb2t1cCc7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVNob3dNYXRjaE1vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvb2t1cERlc2NyaXB0b3IgPSB0aGlzLmRlc2NyaXB0b3IgYXMgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxUPjtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lRmllbGQgPSBgJHt0aGlzLmRlc2NyaXB0b3IucHJvcGVydHl9JHt0aGlzLmxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5ID8gYC4ke3RoaXMubG9va3VwRGVzY3JpcHRvci5pdGVtc1ZhbHVlUHJvcGVydHl9YCA6ICcnfWA7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZU1hdGNoTW9kZXMgPSBbe3ZhbHVlOiBGaWx0ZXJEZXNjcmlwdG9yLk1hdGNoTW9kZUVudW0uRXF1YWxzLCBsYWJlbDogdGhpcy5wcmltZUNvbmZpZy5nZXRUcmFuc2xhdGlvbihGaWx0ZXJEZXNjcmlwdG9yLk1hdGNoTW9kZUVudW0uRXF1YWxzKX1dO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJEZXNjcmlwdG9yLlR5cGVFbnVtLlN0cmluZzpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICd0ZXh0JztcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lRGVmYXVsdE1hdGNoTW9kZSA9IEZpbHRlck1hdGNoTW9kZS5DT05UQUlOUztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlcykge1xuICAgICAgICAgICAgdGhpcy5wcmltZU1hdGNoTW9kZXMgPSB0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlcy5tYXAobW0gPT4gPFNlbGVjdEl0ZW0+e3ZhbHVlOiBtbSwgbGFiZWw6IHRoaXMucHJpbWVDb25maWcuZ2V0VHJhbnNsYXRpb24obW0pfSk7XG4gICAgICAgICAgICB0aGlzLnByaW1lRGVmYXVsdE1hdGNoTW9kZSA9IHRoaXMuZGVzY3JpcHRvci5tYXRjaE1vZGVzWzBdO1xuICAgICAgICAgICAgdGhpcy5wcmltZVNob3dNYXRjaE1vZGUgPSB0aGlzLnByaW1lTWF0Y2hNb2Rlcz8ubGVuZ3RoID4gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodGhpcy5kaXNwbGF5KSB7XG4gICAgICAgICAgICBjYXNlIFRhYmxlRGVzY3JpcHRvci5GaWx0ZXJEaXNwbGF5RW51bS5NZW51OlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVEaXNwbGF5ID0gJ21lbnUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBhdXRvY29tcGxldGVGaWx0ZXIodmFsdWU6IFQsIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJWYWx1ZTogYW55ID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodGhpcy5sb29rdXBEZXNjcmlwdG9yIS5pdGVtc1ZhbHVlUHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJWYWx1ZSA9IGZpbHRlclZhbHVlW3RoaXMubG9va3VwRGVzY3JpcHRvciEuaXRlbXNWYWx1ZVByb3BlcnR5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbHRlckNhbGxiYWNrKGZpbHRlclZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlckNhbGxiYWNrKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgZHJvcGRvd25GaWx0ZXIodmFsdWU6IFQsIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJWYWx1ZTogYW55ID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodGhpcy5sb29rdXBEZXNjcmlwdG9yIS5pdGVtc1ZhbHVlUHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJWYWx1ZSA9IGZpbHRlclZhbHVlW3RoaXMubG9va3VwRGVzY3JpcHRvciEuaXRlbXNWYWx1ZVByb3BlcnR5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbHRlckNhbGxiYWNrKGZpbHRlclZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlckNhbGxiYWNrKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxwLWNvbHVtbkZpbHRlclxuICAgIGNsYXNzPVwibWwtYXV0b1wiXG4gICAgW3R5cGVdPVwicHJpbWVUeXBlXCJcbiAgICBtYXRjaE1vZGU9XCJlcXVhbHNcIlxuICAgIFtmaWVsZF09XCJkZXNjcmlwdG9yLnByb3BlcnR5XCJcbiAgICBbZGlzcGxheV09XCJwcmltZURpc3BsYXlcIlxuICAgIFttYXRjaE1vZGVdPVwicHJpbWVEZWZhdWx0TWF0Y2hNb2RlXCJcbiAgICBbbWF0Y2hNb2RlT3B0aW9uc109XCIkYW55KHByaW1lTWF0Y2hNb2RlcylcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJkZXNjcmlwdG9yLnBsYWNlaG9sZGVyID8/ICdtbmdUYWJsZS50eXBlVG9GaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICBbc2hvd01hdGNoTW9kZXNdPVwidHJ1ZVwiXG4gICAgW3Nob3dPcGVyYXRvcl09XCJmYWxzZVwiXG4gICAgW3Nob3dBZGRCdXR0b25dPVwiZmFsc2VcIlxuICAgIFtoaWRlT25DbGVhcl09XCJ0cnVlXCI+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibG9va3VwRGVzY3JpcHRvclwiIHBUZW1wbGF0ZT1cImZpbHRlclwiIGxldC12YWx1ZSBsZXQtZmlsdGVyQ2FsbGJhY2s9XCJmaWx0ZXJDYWxsYmFja1wiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJsb29rdXBEZXNjcmlwdG9yLmxvb2t1cFR5cGVcIj5cbiAgICAgICAgICAgIDxtbmctYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cImxvb2t1cFR5cGVBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cImxvb2t1cERlc2NyaXB0b3IuZGF0YVByb3ZpZGVyXCJcbiAgICAgICAgICAgICAgICBbZGF0YUtleVByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuZGF0YUtleVByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNMYWJlbFByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNMYWJlbFByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwibG9va3VwRGVzY3JpcHRvci5tdWx0aXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnNlYXJjaFRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJsb29rdXBEZXNjcmlwdG9yLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duQ2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuZHJvcGRvd25DbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJhdXRvY29tcGxldGVGaWx0ZXIoJGV2ZW50LCBmaWx0ZXJDYWxsYmFjaylcIj5cbiAgICAgICAgICAgIDwvbW5nLWF1dG9jb21wbGV0ZT5cbiAgICAgICAgICAgIDxtbmctZHJvcGRvd25cbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwibG9va3VwVHlwZURyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2RhdGFQcm92aWRlcl09XCJsb29rdXBEZXNjcmlwdG9yLmRhdGFQcm92aWRlclwiXG4gICAgICAgICAgICAgICAgW2RhdGFLZXlQcm9wZXJ0eV09XCJsb29rdXBEZXNjcmlwdG9yLmRhdGFLZXlQcm9wZXJ0eVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zTGFiZWxQcm9wZXJ0eV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zTGFiZWxQcm9wZXJ0eVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zTGFiZWxUcmFuc2xhdGVdPVwibG9va3VwRGVzY3JpcHRvci5pdGVtc0xhYmVsVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwibG9va3VwRGVzY3JpcHRvci5tdWx0aXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnNlbGVjdFRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJsb29rdXBEZXNjcmlwdG9yLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duQ2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuZHJvcGRvd25DbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImRyb3Bkb3duRmlsdGVyKCRldmVudCwgZmlsdGVyQ2FsbGJhY2spXCI+XG4gICAgICAgICAgICA8L21uZy1kcm9wZG93bj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcC1jb2x1bW5GaWx0ZXI+XG4iXX0=
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsZUFBZSxFQUE0QixNQUFNLGFBQWEsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7OztBQUVsRzs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sNkJBQTZCO0lBZ0J0QyxZQUFvQixXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQWY5Qix1QkFBa0IsR0FBMEMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUMzRywyQkFBc0IsR0FBMEMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztRQVE1SCxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ25CLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUMxQiwwQkFBcUIsR0FBVyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQ3ZELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG9CQUFlLEdBQXdCLElBQUksQ0FBQztJQUVGLENBQUM7SUFFbEQsUUFBUTtRQUNKLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDaEMsS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTztnQkFD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QUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN2SCxDQUFDOzswSEFyRVEsNkJBQTZCOzhHQUE3Qiw2QkFBNkIseUhDZDFDLDBrRkFnREE7MkZEbENhLDZCQUE2QjtrQkFKekMsU0FBUzsrQkFDSSx5QkFBeUI7b0dBTzFCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0ZpbHRlck1hdGNoTW9kZSwgUHJpbWVOR0NvbmZpZywgU2VsZWN0SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQge0ZpbHRlckRlc2NyaXB0b3IsIEZpbHRlckxvb2t1cERlc2NyaXB0b3IsIFRhYmxlRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuXG4vKipcbiAqIENhbm5vdCBiZSBvbiBwdXNoIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kgYmVjYXVzZSBvZiBmaWx0ZXIgdXBkYXRlcyB0cmlnZ2VyZWQgZnJvbSByb3V0ZSB3aGljaCBjYXVzZXMgdG8gZm9yY2UgdXBkYXRlIHZhbHVlcyBpbiBmb3JjZSBtZXRhZGF0YVxuICogYW5kIHRoZXNlIG11c3QgYmUgcHJvcGFnYXRlZCB0aHJvdWdoIHRvIHRoaXMgY29tcG9uZW50IGFuZCBiZXlvbmQgdG8gcHJpbWVORy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctdGFibGUtY29sdW1uLWZpbHRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1uZ1RhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9va3VwVHlwZURyb3Bkb3duOiBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yLkxvb2t1cFR5cGVFbnVtID0gRmlsdGVyTG9va3VwRGVzY3JpcHRvci5Mb29rdXBUeXBlRW51bS5Ecm9wZG93bjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9va3VwVHlwZUF1dG9jb21wbGV0ZTogRmlsdGVyTG9va3VwRGVzY3JpcHRvci5Mb29rdXBUeXBlRW51bSA9IEZpbHRlckxvb2t1cERlc2NyaXB0b3IuTG9va3VwVHlwZUVudW0uQXV0b2NvbXBsZXRlO1xuXG4gICAgQElucHV0KCkgZGVzY3JpcHRvciE6IEZpbHRlckRlc2NyaXB0b3I8VD47XG4gICAgQElucHV0KCkgZGlzcGxheSE6IFRhYmxlRGVzY3JpcHRvci5GaWx0ZXJEaXNwbGF5RW51bTtcblxuICAgIHB1YmxpYyBsb29rdXBEZXNjcmlwdG9yPzogRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxUPjtcblxuICAgIHB1YmxpYyBwcmltZUZpZWxkITogc3RyaW5nO1xuICAgIHB1YmxpYyBwcmltZVR5cGUgPSAndGV4dCc7XG4gICAgcHVibGljIHByaW1lU2hvd01hdGNoTW9kZSA9IHRydWU7XG4gICAgcHVibGljIHByaW1lRGVmYXVsdE1hdGNoTW9kZTogc3RyaW5nID0gRmlsdGVyTWF0Y2hNb2RlLkVRVUFMUztcbiAgICBwdWJsaWMgcHJpbWVEaXNwbGF5ID0gJ3Jvdyc7XG4gICAgcHVibGljIHByaW1lTWF0Y2hNb2RlczogU2VsZWN0SXRlbVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByaW1lQ29uZmlnOiBQcmltZU5HQ29uZmlnKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5kZXNjcmlwdG9yLmZpbHRlclR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyRGVzY3JpcHRvci5UeXBlRW51bS5Cb29sZWFuOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ2Jvb2xlYW4nO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVTaG93TWF0Y2hNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpbHRlckRlc2NyaXB0b3IuVHlwZUVudW0uTnVtYmVyOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ251bWVyaWMnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJEZXNjcmlwdG9yLlR5cGVFbnVtLkRhdGU6XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVR5cGUgPSAnZGF0ZSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpbHRlckRlc2NyaXB0b3IuVHlwZUVudW0uTG9va3VwOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ2xvb2t1cCc7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVNob3dNYXRjaE1vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvb2t1cERlc2NyaXB0b3IgPSB0aGlzLmRlc2NyaXB0b3IgYXMgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxUPjtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lRmllbGQgPSBgJHt0aGlzLmRlc2NyaXB0b3IucHJvcGVydHl9JHt0aGlzLmxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5ID8gYC4ke3RoaXMubG9va3VwRGVzY3JpcHRvci5pdGVtc1ZhbHVlUHJvcGVydHl9YCA6ICcnfWA7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZU1hdGNoTW9kZXMgPSBbe3ZhbHVlOiBGaWx0ZXJEZXNjcmlwdG9yLk1hdGNoTW9kZUVudW0uRXF1YWxzLCBsYWJlbDogdGhpcy5wcmltZUNvbmZpZy5nZXRUcmFuc2xhdGlvbihGaWx0ZXJEZXNjcmlwdG9yLk1hdGNoTW9kZUVudW0uRXF1YWxzKX1dO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJEZXNjcmlwdG9yLlR5cGVFbnVtLlN0cmluZzpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICd0ZXh0JztcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lRGVmYXVsdE1hdGNoTW9kZSA9IEZpbHRlck1hdGNoTW9kZS5DT05UQUlOUztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlcykge1xuICAgICAgICAgICAgdGhpcy5wcmltZU1hdGNoTW9kZXMgPSB0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlcy5tYXAobW0gPT4gPFNlbGVjdEl0ZW0+e3ZhbHVlOiBtbSwgbGFiZWw6IHRoaXMucHJpbWVDb25maWcuZ2V0VHJhbnNsYXRpb24obW0pfSk7XG4gICAgICAgICAgICB0aGlzLnByaW1lRGVmYXVsdE1hdGNoTW9kZSA9IHRoaXMuZGVzY3JpcHRvci5tYXRjaE1vZGVzWzBdO1xuICAgICAgICAgICAgdGhpcy5wcmltZVNob3dNYXRjaE1vZGUgPSB0aGlzLnByaW1lTWF0Y2hNb2Rlcz8ubGVuZ3RoID4gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodGhpcy5kaXNwbGF5KSB7XG4gICAgICAgICAgICBjYXNlIFRhYmxlRGVzY3JpcHRvci5GaWx0ZXJEaXNwbGF5RW51bS5NZW51OlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVEaXNwbGF5ID0gJ21lbnUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBhdXRvY29tcGxldGVGaWx0ZXIodmFsdWU6IFQsIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICBmaWx0ZXJDYWxsYmFjayh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBkcm9wZG93bkZpbHRlcih2YWx1ZTogVCwgZmlsdGVyQ2FsbGJhY2s6IEZ1bmN0aW9uKSB7XG4gICAgICAgIGZpbHRlckNhbGxiYWNrKHZhbHVlKTtcbiAgICB9XG5cbiAgICB0b0xvb2t1cEZpbHRlclZhbHVlKHZhbHVlPzogYW55KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuZGVzY3JpcHRvci5wcm9wZXJ0eSwgdmFsdWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5sb29rdXBEZXNjcmlwdG9yIS5kYXRhS2V5UHJvcGVydHkgJiYgdmFsdWUgPyB7W3RoaXMubG9va3VwRGVzY3JpcHRvciEuZGF0YUtleVByb3BlcnR5XTogdmFsdWV9IDogdmFsdWU7XG4gICAgfVxufVxuIiwiPHAtY29sdW1uRmlsdGVyXG4gICAgY2xhc3M9XCJtbC1hdXRvXCJcbiAgICBbdHlwZV09XCJwcmltZVR5cGVcIlxuICAgIG1hdGNoTW9kZT1cImVxdWFsc1wiXG4gICAgW2ZpZWxkXT1cImRlc2NyaXB0b3IucHJvcGVydHlcIlxuICAgIFtkaXNwbGF5XT1cInByaW1lRGlzcGxheVwiXG4gICAgW21hdGNoTW9kZV09XCJwcmltZURlZmF1bHRNYXRjaE1vZGVcIlxuICAgIFttYXRjaE1vZGVPcHRpb25zXT1cIiRhbnkocHJpbWVNYXRjaE1vZGVzKVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnR5cGVUb0ZpbHRlcicgfCB0cmFuc2xhdGVcIlxuICAgIFtzaG93TWF0Y2hNb2Rlc109XCJ0cnVlXCJcbiAgICBbc2hvd09wZXJhdG9yXT1cImZhbHNlXCJcbiAgICBbc2hvd0FkZEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgW2hpZGVPbkNsZWFyXT1cInRydWVcIj5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJsb29rdXBEZXNjcmlwdG9yXCIgcFRlbXBsYXRlPVwiZmlsdGVyXCIgbGV0LXZhbHVlIGxldC1maWx0ZXJDYWxsYmFjaz1cImZpbHRlckNhbGxiYWNrXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImxvb2t1cERlc2NyaXB0b3IubG9va3VwVHlwZVwiPlxuICAgICAgICAgICAgPG1uZy1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwibG9va3VwVHlwZUF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgIFtkYXRhUHJvdmlkZXJdPVwibG9va3VwRGVzY3JpcHRvci5kYXRhUHJvdmlkZXJcIlxuICAgICAgICAgICAgICAgIFtkYXRhS2V5UHJvcGVydHldPVwibG9va3VwRGVzY3JpcHRvci5kYXRhS2V5UHJvcGVydHlcIlxuICAgICAgICAgICAgICAgIFtpdGVtc1ZhbHVlUHJvcGVydHldPVwibG9va3VwRGVzY3JpcHRvci5pdGVtc1ZhbHVlUHJvcGVydHlcIlxuICAgICAgICAgICAgICAgIFtpdGVtc0xhYmVsUHJvcGVydHldPVwibG9va3VwRGVzY3JpcHRvci5pdGVtc0xhYmVsUHJvcGVydHlcIlxuICAgICAgICAgICAgICAgIFtpdGVtc0xhYmVsVHJhbnNsYXRlXT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNMYWJlbFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cImxvb2t1cERlc2NyaXB0b3IubXVsdGlzZWxlY3RcIlxuICAgICAgICAgICAgICAgIFtvcGVuT25Gb2N1c109XCJsb29rdXBEZXNjcmlwdG9yLmF1dG9jb21wbGV0ZU9wZW5PbkZvY3VzXCJcbiAgICAgICAgICAgICAgICBbaW5saW5lU2VhcmNoXT1cImxvb2t1cERlc2NyaXB0b3IuYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGVzY3JpcHRvci5wbGFjZWhvbGRlciA/PyAnbW5nVGFibGUuc2VhcmNoVG9GaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuY2xhc3NOYW1lXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25DbGFzc05hbWVdPVwibG9va3VwRGVzY3JpcHRvci5kcm9wZG93bkNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImF1dG9jb21wbGV0ZUZpbHRlcigkZXZlbnQsIGZpbHRlckNhbGxiYWNrKVwiPlxuICAgICAgICAgICAgPC9tbmctYXV0b2NvbXBsZXRlPlxuICAgICAgICAgICAgPG1uZy1kcm9wZG93blxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJsb29rdXBUeXBlRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cImxvb2t1cERlc2NyaXB0b3IuZGF0YVByb3ZpZGVyXCJcbiAgICAgICAgICAgICAgICBbaXRlbXNWYWx1ZVByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNMYWJlbFByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNMYWJlbFByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNMYWJlbFRyYW5zbGF0ZV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zTGFiZWxUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJsb29rdXBEZXNjcmlwdG9yLm11bHRpc2VsZWN0XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGVzY3JpcHRvci5wbGFjZWhvbGRlciA/PyAnbW5nVGFibGUuc2VsZWN0VG9GaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuY2xhc3NOYW1lXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25DbGFzc05hbWVdPVwibG9va3VwRGVzY3JpcHRvci5kcm9wZG93bkNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiZHJvcGRvd25GaWx0ZXIoJGV2ZW50LCBmaWx0ZXJDYWxsYmFjaylcIj5cbiAgICAgICAgICAgIDwvbW5nLWRyb3Bkb3duPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9wLWNvbHVtbkZpbHRlcj5cbiJdfQ==
|
|
@@ -2,10 +2,11 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
|
2
2
|
import { ColumnDescriptor } from '../../../../descriptors';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "../../../../
|
|
6
|
-
import * as i3 from "../../../../pipes/
|
|
7
|
-
import * as i4 from "
|
|
8
|
-
import * as i5 from "
|
|
5
|
+
import * as i2 from "../../../../directives/component.directive";
|
|
6
|
+
import * as i3 from "../../../../pipes/json-path.pipe";
|
|
7
|
+
import * as i4 from "../../../../pipes/boolean.pipe";
|
|
8
|
+
import * as i5 from "@ngx-translate/core";
|
|
9
|
+
import * as i6 from "../../../../pipes/enum.pipe";
|
|
9
10
|
export class MngTableColumnValueComponent {
|
|
10
11
|
constructor() {
|
|
11
12
|
this.columnTypeString = ColumnDescriptor.TypeEnum.String;
|
|
@@ -13,16 +14,29 @@ export class MngTableColumnValueComponent {
|
|
|
13
14
|
this.columnTypeBoolean = ColumnDescriptor.TypeEnum.Boolean;
|
|
14
15
|
this.columnTypeDate = ColumnDescriptor.TypeEnum.Date;
|
|
15
16
|
this.columnTypeEnum = ColumnDescriptor.TypeEnum.Enum;
|
|
17
|
+
this.columnTypeCustom = ColumnDescriptor.TypeEnum.Custom;
|
|
18
|
+
this.jsonPath = '$';
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
if (this.descriptor.jsonPath) {
|
|
22
|
+
this.jsonPath = this.descriptor.jsonPath;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.jsonPath = `$.${this.descriptor.property}`;
|
|
26
|
+
if (this.descriptor.objectModelType) {
|
|
27
|
+
this.jsonPath = `$.${this.descriptor.property}.${this.descriptor.objectTitleProperty}`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
16
30
|
}
|
|
17
31
|
}
|
|
18
32
|
MngTableColumnValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
-
MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{
|
|
33
|
+
MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ item | jsonPath: jsonPath }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ item | jsonPath: jsonPath | number: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ item | jsonPath: jsonPath | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n <ng-container *ngIf=\"descriptor.booleanAsIcon; else booleanText\"></ng-container>\n <i [class]=\"item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo:true\"></i>\n <ng-template #booleanText>\n {{ item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo | translate }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeEnum\">\n {{ item | jsonPath: jsonPath | enum: descriptor.enumType:descriptor.enumTitlePath:descriptor.enumNameAsValue | translate }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCustom\">\n <ng-container\n [mngComponent]=\"descriptor.customComponentType!\"\n [inputs]=\"{\n value: item | jsonPath: jsonPath,\n item: item,\n descriptor: descriptor\n }\"></ng-container>\n </ng-container>\n</ng-container>\n", directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }], pipes: { "jsonPath": i3.JsonPathPipe, "number": i1.DecimalPipe, "date": i1.DatePipe, "boolean": i4.MngBooleanPipe, "translate": i5.TranslatePipe, "enum": i6.MngEnumPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
20
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnValueComponent, decorators: [{
|
|
21
35
|
type: Component,
|
|
22
|
-
args: [{ selector: 'mng-table-column-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{
|
|
36
|
+
args: [{ selector: 'mng-table-column-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ item | jsonPath: jsonPath }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ item | jsonPath: jsonPath | number: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ item | jsonPath: jsonPath | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n <ng-container *ngIf=\"descriptor.booleanAsIcon; else booleanText\"></ng-container>\n <i [class]=\"item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo:true\"></i>\n <ng-template #booleanText>\n {{ item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo | translate }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeEnum\">\n {{ item | jsonPath: jsonPath | enum: descriptor.enumType:descriptor.enumTitlePath:descriptor.enumNameAsValue | translate }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCustom\">\n <ng-container\n [mngComponent]=\"descriptor.customComponentType!\"\n [inputs]=\"{\n value: item | jsonPath: jsonPath,\n item: item,\n descriptor: descriptor\n }\"></ng-container>\n </ng-container>\n</ng-container>\n" }]
|
|
23
37
|
}], propDecorators: { descriptor: [{
|
|
24
38
|
type: Input
|
|
25
39
|
}], item: [{
|
|
26
40
|
type: Input
|
|
27
41
|
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvdGFibGUvY29sdW1uLXZhbHVlL2NvbHVtbi12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi12YWx1ZS9jb2x1bW4tdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBT3pELE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFNb0IscUJBQWdCLEdBQThCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDL0UscUJBQWdCLEdBQThCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDL0Usc0JBQWlCLEdBQThCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDakYsbUJBQWMsR0FBOEIsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMzRSxtQkFBYyxHQUE4QixnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzNFLHFCQUFnQixHQUE4QixnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBS3hGLGFBQVEsR0FBRyxHQUFHLENBQUM7S0FZekI7SUFWVSxRQUFRO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVDO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzFGO1NBQ0o7SUFDTCxDQUFDOzt5SEF0QlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsa0hDVHpDLG85Q0E4QkE7MkZEckJhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBRWpCLHVCQUF1QixDQUFDLE1BQU07OEJBVXRDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDb2x1bW5EZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9kZXNjcmlwdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXRhYmxlLWNvbHVtbi12YWx1ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi12YWx1ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nVGFibGVDb2x1bW5WYWx1ZUNvbXBvbmVudDxULCBUVD4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyByZWFkb25seSBjb2x1bW5UeXBlU3RyaW5nOiBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtID0gQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bS5TdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVOdW1iZXI6IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0gPSBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtLk51bWJlcjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uVHlwZUJvb2xlYW46IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0gPSBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtLkJvb2xlYW47XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVEYXRlOiBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtID0gQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bS5EYXRlO1xuICAgIHB1YmxpYyByZWFkb25seSBjb2x1bW5UeXBlRW51bTogQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bSA9IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0uRW51bTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uVHlwZUN1c3RvbTogQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bSA9IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0uQ3VzdG9tO1xuXG4gICAgQElucHV0KCkgZGVzY3JpcHRvciE6IENvbHVtbkRlc2NyaXB0b3I8VCwgVFQ+O1xuICAgIEBJbnB1dCgpIGl0ZW0hOiBhbnk7XG5cbiAgICBwdWJsaWMganNvblBhdGggPSAnJCc7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IuanNvblBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuanNvblBhdGggPSB0aGlzLmRlc2NyaXB0b3IuanNvblBhdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmpzb25QYXRoID0gYCQuJHt0aGlzLmRlc2NyaXB0b3IucHJvcGVydHl9YDtcbiAgICAgICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3Iub2JqZWN0TW9kZWxUeXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5qc29uUGF0aCA9IGAkLiR7dGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5fS4ke3RoaXMuZGVzY3JpcHRvci5vYmplY3RUaXRsZVByb3BlcnR5fWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkZXNjcmlwdG9yLmNvbHVtblR5cGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlU3RyaW5nXCI+XG4gICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlTnVtYmVyXCI+XG4gICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfCBudW1iZXI6IGRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtblR5cGVEYXRlXCI+XG4gICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfCBkYXRlOiBkZXNjcmlwdG9yLmRpc3BsYXlGb3JtYXQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlQm9vbGVhblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGVzY3JpcHRvci5ib29sZWFuQXNJY29uOyBlbHNlIGJvb2xlYW5UZXh0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxpIFtjbGFzc109XCJpdGVtIHwganNvblBhdGg6IGpzb25QYXRoIHwgYm9vbGVhbjogZGVzY3JpcHRvci5ib29sZWFuWWVzOmRlc2NyaXB0b3IuYm9vbGVhbk5vOnRydWVcIj48L2k+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjYm9vbGVhblRleHQ+XG4gICAgICAgICAgICB7eyBpdGVtIHwganNvblBhdGg6IGpzb25QYXRoIHwgYm9vbGVhbjogZGVzY3JpcHRvci5ib29sZWFuWWVzOmRlc2NyaXB0b3IuYm9vbGVhbk5vIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uVHlwZUVudW1cIj5cbiAgICAgICAge3sgaXRlbSB8IGpzb25QYXRoOiBqc29uUGF0aCB8IGVudW06IGRlc2NyaXB0b3IuZW51bVR5cGU6ZGVzY3JpcHRvci5lbnVtVGl0bGVQYXRoOmRlc2NyaXB0b3IuZW51bU5hbWVBc1ZhbHVlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uVHlwZUN1c3RvbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbW5nQ29tcG9uZW50XT1cImRlc2NyaXB0b3IuY3VzdG9tQ29tcG9uZW50VHlwZSFcIlxuICAgICAgICAgICAgW2lucHV0c109XCJ7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGgsXG4gICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yXG4gICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|