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.
- package/data-grid/data-grid.component.d.ts +26 -26
- package/data-grid/data-grid.factory.d.ts +1 -1
- package/data-grid/data-grid.module.d.ts +8 -8
- package/data-grid/data-grid.service.d.ts +2 -0
- package/data-grid/instance-link-template/instance-link-template.component.d.ts +21 -0
- package/data-grid/unit-info-template/unit-info-template.component.d.ts +2 -1
- package/data-grid/user-info-template/user-info-template.component.d.ts +2 -1
- package/esm2020/data-detail/data-detail.component.mjs +5 -1
- package/esm2020/data-grid/data-grid.component.mjs +78 -44
- package/esm2020/data-grid/data-grid.factory.mjs +13 -17
- package/esm2020/data-grid/data-grid.module.mjs +15 -18
- package/esm2020/data-grid/data-grid.service.mjs +26 -1
- package/esm2020/data-grid/file-cell-template/file-cell-template.component.mjs +3 -7
- package/esm2020/data-grid/instance-link-template/instance-link-template.component.mjs +64 -0
- package/esm2020/data-grid/unit-info-template/unit-info-template.component.mjs +12 -4
- package/esm2020/data-grid/user-info-template/user-info-template.component.mjs +12 -4
- package/esm2020/public-api.mjs +1 -3
- package/fesm2015/ngx-rs-ant.mjs +758 -661
- package/fesm2015/ngx-rs-ant.mjs.map +1 -1
- package/fesm2020/ngx-rs-ant.mjs +751 -656
- package/fesm2020/ngx-rs-ant.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -2
- package/data-grid/instance-link-template.directive.d.ts +0 -8
- package/data-grid/master-detail-template.directive.d.ts +0 -8
- package/esm2020/data-grid/instance-link-template.directive.mjs +0 -16
- 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
|
-
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
41
|
-
|
|
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"; "
|
|
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.
|
|
5
|
-
import * as i4 from "./
|
|
6
|
-
import * as i5 from "./
|
|
7
|
-
import * as i6 from "./
|
|
8
|
-
import * as i7 from "
|
|
9
|
-
import * as i8 from "
|
|
10
|
-
import * as i9 from "
|
|
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.
|
|
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,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1kZXRhaWwvZGF0YS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1kZXRhaWwvZGF0YS1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVF4RCxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFlBQXNCLGdCQUFrQyxFQUFVLE9BQTBCO1FBQXRFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUg1RixhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFHaEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyRixNQUFjLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUM3QyxFQUFFLEVBQUUsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHO2dCQUNuRSxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLO2FBQzNCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztnSEF0QlUsbUJBQW1CO29HQUFuQixtQkFBbUIsNENBRm5CLENBQUMsaUJBQWlCLENBQUMsMEJDUGhDLGdrQ0FtQkE7MkZEVmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLG1CQUFtQixhQUdsQixDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhRGV0YWlsU2VydmljZX0gZnJvbSBcIi4vZGF0YS1kZXRhaWwuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2FzdC1kYXRhLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0RhdGFEZXRhaWxTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhRGV0YWlsQ29tcG9uZW50IHtcbiAgdGVuYW50OiBhbnk7XG4gIGNsYXNzTmFtZTogYW55O1xuICBvaWQ6IGFueTtcbiAgcGFyYW1zPzogYW55O1xuICB0YWJWaWV3Q29udGFpbmVyUmVmITogVmlld0NvbnRhaW5lclJlZjtcbiAgc2VjdGlvbnM6IGFueVtdID0gW107XG4gIGxvYWRpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBzZXJ2aWNlOiBEYXRhRGV0YWlsU2VydmljZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnNlcnZpY2UuZ2V0U2VjdGlvbkxpc3QodGhpcy50ZW5hbnQsIHRoaXMuY2xhc3NOYW1lLCB0aGlzLm9pZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICh3aW5kb3cgYXMgYW55KS5jb2FzdC50YWJNYW5hZ2VyLnNldFRpdGxlLm5leHQoe1xuICAgICAgICBpZDogJ2RldGFpbDonICsgdGhpcy50ZW5hbnQgKyAnXycgKyB0aGlzLmNsYXNzTmFtZSArICdfJyArIHRoaXMub2lkLFxuICAgICAgICB0aXRsZTogcmVzcG9uc2UuZGF0YS50aXRsZVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNlY3Rpb25zID0gcmVzcG9uc2UuZGF0YS5saXN0O1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkeC1sb2FkLXBhbmVsIFtjb250YWluZXJdPVwidmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIiBbc2hvd1BhbmVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgW3Zpc2libGVdPVwibG9hZGluZ1wiPlxuICA8ZHhvLXBvc2l0aW9uIFtvZl09XCJ2aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudFwiPjwvZHhvLXBvc2l0aW9uPlxuPC9keC1sb2FkLXBhbmVsPlxuPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmIHNlY3Rpb25zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiZW1wdHlcIj5cbiAgPHNwYW4+5oKo5peg5p2D5p+l55yL6K+l5pWw5o2u5a6e5L6L5Lu75L2V5L+h5oGvPC9zcGFuPlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwic2VjdGlvbnMubGVuZ3RoID4gMFwiPlxuICA8ZHgtYWNjb3JkaW9uIFtjb2xsYXBzaWJsZV09XCJ0cnVlXCIgW211bHRpcGxlXT1cInRydWVcIiBbZGVmZXJSZW5kZXJpbmddPVwiZmFsc2VcIiBbZGF0YVNvdXJjZV09XCJzZWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkSXRlbXNdPVwic2VjdGlvbnNcIj5cbiAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHNlY3Rpb24gb2YgJ3RpdGxlJ1wiIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tdGl0bGUtbmFtZVwiPnt7IHNlY3Rpb24ubmFtZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgc2VjdGlvbiBvZiAnaXRlbSdcIj5cbiAgICAgIDxycy1mb3JtIFt0ZW5hbnRdPVwidGVuYW50XCIgW2NsYXNzTmFtZV09XCJjbGFzc05hbWVcIiBbb2lkXT1cIm9pZFwiIFt0ZW1wbGF0ZV09XCJzZWN0aW9uLmZvcm1UZW1wbGF0ZVwiIFtwYXJhbXNdPVwicGFyYW1zXCJcbiAgICAgICAgICAgICAgIFt0YWJWaWV3Q29udGFpbmVyUmVmXT1cInRhYlZpZXdDb250YWluZXJSZWZcIiBbcmVhZG9ubHldPVwidHJ1ZVwiPjwvcnMtZm9ybT5cbiAgICA8L2Rpdj5cbiAgPC9keC1hY2NvcmRpb24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|