@smartbit4all/ng-client 6.0.35 → 6.0.37

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.
@@ -1,6 +1,7 @@
1
1
  import { Component, Inject, ViewChild, } from '@angular/core';
2
2
  import { GridUiActionType, SmartLayoutDef } from '../../smart-grid/projects';
3
3
  import { SmartComponent } from '../../smart-client/projects';
4
+ import { SmartComponentLayoutComponent, SmartComponentLayoutUtility, } from '../../smart-component-layout/projects';
4
5
  import { SmartFilterEditorService } from '../../smart-filter-editor/smart-filter-editor.service';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../../smart-filter-editor/smart-filter-editor.service";
@@ -57,17 +58,19 @@ export class SearchPageComponent extends SmartComponent {
57
58
  options: {
58
59
  rowUiActionType: GridUiActionType.POPUP_MENU,
59
60
  },
61
+ layoutComponent: SmartComponentLayoutComponent,
62
+ layoutUtility: SmartComponentLayoutUtility,
60
63
  };
61
64
  }
62
65
  isShowNoResultText() {
63
66
  return this.data?.noResultText !== undefined && this.data?.noResultText !== null;
64
67
  }
65
68
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SearchPageComponent, deps: [{ token: i0.Injector }, { token: i1.SmartFilterEditorService }, { token: 'searchPageName' }, { token: 'searchComponentName' }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SearchPageComponent, selector: "search-page", providers: [SmartFilterEditorService], viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"searchPageContainer\" [ngClass]=\"data?.cssClassOfPage\">\r\n <h1 class=\"search-page-title\"> {{ data?.pageTitle }} </h1>\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n </div> -->\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n @if (filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n <smart-filter-group-params [service]=\"filterService\"></smart-filter-group-params>\r\n <smart-filter-expression-editor [service]=\"filterService\"></smart-filter-expression-editor>\r\n </div>\r\n }\r\n <smart-component-layout\r\n *ngIf=\"layout\"\r\n [smartComponentLayout]=\"layout\"\r\n [parentSmartComponent]=\"this\"\r\n ></smart-component-layout>\r\n <div class=\"gridContainer\">\r\n <h2 *ngIf=\"isShowNoResultText()\" class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n <smart-grid\r\n *ngIf=\"!isShowNoResultText()\"\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n ></smart-grid>\r\n </div>\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "parent", "parentLayoutComponent", "dev"] }, { kind: "component", type: i4.SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout", "parentLayoutComponent", "parentSmartComponent", "gridRow"] }, { kind: "component", type: i5.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i6.SmartFilterParamsComponent, selector: "smart-filter-group-params", inputs: ["service"] }, { kind: "component", type: i7.SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: ["service"] }] }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SearchPageComponent, selector: "search-page", providers: [SmartFilterEditorService], viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }, { propertyName: "layoutComponent", first: true, predicate: SmartComponentLayoutComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"searchPageContainer\" [ngClass]=\"data?.cssClassOfPage\">\r\n <h1 class=\"search-page-title\"> {{ data?.pageTitle }} </h1>\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n </div> -->\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n @if (filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n <smart-filter-group-params [service]=\"filterService\"></smart-filter-group-params>\r\n <smart-filter-expression-editor [service]=\"filterService\"></smart-filter-expression-editor>\r\n </div>\r\n }\r\n <smart-component-layout\r\n #rootLayout\r\n *ngIf=\"layout\"\r\n [smartComponentLayout]=\"layout\"\r\n [parentSmartComponent]=\"this\"\r\n ></smart-component-layout>\r\n <div class=\"gridContainer\">\r\n <h2 *ngIf=\"isShowNoResultText()\" class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n <smart-grid\r\n *ngIf=\"!isShowNoResultText()\"\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n [parentLayoutComponent]=\"layoutComponent\"\r\n [parent]=\"this\"\r\n ></smart-grid>\r\n </div>\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "parent", "parentLayoutComponent", "dev"] }, { kind: "component", type: i4.SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout", "parentLayoutComponent", "parentSmartComponent", "gridRow"] }, { kind: "component", type: i5.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i6.SmartFilterParamsComponent, selector: "smart-filter-group-params", inputs: ["service"] }, { kind: "component", type: i7.SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: ["service"] }] }); }
67
70
  }
68
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SearchPageComponent, decorators: [{
69
72
  type: Component,
70
- args: [{ selector: 'search-page', providers: [SmartFilterEditorService], template: "<div class=\"searchPageContainer\" [ngClass]=\"data?.cssClassOfPage\">\r\n <h1 class=\"search-page-title\"> {{ data?.pageTitle }} </h1>\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n </div> -->\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n @if (filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n <smart-filter-group-params [service]=\"filterService\"></smart-filter-group-params>\r\n <smart-filter-expression-editor [service]=\"filterService\"></smart-filter-expression-editor>\r\n </div>\r\n }\r\n <smart-component-layout\r\n *ngIf=\"layout\"\r\n [smartComponentLayout]=\"layout\"\r\n [parentSmartComponent]=\"this\"\r\n ></smart-component-layout>\r\n <div class=\"gridContainer\">\r\n <h2 *ngIf=\"isShowNoResultText()\" class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n <smart-grid\r\n *ngIf=\"!isShowNoResultText()\"\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n ></smart-grid>\r\n </div>\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}\n"] }]
73
+ args: [{ selector: 'search-page', providers: [SmartFilterEditorService], template: "<div class=\"searchPageContainer\" [ngClass]=\"data?.cssClassOfPage\">\r\n <h1 class=\"search-page-title\"> {{ data?.pageTitle }} </h1>\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n </div> -->\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n @if (filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n <smart-filter-group-params [service]=\"filterService\"></smart-filter-group-params>\r\n <smart-filter-expression-editor [service]=\"filterService\"></smart-filter-expression-editor>\r\n </div>\r\n }\r\n <smart-component-layout\r\n #rootLayout\r\n *ngIf=\"layout\"\r\n [smartComponentLayout]=\"layout\"\r\n [parentSmartComponent]=\"this\"\r\n ></smart-component-layout>\r\n <div class=\"gridContainer\">\r\n <h2 *ngIf=\"isShowNoResultText()\" class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n <smart-grid\r\n *ngIf=\"!isShowNoResultText()\"\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n [parentLayoutComponent]=\"layoutComponent\"\r\n [parent]=\"this\"\r\n ></smart-grid>\r\n </div>\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}\n"] }]
71
74
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.SmartFilterEditorService }, { type: undefined, decorators: [{
72
75
  type: Inject,
73
76
  args: ['searchPageName']
@@ -77,5 +80,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
77
80
  }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { grid: [{
78
81
  type: ViewChild,
79
82
  args: ['grid']
83
+ }], layoutComponent: [{
84
+ type: ViewChild,
85
+ args: [SmartComponentLayoutComponent]
80
86
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZ2VuZXJpYy1wYWdlcy9zZWFyY2gtcGFnZS9zZWFyY2gtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1nZW5lcmljLXBhZ2VzL3NlYXJjaC1wYWdlL3NlYXJjaC1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsTUFBTSxFQUdOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQXNCLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7Ozs7Ozs7O0FBU2pHLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxjQUErQjtJQVV0RSxZQUNFLE1BQWdCLEVBQ1QsYUFBdUMsRUFDcEIsV0FBb0IsRUFDZixnQkFBeUIsRUFDeEQsT0FBb0IsRUFDcEIsUUFBb0I7UUFFcEIsS0FBSyxDQUNILE1BQU0sRUFDTixXQUFXLEVBQ1gsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLEVBQ3JGLE9BQU8sRUFDUCxRQUFRLENBQ1QsQ0FBQztRQVpLLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQVgvQixvQkFBZSxHQUFXLGFBQWEsQ0FBQztRQUN0Qyw2QkFBd0IsR0FBRyx1QkFBdUIsQ0FBQztRQUV0RCxrQkFBYSxHQUFHLHFCQUFxQixDQUFDO1FBcUJwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztRQUNwQyxzRUFBc0U7UUFDdEUsNENBQTRDO1FBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHO1lBQzFCLFVBQVUsRUFBRSxJQUFJLENBQUMsd0JBQXdCO1NBQzFDLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVrQixjQUFjLENBQUMsSUFBWTtRQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxnQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxFQUFFO2lCQUNUO2FBQ0Y7WUFDRCxTQUFTLEVBQUUsY0FBYyxDQUFDLEtBQUs7WUFDL0IsZUFBZSxFQUFFLEtBQUs7WUFDdEIsY0FBYyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QyxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRTtnQkFDUCxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsVUFBVTthQUM3QztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxZQUFZLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxLQUFLLElBQUksQ0FBQztJQUNuRixDQUFDOytHQTFFVSxtQkFBbUIsa0ZBYXBCLGdCQUFnQixhQUNoQixxQkFBcUI7bUdBZHBCLG1CQUFtQixzQ0FGbkIsQ0FBQyx3QkFBd0IsQ0FBQywrSUNwQnZDLG9uQ0E2QkE7OzRGRFBhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxhQUFhLGFBR1osQ0FBQyx3QkFBd0IsQ0FBQzs7MEJBZWxDLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsTUFBTTsyQkFBQyxxQkFBcUI7MEZBUlosSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEluamVjdCxcclxuICBJbmplY3RvcixcclxuICBSZW5kZXJlcjIsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHcmlkVWlBY3Rpb25UeXBlLCBTbWFydEdyaWRDb21wb25lbnQsIFNtYXJ0TGF5b3V0RGVmIH0gZnJvbSAnLi4vLi4vc21hcnQtZ3JpZC9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc21hcnQtY2xpZW50L3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vc21hcnQtY29tcG9uZW50LWxheW91dC9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWFyY2hQYWdlTW9kZWwgfSBmcm9tICcuLi9hcGkvcGxhdGZvcm0vc2VhcmNocGFnZS9tb2RlbC9zZWFyY2hQYWdlTW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZWFyY2gtcGFnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcGFnZS5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFBhZ2VDb21wb25lbnQgZXh0ZW5kcyBTbWFydENvbXBvbmVudDxTZWFyY2hQYWdlTW9kZWw+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBHUklEX0lERU5USUZJRVI6IHN0cmluZyA9ICdSRVNVTFRfR1JJRCc7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEZJTFRFUl9CVUlMREVSX1dJREdFVF9JRCA9ICdGSUxURVJfQlVJTERFUl9XSURHRVQnO1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50TmFtZSA9ICdTZWFyY2hQYWdlQ29tcG9uZW50JztcclxuICBsYXlvdXQ/OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb247XHJcbiAgQFZpZXdDaGlsZCgnZ3JpZCcpIGdyaWQ/OiBTbWFydEdyaWRDb21wb25lbnQ7XHJcblxyXG4gIGZpbHRlcj86IFNtYXJ0RmlsdGVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGluamVjdDogSW5qZWN0b3IsXHJcbiAgICBwdWJsaWMgZmlsdGVyU2VydmljZTogU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnc2VhcmNoUGFnZU5hbWUnKSBfbXlQYWdlTmFtZT86IHN0cmluZyxcclxuICAgIEBJbmplY3QoJ3NlYXJjaENvbXBvbmVudE5hbWUnKSBfbXlDb21wb25lbnROYW1lPzogc3RyaW5nLFxyXG4gICAgZWxlbWVudD86IEVsZW1lbnRSZWYsXHJcbiAgICByZW5kZXJlcj86IFJlbmRlcmVyMlxyXG4gICkge1xyXG4gICAgc3VwZXIoXHJcbiAgICAgIGluamVjdCxcclxuICAgICAgX215UGFnZU5hbWUsXHJcbiAgICAgIF9teUNvbXBvbmVudE5hbWUgPyBfbXlDb21wb25lbnROYW1lIDogX215UGFnZU5hbWUgPyB1bmRlZmluZWQgOiAnU2VhcmNoUGFnZUNvbXBvbmVudCcsXHJcbiAgICAgIGVsZW1lbnQsXHJcbiAgICAgIHJlbmRlcmVyXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZXR1cEdyaWQoKTtcclxuICAgIHRoaXMudXNlUXVlcnlMaXN0cyA9IHRydWU7XHJcbiAgICB0aGlzLnNlbmRNb2RlbE9uV2lkZ2V0QWN0aW9uID0gdHJ1ZTtcclxuICAgIC8vIHV1aWQgaXMgc2V0IGluIG9uVXVpZFJlc29sdmVkIOKAlCBpdCBpcyBub3Qga25vd24gYXQgY29uc3RydWN0aW9uIGZvclxyXG4gICAgLy8gZHluYW1pYyBkZWZhdWx0LWNvbXBvbmVudCB2aWV3cy4gKCMyODg3MClcclxuICAgIHRoaXMuZmlsdGVyU2VydmljZS5jb25maWcgPSB7XHJcbiAgICAgIGlkZW50aWZpZXI6IHRoaXMuRklMVEVSX0JVSUxERVJfV0lER0VUX0lELFxyXG4gICAgfTtcclxuICAgIHRoaXMuZGF0YUNoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5pbml0TGF5b3V0KCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvblV1aWRSZXNvbHZlZCh1dWlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpbHRlclNlcnZpY2UuY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5jb25maWcudXVpZCA9IHV1aWQ7XHJcbiAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5sb2FkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0TGF5b3V0KCkge1xyXG4gICAgaWYgKHRoaXMubW9kZWw/LmNvbXBvbmVudExheW91dHMpIHtcclxuICAgICAgdGhpcy5sYXlvdXQgPSB0aGlzLm1vZGVsPy5jb21wb25lbnRMYXlvdXRzIVsnZGVmYXVsdCddO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0R3JpZElkZW50aWZpZXIoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLkdSSURfSURFTlRJRklFUjtcclxuICB9XHJcblxyXG4gIHNldHVwR3JpZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc21hcnRHcmlkID0ge1xyXG4gICAgICBncmlkTW9kZWw6IHtcclxuICAgICAgICBwYWdlOiB7XHJcbiAgICAgICAgICByb3dzOiBbXSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBsYXlvdXREZWY6IFNtYXJ0TGF5b3V0RGVmLlRBQkxFLFxyXG4gICAgICBzaG93UmVzdWx0Q291bnQ6IGZhbHNlLFxyXG4gICAgICBncmlkSWRlbnRpZmllcjogdGhpcy5nZXRHcmlkSWRlbnRpZmllcigpLFxyXG4gICAgICBwYWdpbmF0b3I6IHRydWUsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByb3dVaUFjdGlvblR5cGU6IEdyaWRVaUFjdGlvblR5cGUuUE9QVVBfTUVOVSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBpc1Nob3dOb1Jlc3VsdFRleHQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhPy5ub1Jlc3VsdFRleHQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmRhdGE/Lm5vUmVzdWx0VGV4dCAhPT0gbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlYXJjaFBhZ2VDb250YWluZXJcIiBbbmdDbGFzc109XCJkYXRhPy5jc3NDbGFzc09mUGFnZVwiPlxyXG4gIDxoMSBjbGFzcz1cInNlYXJjaC1wYWdlLXRpdGxlXCI+IHt7IGRhdGE/LnBhZ2VUaXRsZSB9fSA8L2gxPlxyXG4gIDwhLS0gPGRpdiBjbGFzcz1cImZpbHRlckNvbnRhaW5lclwiPlxyXG4gICAgPHNtYXJ0LWZpbHRlciBbZmlsdGVyXT1cImZpbHRlclwiPjwvc21hcnQtZmlsdGVyPlxyXG4gIDwvZGl2PiAtLT5cclxuICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXIgW3VpQWN0aW9uTW9kZWxzXT1cInVpQWN0aW9uTW9kZWxzXCI+PC9zbWFydC11aS1hY3Rpb24tdG9vbGJhcj5cclxuICBAaWYgKGZpbHRlclNlcnZpY2UubW9kZWwpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItZWRpdG9yLWNvbnRhaW5lclwiPlxyXG4gICAgICA8c21hcnQtZmlsdGVyLWdyb3VwLXBhcmFtcyBbc2VydmljZV09XCJmaWx0ZXJTZXJ2aWNlXCI+PC9zbWFydC1maWx0ZXItZ3JvdXAtcGFyYW1zPlxyXG4gICAgICA8c21hcnQtZmlsdGVyLWV4cHJlc3Npb24tZWRpdG9yIFtzZXJ2aWNlXT1cImZpbHRlclNlcnZpY2VcIj48L3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWVkaXRvcj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICA8c21hcnQtY29tcG9uZW50LWxheW91dFxyXG4gICAgKm5nSWY9XCJsYXlvdXRcIlxyXG4gICAgW3NtYXJ0Q29tcG9uZW50TGF5b3V0XT1cImxheW91dFwiXHJcbiAgICBbcGFyZW50U21hcnRDb21wb25lbnRdPVwidGhpc1wiXHJcbiAgPjwvc21hcnQtY29tcG9uZW50LWxheW91dD5cclxuICA8ZGl2IGNsYXNzPVwiZ3JpZENvbnRhaW5lclwiPlxyXG4gICAgPGgyICpuZ0lmPVwiaXNTaG93Tm9SZXN1bHRUZXh0KClcIiBjbGFzcz1cIm5vUmVzdWx0VGV4dFwiPlxyXG4gICAgICB7eyBkYXRhPy5ub1Jlc3VsdFRleHQgfX1cclxuICAgIDwvaDI+XHJcbiAgICA8c21hcnQtZ3JpZFxyXG4gICAgICAqbmdJZj1cIiFpc1Nob3dOb1Jlc3VsdFRleHQoKVwiXHJcbiAgICAgICNncmlkXHJcbiAgICAgIFtzbWFydEdyaWRdPVwic21hcnRHcmlkXCJcclxuICAgICAgW3V1aWRdPVwidXVpZCFcIlxyXG4gICAgPjwvc21hcnQtZ3JpZD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZ2VuZXJpYy1wYWdlcy9zZWFyY2gtcGFnZS9zZWFyY2gtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1nZW5lcmljLXBhZ2VzL3NlYXJjaC1wYWdlL3NlYXJjaC1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsTUFBTSxFQUdOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQXNCLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsNkJBQTZCLEVBRTdCLDJCQUEyQixHQUM1QixNQUFNLHVDQUF1QyxDQUFDO0FBRS9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7Ozs7QUFTakcsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQStCO0lBYXRFLFlBQ0UsTUFBZ0IsRUFDVCxhQUF1QyxFQUNwQixXQUFvQixFQUNmLGdCQUF5QixFQUN4RCxPQUFvQixFQUNwQixRQUFvQjtRQUVwQixLQUFLLENBQ0gsTUFBTSxFQUNOLFdBQVcsRUFDWCxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsRUFDckYsT0FBTyxFQUNQLFFBQVEsQ0FDVCxDQUFDO1FBWkssa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBZC9CLG9CQUFlLEdBQVcsYUFBYSxDQUFDO1FBQ3RDLDZCQUF3QixHQUFHLHVCQUF1QixDQUFDO1FBRXRELGtCQUFhLEdBQUcscUJBQXFCLENBQUM7UUF3QnBELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLHNFQUFzRTtRQUN0RSw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUc7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyx3QkFBd0I7U0FDMUMsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRWtCLGNBQWMsQ0FBQyxJQUFZO1FBQzVDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLGdCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLFNBQVMsRUFBRTtnQkFDVCxJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLEVBQUU7aUJBQ1Q7YUFDRjtZQUNELFNBQVMsRUFBRSxjQUFjLENBQUMsS0FBSztZQUMvQixlQUFlLEVBQUUsS0FBSztZQUN0QixjQUFjLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3hDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFO2dCQUNQLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVO2FBQzdDO1lBQ0QsZUFBZSxFQUFFLDZCQUE2QjtZQUM5QyxhQUFhLEVBQUUsMkJBQTJCO1NBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxZQUFZLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxLQUFLLElBQUksQ0FBQztJQUNuRixDQUFDOytHQS9FVSxtQkFBbUIsa0ZBZ0JwQixnQkFBZ0IsYUFDaEIscUJBQXFCO21HQWpCcEIsbUJBQW1CLHNDQUZuQixDQUFDLHdCQUF3QixDQUFDLDBKQVkxQiw2QkFBNkIsdUVDcEMxQyx1dENBZ0NBOzs0RkROYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsYUFBYSxhQUdaLENBQUMsd0JBQXdCLENBQUM7OzBCQWtCbEMsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixNQUFNOzJCQUFDLHFCQUFxQjswRkFYWixJQUFJO3NCQUF0QixTQUFTO3VCQUFDLE1BQU07Z0JBS2pCLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIFJlbmRlcmVyMixcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdyaWRVaUFjdGlvblR5cGUsIFNtYXJ0R3JpZENvbXBvbmVudCwgU21hcnRMYXlvdXREZWYgfSBmcm9tICcuLi8uLi9zbWFydC1ncmlkL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zbWFydC1jbGllbnQvcHJvamVjdHMnO1xyXG5pbXBvcnQge1xyXG4gIFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50LFxyXG4gIFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbixcclxuICBTbWFydENvbXBvbmVudExheW91dFV0aWxpdHksXHJcbn0gZnJvbSAnLi4vLi4vc21hcnQtY29tcG9uZW50LWxheW91dC9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWFyY2hQYWdlTW9kZWwgfSBmcm9tICcuLi9hcGkvcGxhdGZvcm0vc2VhcmNocGFnZS9tb2RlbC9zZWFyY2hQYWdlTW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZWFyY2gtcGFnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcGFnZS5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFBhZ2VDb21wb25lbnQgZXh0ZW5kcyBTbWFydENvbXBvbmVudDxTZWFyY2hQYWdlTW9kZWw+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBHUklEX0lERU5USUZJRVI6IHN0cmluZyA9ICdSRVNVTFRfR1JJRCc7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEZJTFRFUl9CVUlMREVSX1dJREdFVF9JRCA9ICdGSUxURVJfQlVJTERFUl9XSURHRVQnO1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50TmFtZSA9ICdTZWFyY2hQYWdlQ29tcG9uZW50JztcclxuICBsYXlvdXQ/OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb247XHJcbiAgQFZpZXdDaGlsZCgnZ3JpZCcpIGdyaWQ/OiBTbWFydEdyaWRDb21wb25lbnQ7XHJcblxyXG4gIGZpbHRlcj86IFNtYXJ0RmlsdGVyO1xyXG5cclxuICBAVmlld0NoaWxkKFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KVxyXG4gIGxheW91dENvbXBvbmVudD86IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGluamVjdDogSW5qZWN0b3IsXHJcbiAgICBwdWJsaWMgZmlsdGVyU2VydmljZTogU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnc2VhcmNoUGFnZU5hbWUnKSBfbXlQYWdlTmFtZT86IHN0cmluZyxcclxuICAgIEBJbmplY3QoJ3NlYXJjaENvbXBvbmVudE5hbWUnKSBfbXlDb21wb25lbnROYW1lPzogc3RyaW5nLFxyXG4gICAgZWxlbWVudD86IEVsZW1lbnRSZWYsXHJcbiAgICByZW5kZXJlcj86IFJlbmRlcmVyMlxyXG4gICkge1xyXG4gICAgc3VwZXIoXHJcbiAgICAgIGluamVjdCxcclxuICAgICAgX215UGFnZU5hbWUsXHJcbiAgICAgIF9teUNvbXBvbmVudE5hbWUgPyBfbXlDb21wb25lbnROYW1lIDogX215UGFnZU5hbWUgPyB1bmRlZmluZWQgOiAnU2VhcmNoUGFnZUNvbXBvbmVudCcsXHJcbiAgICAgIGVsZW1lbnQsXHJcbiAgICAgIHJlbmRlcmVyXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZXR1cEdyaWQoKTtcclxuICAgIHRoaXMudXNlUXVlcnlMaXN0cyA9IHRydWU7XHJcbiAgICB0aGlzLnNlbmRNb2RlbE9uV2lkZ2V0QWN0aW9uID0gdHJ1ZTtcclxuICAgIC8vIHV1aWQgaXMgc2V0IGluIG9uVXVpZFJlc29sdmVkIOKAlCBpdCBpcyBub3Qga25vd24gYXQgY29uc3RydWN0aW9uIGZvclxyXG4gICAgLy8gZHluYW1pYyBkZWZhdWx0LWNvbXBvbmVudCB2aWV3cy4gKCMyODg3MClcclxuICAgIHRoaXMuZmlsdGVyU2VydmljZS5jb25maWcgPSB7XHJcbiAgICAgIGlkZW50aWZpZXI6IHRoaXMuRklMVEVSX0JVSUxERVJfV0lER0VUX0lELFxyXG4gICAgfTtcclxuICAgIHRoaXMuZGF0YUNoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5pbml0TGF5b3V0KCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvblV1aWRSZXNvbHZlZCh1dWlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpbHRlclNlcnZpY2UuY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5jb25maWcudXVpZCA9IHV1aWQ7XHJcbiAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5sb2FkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0TGF5b3V0KCkge1xyXG4gICAgaWYgKHRoaXMubW9kZWw/LmNvbXBvbmVudExheW91dHMpIHtcclxuICAgICAgdGhpcy5sYXlvdXQgPSB0aGlzLm1vZGVsPy5jb21wb25lbnRMYXlvdXRzIVsnZGVmYXVsdCddO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0R3JpZElkZW50aWZpZXIoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLkdSSURfSURFTlRJRklFUjtcclxuICB9XHJcblxyXG4gIHNldHVwR3JpZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc21hcnRHcmlkID0ge1xyXG4gICAgICBncmlkTW9kZWw6IHtcclxuICAgICAgICBwYWdlOiB7XHJcbiAgICAgICAgICByb3dzOiBbXSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBsYXlvdXREZWY6IFNtYXJ0TGF5b3V0RGVmLlRBQkxFLFxyXG4gICAgICBzaG93UmVzdWx0Q291bnQ6IGZhbHNlLFxyXG4gICAgICBncmlkSWRlbnRpZmllcjogdGhpcy5nZXRHcmlkSWRlbnRpZmllcigpLFxyXG4gICAgICBwYWdpbmF0b3I6IHRydWUsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByb3dVaUFjdGlvblR5cGU6IEdyaWRVaUFjdGlvblR5cGUuUE9QVVBfTUVOVSxcclxuICAgICAgfSxcclxuICAgICAgbGF5b3V0Q29tcG9uZW50OiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCxcclxuICAgICAgbGF5b3V0VXRpbGl0eTogU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGlzU2hvd05vUmVzdWx0VGV4dCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGE/Lm5vUmVzdWx0VGV4dCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuZGF0YT8ubm9SZXN1bHRUZXh0ICE9PSBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2VhcmNoUGFnZUNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImRhdGE/LmNzc0NsYXNzT2ZQYWdlXCI+XHJcbiAgPGgxIGNsYXNzPVwic2VhcmNoLXBhZ2UtdGl0bGVcIj4ge3sgZGF0YT8ucGFnZVRpdGxlIH19IDwvaDE+XHJcbiAgPCEtLSA8ZGl2IGNsYXNzPVwiZmlsdGVyQ29udGFpbmVyXCI+XHJcbiAgICA8c21hcnQtZmlsdGVyIFtmaWx0ZXJdPVwiZmlsdGVyXCI+PC9zbWFydC1maWx0ZXI+XHJcbiAgPC9kaXY+IC0tPlxyXG4gIDxzbWFydC11aS1hY3Rpb24tdG9vbGJhciBbdWlBY3Rpb25Nb2RlbHNdPVwidWlBY3Rpb25Nb2RlbHNcIj48L3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyPlxyXG4gIEBpZiAoZmlsdGVyU2VydmljZS5tb2RlbCkge1xyXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1lZGl0b3ItY29udGFpbmVyXCI+XHJcbiAgICAgIDxzbWFydC1maWx0ZXItZ3JvdXAtcGFyYW1zIFtzZXJ2aWNlXT1cImZpbHRlclNlcnZpY2VcIj48L3NtYXJ0LWZpbHRlci1ncm91cC1wYXJhbXM+XHJcbiAgICAgIDxzbWFydC1maWx0ZXItZXhwcmVzc2lvbi1lZGl0b3IgW3NlcnZpY2VdPVwiZmlsdGVyU2VydmljZVwiPjwvc21hcnQtZmlsdGVyLWV4cHJlc3Npb24tZWRpdG9yPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG4gIDxzbWFydC1jb21wb25lbnQtbGF5b3V0XHJcbiAgICAjcm9vdExheW91dFxyXG4gICAgKm5nSWY9XCJsYXlvdXRcIlxyXG4gICAgW3NtYXJ0Q29tcG9uZW50TGF5b3V0XT1cImxheW91dFwiXHJcbiAgICBbcGFyZW50U21hcnRDb21wb25lbnRdPVwidGhpc1wiXHJcbiAgPjwvc21hcnQtY29tcG9uZW50LWxheW91dD5cclxuICA8ZGl2IGNsYXNzPVwiZ3JpZENvbnRhaW5lclwiPlxyXG4gICAgPGgyICpuZ0lmPVwiaXNTaG93Tm9SZXN1bHRUZXh0KClcIiBjbGFzcz1cIm5vUmVzdWx0VGV4dFwiPlxyXG4gICAgICB7eyBkYXRhPy5ub1Jlc3VsdFRleHQgfX1cclxuICAgIDwvaDI+XHJcbiAgICA8c21hcnQtZ3JpZFxyXG4gICAgICAqbmdJZj1cIiFpc1Nob3dOb1Jlc3VsdFRleHQoKVwiXHJcbiAgICAgICNncmlkXHJcbiAgICAgIFtzbWFydEdyaWRdPVwic21hcnRHcmlkXCJcclxuICAgICAgW3V1aWRdPVwidXVpZCFcIlxyXG4gICAgICBbcGFyZW50TGF5b3V0Q29tcG9uZW50XT1cImxheW91dENvbXBvbmVudFwiXHJcbiAgICAgIFtwYXJlbnRdPVwidGhpc1wiXHJcbiAgICA+PC9zbWFydC1ncmlkPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -25359,17 +25359,19 @@ class SearchPageComponent extends SmartComponent {
25359
25359
  options: {
25360
25360
  rowUiActionType: GridUiActionType.POPUP_MENU,
25361
25361
  },
25362
+ layoutComponent: SmartComponentLayoutComponent,
25363
+ layoutUtility: SmartComponentLayoutUtility,
25362
25364
  };
25363
25365
  }
25364
25366
  isShowNoResultText() {
25365
25367
  return this.data?.noResultText !== undefined && this.data?.noResultText !== null;
25366
25368
  }
25367
25369
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SearchPageComponent, deps: [{ token: i0.Injector }, { token: SmartFilterEditorService }, { token: 'searchPageName' }, { token: 'searchComponentName' }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
25368
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SearchPageComponent, selector: "search-page", providers: [SmartFilterEditorService], viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"searchPageContainer\" [ngClass]=\"data?.cssClassOfPage\">\r\n <h1 class=\"search-page-title\"> {{ data?.pageTitle }} </h1>\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n </div> -->\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n @if (filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n <smart-filter-group-params [service]=\"filterService\"></smart-filter-group-params>\r\n <smart-filter-expression-editor [service]=\"filterService\"></smart-filter-expression-editor>\r\n </div>\r\n }\r\n <smart-component-layout\r\n *ngIf=\"layout\"\r\n [smartComponentLayout]=\"layout\"\r\n [parentSmartComponent]=\"this\"\r\n ></smart-component-layout>\r\n <div class=\"gridContainer\">\r\n <h2 *ngIf=\"isShowNoResultText()\" class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n <smart-grid\r\n *ngIf=\"!isShowNoResultText()\"\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n ></smart-grid>\r\n </div>\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "parent", "parentLayoutComponent", "dev"] }, { kind: "component", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout", "parentLayoutComponent", "parentSmartComponent", "gridRow"] }, { kind: "component", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: SmartFilterParamsComponent, selector: "smart-filter-group-params", inputs: ["service"] }, { kind: "component", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: ["service"] }] }); }
25370
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SearchPageComponent, selector: "search-page", providers: [SmartFilterEditorService], viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }, { propertyName: "layoutComponent", first: true, predicate: SmartComponentLayoutComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"searchPageContainer\" [ngClass]=\"data?.cssClassOfPage\">\r\n <h1 class=\"search-page-title\"> {{ data?.pageTitle }} </h1>\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n </div> -->\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n @if (filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n <smart-filter-group-params [service]=\"filterService\"></smart-filter-group-params>\r\n <smart-filter-expression-editor [service]=\"filterService\"></smart-filter-expression-editor>\r\n </div>\r\n }\r\n <smart-component-layout\r\n #rootLayout\r\n *ngIf=\"layout\"\r\n [smartComponentLayout]=\"layout\"\r\n [parentSmartComponent]=\"this\"\r\n ></smart-component-layout>\r\n <div class=\"gridContainer\">\r\n <h2 *ngIf=\"isShowNoResultText()\" class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n <smart-grid\r\n *ngIf=\"!isShowNoResultText()\"\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n [parentLayoutComponent]=\"layoutComponent\"\r\n [parent]=\"this\"\r\n ></smart-grid>\r\n </div>\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "parent", "parentLayoutComponent", "dev"] }, { kind: "component", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout", "parentLayoutComponent", "parentSmartComponent", "gridRow"] }, { kind: "component", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: SmartFilterParamsComponent, selector: "smart-filter-group-params", inputs: ["service"] }, { kind: "component", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: ["service"] }] }); }
25369
25371
  }
25370
25372
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SearchPageComponent, decorators: [{
25371
25373
  type: Component,
25372
- args: [{ selector: 'search-page', providers: [SmartFilterEditorService], template: "<div class=\"searchPageContainer\" [ngClass]=\"data?.cssClassOfPage\">\r\n <h1 class=\"search-page-title\"> {{ data?.pageTitle }} </h1>\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n </div> -->\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n @if (filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n <smart-filter-group-params [service]=\"filterService\"></smart-filter-group-params>\r\n <smart-filter-expression-editor [service]=\"filterService\"></smart-filter-expression-editor>\r\n </div>\r\n }\r\n <smart-component-layout\r\n *ngIf=\"layout\"\r\n [smartComponentLayout]=\"layout\"\r\n [parentSmartComponent]=\"this\"\r\n ></smart-component-layout>\r\n <div class=\"gridContainer\">\r\n <h2 *ngIf=\"isShowNoResultText()\" class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n <smart-grid\r\n *ngIf=\"!isShowNoResultText()\"\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n ></smart-grid>\r\n </div>\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}\n"] }]
25374
+ args: [{ selector: 'search-page', providers: [SmartFilterEditorService], template: "<div class=\"searchPageContainer\" [ngClass]=\"data?.cssClassOfPage\">\r\n <h1 class=\"search-page-title\"> {{ data?.pageTitle }} </h1>\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n </div> -->\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n @if (filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n <smart-filter-group-params [service]=\"filterService\"></smart-filter-group-params>\r\n <smart-filter-expression-editor [service]=\"filterService\"></smart-filter-expression-editor>\r\n </div>\r\n }\r\n <smart-component-layout\r\n #rootLayout\r\n *ngIf=\"layout\"\r\n [smartComponentLayout]=\"layout\"\r\n [parentSmartComponent]=\"this\"\r\n ></smart-component-layout>\r\n <div class=\"gridContainer\">\r\n <h2 *ngIf=\"isShowNoResultText()\" class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n <smart-grid\r\n *ngIf=\"!isShowNoResultText()\"\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n [parentLayoutComponent]=\"layoutComponent\"\r\n [parent]=\"this\"\r\n ></smart-grid>\r\n </div>\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}\n"] }]
25373
25375
  }], ctorParameters: () => [{ type: i0.Injector }, { type: SmartFilterEditorService }, { type: undefined, decorators: [{
25374
25376
  type: Inject,
25375
25377
  args: ['searchPageName']
@@ -25379,6 +25381,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
25379
25381
  }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { grid: [{
25380
25382
  type: ViewChild,
25381
25383
  args: ['grid']
25384
+ }], layoutComponent: [{
25385
+ type: ViewChild,
25386
+ args: [SmartComponentLayoutComponent]
25382
25387
  }] } });
25383
25388
 
25384
25389
  class GenericPageComponent extends SmartComponent {