ngx-rs-ant 1.5.0 → 1.5.2

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.
Files changed (27) hide show
  1. package/data-grid/data-grid.component.d.ts +26 -26
  2. package/data-grid/data-grid.factory.d.ts +1 -1
  3. package/data-grid/data-grid.module.d.ts +8 -8
  4. package/data-grid/data-grid.service.d.ts +2 -0
  5. package/data-grid/instance-link-template/instance-link-template.component.d.ts +21 -0
  6. package/data-grid/unit-info-template/unit-info-template.component.d.ts +2 -1
  7. package/data-grid/user-info-template/user-info-template.component.d.ts +2 -1
  8. package/esm2020/data-detail/data-detail.component.mjs +5 -1
  9. package/esm2020/data-grid/data-grid.component.mjs +78 -44
  10. package/esm2020/data-grid/data-grid.factory.mjs +13 -17
  11. package/esm2020/data-grid/data-grid.module.mjs +15 -18
  12. package/esm2020/data-grid/data-grid.service.mjs +26 -1
  13. package/esm2020/data-grid/file-cell-template/file-cell-template.component.mjs +3 -7
  14. package/esm2020/data-grid/instance-link-template/instance-link-template.component.mjs +64 -0
  15. package/esm2020/data-grid/unit-info-template/unit-info-template.component.mjs +12 -4
  16. package/esm2020/data-grid/user-info-template/user-info-template.component.mjs +12 -4
  17. package/esm2020/public-api.mjs +1 -3
  18. package/fesm2015/ngx-rs-ant.mjs +758 -661
  19. package/fesm2015/ngx-rs-ant.mjs.map +1 -1
  20. package/fesm2020/ngx-rs-ant.mjs +751 -656
  21. package/fesm2020/ngx-rs-ant.mjs.map +1 -1
  22. package/package.json +1 -1
  23. package/public-api.d.ts +0 -2
  24. package/data-grid/instance-link-template.directive.d.ts +0 -8
  25. package/data-grid/master-detail-template.directive.d.ts +0 -8
  26. package/esm2020/data-grid/instance-link-template.directive.mjs +0 -16
  27. package/esm2020/data-grid/master-detail-template.directive.mjs +0 -16
@@ -1,46 +1,46 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
2
- import { DxDataGridComponent } from "devextreme-angular";
1
+ import { EventEmitter, OnInit, ViewContainerRef } from '@angular/core';
3
2
  import { DataGridService } from "./data-grid.service";
4
- import { MasterDetailTemplateDirective } from "./master-detail-template.directive";
5
3
  import { RowButtonsTemplateDirective } from "./row-buttons-template.directive";
6
4
  import { DataGridFactory } from "./data-grid.factory";
7
- import { InstanceLinkTemplateDirective } from "./instance-link-template.directive";
8
5
  import * as i0 from "@angular/core";
9
6
  export declare class DataGridComponent implements OnInit {
10
7
  private factory;
11
8
  protected service: DataGridService;
9
+ private viewContainerRef;
12
10
  tenant?: any;
13
11
  className: any;
14
12
  view?: any;
15
13
  filter?: any;
16
- enableMasterDetail: boolean;
17
- dataGridName?: string;
18
- columns: any[];
19
- dataSource: any;
14
+ customColumnFn?: (columns: any[]) => void;
20
15
  keyExpr: string;
16
+ dataGridName?: string;
21
17
  height: any;
18
+ onlyFrontEnd: boolean;
19
+ dataSource: any;
20
+ selectionMode: 'none' | 'multiple' | 'single';
22
21
  selectedRowKeys: any[];
23
22
  selectedRowKeysChange: EventEmitter<any[]>;
24
- selectionMode: 'none' | 'multiple' | 'single';
25
- customColumnFn?: (columns: any[]) => void;
26
- onDxDataGridCellPrepared: EventEmitter<any>;
27
- onDxDataGridContentReady: EventEmitter<any>;
28
- onDxDataGridSelectionChanged: EventEmitter<any>;
29
- dxDataGrid: DxDataGridComponent;
30
- masterDetailTemplate: MasterDetailTemplateDirective;
31
- rowButtonsTemplate: RowButtonsTemplateDirective;
32
- instanceLinkTemplate: InstanceLinkTemplateDirective;
33
- constructor(factory: DataGridFactory, service: DataGridService);
23
+ showRowNum: boolean;
24
+ instanceLinkType: 'tab' | 'drawer' | 'none';
25
+ drawerInstanceLinkViewContainerRef: any;
26
+ drawerInstanceLinkFormTemplate: any;
27
+ onCellPrepared: EventEmitter<any>;
28
+ onContentReady: EventEmitter<any>;
29
+ onEditorPreparing: EventEmitter<any>;
30
+ onRowClick: EventEmitter<any>;
31
+ onRowDblClick: EventEmitter<any>;
32
+ onSelectionChanged: EventEmitter<any>;
33
+ private dxDataGrid;
34
+ protected rowButtonsTemplate: RowButtonsTemplateDirective;
35
+ columns: any[];
36
+ constructor(factory: DataGridFactory, service: DataGridService, viewContainerRef: ViewContainerRef);
34
37
  ngOnInit(): void;
35
38
  reload(): void;
36
- convertMultipleValueCellText(cellInfo: any): any;
37
- getOriginalValue(cellInfo: any, key: any): any;
38
- refresh(callback?: any): void;
39
+ protected convertMultipleValueCellText(cellInfo: any): any;
40
+ protected getOriginalValue(cellInfo: any, key: any): any;
39
41
  getSelectedRowKeys(): any[] & Promise<any[]>;
40
- onCellPrepared($event: any): void;
41
- onContentReady($event: any): void;
42
- onSelectionChanged($event: any): void;
43
- onEditorPreparing($event: any): void;
42
+ refresh(callback?: any): void;
43
+ onDxDataGridEditorPreparing($event: any): void;
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "rs-data-grid", never, { "tenant": "tenant"; "className": "className"; "view": "view"; "filter": "filter"; "enableMasterDetail": "enableMasterDetail"; "dataGridName": "dataGridName"; "keyExpr": "keyExpr"; "height": "height"; "selectedRowKeys": "selectedRowKeys"; "selectionMode": "selectionMode"; "customColumnFn": "customColumnFn"; }, { "selectedRowKeysChange": "selectedRowKeysChange"; "onDxDataGridCellPrepared": "onDxDataGridCellPrepared"; "onDxDataGridContentReady": "onDxDataGridContentReady"; "onDxDataGridSelectionChanged": "onDxDataGridSelectionChanged"; }, ["masterDetailTemplate", "rowButtonsTemplate", "instanceLinkTemplate"], never, false, never>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "rs-data-grid", never, { "tenant": "tenant"; "className": "className"; "view": "view"; "filter": "filter"; "customColumnFn": "customColumnFn"; "keyExpr": "keyExpr"; "dataGridName": "dataGridName"; "height": "height"; "onlyFrontEnd": "onlyFrontEnd"; "dataSource": "dataSource"; "selectionMode": "selectionMode"; "selectedRowKeys": "selectedRowKeys"; "showRowNum": "showRowNum"; "instanceLinkType": "instanceLinkType"; "drawerInstanceLinkViewContainerRef": "drawerInstanceLinkViewContainerRef"; "drawerInstanceLinkFormTemplate": "drawerInstanceLinkFormTemplate"; }, { "selectedRowKeysChange": "selectedRowKeysChange"; "onCellPrepared": "onCellPrepared"; "onContentReady": "onContentReady"; "onEditorPreparing": "onEditorPreparing"; "onRowClick": "onRowClick"; "onRowDblClick": "onRowDblClick"; "onSelectionChanged": "onSelectionChanged"; }, ["rowButtonsTemplate"], never, false, never>;
46
46
  }
@@ -8,7 +8,7 @@ export declare class DataGridFactory {
8
8
  private service;
9
9
  private typeMap;
10
10
  makeDataGridColumns(tenant: any, className: any, view: any): Observable<any>;
11
- makeDataGridDataSource(tenant: any, className: any, view: any, extraFilter: any, dataGridName?: string): CustomStore;
11
+ makeDataGridDataSource(tenant: any, className: any, view: any, extraFilter: any, keyExpr?: string, dataGridName?: string): CustomStore;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<DataGridFactory, never>;
13
13
  static ɵprov: i0.ɵɵInjectableDeclaration<DataGridFactory>;
14
14
  }
@@ -1,15 +1,15 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./data-grid.component";
3
3
  import * as i2 from "./file-cell-template/file-cell-template.component";
4
- import * as i3 from "./instance-link-template.directive";
5
- import * as i4 from "./master-detail-template.directive";
6
- import * as i5 from "./row-buttons-template.directive";
7
- import * as i6 from "./user-info-template/user-info-template.component";
8
- import * as i7 from "./unit-info-template/unit-info-template.component";
9
- import * as i8 from "@angular/common";
10
- import * as i9 from "devextreme-angular";
4
+ import * as i3 from "./instance-link-template/instance-link-template.component";
5
+ import * as i4 from "./unit-info-template/unit-info-template.component";
6
+ import * as i5 from "./user-info-template/user-info-template.component";
7
+ import * as i6 from "./row-buttons-template.directive";
8
+ import * as i7 from "@angular/common";
9
+ import * as i8 from "devextreme-angular";
10
+ import * as i9 from "../form/form.module";
11
11
  export declare class DataGridModule {
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<DataGridModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<DataGridModule, [typeof i1.DataGridComponent, typeof i2.FileCellTemplateComponent, typeof i3.InstanceLinkTemplateDirective, typeof i4.MasterDetailTemplateDirective, typeof i5.RowButtonsTemplateDirective, typeof i6.UserInfoTemplateComponent, typeof i7.UnitInfoTemplateComponent], [typeof i8.CommonModule, typeof i9.DevExtremeModule], [typeof i1.DataGridComponent, typeof i3.InstanceLinkTemplateDirective, typeof i4.MasterDetailTemplateDirective, typeof i5.RowButtonsTemplateDirective]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DataGridModule, [typeof i1.DataGridComponent, typeof i2.FileCellTemplateComponent, typeof i3.InstanceLinkTemplateComponent, typeof i4.UnitInfoTemplateComponent, typeof i5.UserInfoTemplateComponent, typeof i6.RowButtonsTemplateDirective], [typeof i7.CommonModule, typeof i8.DevExtremeModule, typeof i9.FormModule], [typeof i1.DataGridComponent, typeof i6.RowButtonsTemplateDirective]>;
14
14
  static ɵinj: i0.ɵɵInjectorDeclaration<DataGridModule>;
15
15
  }
@@ -8,6 +8,7 @@ export declare class DataGridService {
8
8
  constructor(http: HttpClient);
9
9
  getMetadataByView(tenant: any, className: any, view?: any): Observable<any>;
10
10
  getOne(tenant: any, className: any, oid: any, template?: any): Observable<any>;
11
+ getOneByFilter(tenant: any, className: any, key: any, value: any, view?: any): Observable<any>;
11
12
  getMany(tenant: any, className: any, params: any): Observable<{
12
13
  data: any;
13
14
  totalCount: any;
@@ -18,6 +19,7 @@ export declare class DataGridService {
18
19
  getConstraintColumnDataSource(tenant: any, className: any, view: any, field: any, constraintName: any): Observable<any>;
19
20
  getColumnDataSource(tenant: any, className: any, view: any, field: any): Observable<any>;
20
21
  downloadAttachment(id: any): Observable<Blob>;
22
+ getInstanceCaption(tenant: any, className: any, oid: any): Observable<any>;
21
23
  userInfoCache: any;
22
24
  getUserInfo(uid: any): Observable<any>;
23
25
  unitInfoCache: any;
@@ -0,0 +1,21 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { DataGridService } from "../data-grid.service";
3
+ import { DrawerService } from "../../drawer/drawer.service";
4
+ import * as i0 from "@angular/core";
5
+ export declare class InstanceLinkTemplateComponent {
6
+ private service;
7
+ private drawerService;
8
+ tenant: any;
9
+ className: any;
10
+ oid: any;
11
+ instanceLinkType: any;
12
+ drawerViewContainerRef?: any;
13
+ drawerFormTemplate?: any;
14
+ drawerFormHeaderTemplate: TemplateRef<any>;
15
+ drawerFormContentTemplate: TemplateRef<any>;
16
+ constructor(service: DataGridService, drawerService: DrawerService);
17
+ openNewTab($event: any): void;
18
+ openDrawer($event: any): void;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<InstanceLinkTemplateComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<InstanceLinkTemplateComponent, "rs-instance-link-template", never, { "tenant": "tenant"; "className": "className"; "oid": "oid"; "instanceLinkType": "instanceLinkType"; "drawerViewContainerRef": "drawerViewContainerRef"; "drawerFormTemplate": "drawerFormTemplate"; }, {}, never, never, false, never>;
21
+ }
@@ -6,10 +6,11 @@ export declare class UnitInfoTemplateComponent implements OnInit {
6
6
  private service;
7
7
  private domSanitizer;
8
8
  uid: any;
9
+ cellInfo: any;
9
10
  displayName: any;
10
11
  content: any;
11
12
  constructor(service: DataGridService, domSanitizer: DomSanitizer);
12
13
  ngOnInit(): void;
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<UnitInfoTemplateComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<UnitInfoTemplateComponent, "rs-unit-info-template", never, { "uid": "uid"; }, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<UnitInfoTemplateComponent, "rs-unit-info-template", never, { "uid": "uid"; "cellInfo": "cellInfo"; }, {}, never, never, false, never>;
15
16
  }
@@ -6,10 +6,11 @@ export declare class UserInfoTemplateComponent implements OnInit {
6
6
  private service;
7
7
  private domSanitizer;
8
8
  uid: any;
9
+ cellInfo: any;
9
10
  displayName: any;
10
11
  content: any;
11
12
  constructor(service: DataGridService, domSanitizer: DomSanitizer);
12
13
  ngOnInit(): void;
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<UserInfoTemplateComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<UserInfoTemplateComponent, "rs-user-info-template", never, { "uid": "uid"; }, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserInfoTemplateComponent, "rs-user-info-template", never, { "uid": "uid"; "cellInfo": "cellInfo"; }, {}, never, never, false, never>;
15
16
  }
@@ -18,6 +18,10 @@ export class DataDetailComponent {
18
18
  ngOnInit() {
19
19
  this.loading = true;
20
20
  this.service.getSectionList(this.tenant, this.className, this.oid).subscribe(response => {
21
+ window.coast.tabManager.setTitle.next({
22
+ id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,
23
+ title: response.data.title
24
+ });
21
25
  this.sections = response.data.list;
22
26
  this.loading = false;
23
27
  });
@@ -29,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
29
33
  type: Component,
30
34
  args: [{ selector: 'coast-data-detail', providers: [DataDetailService], template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<div *ngIf=\"!loading && sections.length === 0\" class=\"empty\">\n <span>\u60A8\u65E0\u6743\u67E5\u770B\u8BE5\u6570\u636E\u5B9E\u4F8B\u4EFB\u4F55\u4FE1\u606F</span>\n</div>\n<ng-container *ngIf=\"sections.length > 0\">\n <dx-accordion [collapsible]=\"true\" [multiple]=\"true\" [deferRendering]=\"false\" [dataSource]=\"sections\"\n [selectedItems]=\"sections\">\n <div *dxTemplate=\"let section of 'title'\" class=\"section-title\">\n <div class=\"section-title-name\">{{ section.name }}</div>\n </div>\n <div *dxTemplate=\"let section of 'item'\">\n <rs-form [tenant]=\"tenant\" [className]=\"className\" [oid]=\"oid\" [template]=\"section.formTemplate\" [params]=\"params\"\n [tabViewContainerRef]=\"tabViewContainerRef\" [readonly]=\"true\"></rs-form>\n </div>\n </dx-accordion>\n</ng-container>\n", styles: [":host{flex:1;padding:24px;display:flex;flex-flow:column nowrap}:host div.empty{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div.empty span{text-align:center;-webkit-user-select:none;user-select:none}:host .section-title{border-bottom:1px solid var(--coast-border-color, #dddddd)}:host .section-title .section-title-name{height:24px;font-size:14px;font-weight:700;padding:4px 8px;display:flex;flex-flow:column nowrap;justify-content:center}\n"] }]
31
35
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.DataDetailService }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1kZXRhaWwvZGF0YS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1kZXRhaWwvZGF0YS1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVF4RCxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFlBQXNCLGdCQUFrQyxFQUFVLE9BQTBCO1FBQXRFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUg1RixhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFHaEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN0RixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0hBbEJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDRDQUZuQixDQUFDLGlCQUFpQixDQUFDLDBCQ1BoQyxna0NBbUJBOzJGRFZhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxtQkFBbUIsYUFHbEIsQ0FBQyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF0YURldGFpbFNlcnZpY2V9IGZyb20gXCIuL2RhdGEtZGV0YWlsLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29hc3QtZGF0YS1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWRldGFpbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtEYXRhRGV0YWlsU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRGF0YURldGFpbENvbXBvbmVudCB7XG4gIHRlbmFudDogYW55O1xuICBjbGFzc05hbWU6IGFueTtcbiAgb2lkOiBhbnk7XG4gIHBhcmFtcz86IGFueTtcbiAgdGFiVmlld0NvbnRhaW5lclJlZiE6IFZpZXdDb250YWluZXJSZWY7XG4gIHNlY3Rpb25zOiBhbnlbXSA9IFtdO1xuICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgc2VydmljZTogRGF0YURldGFpbFNlcnZpY2UpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zZXJ2aWNlLmdldFNlY3Rpb25MaXN0KHRoaXMudGVuYW50LCB0aGlzLmNsYXNzTmFtZSwgdGhpcy5vaWQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICB0aGlzLnNlY3Rpb25zID0gcmVzcG9uc2UuZGF0YS5saXN0O1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkeC1sb2FkLXBhbmVsIFtjb250YWluZXJdPVwidmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIiBbc2hvd1BhbmVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgW3Zpc2libGVdPVwibG9hZGluZ1wiPlxuICA8ZHhvLXBvc2l0aW9uIFtvZl09XCJ2aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudFwiPjwvZHhvLXBvc2l0aW9uPlxuPC9keC1sb2FkLXBhbmVsPlxuPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmIHNlY3Rpb25zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiZW1wdHlcIj5cbiAgPHNwYW4+5oKo5peg5p2D5p+l55yL6K+l5pWw5o2u5a6e5L6L5Lu75L2V5L+h5oGvPC9zcGFuPlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwic2VjdGlvbnMubGVuZ3RoID4gMFwiPlxuICA8ZHgtYWNjb3JkaW9uIFtjb2xsYXBzaWJsZV09XCJ0cnVlXCIgW211bHRpcGxlXT1cInRydWVcIiBbZGVmZXJSZW5kZXJpbmddPVwiZmFsc2VcIiBbZGF0YVNvdXJjZV09XCJzZWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkSXRlbXNdPVwic2VjdGlvbnNcIj5cbiAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHNlY3Rpb24gb2YgJ3RpdGxlJ1wiIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tdGl0bGUtbmFtZVwiPnt7IHNlY3Rpb24ubmFtZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgc2VjdGlvbiBvZiAnaXRlbSdcIj5cbiAgICAgIDxycy1mb3JtIFt0ZW5hbnRdPVwidGVuYW50XCIgW2NsYXNzTmFtZV09XCJjbGFzc05hbWVcIiBbb2lkXT1cIm9pZFwiIFt0ZW1wbGF0ZV09XCJzZWN0aW9uLmZvcm1UZW1wbGF0ZVwiIFtwYXJhbXNdPVwicGFyYW1zXCJcbiAgICAgICAgICAgICAgIFt0YWJWaWV3Q29udGFpbmVyUmVmXT1cInRhYlZpZXdDb250YWluZXJSZWZcIiBbcmVhZG9ubHldPVwidHJ1ZVwiPjwvcnMtZm9ybT5cbiAgICA8L2Rpdj5cbiAgPC9keC1hY2NvcmRpb24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1kZXRhaWwvZGF0YS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1kZXRhaWwvZGF0YS1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVF4RCxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFlBQXNCLGdCQUFrQyxFQUFVLE9BQTBCO1FBQXRFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUg1RixhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFHaEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyRixNQUFjLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUM3QyxFQUFFLEVBQUUsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHO2dCQUNuRSxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLO2FBQzNCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztnSEF0QlUsbUJBQW1CO29HQUFuQixtQkFBbUIsNENBRm5CLENBQUMsaUJBQWlCLENBQUMsMEJDUGhDLGdrQ0FtQkE7MkZEVmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLG1CQUFtQixhQUdsQixDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhRGV0YWlsU2VydmljZX0gZnJvbSBcIi4vZGF0YS1kZXRhaWwuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2FzdC1kYXRhLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0RhdGFEZXRhaWxTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhRGV0YWlsQ29tcG9uZW50IHtcbiAgdGVuYW50OiBhbnk7XG4gIGNsYXNzTmFtZTogYW55O1xuICBvaWQ6IGFueTtcbiAgcGFyYW1zPzogYW55O1xuICB0YWJWaWV3Q29udGFpbmVyUmVmITogVmlld0NvbnRhaW5lclJlZjtcbiAgc2VjdGlvbnM6IGFueVtdID0gW107XG4gIGxvYWRpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBzZXJ2aWNlOiBEYXRhRGV0YWlsU2VydmljZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnNlcnZpY2UuZ2V0U2VjdGlvbkxpc3QodGhpcy50ZW5hbnQsIHRoaXMuY2xhc3NOYW1lLCB0aGlzLm9pZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICh3aW5kb3cgYXMgYW55KS5jb2FzdC50YWJNYW5hZ2VyLnNldFRpdGxlLm5leHQoe1xuICAgICAgICBpZDogJ2RldGFpbDonICsgdGhpcy50ZW5hbnQgKyAnXycgKyB0aGlzLmNsYXNzTmFtZSArICdfJyArIHRoaXMub2lkLFxuICAgICAgICB0aXRsZTogcmVzcG9uc2UuZGF0YS50aXRsZVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNlY3Rpb25zID0gcmVzcG9uc2UuZGF0YS5saXN0O1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkeC1sb2FkLXBhbmVsIFtjb250YWluZXJdPVwidmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIiBbc2hvd1BhbmVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgW3Zpc2libGVdPVwibG9hZGluZ1wiPlxuICA8ZHhvLXBvc2l0aW9uIFtvZl09XCJ2aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudFwiPjwvZHhvLXBvc2l0aW9uPlxuPC9keC1sb2FkLXBhbmVsPlxuPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmIHNlY3Rpb25zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiZW1wdHlcIj5cbiAgPHNwYW4+5oKo5peg5p2D5p+l55yL6K+l5pWw5o2u5a6e5L6L5Lu75L2V5L+h5oGvPC9zcGFuPlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwic2VjdGlvbnMubGVuZ3RoID4gMFwiPlxuICA8ZHgtYWNjb3JkaW9uIFtjb2xsYXBzaWJsZV09XCJ0cnVlXCIgW211bHRpcGxlXT1cInRydWVcIiBbZGVmZXJSZW5kZXJpbmddPVwiZmFsc2VcIiBbZGF0YVNvdXJjZV09XCJzZWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkSXRlbXNdPVwic2VjdGlvbnNcIj5cbiAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHNlY3Rpb24gb2YgJ3RpdGxlJ1wiIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tdGl0bGUtbmFtZVwiPnt7IHNlY3Rpb24ubmFtZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgc2VjdGlvbiBvZiAnaXRlbSdcIj5cbiAgICAgIDxycy1mb3JtIFt0ZW5hbnRdPVwidGVuYW50XCIgW2NsYXNzTmFtZV09XCJjbGFzc05hbWVcIiBbb2lkXT1cIm9pZFwiIFt0ZW1wbGF0ZV09XCJzZWN0aW9uLmZvcm1UZW1wbGF0ZVwiIFtwYXJhbXNdPVwicGFyYW1zXCJcbiAgICAgICAgICAgICAgIFt0YWJWaWV3Q29udGFpbmVyUmVmXT1cInRhYlZpZXdDb250YWluZXJSZWZcIiBbcmVhZG9ubHldPVwidHJ1ZVwiPjwvcnMtZm9ybT5cbiAgICA8L2Rpdj5cbiAgPC9keC1hY2NvcmRpb24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==