@esfaenza/admin-module 11.2.18 → 11.2.21
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/bundles/esfaenza-admin-module.umd.js +14 -5
- package/bundles/esfaenza-admin-module.umd.js.map +1 -1
- package/bundles/esfaenza-admin-module.umd.min.js +1 -15
- package/bundles/esfaenza-admin-module.umd.min.js.map +1 -1
- package/esfaenza-admin-module.metadata.json +1 -1
- package/esm2015/lib/components/_shared/node_detail.component.js +2 -2
- package/esm2015/lib/components/dynamic_views/adm_dynamic_views.component.js +4 -3
- package/fesm2015/esfaenza-admin-module.js +3 -3
- package/fesm2015/esfaenza-admin-module.js.map +1 -1
- package/package.json +4 -4
|
@@ -32,7 +32,7 @@ NodeDetailComponent.decorators = [
|
|
|
32
32
|
{ type: Component, args: [{
|
|
33
33
|
selector: "node-detail",
|
|
34
34
|
viewProviders: [{ provide: LocalizationService, useClass: NodeDetailLoc }],
|
|
35
|
-
template: "<div class=\"modal-dialog modal-xl\" cdkDrag>\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" cdkDragHandle>\r\n <h4 class=\"modal-title pull-left\">\r\n {{'Activity Node Details' | localize : lc}}\r\n <span *ngIf=\"NodeDetails\"> {{NodeDetails.nodeid}} - {{NodeDetails.nodedescription}}</span>\r\n </h4>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"closeDialog()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\" *ngIf=\"NodeDetails\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <strong>{{'Event Type' | localize: lc}}</strong>: {{NodeDetails.eventtypedesc}} - 
|
|
35
|
+
template: "<div class=\"modal-dialog modal-xl\" cdkDrag>\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" cdkDragHandle>\r\n <h4 class=\"modal-title pull-left\">\r\n {{'Activity Node Details' | localize : lc}}\r\n <span *ngIf=\"NodeDetails\"> {{NodeDetails.nodeid}} - {{NodeDetails.nodedescription}}</span>\r\n </h4>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"closeDialog()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\" *ngIf=\"NodeDetails\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <strong>{{'Event Type' | localize: lc}}</strong>: {{NodeDetails.eventtypedesc}} - <strong>{{NodeDetails.executions}}</strong> {{'Executions' | localize: lc}}\r\n </div>\r\n <div class=\"col-md-6\">\r\n <strong>{{'Elapsed (With Children)' | localize: lc}}</strong>: {{NodeDetails.elapsed}}\r\n </div>\r\n <div class=\"col-md-6\">\r\n <strong>{{'Wait Class' | localize: lc}}</strong>: {{NodeDetails.waitclassname}}\r\n </div>\r\n <div class=\"col-md-6\">\r\n <strong>{{'Elapsed (No Children)' | localize: lc}}</strong>: {{NodeDetails.elapsedlesschildren}}\r\n </div>\r\n </div>\r\n <div style=\"max-height: 200px; overflow: auto\" *ngIf=\"(NodeDetails?.waitstack?.length || 0) > 0\">\r\n <h5 class=\"app-margin-top-10\"><strong>{{'Wait Stack' | localize: lc}}</strong></h5>\r\n <div *ngFor=\"let wait of NodeDetails.waitstack\">\r\n > {{wait.nodeid}} - {{wait.nodedescription}}: \r\n <strong>{{'Event Type' | localize: lc}}</strong>: {{wait.eventtypedesc}} \r\n <strong>{{'Wait Class' | localize: lc}}</strong>: {{wait.waitclassname}}\r\n </div>\r\n </div>\r\n <div style=\"height: 200px;\">\r\n <h5 class=\"app-margin-top-10\"><strong>{{'Resources Usage' | localize: lc}}</strong></h5>\r\n <es-line-chart *ngIf=\"NodeDetails.sessionchart\"\r\n [MinGridDistance]=\"65\"\r\n [Timeline]=\"false\"\r\n [FinalInstants]=\"false\"\r\n [LegendPadding]=\"{top: 0, bottom: 7, right: 0, left: 10}\"\r\n [Fill]=\"true\"\r\n [MergeDatasets]=\"true\"\r\n [Data]=\"NodeDetails.sessionchart\"\r\n [Legend]=\"true\" \r\n name=\"nodeDetailSessionChart\"\r\n [DataGroupingThreshold]=\"99999999\"></es-line-chart>\r\n </div>\r\n <div style=\"height: 200px;\">\r\n <es-pie-chart *ngIf=\"NodeDetails.loadchart\" [Legend]=\"true\" [Data]=\"NodeDetails.loadchart\" name=\"nodeDetailLoadChart\"></es-pie-chart>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"closeDialog()\">{{'Close' | localize : lc}}</button>\r\n </div>\r\n </div>\r\n</div>"
|
|
36
36
|
},] }
|
|
37
37
|
];
|
|
38
38
|
NodeDetailComponent.ctorParameters = () => [
|
|
@@ -42,4 +42,4 @@ NodeDetailComponent.propDecorators = {
|
|
|
42
42
|
NodeDetails: [{ type: Input }],
|
|
43
43
|
onClose: [{ type: Output }]
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9fc2hhcmVkL25vZGVfZGV0YWlsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUYsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzlELGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFPNUQsTUFBTSxPQUFPLG1CQUFtQjtJQU01QixZQUFtQixFQUF1QjtRQUF2QixPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQUZoQyxZQUFPLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFekIsQ0FBQztJQUUvQyxRQUFRO1FBQ0osSUFBSSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLElBQUksYUFBYSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksQ0FBQztZQUMxQyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7WUFDbEQsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO1lBQ3BELElBQUksYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNoRCxJQUFJLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7WUFDeEQsSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQzVELElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUN0RCxJQUFJLGFBQWEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDN0QsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1NBQ25ELENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7O1lBOUJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsYUFBYSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDO2dCQUMxRSxxNEdBQTJDO2FBQzlDOzs7WUFaUSxtQkFBbUI7OzswQkFldkIsS0FBSztzQkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEtleVZhbHVlQ29sb3IsIExpbmVDaGFydERhdGEsIExpbmVTZXJpZSwgUGllQ2hhcnREYXRhIH0gZnJvbSBcIkBlc2ZhZW56YS9lcy1jaGFydHNcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBOb2RlU3RhdHMgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvTm9kZVN0YXRzXCI7XHJcblxyXG4vLyBMb2NhbGl6emF6aW9uZVxyXG5pbXBvcnQgeyBOb2RlRGV0YWlsTG9jIH0gZnJvbSBcIi4vbm9kZV9kZXRhaWwuY29tcG9uZW50LmxvY1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJub2RlLWRldGFpbFwiLFxyXG4gICAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogTG9jYWxpemF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IE5vZGVEZXRhaWxMb2MgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL25vZGVfZGV0YWlsLmNvbXBvbmVudC5odG1sXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vZGVEZXRhaWxDb21wb25lbnQge1xyXG5cclxuICAgIEBJbnB1dCgpIE5vZGVEZXRhaWxzOiBOb2RlU3RhdHM7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBsZXQgc2VyaWUgPSBuZXcgTGluZVNlcmllKHRoaXMubGMubG9jKFwiQWN0aXZlIFNlc3Npb25zXCIpLCB0aGlzLk5vZGVEZXRhaWxzLmFjdGl2ZXNlc3Npb25zKTtcclxuICAgICAgICB0aGlzLk5vZGVEZXRhaWxzLnNlc3Npb25jaGFydCA9IG5ldyBMaW5lQ2hhcnREYXRhKFtzZXJpZV0pO1xyXG4gICAgICAgIHRoaXMuTm9kZURldGFpbHMubG9hZGNoYXJ0ID0gbmV3IFBpZUNoYXJ0RGF0YShbXHJcbiAgICAgICAgICAgIG5ldyBLZXlWYWx1ZUNvbG9yKFwiQ1BVXCIsIHRoaXMuTm9kZURldGFpbHMuY3B1cGVyYyksXHJcbiAgICAgICAgICAgIG5ldyBLZXlWYWx1ZUNvbG9yKFwiV2FpdFwiLCB0aGlzLk5vZGVEZXRhaWxzLndhaXRwZXJjKSxcclxuICAgICAgICAgICAgbmV3IEtleVZhbHVlQ29sb3IoXCJEQlwiLCB0aGlzLk5vZGVEZXRhaWxzLmRicGVyYyksXHJcbiAgICAgICAgICAgIG5ldyBLZXlWYWx1ZUNvbG9yKFwiU2NyaXB0XCIsIHRoaXMuTm9kZURldGFpbHMuc2NyaXB0cGVyYyksXHJcbiAgICAgICAgICAgIG5ldyBLZXlWYWx1ZUNvbG9yKFwiVGhyb3R0bGVcIiwgdGhpcy5Ob2RlRGV0YWlscy50aHJvdHRsZXBlcmMpLFxyXG4gICAgICAgICAgICBuZXcgS2V5VmFsdWVDb2xvcihcIlNsZWVwXCIsIHRoaXMuTm9kZURldGFpbHMuc2xlZXBwZXJjKSxcclxuICAgICAgICAgICAgbmV3IEtleVZhbHVlQ29sb3IoXCJOZXR3b3JraW5nXCIsIHRoaXMuTm9kZURldGFpbHMubmV0d29ya3BlcmMpLFxyXG4gICAgICAgICAgICBuZXcgS2V5VmFsdWVDb2xvcihcIklPXCIsIHRoaXMuTm9kZURldGFpbHMuaW9wZXJjKVxyXG4gICAgICAgIF0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlRGlhbG9nKCkge1xyXG4gICAgICAgIHRoaXMub25DbG9zZS5lbWl0KHRydWUpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -8,6 +8,7 @@ import { LocalizationService } from "@esfaenza/localizations";
|
|
|
8
8
|
import { PreferencesService } from "@esfaenza/preferences";
|
|
9
9
|
import { InboundMessageTypes, InterComService } from "@esfaenza/extensions";
|
|
10
10
|
import { HTTPService } from "@esfaenza/httpservice";
|
|
11
|
+
import { AppSearch } from "@esfaenza/es-table";
|
|
11
12
|
// Applicazione
|
|
12
13
|
import { Repository } from "../../models/externals/Repository";
|
|
13
14
|
import { DynamicViewsView } from "../../models/components/DynamicViewsView";
|
|
@@ -76,7 +77,7 @@ export class AdmDynamicViewsComponent {
|
|
|
76
77
|
POSTGetItems(url, data) {
|
|
77
78
|
if (!this.searchView.filtername) {
|
|
78
79
|
this.badSearch = true;
|
|
79
|
-
this.searchView
|
|
80
|
+
AppSearch.reset(this.searchView);
|
|
80
81
|
//Aggiorno il riferimento per refreshare la es-table
|
|
81
82
|
this.searchView = JSON.parse(JSON.stringify(this.searchView));
|
|
82
83
|
return;
|
|
@@ -99,7 +100,7 @@ AdmDynamicViewsComponent.decorators = [
|
|
|
99
100
|
{ type: Component, args: [{
|
|
100
101
|
selector: "adm_dynamic_views",
|
|
101
102
|
viewProviders: [{ provide: LocalizationService, useClass: AdmDynamicViewsLoc }],
|
|
102
|
-
template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Search Application Dynamic Views' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"filterName\" name=\"filtername\" [Source]=\"Names\" [SelectLabel]=\"'Name' | localize : lc\"></form-select>\r\n </div>\r\n <button class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div *ngIf=\"badSearch\" class=\"card card-info app-white-text app-padding-10\">{{'View Name is mandatory for search operations' | localize : lc}}</div>\r\n <ng-container *ngIf=\"!badSearch\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Dynamic Views' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView && searchView.items.length > 0\">\r\n <es-table [(ngModel)]=\"searchView\" [AutoUpdate]=\"true\" [OrderByColumn]=\"true\" (onSearchRequest)=\"sendSearch($event);\"></es-table>\r\n </div>\r\n <div *ngIf=\"searchView && searchView.items.length == 0 && !searchView.searchinprogress\" class=\"card card-info app-white-text app-padding-10\">\r\n {{'No element found for Dynamic View' | localize : lc}} <strong>{{
|
|
103
|
+
template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Search Application Dynamic Views' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"filterName\" name=\"filtername\" [Source]=\"Names\" [SelectLabel]=\"'Name' | localize : lc\"></form-select>\r\n </div>\r\n <button class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div *ngIf=\"badSearch\" class=\"card card-info app-white-text app-padding-10\">{{'View Name is mandatory for search operations' | localize : lc}}</div>\r\n <ng-container *ngIf=\"!badSearch\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Dynamic Views' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView && searchView.items.length > 0\">\r\n <es-table [(ngModel)]=\"searchView\" [AutoUpdate]=\"true\" [OrderByColumn]=\"true\" (onSearchRequest)=\"sendSearch($event);\"></es-table>\r\n </div>\r\n <div *ngIf=\"searchView && searchView.items.length == 0 && !searchView.searchinprogress\" class=\"card card-info app-white-text app-padding-10\">\r\n {{'No element found for Dynamic View' | localize : lc}} <strong>{{searchView.filtername}}</strong>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>"
|
|
103
104
|
},] }
|
|
104
105
|
];
|
|
105
106
|
AdmDynamicViewsComponent.ctorParameters = () => [
|
|
@@ -112,4 +113,4 @@ AdmDynamicViewsComponent.ctorParameters = () => [
|
|
|
112
113
|
{ type: String, decorators: [{ type: Inject, args: [ADM_BACKEND_URL,] }] },
|
|
113
114
|
{ type: String, decorators: [{ type: Inject, args: [ADM_MODULE_PATH,] }] }
|
|
114
115
|
];
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX2R5bmFtaWNfdmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljX3ZpZXdzL2FkbV9keW5hbWljX3ZpZXdzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsZUFBZTtBQUNmLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVoRSxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFPdkUsTUFBTSxPQUFPLHdCQUF3QjtJQVlqQyxZQUNXLEVBQXVCLEVBQ3RCLFFBQXlCLEVBQ3pCLFlBQWdDLEVBQ2hDLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLFFBQWtCLEVBQ08sT0FBZSxFQUNmLEdBQVc7UUFQckMsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNPLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBbEJ6QyxlQUFVLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUN0RCxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBRXZCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFaEMsMEVBQTBFO1FBQ25FLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFZMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25JLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWEsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFVBQVU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFSyxJQUFJLENBQUMsYUFBYTs7WUFDcEIsSUFBSSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBbUIsZUFBZSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUYsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbkI7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztnQkFDckMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNuRTtRQUNMLENBQUM7S0FBQTtJQUVELElBQUksQ0FBQyxTQUEyQjtRQUM1Qix3SEFBd0g7UUFDeEgsZ0RBQWdEO1FBQ2hELElBQUksU0FBUyxFQUFFO1lBQ1gsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0Y7YUFDSTtZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsWUFBcUIsSUFBSTtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QyxJQUFJLFNBQVM7WUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFFN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVcsRUFBRSxJQUFzQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUV4QixvREFBb0Q7WUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDOUQsT0FBTztTQUNWOztZQUVHLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTNCLGdDQUFnQztRQUNoQyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUMxQjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQixHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RELElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs7WUFqR0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLGFBQWEsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO2dCQUMvRSx3bUZBQWlEO2FBQ3BEOzs7WUFsQlEsbUJBQW1CO1lBRUUsZUFBZTtZQURwQyxrQkFBa0I7WUFFbEIsV0FBVztZQVBYLGNBQWM7WUFDZCxRQUFRO3lDQXlDUixNQUFNLFNBQUMsZUFBZTt5Q0FDdEIsTUFBTSxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHRlcm5hbHMvUmVwb3NpdG9yeVwiO1xyXG5pbXBvcnQgeyBEeW5hbWljVmlld3NWaWV3IH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL0R5bmFtaWNWaWV3c1ZpZXdcIjtcclxuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NoYXJlZC9LZXlWYWx1ZVwiO1xyXG5pbXBvcnQgeyBBRE1fQkFDS0VORF9VUkwsIEFETV9NT0RVTEVfUEFUSCB9IGZyb20gXCIuLi8uLi90b2tlbnNcIjtcclxuXHJcbi8vIExvY2FsaXp6YXppb25lXHJcbmltcG9ydCB7IEFkbUR5bmFtaWNWaWV3c0xvYyB9IGZyb20gXCIuL2FkbV9keW5hbWljX3ZpZXdzLmNvbXBvbmVudC5sb2NcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYWRtX2R5bmFtaWNfdmlld3NcIixcclxuICAgIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBBZG1EeW5hbWljVmlld3NMb2MgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FkbV9keW5hbWljX3ZpZXdzLmNvbXBvbmVudC5odG1sXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkbUR5bmFtaWNWaWV3c0NvbXBvbmVudCB7XHJcblxyXG4gICAgcHVibGljIHNlYXJjaFZpZXc6IER5bmFtaWNWaWV3c1ZpZXcgPSBuZXcgRHluYW1pY1ZpZXdzVmlldygpO1xyXG4gICAgcHVibGljIE5hbWVzOiBLZXlWYWx1ZVtdID0gW107XHJcbiAgICBwdWJsaWMgc3RvcmFnZVN1YjogYW55O1xyXG4gICAgcHVibGljIGJhZFNlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBjdXJyZW50TmFtZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvLyBTdGFjY2F0byBkYWxsYSB2aWV3IHBlcmNow6kgZGV2ZSBlc3NlcmUgZGlzdHJ1dHRhIGUgcmljcmVhdGEgZGkgY29udGludW9cclxuICAgIHB1YmxpYyBmaWx0ZXJOYW1lOnN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaW50ZXJjb206IEludGVyQ29tU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGxvY2FsU3RvcmFnZTogUHJlZmVyZW5jZXNTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSFRUUFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgQEluamVjdChBRE1fQkFDS0VORF9VUkwpIHByaXZhdGUgYmFja2VuZDogc3RyaW5nLFxyXG4gICAgICAgIEBJbmplY3QoQURNX01PRFVMRV9QQVRIKSBwcml2YXRlIG1vZDogc3RyaW5nKSB7XHJcblxyXG4gICAgICAgIHRoaXMuaW50ZXJjb20uc2VuZChJbmJvdW5kTWVzc2FnZVR5cGVzLk5hdmlnYXRpb24sIHsgc3ViOiBmYWxzZSwgcm91dGVUaXRsZTogdGhpcy5sYy5sb2ModGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW1widGl0bGVcIl0pIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8S2V5VmFsdWVbXT4oUmVwb3NpdG9yeS5HRVRfQWRtX0dldER5bmFtaWNWaWV3cykuc3Vic2NyaWJlKHQgPT4geyB0aGlzLk5hbWVzID0gdCB9KTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTdWIgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4geyB0aGlzLkluaXQocGFyYW1zW1wiaWdub3JlU3RvcmFnZVwiXSk7IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2VTdWIpXHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIEluaXQoaWdub3JlU3RvcmFnZSkge1xyXG4gICAgICAgIGxldCBpdGVtID0gYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbTxEeW5hbWljVmlld3NWaWV3PihcIkhvdERpbmFtaXRhdG9cIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgaWYgKCFpZ25vcmVTdG9yYWdlICYmIGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUoYC9wYWdlcy8ke3RoaXMubW9kfS9zZXJ2ZXJ2aWV3c2ApO1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zID0gW107XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJIb3REaW5hbWl0YXRvXCIpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbml0KEhvdFBvdGF0bzogRHluYW1pY1ZpZXdzVmlldykge1xyXG4gICAgICAgIC8vU2UgaG8gbGEgSG90UG90YXRvIHZ1b2wgZGlyZSBjaGUgc29ubyBhcHBlbmEgdG9ybmF0byBkYWxsJ2VkaXQvbnVvdm8uIFJpZmFjY2lvIGxhIHJpY2VyY2EgaW4gYmFzZSBhaSBmaWx0cmkgcHJlY2VkZW50aVxyXG4gICAgICAgIC8vQWx0aXJtZW50aSBnZW5lcm8gaWwgbW9kZWxsbyBudW92byBub3JtYWxtZW50ZVxyXG4gICAgICAgIGlmIChIb3RQb3RhdG8pIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gSG90UG90YXRvO1xyXG4gICAgICAgICAgICB0aGlzLlBPU1RHZXRJdGVtcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5LlBPU1RfQWRtX0dldER5bmFtaWNWaWV3RGF0YSwgdGhpcy5zZWFyY2hWaWV3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IG5ldyBEeW5hbWljVmlld3NWaWV3KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFNlYXJjaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZW5kU2VhcmNoKHJlc2V0UGFnZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgaWYgKHJlc2V0UGFnZSlcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnBhZ2UgPSAxO1xyXG5cclxuICAgICAgICB0aGlzLnNlYXJjaFZpZXcuZmlsdGVybmFtZSA9IHRoaXMuZmlsdGVyTmFtZTtcclxuICAgICAgICB0aGlzLlBPU1RHZXRJdGVtcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5LlBPU1RfQWRtX0dldER5bmFtaWNWaWV3RGF0YSwgdGhpcy5zZWFyY2hWaWV3KTtcclxuICAgIH1cclxuXHJcbiAgICBQT1NUR2V0SXRlbXModXJsOiBzdHJpbmcsIGRhdGE6IER5bmFtaWNWaWV3c1ZpZXcpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoVmlldy5maWx0ZXJuYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFkU2VhcmNoID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnJlc2V0KCk7XHJcblxyXG4gICAgICAgICAgICAvL0FnZ2lvcm5vIGlsIHJpZmVyaW1lbnRvIHBlciByZWZyZXNoYXJlIGxhIGVzLXRhYmxlXHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5zZWFyY2hWaWV3KSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLmJhZFNlYXJjaCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBQZXIgZm9yY2UtcmVzZXR0YXJlIGwnZXN0YWJsZVxyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnROYW1lICE9IHRoaXMuc2VhcmNoVmlldy5maWx0ZXJuYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE5hbWUgPSB0aGlzLnNlYXJjaFZpZXcuZmlsdGVybmFtZTtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PER5bmFtaWNWaWV3c1ZpZXc+KHVybCwgZGF0YSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSB0O1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiSG90RGluYW1pdGF0b1wiLCB0aGlzLnNlYXJjaFZpZXcpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxufSJdfQ==
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX2R5bmFtaWNfdmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljX3ZpZXdzL2FkbV9keW5hbWljX3ZpZXdzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DLGVBQWU7QUFDZixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEUsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBT3ZFLE1BQU0sT0FBTyx3QkFBd0I7SUFZakMsWUFDVyxFQUF1QixFQUN0QixRQUF5QixFQUN6QixZQUFnQyxFQUNoQyxJQUFpQixFQUNqQixLQUFxQixFQUNy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QVUsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OztZQWpHSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsYUFBYSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLENBQUM7Z0JBQy9FLG1uRkFBaUQ7YUFDcEQ7OztZQW5CUSxtQkFBbUI7WUFFRSxlQUFlO1lBRHBDLGtCQUFrQjtZQUVsQixXQUFXO1lBUFgsY0FBYztZQUNkLFFBQVE7eUNBMENSLE1BQU0sU0FBQyxlQUFlO3lDQUN0QixNQUFNLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgSW5ib3VuZE1lc3NhZ2VUeXBlcywgSW50ZXJDb21TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IEhUVFBTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9odHRwc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBcHBTZWFyY2ggfSBmcm9tIFwiQGVzZmFlbnphL2VzLXRhYmxlXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXh0ZXJuYWxzL1JlcG9zaXRvcnlcIjtcclxuaW1wb3J0IHsgRHluYW1pY1ZpZXdzVmlldyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tcG9uZW50cy9EeW5hbWljVmlld3NWaWV3XCI7XHJcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSBcIi4uLy4uL21vZGVscy9zaGFyZWQvS2V5VmFsdWVcIjtcclxuaW1wb3J0IHsgQURNX0JBQ0tFTkRfVVJMLCBBRE1fTU9EVUxFX1BBVEggfSBmcm9tIFwiLi4vLi4vdG9rZW5zXCI7XHJcblxyXG4vLyBMb2NhbGl6emF6aW9uZVxyXG5pbXBvcnQgeyBBZG1EeW5hbWljVmlld3NMb2MgfSBmcm9tIFwiLi9hZG1fZHluYW1pY192aWV3cy5jb21wb25lbnQubG9jXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFkbV9keW5hbWljX3ZpZXdzXCIsXHJcbiAgICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogQWRtRHluYW1pY1ZpZXdzTG9jIH1dLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hZG1fZHluYW1pY192aWV3cy5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZG1EeW5hbWljVmlld3NDb21wb25lbnQge1xyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hWaWV3OiBEeW5hbWljVmlld3NWaWV3ID0gbmV3IER5bmFtaWNWaWV3c1ZpZXcoKTtcclxuICAgIHB1YmxpYyBOYW1lczogS2V5VmFsdWVbXSA9IFtdO1xyXG4gICAgcHVibGljIHN0b3JhZ2VTdWI6IGFueTtcclxuICAgIHB1YmxpYyBiYWRTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgY3VycmVudE5hbWU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLy8gU3RhY2NhdG8gZGFsbGEgdmlldyBwZXJjaMOpIGRldmUgZXNzZXJlIGRpc3RydXR0YSBlIHJpY3JlYXRhIGRpIGNvbnRpbnVvXHJcbiAgICBwdWJsaWMgZmlsdGVyTmFtZTpzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGludGVyY29tOiBJbnRlckNvbVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2U6IFByZWZlcmVuY2VzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEhUVFBTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgICAgIEBJbmplY3QoQURNX0JBQ0tFTkRfVVJMKSBwcml2YXRlIGJhY2tlbmQ6IHN0cmluZyxcclxuICAgICAgICBASW5qZWN0KEFETV9NT0RVTEVfUEFUSCkgcHJpdmF0ZSBtb2Q6IHN0cmluZykge1xyXG5cclxuICAgICAgICB0aGlzLmludGVyY29tLnNlbmQoSW5ib3VuZE1lc3NhZ2VUeXBlcy5OYXZpZ2F0aW9uLCB7IHN1YjogZmFsc2UsIHJvdXRlVGl0bGU6IHRoaXMubGMubG9jKHRoaXMucm91dGUuc25hcHNob3QuZGF0YVtcInRpdGxlXCJdKSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmh0dHAuZ2V0PEtleVZhbHVlW10+KFJlcG9zaXRvcnkuR0VUX0FkbV9HZXREeW5hbWljVmlld3MpLnN1YnNjcmliZSh0ID0+IHsgdGhpcy5OYW1lcyA9IHQgfSk7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU3ViID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHsgdGhpcy5Jbml0KHBhcmFtc1tcImlnbm9yZVN0b3JhZ2VcIl0pOyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdG9yYWdlU3ViKVxyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBJbml0KGlnbm9yZVN0b3JhZ2UpIHtcclxuICAgICAgICBsZXQgaXRlbSA9IGF3YWl0IHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW08RHluYW1pY1ZpZXdzVmlldz4oXCJIb3REaW5hbWl0YXRvXCIpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGlmICghaWdub3JlU3RvcmFnZSAmJiBpdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQobnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGAvcGFnZXMvJHt0aGlzLm1vZH0vc2VydmVydmlld3NgKTtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyA9IFtdO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiSG90RGluYW1pdGF0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IER5bmFtaWNWaWV3c1ZpZXcpIHtcclxuICAgICAgICAvL1NlIGhvIGxhIEhvdFBvdGF0byB2dW9sIGRpcmUgY2hlIHNvbm8gYXBwZW5hIHRvcm5hdG8gZGFsbCdlZGl0L251b3ZvLiBSaWZhY2NpbyBsYSByaWNlcmNhIGluIGJhc2UgYWkgZmlsdHJpIHByZWNlZGVudGlcclxuICAgICAgICAvL0FsdGlybWVudGkgZ2VuZXJvIGlsIG1vZGVsbG8gbnVvdm8gbm9ybWFsbWVudGVcclxuICAgICAgICBpZiAoSG90UG90YXRvKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IEhvdFBvdGF0bztcclxuICAgICAgICAgICAgdGhpcy5QT1NUR2V0SXRlbXModGhpcy5iYWNrZW5kICsgUmVwb3NpdG9yeS5QT1NUX0FkbV9HZXREeW5hbWljVmlld0RhdGEsIHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSBuZXcgRHluYW1pY1ZpZXdzVmlldygpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbmRTZWFyY2goKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZFNlYXJjaChyZXNldFBhZ2U6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnNlYXJjaGlucHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgICAgIGlmIChyZXNldFBhZ2UpXHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldy5wYWdlID0gMTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWFyY2hWaWV3LmZpbHRlcm5hbWUgPSB0aGlzLmZpbHRlck5hbWU7XHJcbiAgICAgICAgdGhpcy5QT1NUR2V0SXRlbXModGhpcy5iYWNrZW5kICsgUmVwb3NpdG9yeS5QT1NUX0FkbV9HZXREeW5hbWljVmlld0RhdGEsIHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgUE9TVEdldEl0ZW1zKHVybDogc3RyaW5nLCBkYXRhOiBEeW5hbWljVmlld3NWaWV3KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlYXJjaFZpZXcuZmlsdGVybmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLmJhZFNlYXJjaCA9IHRydWU7XHJcbiAgICAgICAgICAgIEFwcFNlYXJjaC5yZXNldCh0aGlzLnNlYXJjaFZpZXcpO1xyXG5cclxuICAgICAgICAgICAgLy9BZ2dpb3JubyBpbCByaWZlcmltZW50byBwZXIgcmVmcmVzaGFyZSBsYSBlcy10YWJsZVxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc2VhcmNoVmlldykpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5iYWRTZWFyY2ggPSBmYWxzZTtcclxuXHJcbiAgICAgICAgLy8gUGVyIGZvcmNlLXJlc2V0dGFyZSBsJ2VzdGFibGVcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50TmFtZSAhPSB0aGlzLnNlYXJjaFZpZXcuZmlsdGVybmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnROYW1lID0gdGhpcy5zZWFyY2hWaWV3LmZpbHRlcm5hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmh0dHAucG9zdDxEeW5hbWljVmlld3NWaWV3Pih1cmwsIGRhdGEpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gdDtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnNlYXJjaGlucHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIkhvdERpbmFtaXRhdG9cIiwgdGhpcy5zZWFyY2hWaWV3KS5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbn0iXX0=
|
|
@@ -1218,7 +1218,7 @@ NodeDetailComponent.decorators = [
|
|
|
1218
1218
|
{ type: Component, args: [{
|
|
1219
1219
|
selector: "node-detail",
|
|
1220
1220
|
viewProviders: [{ provide: LocalizationService, useClass: NodeDetailLoc }],
|
|
1221
|
-
template: "<div class=\"modal-dialog modal-xl\" cdkDrag>\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" cdkDragHandle>\r\n <h4 class=\"modal-title pull-left\">\r\n {{'Activity Node Details' | localize : lc}}\r\n <span *ngIf=\"NodeDetails\"> {{NodeDetails.nodeid}} - {{NodeDetails.nodedescription}}</span>\r\n </h4>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"closeDialog()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\" *ngIf=\"NodeDetails\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <strong>{{'Event Type' | localize: lc}}</strong>: {{NodeDetails.eventtypedesc}} - 
|
|
1221
|
+
template: "<div class=\"modal-dialog modal-xl\" cdkDrag>\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" cdkDragHandle>\r\n <h4 class=\"modal-title pull-left\">\r\n {{'Activity Node Details' | localize : lc}}\r\n <span *ngIf=\"NodeDetails\"> {{NodeDetails.nodeid}} - {{NodeDetails.nodedescription}}</span>\r\n </h4>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"closeDialog()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\" *ngIf=\"NodeDetails\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <strong>{{'Event Type' | localize: lc}}</strong>: {{NodeDetails.eventtypedesc}} - <strong>{{NodeDetails.executions}}</strong> {{'Executions' | localize: lc}}\r\n </div>\r\n <div class=\"col-md-6\">\r\n <strong>{{'Elapsed (With Children)' | localize: lc}}</strong>: {{NodeDetails.elapsed}}\r\n </div>\r\n <div class=\"col-md-6\">\r\n <strong>{{'Wait Class' | localize: lc}}</strong>: {{NodeDetails.waitclassname}}\r\n </div>\r\n <div class=\"col-md-6\">\r\n <strong>{{'Elapsed (No Children)' | localize: lc}}</strong>: {{NodeDetails.elapsedlesschildren}}\r\n </div>\r\n </div>\r\n <div style=\"max-height: 200px; overflow: auto\" *ngIf=\"(NodeDetails?.waitstack?.length || 0) > 0\">\r\n <h5 class=\"app-margin-top-10\"><strong>{{'Wait Stack' | localize: lc}}</strong></h5>\r\n <div *ngFor=\"let wait of NodeDetails.waitstack\">\r\n > {{wait.nodeid}} - {{wait.nodedescription}}: \r\n <strong>{{'Event Type' | localize: lc}}</strong>: {{wait.eventtypedesc}} \r\n <strong>{{'Wait Class' | localize: lc}}</strong>: {{wait.waitclassname}}\r\n </div>\r\n </div>\r\n <div style=\"height: 200px;\">\r\n <h5 class=\"app-margin-top-10\"><strong>{{'Resources Usage' | localize: lc}}</strong></h5>\r\n <es-line-chart *ngIf=\"NodeDetails.sessionchart\"\r\n [MinGridDistance]=\"65\"\r\n [Timeline]=\"false\"\r\n [FinalInstants]=\"false\"\r\n [LegendPadding]=\"{top: 0, bottom: 7, right: 0, left: 10}\"\r\n [Fill]=\"true\"\r\n [MergeDatasets]=\"true\"\r\n [Data]=\"NodeDetails.sessionchart\"\r\n [Legend]=\"true\" \r\n name=\"nodeDetailSessionChart\"\r\n [DataGroupingThreshold]=\"99999999\"></es-line-chart>\r\n </div>\r\n <div style=\"height: 200px;\">\r\n <es-pie-chart *ngIf=\"NodeDetails.loadchart\" [Legend]=\"true\" [Data]=\"NodeDetails.loadchart\" name=\"nodeDetailLoadChart\"></es-pie-chart>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"closeDialog()\">{{'Close' | localize : lc}}</button>\r\n </div>\r\n </div>\r\n</div>"
|
|
1222
1222
|
},] }
|
|
1223
1223
|
];
|
|
1224
1224
|
NodeDetailComponent.ctorParameters = () => [
|
|
@@ -1312,7 +1312,7 @@ class AdmDynamicViewsComponent {
|
|
|
1312
1312
|
POSTGetItems(url, data) {
|
|
1313
1313
|
if (!this.searchView.filtername) {
|
|
1314
1314
|
this.badSearch = true;
|
|
1315
|
-
this.searchView
|
|
1315
|
+
AppSearch.reset(this.searchView);
|
|
1316
1316
|
//Aggiorno il riferimento per refreshare la es-table
|
|
1317
1317
|
this.searchView = JSON.parse(JSON.stringify(this.searchView));
|
|
1318
1318
|
return;
|
|
@@ -1335,7 +1335,7 @@ AdmDynamicViewsComponent.decorators = [
|
|
|
1335
1335
|
{ type: Component, args: [{
|
|
1336
1336
|
selector: "adm_dynamic_views",
|
|
1337
1337
|
viewProviders: [{ provide: LocalizationService, useClass: AdmDynamicViewsLoc }],
|
|
1338
|
-
template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Search Application Dynamic Views' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"filterName\" name=\"filtername\" [Source]=\"Names\" [SelectLabel]=\"'Name' | localize : lc\"></form-select>\r\n </div>\r\n <button class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div *ngIf=\"badSearch\" class=\"card card-info app-white-text app-padding-10\">{{'View Name is mandatory for search operations' | localize : lc}}</div>\r\n <ng-container *ngIf=\"!badSearch\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Dynamic Views' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView && searchView.items.length > 0\">\r\n <es-table [(ngModel)]=\"searchView\" [AutoUpdate]=\"true\" [OrderByColumn]=\"true\" (onSearchRequest)=\"sendSearch($event);\"></es-table>\r\n </div>\r\n <div *ngIf=\"searchView && searchView.items.length == 0 && !searchView.searchinprogress\" class=\"card card-info app-white-text app-padding-10\">\r\n {{'No element found for Dynamic View' | localize : lc}} <strong>{{
|
|
1338
|
+
template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Search Application Dynamic Views' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"filterName\" name=\"filtername\" [Source]=\"Names\" [SelectLabel]=\"'Name' | localize : lc\"></form-select>\r\n </div>\r\n <button class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div *ngIf=\"badSearch\" class=\"card card-info app-white-text app-padding-10\">{{'View Name is mandatory for search operations' | localize : lc}}</div>\r\n <ng-container *ngIf=\"!badSearch\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Dynamic Views' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView && searchView.items.length > 0\">\r\n <es-table [(ngModel)]=\"searchView\" [AutoUpdate]=\"true\" [OrderByColumn]=\"true\" (onSearchRequest)=\"sendSearch($event);\"></es-table>\r\n </div>\r\n <div *ngIf=\"searchView && searchView.items.length == 0 && !searchView.searchinprogress\" class=\"card card-info app-white-text app-padding-10\">\r\n {{'No element found for Dynamic View' | localize : lc}} <strong>{{searchView.filtername}}</strong>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>"
|
|
1339
1339
|
},] }
|
|
1340
1340
|
];
|
|
1341
1341
|
AdmDynamicViewsComponent.ctorParameters = () => [
|