@esfaenza/admin-module 13.1.6 → 13.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/admin-module.comms.service.mjs +3 -3
- package/esm2020/lib/admin-module.module.mjs +4 -4
- package/esm2020/lib/components/_shared/node_detail.component.loc.mjs +3 -3
- package/esm2020/lib/components/_shared/node_detail.component.mjs +3 -3
- package/esm2020/lib/components/audits/adm_audits.component.loc.mjs +3 -3
- package/esm2020/lib/components/audits/adm_audits.component.mjs +4 -4
- package/esm2020/lib/components/enqueues/adm_enq.component.loc.mjs +3 -3
- package/esm2020/lib/components/enqueues/adm_enq.component.mjs +4 -4
- package/esm2020/lib/components/logs/adm_logs.component.loc.mjs +3 -3
- package/esm2020/lib/components/logs/adm_logs.component.mjs +3 -3
- package/esm2020/lib/components/metrics/metrics_search.component.loc.mjs +3 -3
- package/esm2020/lib/components/metrics/metrics_search.component.mjs +3 -3
- package/esm2020/lib/components/profiler/adm_profiler.component.loc.mjs +3 -3
- package/esm2020/lib/components/profiler/adm_profiler.component.mjs +3 -3
- package/esm2020/lib/components/topact/topact_search.component.loc.mjs +3 -3
- package/esm2020/lib/components/topact/topact_search.component.mjs +4 -4
- package/esm2020/lib/components/workers/adm_wrk.component.loc.mjs +3 -3
- package/esm2020/lib/components/workers/adm_wrk.component.mjs +4 -4
- package/fesm2015/esfaenza-admin-module.mjs +56 -56
- package/fesm2015/esfaenza-admin-module.mjs.map +1 -1
- package/fesm2020/esfaenza-admin-module.mjs +56 -56
- package/fesm2020/esfaenza-admin-module.mjs.map +1 -1
- package/package.json +11 -11
|
@@ -21,9 +21,9 @@ export class AdminModuleCommService {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
AdminModuleCommService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
25
|
-
AdminModuleCommService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
24
|
+
AdminModuleCommService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdminModuleCommService, deps: [{ token: i1.InterComService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
AdminModuleCommService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdminModuleCommService });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdminModuleCommService, decorators: [{
|
|
27
27
|
type: Injectable
|
|
28
28
|
}], ctorParameters: function () { return [{ type: i1.InterComService }]; } });
|
|
29
29
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tbW9kdWxlLmNvbW1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9hZG1pbi1tb2R1bGUuY29tbXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBR2xFLE1BQU0sT0FBTyxzQkFBc0I7SUFFL0IsWUFBb0IsUUFBeUI7UUFBekIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7SUFBSSxDQUFDO0lBRTNDLFFBQVE7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFrQixFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFxQixFQUFFLE9BQVk7UUFDdEQsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLGVBQWUsQ0FBQyxPQUFPO2dCQUN4QixJQUFJLFFBQVEsQ0FBQyxVQUFVO29CQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO2dCQUM5RCxNQUFNO1NBQ2I7SUFDTCxDQUFDOzttSEFoQlEsc0JBQXNCO3VIQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBJbnRlckNvbVNlcnZpY2UsIEludGVyQ29tTWVzc2FnZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5cclxuLy8gTW9kZWxsaVxyXG5pbXBvcnQgeyBBZG1NZXNzYWdlVHlwZXMsIE1LX0FETSB9IGZyb20gXCIuL2FkbWluLW1vZHVsZS1tZXNzYWdlc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWRtaW5Nb2R1bGVDb21tU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbnRlcmNvbTogSW50ZXJDb21TZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXIoKSB7XHJcbiAgICAgICAgdGhpcy5pbnRlcmNvbS5yZWdpc3RlcihNS19BRE0pO1xyXG4gICAgICAgIHRoaXMuaW50ZXJjb20ub3V0Ym91bmRzW01LX0FETV0uc3Vic2NyaWJlKCh0OiBJbnRlckNvbU1lc3NhZ2UpID0+IHsgdGhpcy5oYW5kbGVPdXRib3VuZCh0LnR5cGUsIHQubWVzc2FnZSk7IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlT3V0Ym91bmQodHlwZTogQWRtTWVzc2FnZVR5cGVzLCBtZXNzYWdlOiBhbnkpIHtcclxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBBZG1NZXNzYWdlVHlwZXMuTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIGlmIChteWNvbmZpZy5ERUJVR19NT0RFKVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQGFkbWluLW1vZHVsZSBvdXRib3VuZCBtZXNzYWdlOiBcIiArIG1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|
|
@@ -91,8 +91,8 @@ export class AdmModule {
|
|
|
91
91
|
this.commService.register();
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
-
AdmModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
95
|
-
AdmModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
94
|
+
AdmModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmModule, deps: [{ token: i1.AdminModuleCommService }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
95
|
+
AdmModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmModule, declarations: [AdmWrkComponent,
|
|
96
96
|
AdmProfilerComponent,
|
|
97
97
|
AdmTopActivitiesComponent,
|
|
98
98
|
AdmLogsComponent,
|
|
@@ -121,13 +121,13 @@ AdmModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
|
121
121
|
EsGertrudeModule,
|
|
122
122
|
EsChartsModule,
|
|
123
123
|
NgxMatDatetimePickerModule, i2.RouterModule] });
|
|
124
|
-
AdmModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
124
|
+
AdmModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmModule, providers: [
|
|
125
125
|
AdminModuleCommService,
|
|
126
126
|
{ provide: ADM_LOCALE, useValue: myconfig.LOCALE },
|
|
127
127
|
{ provide: ADM_BACKEND_URL, useValue: myconfig.BACKEND_URL },
|
|
128
128
|
{ provide: ADM_CONVERSATIONS, useValue: !!myconfig.TRANSACTIONS_TIMEOUT_S }
|
|
129
129
|
], imports: [[...MODULES]] });
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmModule, decorators: [{
|
|
131
131
|
type: NgModule,
|
|
132
132
|
args: [{
|
|
133
133
|
imports: [...MODULES],
|
|
@@ -13,9 +13,9 @@ export class NodeDetailLoc extends LocalizationService {
|
|
|
13
13
|
super.set("en->it", "Elapsed (No Children)", ["Tempo Trascorso (Non Figli)"]);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
NodeDetailLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
17
|
-
NodeDetailLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
16
|
+
NodeDetailLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: NodeDetailLoc, deps: [{ token: ADM_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
NodeDetailLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: NodeDetailLoc });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: NodeDetailLoc, decorators: [{
|
|
19
19
|
type: Injectable
|
|
20
20
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
21
21
|
type: Inject,
|
|
@@ -32,9 +32,9 @@ export class NodeDetailComponent {
|
|
|
32
32
|
this.onClose.emit(true);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
NodeDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
36
|
-
NodeDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
35
|
+
NodeDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: NodeDetailComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
NodeDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: NodeDetailComponent, selector: "node-detail", inputs: { NodeDetails: "NodeDetails" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"modal-dialog modal-lg\" 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}}\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=\"height: 200px;\">\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>", components: [{ type: i2.EsLineChartComponent, selector: "es-line-chart", inputs: ["Data", "DataArray", "Step", "DataGroupBucketSize", "DataGroupingThreshold", "StrokeSize", "AllowGaps", "MergeDatasets", "FinalInstants", "Min", "Max", "Fill"] }, { type: i2.EsPieChartComponent, selector: "es-pie-chart", inputs: ["Data", "DataArray", "HideZeroes", "Mode3D", "DonutRadiusPercentage", "LabelsWrap", "LabelsTruncate", "LabelsWidth", "LabelsVisible"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "localize": i1.LocalizePipe }, viewProviders: [{ provide: LocalizationService, useClass: NodeDetailLoc }] });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: NodeDetailComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
39
|
args: [{ selector: "node-detail", viewProviders: [{ provide: LocalizationService, useClass: NodeDetailLoc }], template: "<div class=\"modal-dialog modal-lg\" 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}}\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=\"height: 200px;\">\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>" }]
|
|
40
40
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { NodeDetails: [{
|
|
@@ -24,9 +24,9 @@ export class AdmAuditLoc extends LocalizationService {
|
|
|
24
24
|
super.set("en->it", "Conversation ID", ["Cod. Conversation"]);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
AdmAuditLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
28
|
-
AdmAuditLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
27
|
+
AdmAuditLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmAuditLoc, deps: [{ token: ADM_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
AdmAuditLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmAuditLoc });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmAuditLoc, decorators: [{
|
|
30
30
|
type: Injectable
|
|
31
31
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
32
32
|
type: Inject,
|
|
@@ -95,9 +95,9 @@ export class AdmAuditsComponent {
|
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
AdmAuditsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
99
|
-
AdmAuditsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AdmAuditsComponent, selector: "adm_audits", ngImport: i0, 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 Audits' | 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\">\r\n <div class=\"col-md-11\">\r\n <div class=\"col-md-12 row app-no-padding app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterda\" name=\"filterda\" [Placeholder]=\"'From' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filtera\" name=\"filtera\" [Placeholder]=\"'To' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteruser\" name=\"filteruser\" [Placeholder]=\"'User' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteraddress\" name=\"filteraddress\" [Placeholder]=\"'Address' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterroute\" name=\"filterroute\" [Placeholder]=\"'Route' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [SelectLabel]=\"'Action' | localize : lc\" [(ngModel)]=\"searchView.filteraction\" name=\"filteraction\" [Source]=\"Actions\"></form-select>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 row app-no-padding\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [SelectLabel]=\"'HTTP Method' | localize : lc\" [(ngModel)]=\"searchView.filterhttp\" name=\"filterhttp\" [Source]=\"HttpMethods\"></form-select>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterargs\" name=\"filterargs\" [Placeholder]=\"'Arguments' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterobjid\" name=\"filterobjid\" [Placeholder]=\"'Object ID' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterobjtype\" name=\"filterobjtype\" [Placeholder]=\"'Object Type' | localize : lc\"></form-input>\r\n </div>\r\n <!-- Per ora commentato -->\r\n <!-- <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\" *ngIf=\"usesConversations\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterconversationid\" name=\"filterconversationid\" [Placeholder]=\"'Conversation ID' | localize : lc\"></form-input>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"col-md-1 app-no-padding\">\r\n <button [disabled]=\"searchInProgress\" class=\"input-group-addon btn app-btn-search\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Audits' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [MultipleOrderingDirectives]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n\r\n <span *th=\"'Timestamp'\">{{'Date' | localize : lc}}</span>\r\n <span *th=\"'User'\">{{'User' | localize : lc}}</span>\r\n <span *th=\"'RemoteAddress'\">{{'Address' | localize : lc}}</span>\r\n <span *th=\"'Action'\">{{'Action' | localize : lc}}</span>\r\n <span *th=\"'HttpMethod'\">{{'HTTP Method' | localize : lc}}</span>\r\n <span *th=\"'Route'\">{{'Route' | localize : lc}}</span>\r\n <span *th=\"'Args'\">{{'Arguments' | localize : lc}}</span>\r\n <span *th=\"'HttpResponse'\">{{'HTTP Response' | localize : lc}}</span>\r\n <span *th=\"'NonStdErrorMessage'\">{{'Application Error Code' | localize : lc}}</span>\r\n <span *th=\"'ConvId'; If: usesConversations\">{{'Conversation ID' | localize : lc}}</span>\r\n <span *th=\"'ObjectType'\">{{'Object Type' | localize : lc}}</span>\r\n <span *th=\"'ObjectId'\">{{'Object ID' | localize : lc}}</span>\r\n <span *th=\"'ObjectData'\">{{'Object Data' | localize : lc}}</span>\r\n\r\n <strong *td=\"'Timestamp'; let item\">{{item.timestamp | loc_date:'DD/MM/YYYY HH:mm:ss'}}</strong>\r\n <span *td=\"'User'; let item\">{{item.user}}</span>\r\n <span *td=\"'RemoteAddress'; let item\">{{item.address}}</span>\r\n <span *td=\"'Action'; let item\">{{item.action}}</span>\r\n <span *td=\"'HttpMethod'; let item\">{{item.httpmethod}}</span>\r\n <span *td=\"'Route'; let item\">{{item.route}}</span>\r\n <span *td=\"'Args'; let item\">{{item.args}}</span>\r\n <span *td=\"'HttpResponse'; let item\">{{item.httpresponse}}</span>\r\n <span *td=\"'NonStdErrorMessage'; let item\">{{item.mdmerrorcode}}</span>\r\n <span *td=\"'ConvId'; If: usesConversations; let item\">{{item.conversationid}}</span>\r\n <span *td=\"'ObjectType'; let item\">{{item.objecttype}}</span>\r\n <span *td=\"'ObjectId'; let item\">{{item.objectid}}</span>\r\n <span *td=\"'ObjectData'; let item\">{{item.objectdata}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", components: [{ type: i7.FormDateComponent, selector: "form-date", inputs: ["JsDates"] }, { type: i7.FormInputComponent, selector: "form-input", inputs: ["Password"], outputs: ["onSuffixAction", "onPrefixAction"] }, { type: i7.FormSelectComponent, selector: "form-select", inputs: ["SelectLabel", "PlaceholderValue", "RequiredPlaceholder", "EmptyFieldValue", "ShowValidationSymbol"] }, { type: i8.EsTableComponent, selector: "es-table", inputs: ["CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "UseCustomCells", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "PagingStyle", "RowGroupingPagingStyle", "SecondarySource", "TertiarySource", "UseSelectionCache", "ShowItemGroupsColumns", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onCornerAction", "onDynamicOperation"] }], directives: [{ type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.EsThDirective, selector: "[th]", inputs: ["th", "thPinned", "thPinnable", "thPinnedWidth", "thVisible", "thFixed", "thParent", "thOrder", "thOrderable", "thWrap", "thResizable", "thClass", "thGroupClass", "thIf", "thEmpty", "thGroup", "thAggregation"] }, { type: i8.EsTdDirective, selector: "[td]", inputs: ["tdVisible", "td", "tdIf", "tdClass"] }], pipes: { "localize": i1.LocalizePipe, "loc_date": i1.LocDatePipe }, viewProviders: [{ provide: LocalizationService, useClass: AdmAuditLoc }] });
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
98
|
+
AdmAuditsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmAuditsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.InterComService }, { token: i3.PreferencesService }, { token: i4.HTTPService }, { token: i5.ActivatedRoute }, { token: i6.Location }, { token: ADM_BACKEND_URL }, { token: ADM_MODULE_PATH }, { token: ADM_CONVERSATIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
99
|
+
AdmAuditsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AdmAuditsComponent, selector: "adm_audits", ngImport: i0, 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 Audits' | 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\">\r\n <div class=\"col-md-11\">\r\n <div class=\"col-md-12 row app-no-padding app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterda\" name=\"filterda\" [Placeholder]=\"'From' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filtera\" name=\"filtera\" [Placeholder]=\"'To' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteruser\" name=\"filteruser\" [Placeholder]=\"'User' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteraddress\" name=\"filteraddress\" [Placeholder]=\"'Address' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterroute\" name=\"filterroute\" [Placeholder]=\"'Route' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [SelectLabel]=\"'Action' | localize : lc\" [(ngModel)]=\"searchView.filteraction\" name=\"filteraction\" [Source]=\"Actions\"></form-select>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 row app-no-padding\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [SelectLabel]=\"'HTTP Method' | localize : lc\" [(ngModel)]=\"searchView.filterhttp\" name=\"filterhttp\" [Source]=\"HttpMethods\"></form-select>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterargs\" name=\"filterargs\" [Placeholder]=\"'Arguments' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterobjid\" name=\"filterobjid\" [Placeholder]=\"'Object ID' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterobjtype\" name=\"filterobjtype\" [Placeholder]=\"'Object Type' | localize : lc\"></form-input>\r\n </div>\r\n <!-- Per ora commentato -->\r\n <!-- <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\" *ngIf=\"usesConversations\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterconversationid\" name=\"filterconversationid\" [Placeholder]=\"'Conversation ID' | localize : lc\"></form-input>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"col-md-1 app-no-padding\">\r\n <button [disabled]=\"searchInProgress\" class=\"input-group-addon btn app-btn-search\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Audits' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [MultipleOrderingDirectives]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n\r\n <span *th=\"'Timestamp'\">{{'Date' | localize : lc}}</span>\r\n <span *th=\"'User'\">{{'User' | localize : lc}}</span>\r\n <span *th=\"'RemoteAddress'\">{{'Address' | localize : lc}}</span>\r\n <span *th=\"'Action'\">{{'Action' | localize : lc}}</span>\r\n <span *th=\"'HttpMethod'\">{{'HTTP Method' | localize : lc}}</span>\r\n <span *th=\"'Route'\">{{'Route' | localize : lc}}</span>\r\n <span *th=\"'Args'\">{{'Arguments' | localize : lc}}</span>\r\n <span *th=\"'HttpResponse'\">{{'HTTP Response' | localize : lc}}</span>\r\n <span *th=\"'NonStdErrorMessage'\">{{'Application Error Code' | localize : lc}}</span>\r\n <span *th=\"'ConvId'; If: usesConversations\">{{'Conversation ID' | localize : lc}}</span>\r\n <span *th=\"'ObjectType'\">{{'Object Type' | localize : lc}}</span>\r\n <span *th=\"'ObjectId'\">{{'Object ID' | localize : lc}}</span>\r\n <span *th=\"'ObjectData'\">{{'Object Data' | localize : lc}}</span>\r\n\r\n <strong *td=\"'Timestamp'; let item\">{{item.timestamp | loc_date:'DD/MM/YYYY HH:mm:ss'}}</strong>\r\n <span *td=\"'User'; let item\">{{item.user}}</span>\r\n <span *td=\"'RemoteAddress'; let item\">{{item.address}}</span>\r\n <span *td=\"'Action'; let item\">{{item.action}}</span>\r\n <span *td=\"'HttpMethod'; let item\">{{item.httpmethod}}</span>\r\n <span *td=\"'Route'; let item\">{{item.route}}</span>\r\n <span *td=\"'Args'; let item\">{{item.args}}</span>\r\n <span *td=\"'HttpResponse'; let item\">{{item.httpresponse}}</span>\r\n <span *td=\"'NonStdErrorMessage'; let item\">{{item.mdmerrorcode}}</span>\r\n <span *td=\"'ConvId'; If: usesConversations; let item\">{{item.conversationid}}</span>\r\n <span *td=\"'ObjectType'; let item\">{{item.objecttype}}</span>\r\n <span *td=\"'ObjectId'; let item\">{{item.objectid}}</span>\r\n <span *td=\"'ObjectData'; let item\">{{item.objectdata}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", components: [{ type: i7.FormDateComponent, selector: "form-date", inputs: ["JsDates"] }, { type: i7.FormInputComponent, selector: "form-input", inputs: ["Password"], outputs: ["onSuffixAction", "onPrefixAction"] }, { type: i7.FormSelectComponent, selector: "form-select", inputs: ["SelectLabel", "PlaceholderValue", "RequiredPlaceholder", "EmptyFieldValue", "ShowValidationSymbol"] }, { type: i8.EsTableComponent, selector: "es-table", inputs: ["CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "UseCustomCells", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "UserEdits", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onCornerAction", "onDynamicOperation"] }], directives: [{ type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.EsThDirective, selector: "[th]", inputs: ["th", "thPinned", "thPinnable", "thPinnedWidth", "thVisible", "thFixed", "thParent", "thOrder", "thOrderable", "thWrap", "thResizable", "thClass", "thGroupClass", "thIf", "thEmpty", "thGroup", "thAggregation", "thUserEdits", "thMulti", "thStaticContent", "thBackgroundColor"] }, { type: i8.EsTdDirective, selector: "[td]", inputs: ["tdVisible", "td", "tdIf", "tdClass", "tdPropertyAccessor"] }], pipes: { "localize": i1.LocalizePipe, "loc_date": i1.LocDatePipe }, viewProviders: [{ provide: LocalizationService, useClass: AdmAuditLoc }] });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmAuditsComponent, decorators: [{
|
|
101
101
|
type: Component,
|
|
102
102
|
args: [{ selector: "adm_audits", viewProviders: [{ provide: LocalizationService, useClass: AdmAuditLoc }], 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 Audits' | 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\">\r\n <div class=\"col-md-11\">\r\n <div class=\"col-md-12 row app-no-padding app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterda\" name=\"filterda\" [Placeholder]=\"'From' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filtera\" name=\"filtera\" [Placeholder]=\"'To' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteruser\" name=\"filteruser\" [Placeholder]=\"'User' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteraddress\" name=\"filteraddress\" [Placeholder]=\"'Address' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterroute\" name=\"filterroute\" [Placeholder]=\"'Route' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [SelectLabel]=\"'Action' | localize : lc\" [(ngModel)]=\"searchView.filteraction\" name=\"filteraction\" [Source]=\"Actions\"></form-select>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 row app-no-padding\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [SelectLabel]=\"'HTTP Method' | localize : lc\" [(ngModel)]=\"searchView.filterhttp\" name=\"filterhttp\" [Source]=\"HttpMethods\"></form-select>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterargs\" name=\"filterargs\" [Placeholder]=\"'Arguments' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterobjid\" name=\"filterobjid\" [Placeholder]=\"'Object ID' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterobjtype\" name=\"filterobjtype\" [Placeholder]=\"'Object Type' | localize : lc\"></form-input>\r\n </div>\r\n <!-- Per ora commentato -->\r\n <!-- <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\" *ngIf=\"usesConversations\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterconversationid\" name=\"filterconversationid\" [Placeholder]=\"'Conversation ID' | localize : lc\"></form-input>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"col-md-1 app-no-padding\">\r\n <button [disabled]=\"searchInProgress\" class=\"input-group-addon btn app-btn-search\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Audits' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [MultipleOrderingDirectives]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n\r\n <span *th=\"'Timestamp'\">{{'Date' | localize : lc}}</span>\r\n <span *th=\"'User'\">{{'User' | localize : lc}}</span>\r\n <span *th=\"'RemoteAddress'\">{{'Address' | localize : lc}}</span>\r\n <span *th=\"'Action'\">{{'Action' | localize : lc}}</span>\r\n <span *th=\"'HttpMethod'\">{{'HTTP Method' | localize : lc}}</span>\r\n <span *th=\"'Route'\">{{'Route' | localize : lc}}</span>\r\n <span *th=\"'Args'\">{{'Arguments' | localize : lc}}</span>\r\n <span *th=\"'HttpResponse'\">{{'HTTP Response' | localize : lc}}</span>\r\n <span *th=\"'NonStdErrorMessage'\">{{'Application Error Code' | localize : lc}}</span>\r\n <span *th=\"'ConvId'; If: usesConversations\">{{'Conversation ID' | localize : lc}}</span>\r\n <span *th=\"'ObjectType'\">{{'Object Type' | localize : lc}}</span>\r\n <span *th=\"'ObjectId'\">{{'Object ID' | localize : lc}}</span>\r\n <span *th=\"'ObjectData'\">{{'Object Data' | localize : lc}}</span>\r\n\r\n <strong *td=\"'Timestamp'; let item\">{{item.timestamp | loc_date:'DD/MM/YYYY HH:mm:ss'}}</strong>\r\n <span *td=\"'User'; let item\">{{item.user}}</span>\r\n <span *td=\"'RemoteAddress'; let item\">{{item.address}}</span>\r\n <span *td=\"'Action'; let item\">{{item.action}}</span>\r\n <span *td=\"'HttpMethod'; let item\">{{item.httpmethod}}</span>\r\n <span *td=\"'Route'; let item\">{{item.route}}</span>\r\n <span *td=\"'Args'; let item\">{{item.args}}</span>\r\n <span *td=\"'HttpResponse'; let item\">{{item.httpresponse}}</span>\r\n <span *td=\"'NonStdErrorMessage'; let item\">{{item.mdmerrorcode}}</span>\r\n <span *td=\"'ConvId'; If: usesConversations; let item\">{{item.conversationid}}</span>\r\n <span *td=\"'ObjectType'; let item\">{{item.objecttype}}</span>\r\n <span *td=\"'ObjectId'; let item\">{{item.objectid}}</span>\r\n <span *td=\"'ObjectData'; let item\">{{item.objectdata}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
103
103
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.InterComService }, { type: i3.PreferencesService }, { type: i4.HTTPService }, { type: i5.ActivatedRoute }, { type: i6.Location }, { type: undefined, decorators: [{
|
|
@@ -110,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
110
110
|
type: Inject,
|
|
111
111
|
args: [ADM_CONVERSATIONS]
|
|
112
112
|
}] }]; } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX2F1ZGl0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGl0cy9hZG1fYXVkaXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvYXVkaXRzL2FkbV9hdWRpdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxELGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RCxPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFNUUsZUFBZTtBQUNmLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkYsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLGtCQUFrQjtJQVEzQixZQUNXLEVBQXVCLEVBQ3RCLFFBQXlCLEVBQ3pCLFlBQWdDLEVBQ2hDLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLFFBQWtCLEVBQ08sT0FBZSxFQUNmLEdBQVcsRUFDVixpQkFBMEI7UUFSckQsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLFNBQUksR0FB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RCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0UsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0F0RlEsa0JBQWtCLHVNQWVmLGVBQWUsYUFDZixlQUFlLGFBQ2YsaUJBQWlCO21HQWpCcEIsa0JBQWtCLGtEQ3pCL0IsOC9RQWdHTSwwckZEMUVhLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDOzJGQUcvRCxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksWUFBWSxpQkFDUCxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQzs7MEJBa0JuRSxNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEludGVyQ29tU2VydmljZSwgSW5ib3VuZE1lc3NhZ2VUeXBlcyB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEF1ZGl0c1ZpZXcgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvQXVkaXRzVmlld1wiO1xyXG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2hhcmVkL0tleVZhbHVlXCI7XHJcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4dGVybmFscy9SZXBvc2l0b3J5XCI7XHJcbmltcG9ydCB7IEFETV9CQUNLRU5EX1VSTCwgQURNX01PRFVMRV9QQVRILCBBRE1fQ09OVkVSU0FUSU9OUyB9IGZyb20gXCIuLi8uLi90b2tlbnNcIjtcclxuXHJcbi8vIExvY2FsaXp6YXppb25lXHJcbmltcG9ydCB7IEFkbUF1ZGl0TG9jIH0gZnJvbSBcIi4vYWRtX2F1ZGl0cy5jb21wb25lbnQubG9jXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFkbV9hdWRpdHNcIixcclxuICAgIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBBZG1BdWRpdExvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYWRtX2F1ZGl0cy5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZG1BdWRpdHNDb21wb25lbnQge1xyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hWaWV3OiBBdWRpdHNWaWV3ID0gbmV3IEF1ZGl0c1ZpZXcoKTtcclxuICAgIHB1YmxpYyBBY3Rpb25zOiBLZXlWYWx1ZVtdID0gW107XHJcbiAgICBwdWJsaWMgSHR0cE1ldGhvZHM6IEtleVZhbHVlW10gPSBbXTtcclxuICAgIHB1YmxpYyBzZWFyY2hJblByb2dyZXNzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc3RvcmFnZVN1YjogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGludGVyY29tOiBJbnRlckNvbVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2U6IFByZWZlcmVuY2VzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEhUVFBTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgICAgIEBJbmplY3QoQURNX0JBQ0tFTkRfVVJMKSBwcml2YXRlIGJhY2tlbmQ6IHN0cmluZyxcclxuICAgICAgICBASW5qZWN0KEFETV9NT0RVTEVfUEFUSCkgcHJpdmF0ZSBtb2Q6IHN0cmluZyxcclxuICAgICAgICBASW5qZWN0KEFETV9DT05WRVJTQVRJT05TKSBwdWJsaWMgdXNlc0NvbnZlcnNhdGlvbnM6IGJvb2xlYW4pIHtcclxuXHJcbiAgICAgICAgdGhpcy5pbnRlcmNvbS5zZW5kKEluYm91bmRNZXNzYWdlVHlwZXMuTmF2aWdhdGlvbiwgeyBzdWI6IGZhbHNlLCByb3V0ZVRpdGxlOiB0aGlzLmxjLmxvYyh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbXCJ0aXRsZVwiXSkgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuSHR0cE1ldGhvZHMgPSBbXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiR0VUXCIsIGRlc2NyaXB0aW9uOiBcIkdFVFwiIH0sXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiUE9TVFwiLCBkZXNjcmlwdGlvbjogXCJQT1NUXCIgfSxcclxuICAgICAgICAgICAgeyBpZDogXCJQVVRcIiwgZGVzY3JpcHRpb246IFwiUFVUXCIgfSxcclxuICAgICAgICAgICAgeyBpZDogXCJQQVRDSFwiLCBkZXNjcmlwdGlvbjogXCJQQVRDSFwiIH0sXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiREVMRVRFXCIsIGRlc2NyaXB0aW9uOiBcIkRFTEVURVwiIH1cclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICB0aGlzLkFjdGlvbnMgPSBbXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiQ1wiLCBkZXNjcmlwdGlvbjogdGhpcy5sYy5sb2MoXCJSRVNUIENhbGxcIikgfSxcclxuICAgICAgICAgICAgeyBpZDogXCJVXCIsIGRlc2NyaXB0aW9uOiB0aGlzLmxjLmxvYyhcIlVwZGF0ZVwiKSB9LFxyXG4gICAgICAgICAgICB7IGlkOiBcIkRcIiwgZGVzY3JpcHRpb246IHRoaXMubGMubG9jKFwiRGVsZXRlXCIpIH1cclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVN1YiA9IHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7IHRoaXMuSW5pdChwYXJhbXNbXCJpZ25vcmVTdG9yYWdlXCJdKTsgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZVN1YilcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtPEF1ZGl0c1ZpZXc+KFwiSG90QXVkaXR0YXRvXCIpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGlmICghaWdub3JlU3RvcmFnZSAmJiBpdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQobnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGAvcGFnZXMvJHt0aGlzLm1vZH0vc2VydmVyYXVkaXRzYCk7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMgPSBbXTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkhvdEF1ZGl0dGF0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IEF1ZGl0c1ZpZXcpIHtcclxuICAgICAgICAvL1NlIGhvIGxhIEhvdFBvdGF0byB2dW9sIGRpcmUgY2hlIHNvbm8gYXBwZW5hIHRvcm5hdG8gZGFsbCdlZGl0L251b3ZvLiBSaWZhY2NpbyBsYSByaWNlcmNhIGluIGJhc2UgYWkgZmlsdHJpIHByZWNlZGVudGlcclxuICAgICAgICAvL0FsdGlybWVudGkgZ2VuZXJvIGlsIG1vZGVsbG8gbnVvdm8gbm9ybWFsbWVudGVcclxuICAgICAgICBpZiAoSG90UG90YXRvKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IEhvdFBvdGF0bztcclxuICAgICAgICAgICAgdGhpcy5QT1NUR2V0UHJvY2Vzc2VzKHRoaXMuYmFja2VuZCArIFJlcG9zaXRvcnlbXCJQT1NUX0FkbV9HZXRTZXJ2ZXJBdWRpdHNcIl0sIHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSBuZXcgQXVkaXRzVmlldygpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcuZmlsdGVyZGEgPSBkYXlqcygpLmFkZCgtMSwgXCJtb250aFwiKS5mb3JtYXQodGhpcy5sYy50b2tlbihcImdldFNtYWxsRGF0ZUZvcm1hdFwiKSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldy5maWx0ZXJhID0gZGF5anMoKS5mb3JtYXQodGhpcy5sYy50b2tlbihcImdldFNtYWxsRGF0ZUZvcm1hdFwiKSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFNlYXJjaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZW5kU2VhcmNoKHJlc2V0UGFnZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgICAgIGlmIChyZXNldFBhZ2UpXHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldy5wYWdlID0gMTtcclxuXHJcbiAgICAgICAgdGhpcy5QT1NUR2V0UHJvY2Vzc2VzKHRoaXMuYmFja2VuZCArIFJlcG9zaXRvcnlbXCJQT1NUX0FkbV9HZXRTZXJ2ZXJBdWRpdHNcIl0sIHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgUE9TVEdldFByb2Nlc3Nlcyh1cmw6IHN0cmluZywgZGF0YTogQXVkaXRzVmlldykge1xyXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PEF1ZGl0c1ZpZXc+KHVybCwgZGF0YSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSB0O1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIkhvdEF1ZGl0dGF0b1wiLCB0aGlzLnNlYXJjaFZpZXcpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGFwcC1vdmVyZmxvdy12aXNpYmxlXCIgd2lkZ2V0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlcmNhc2VcIj57eydTZWFyY2ggQXBwbGljYXRpb24gQXVkaXRzJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgd2lkZ2V0LWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgYm90dG9tLTE1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZvcm0gcm9sZT1cImZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgcm93IGFwcC1uby1wYWRkaW5nIGFwcC1maXJzdC1maWx0ZXItbGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tZGF0ZSBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmRhXCIgbmFtZT1cImZpbHRlcmRhXCIgW1BsYWNlaG9sZGVyXT1cIidGcm9tJyB8IGxvY2FsaXplIDogbGNcIj48L2Zvcm0tZGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1kYXRlIFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyYVwiIG5hbWU9XCJmaWx0ZXJhXCIgW1BsYWNlaG9sZGVyXT1cIidUbycgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWRhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0taW5wdXQgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJ1c2VyXCIgbmFtZT1cImZpbHRlcnVzZXJcIiBbUGxhY2Vob2xkZXJdPVwiJ1VzZXInIHwgbG9jYWxpemUgOiBsY1wiPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmFkZHJlc3NcIiBuYW1lPVwiZmlsdGVyYWRkcmVzc1wiIFtQbGFjZWhvbGRlcl09XCInQWRkcmVzcycgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWlucHV0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVycm91dGVcIiBuYW1lPVwiZmlsdGVycm91dGVcIiBbUGxhY2Vob2xkZXJdPVwiJ1JvdXRlJyB8IGxvY2FsaXplIDogbGNcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tc2VsZWN0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbU2VsZWN0TGFiZWxdPVwiJ0FjdGlvbicgfCBsb2NhbGl6ZSA6IGxjXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmFjdGlvblwiIG5hbWU9XCJmaWx0ZXJhY3Rpb25cIiBbU291cmNlXT1cIkFjdGlvbnNcIj48L2Zvcm0tc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIHJvdyBhcHAtbm8tcGFkZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tc2VsZWN0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbU2VsZWN0TGFiZWxdPVwiJ0hUVFAgTWV0aG9kJyB8IGxvY2FsaXplIDogbGNcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyaHR0cFwiIG5hbWU9XCJmaWx0ZXJodHRwXCIgW1NvdXJjZV09XCJIdHRwTWV0aG9kc1wiPjwvZm9ybS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0taW5wdXQgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJhcmdzXCIgbmFtZT1cImZpbHRlcmFyZ3NcIiBbUGxhY2Vob2xkZXJdPVwiJ0FyZ3VtZW50cycgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWlucHV0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyb2JqaWRcIiBuYW1lPVwiZmlsdGVyb2JqaWRcIiBbUGxhY2Vob2xkZXJdPVwiJ09iamVjdCBJRCcgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWlucHV0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyb2JqdHlwZVwiIG5hbWU9XCJmaWx0ZXJvYmp0eXBlXCIgW1BsYWNlaG9sZGVyXT1cIidPYmplY3QgVHlwZScgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQZXIgb3JhIGNvbW1lbnRhdG8gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIiAqbmdJZj1cInVzZXNDb252ZXJzYXRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmNvbnZlcnNhdGlvbmlkXCIgbmFtZT1cImZpbHRlcmNvbnZlcnNhdGlvbmlkXCIgW1BsYWNlaG9sZGVyXT1cIidDb252ZXJzYXRpb24gSUQnIHwgbG9jYWxpemUgOiBsY1wiPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEgYXBwLW5vLXBhZGRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJzZWFyY2hJblByb2dyZXNzXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hZGRvbiBidG4gYXBwLWJ0bi1zZWFyY2hcIiAoY2xpY2spPVwic2VuZFNlYXJjaCgpXCIgdHlwZT1cInN1Ym1pdFwiPjxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCIhc2VhcmNoVmlld1wiPjxlbT57eydMb2FkaW5nIEFwcGxpY2F0aW9uIEF1ZGl0cycgfCBsb2NhbGl6ZSA6IGxjfX0uLi48L2VtPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaFZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlcy10YWJsZSBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXdcIiBbTXVsdGlwbGVPcmRlcmluZ0RpcmVjdGl2ZXNdPVwidHJ1ZVwiIChvblNlYXJjaFJlcXVlc3QpPVwic2VuZFNlYXJjaCgkZXZlbnQpO1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInVGltZXN0YW1wJ1wiPnt7J0RhdGUnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIidVc2VyJ1wiPnt7J1VzZXInIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIidSZW1vdGVBZGRyZXNzJ1wiPnt7J0FkZHJlc3MnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIidBY3Rpb24nXCI+e3snQWN0aW9uJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInSHR0cE1ldGhvZCdcIj57eydIVFRQIE1ldGhvZCcgfCBsb2NhbGl6ZSA6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJ1JvdXRlJ1wiPnt7J1JvdXRlJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInQXJncydcIj57eydBcmd1bWVudHMnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIidIdHRwUmVzcG9uc2UnXCI+e3snSFRUUCBSZXNwb25zZScgfCBsb2NhbGl6ZSA6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJ05vblN0ZEVycm9yTWVzc2FnZSdcIj57eydBcHBsaWNhdGlvbiBFcnJvciBDb2RlJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInQ29udklkJzsgSWY6IHVzZXNDb252ZXJzYXRpb25zXCI+e3snQ29udmVyc2F0aW9uIElEJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInT2JqZWN0VHlwZSdcIj57eydPYmplY3QgVHlwZScgfCBsb2NhbGl6ZSA6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJ09iamVjdElkJ1wiPnt7J09iamVjdCBJRCcgfCBsb2NhbGl6ZSA6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJ09iamVjdERhdGEnXCI+e3snT2JqZWN0IERhdGEnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nICp0ZD1cIidUaW1lc3RhbXAnOyBsZXQgaXRlbVwiPnt7aXRlbS50aW1lc3RhbXAgfCBsb2NfZGF0ZTonREQvTU0vWVlZWSBISDptbTpzcyd9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidVc2VyJzsgbGV0IGl0ZW1cIj57e2l0ZW0udXNlcn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidSZW1vdGVBZGRyZXNzJzsgbGV0IGl0ZW1cIj57e2l0ZW0uYWRkcmVzc319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidBY3Rpb24nOyBsZXQgaXRlbVwiPnt7aXRlbS5hY3Rpb259fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInSHR0cE1ldGhvZCc7IGxldCBpdGVtXCI+e3tpdGVtLmh0dHBtZXRob2R9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInUm91dGUnOyBsZXQgaXRlbVwiPnt7aXRlbS5yb3V0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidBcmdzJzsgbGV0IGl0ZW1cIj57e2l0ZW0uYXJnc319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidIdHRwUmVzcG9uc2UnOyBsZXQgaXRlbVwiPnt7aXRlbS5odHRwcmVzcG9uc2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInTm9uU3RkRXJyb3JNZXNzYWdlJzsgbGV0IGl0ZW1cIj57e2l0ZW0ubWRtZXJyb3Jjb2RlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJ0NvbnZJZCc7IElmOiB1c2VzQ29udmVyc2F0aW9uczsgbGV0IGl0ZW1cIj57e2l0ZW0uY29udmVyc2F0aW9uaWR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInT2JqZWN0VHlwZSc7IGxldCBpdGVtXCI+e3tpdGVtLm9iamVjdHR5cGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInT2JqZWN0SWQnOyBsZXQgaXRlbVwiPnt7aXRlbS5vYmplY3RpZH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidPYmplY3REYXRhJzsgbGV0IGl0ZW1cIj57e2l0ZW0ub2JqZWN0ZGF0YX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lcy10YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX2F1ZGl0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGl0cy9hZG1fYXVkaXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvYXVkaXRzL2FkbV9hdWRpdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxELGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RCxPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFNUUsZUFBZTtBQUNmLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkYsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLGtCQUFrQjtJQVEzQixZQUNXLEVBQXVCLEVBQ3RCLFFBQXlCLEVBQ3pCLFlBQWdDLEVBQ2hDLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLFFBQWtCLEVBQ08sT0FBZSxFQUNmLEdBQVcsRUFDVixpQkFBMEI7UUFSckQsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLFNBQUksR0FB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RCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0UsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0F0RlEsa0JBQWtCLHVNQWVmLGVBQWUsYUFDZixlQUFlLGFBQ2YsaUJBQWlCO21HQWpCcEIsa0JBQWtCLGtEQ3pCL0IsOC9RQWdHTSxneEZEMUVhLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDOzJGQUcvRCxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksWUFBWSxpQkFDUCxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQzs7MEJBa0JuRSxNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEludGVyQ29tU2VydmljZSwgSW5ib3VuZE1lc3NhZ2VUeXBlcyB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEF1ZGl0c1ZpZXcgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvQXVkaXRzVmlld1wiO1xyXG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2hhcmVkL0tleVZhbHVlXCI7XHJcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4dGVybmFscy9SZXBvc2l0b3J5XCI7XHJcbmltcG9ydCB7IEFETV9CQUNLRU5EX1VSTCwgQURNX01PRFVMRV9QQVRILCBBRE1fQ09OVkVSU0FUSU9OUyB9IGZyb20gXCIuLi8uLi90b2tlbnNcIjtcclxuXHJcbi8vIExvY2FsaXp6YXppb25lXHJcbmltcG9ydCB7IEFkbUF1ZGl0TG9jIH0gZnJvbSBcIi4vYWRtX2F1ZGl0cy5jb21wb25lbnQubG9jXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFkbV9hdWRpdHNcIixcclxuICAgIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBBZG1BdWRpdExvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYWRtX2F1ZGl0cy5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZG1BdWRpdHNDb21wb25lbnQge1xyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hWaWV3OiBBdWRpdHNWaWV3ID0gbmV3IEF1ZGl0c1ZpZXcoKTtcclxuICAgIHB1YmxpYyBBY3Rpb25zOiBLZXlWYWx1ZVtdID0gW107XHJcbiAgICBwdWJsaWMgSHR0cE1ldGhvZHM6IEtleVZhbHVlW10gPSBbXTtcclxuICAgIHB1YmxpYyBzZWFyY2hJblByb2dyZXNzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc3RvcmFnZVN1YjogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGludGVyY29tOiBJbnRlckNvbVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2U6IFByZWZlcmVuY2VzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEhUVFBTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgICAgIEBJbmplY3QoQURNX0JBQ0tFTkRfVVJMKSBwcml2YXRlIGJhY2tlbmQ6IHN0cmluZyxcclxuICAgICAgICBASW5qZWN0KEFETV9NT0RVTEVfUEFUSCkgcHJpdmF0ZSBtb2Q6IHN0cmluZyxcclxuICAgICAgICBASW5qZWN0KEFETV9DT05WRVJTQVRJT05TKSBwdWJsaWMgdXNlc0NvbnZlcnNhdGlvbnM6IGJvb2xlYW4pIHtcclxuXHJcbiAgICAgICAgdGhpcy5pbnRlcmNvbS5zZW5kKEluYm91bmRNZXNzYWdlVHlwZXMuTmF2aWdhdGlvbiwgeyBzdWI6IGZhbHNlLCByb3V0ZVRpdGxlOiB0aGlzLmxjLmxvYyh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbXCJ0aXRsZVwiXSkgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuSHR0cE1ldGhvZHMgPSBbXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiR0VUXCIsIGRlc2NyaXB0aW9uOiBcIkdFVFwiIH0sXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiUE9TVFwiLCBkZXNjcmlwdGlvbjogXCJQT1NUXCIgfSxcclxuICAgICAgICAgICAgeyBpZDogXCJQVVRcIiwgZGVzY3JpcHRpb246IFwiUFVUXCIgfSxcclxuICAgICAgICAgICAgeyBpZDogXCJQQVRDSFwiLCBkZXNjcmlwdGlvbjogXCJQQVRDSFwiIH0sXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiREVMRVRFXCIsIGRlc2NyaXB0aW9uOiBcIkRFTEVURVwiIH1cclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICB0aGlzLkFjdGlvbnMgPSBbXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiQ1wiLCBkZXNjcmlwdGlvbjogdGhpcy5sYy5sb2MoXCJSRVNUIENhbGxcIikgfSxcclxuICAgICAgICAgICAgeyBpZDogXCJVXCIsIGRlc2NyaXB0aW9uOiB0aGlzLmxjLmxvYyhcIlVwZGF0ZVwiKSB9LFxyXG4gICAgICAgICAgICB7IGlkOiBcIkRcIiwgZGVzY3JpcHRpb246IHRoaXMubGMubG9jKFwiRGVsZXRlXCIpIH1cclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVN1YiA9IHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7IHRoaXMuSW5pdChwYXJhbXNbXCJpZ25vcmVTdG9yYWdlXCJdKTsgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZVN1YilcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtPEF1ZGl0c1ZpZXc+KFwiSG90QXVkaXR0YXRvXCIpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGlmICghaWdub3JlU3RvcmFnZSAmJiBpdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQobnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGAvcGFnZXMvJHt0aGlzLm1vZH0vc2VydmVyYXVkaXRzYCk7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMgPSBbXTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkhvdEF1ZGl0dGF0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IEF1ZGl0c1ZpZXcpIHtcclxuICAgICAgICAvL1NlIGhvIGxhIEhvdFBvdGF0byB2dW9sIGRpcmUgY2hlIHNvbm8gYXBwZW5hIHRvcm5hdG8gZGFsbCdlZGl0L251b3ZvLiBSaWZhY2NpbyBsYSByaWNlcmNhIGluIGJhc2UgYWkgZmlsdHJpIHByZWNlZGVudGlcclxuICAgICAgICAvL0FsdGlybWVudGkgZ2VuZXJvIGlsIG1vZGVsbG8gbnVvdm8gbm9ybWFsbWVudGVcclxuICAgICAgICBpZiAoSG90UG90YXRvKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IEhvdFBvdGF0bztcclxuICAgICAgICAgICAgdGhpcy5QT1NUR2V0UHJvY2Vzc2VzKHRoaXMuYmFja2VuZCArIFJlcG9zaXRvcnlbXCJQT1NUX0FkbV9HZXRTZXJ2ZXJBdWRpdHNcIl0sIHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSBuZXcgQXVkaXRzVmlldygpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcuZmlsdGVyZGEgPSBkYXlqcygpLmFkZCgtMSwgXCJtb250aFwiKS5mb3JtYXQodGhpcy5sYy50b2tlbihcImdldFNtYWxsRGF0ZUZvcm1hdFwiKSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldy5maWx0ZXJhID0gZGF5anMoKS5mb3JtYXQodGhpcy5sYy50b2tlbihcImdldFNtYWxsRGF0ZUZvcm1hdFwiKSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFNlYXJjaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZW5kU2VhcmNoKHJlc2V0UGFnZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgICAgIGlmIChyZXNldFBhZ2UpXHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldy5wYWdlID0gMTtcclxuXHJcbiAgICAgICAgdGhpcy5QT1NUR2V0UHJvY2Vzc2VzKHRoaXMuYmFja2VuZCArIFJlcG9zaXRvcnlbXCJQT1NUX0FkbV9HZXRTZXJ2ZXJBdWRpdHNcIl0sIHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgUE9TVEdldFByb2Nlc3Nlcyh1cmw6IHN0cmluZywgZGF0YTogQXVkaXRzVmlldykge1xyXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PEF1ZGl0c1ZpZXc+KHVybCwgZGF0YSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSB0O1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIkhvdEF1ZGl0dGF0b1wiLCB0aGlzLnNlYXJjaFZpZXcpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGFwcC1vdmVyZmxvdy12aXNpYmxlXCIgd2lkZ2V0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlcmNhc2VcIj57eydTZWFyY2ggQXBwbGljYXRpb24gQXVkaXRzJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgd2lkZ2V0LWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgYm90dG9tLTE1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZvcm0gcm9sZT1cImZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgcm93IGFwcC1uby1wYWRkaW5nIGFwcC1maXJzdC1maWx0ZXItbGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tZGF0ZSBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmRhXCIgbmFtZT1cImZpbHRlcmRhXCIgW1BsYWNlaG9sZGVyXT1cIidGcm9tJyB8IGxvY2FsaXplIDogbGNcIj48L2Zvcm0tZGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1kYXRlIFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyYVwiIG5hbWU9XCJmaWx0ZXJhXCIgW1BsYWNlaG9sZGVyXT1cIidUbycgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWRhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0taW5wdXQgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJ1c2VyXCIgbmFtZT1cImZpbHRlcnVzZXJcIiBbUGxhY2Vob2xkZXJdPVwiJ1VzZXInIHwgbG9jYWxpemUgOiBsY1wiPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmFkZHJlc3NcIiBuYW1lPVwiZmlsdGVyYWRkcmVzc1wiIFtQbGFjZWhvbGRlcl09XCInQWRkcmVzcycgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWlucHV0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVycm91dGVcIiBuYW1lPVwiZmlsdGVycm91dGVcIiBbUGxhY2Vob2xkZXJdPVwiJ1JvdXRlJyB8IGxvY2FsaXplIDogbGNcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tc2VsZWN0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbU2VsZWN0TGFiZWxdPVwiJ0FjdGlvbicgfCBsb2NhbGl6ZSA6IGxjXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmFjdGlvblwiIG5hbWU9XCJmaWx0ZXJhY3Rpb25cIiBbU291cmNlXT1cIkFjdGlvbnNcIj48L2Zvcm0tc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIHJvdyBhcHAtbm8tcGFkZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tc2VsZWN0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbU2VsZWN0TGFiZWxdPVwiJ0hUVFAgTWV0aG9kJyB8IGxvY2FsaXplIDogbGNcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyaHR0cFwiIG5hbWU9XCJmaWx0ZXJodHRwXCIgW1NvdXJjZV09XCJIdHRwTWV0aG9kc1wiPjwvZm9ybS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0taW5wdXQgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJhcmdzXCIgbmFtZT1cImZpbHRlcmFyZ3NcIiBbUGxhY2Vob2xkZXJdPVwiJ0FyZ3VtZW50cycgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWlucHV0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyb2JqaWRcIiBuYW1lPVwiZmlsdGVyb2JqaWRcIiBbUGxhY2Vob2xkZXJdPVwiJ09iamVjdCBJRCcgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWlucHV0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyb2JqdHlwZVwiIG5hbWU9XCJmaWx0ZXJvYmp0eXBlXCIgW1BsYWNlaG9sZGVyXT1cIidPYmplY3QgVHlwZScgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQZXIgb3JhIGNvbW1lbnRhdG8gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIiAqbmdJZj1cInVzZXNDb252ZXJzYXRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmNvbnZlcnNhdGlvbmlkXCIgbmFtZT1cImZpbHRlcmNvbnZlcnNhdGlvbmlkXCIgW1BsYWNlaG9sZGVyXT1cIidDb252ZXJzYXRpb24gSUQnIHwgbG9jYWxpemUgOiBsY1wiPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEgYXBwLW5vLXBhZGRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJzZWFyY2hJblByb2dyZXNzXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hZGRvbiBidG4gYXBwLWJ0bi1zZWFyY2hcIiAoY2xpY2spPVwic2VuZFNlYXJjaCgpXCIgdHlwZT1cInN1Ym1pdFwiPjxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCIhc2VhcmNoVmlld1wiPjxlbT57eydMb2FkaW5nIEFwcGxpY2F0aW9uIEF1ZGl0cycgfCBsb2NhbGl6ZSA6IGxjfX0uLi48L2VtPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaFZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlcy10YWJsZSBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXdcIiBbTXVsdGlwbGVPcmRlcmluZ0RpcmVjdGl2ZXNdPVwidHJ1ZVwiIChvblNlYXJjaFJlcXVlc3QpPVwic2VuZFNlYXJjaCgkZXZlbnQpO1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInVGltZXN0YW1wJ1wiPnt7J0RhdGUnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIidVc2VyJ1wiPnt7J1VzZXInIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIidSZW1vdGVBZGRyZXNzJ1wiPnt7J0FkZHJlc3MnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIidBY3Rpb24nXCI+e3snQWN0aW9uJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInSHR0cE1ldGhvZCdcIj57eydIVFRQIE1ldGhvZCcgfCBsb2NhbGl6ZSA6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJ1JvdXRlJ1wiPnt7J1JvdXRlJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInQXJncydcIj57eydBcmd1bWVudHMnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIidIdHRwUmVzcG9uc2UnXCI+e3snSFRUUCBSZXNwb25zZScgfCBsb2NhbGl6ZSA6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJ05vblN0ZEVycm9yTWVzc2FnZSdcIj57eydBcHBsaWNhdGlvbiBFcnJvciBDb2RlJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInQ29udklkJzsgSWY6IHVzZXNDb252ZXJzYXRpb25zXCI+e3snQ29udmVyc2F0aW9uIElEJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInT2JqZWN0VHlwZSdcIj57eydPYmplY3QgVHlwZScgfCBsb2NhbGl6ZSA6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJ09iamVjdElkJ1wiPnt7J09iamVjdCBJRCcgfCBsb2NhbGl6ZSA6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJ09iamVjdERhdGEnXCI+e3snT2JqZWN0IERhdGEnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nICp0ZD1cIidUaW1lc3RhbXAnOyBsZXQgaXRlbVwiPnt7aXRlbS50aW1lc3RhbXAgfCBsb2NfZGF0ZTonREQvTU0vWVlZWSBISDptbTpzcyd9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidVc2VyJzsgbGV0IGl0ZW1cIj57e2l0ZW0udXNlcn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidSZW1vdGVBZGRyZXNzJzsgbGV0IGl0ZW1cIj57e2l0ZW0uYWRkcmVzc319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidBY3Rpb24nOyBsZXQgaXRlbVwiPnt7aXRlbS5hY3Rpb259fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInSHR0cE1ldGhvZCc7IGxldCBpdGVtXCI+e3tpdGVtLmh0dHBtZXRob2R9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInUm91dGUnOyBsZXQgaXRlbVwiPnt7aXRlbS5yb3V0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidBcmdzJzsgbGV0IGl0ZW1cIj57e2l0ZW0uYXJnc319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidIdHRwUmVzcG9uc2UnOyBsZXQgaXRlbVwiPnt7aXRlbS5odHRwcmVzcG9uc2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInTm9uU3RkRXJyb3JNZXNzYWdlJzsgbGV0IGl0ZW1cIj57e2l0ZW0ubWRtZXJyb3Jjb2RlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJ0NvbnZJZCc7IElmOiB1c2VzQ29udmVyc2F0aW9uczsgbGV0IGl0ZW1cIj57e2l0ZW0uY29udmVyc2F0aW9uaWR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInT2JqZWN0VHlwZSc7IGxldCBpdGVtXCI+e3tpdGVtLm9iamVjdHR5cGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInT2JqZWN0SWQnOyBsZXQgaXRlbVwiPnt7aXRlbS5vYmplY3RpZH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIidPYmplY3REYXRhJzsgbGV0IGl0ZW1cIj57e2l0ZW0ub2JqZWN0ZGF0YX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lcy10YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -11,9 +11,9 @@ export class AdmEnqLoc extends LocalizationService {
|
|
|
11
11
|
super.set("en->it", "Global", ["Globale"]);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
AdmEnqLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
15
|
-
AdmEnqLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
14
|
+
AdmEnqLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmEnqLoc, deps: [{ token: ADM_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
+
AdmEnqLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmEnqLoc });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmEnqLoc, decorators: [{
|
|
17
17
|
type: Injectable
|
|
18
18
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
19
19
|
type: Inject,
|
|
@@ -74,9 +74,9 @@ export class AdmEnqComponent {
|
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
AdmEnqComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
78
|
-
AdmEnqComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
77
|
+
AdmEnqComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmEnqComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PreferencesService }, { token: i3.ExportService }, { token: i3.InterComService }, { token: i4.HTTPService }, { token: i5.ActivatedRoute }, { token: i6.Location }, { token: ADM_BACKEND_URL }, { token: ADM_MODULE_PATH }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
AdmEnqComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AdmEnqComponent, selector: "adm_enq", ngImport: i0, 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 Locks' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <form role=\"form\">\r\n <div class=\"col-md-12 row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"locksView.filtersid\" name=\"filtersid\" [Placeholder]=\"'SID'\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"locksView.filterlock\" name=\"filterlock\" [Placeholder]=\"'Name' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper app-padding-top-10\">\r\n <form-checkbox [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"locksView.filterglobal\" name=\"filterglobal\"></form-checkbox> \r\n <span class=\"app-pointer\" (click)=\"locksView.filterglobal = !locksView.filterglobal\">{{'Global' | localize : lc}}</span>\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 class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!locksView\"><em>{{'Loading Application Locks' | localize : lc}}...</em></p>\r\n <div *ngIf=\"locksView\">\r\n <es-table [(ngModel)]=\"locksView\" [AutoUpdate]=\"true\" [OrderByColumn]=\"true\" (onSearchRequest)=\"sendSearch($event);\"></es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", components: [{ type: i7.FormInputComponent, selector: "form-input", inputs: ["Password"], outputs: ["onSuffixAction", "onPrefixAction"] }, { type: i7.FormCheckboxComponent, selector: "form-checkbox" }, { type: i8.EsTableComponent, selector: "es-table", inputs: ["CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "UseCustomCells", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "UserEdits", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onCornerAction", "onDynamicOperation"] }], directives: [{ type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "localize": i1.LocalizePipe }, viewProviders: [{ provide: LocalizationService, useClass: AdmEnqLoc }] });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmEnqComponent, decorators: [{
|
|
80
80
|
type: Component,
|
|
81
81
|
args: [{ selector: "adm_enq", viewProviders: [{ provide: LocalizationService, useClass: AdmEnqLoc }], 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 Locks' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <form role=\"form\">\r\n <div class=\"col-md-12 row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"locksView.filtersid\" name=\"filtersid\" [Placeholder]=\"'SID'\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"locksView.filterlock\" name=\"filterlock\" [Placeholder]=\"'Name' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper app-padding-top-10\">\r\n <form-checkbox [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"locksView.filterglobal\" name=\"filterglobal\"></form-checkbox> \r\n <span class=\"app-pointer\" (click)=\"locksView.filterglobal = !locksView.filterglobal\">{{'Global' | localize : lc}}</span>\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 class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!locksView\"><em>{{'Loading Application Locks' | localize : lc}}...</em></p>\r\n <div *ngIf=\"locksView\">\r\n <es-table [(ngModel)]=\"locksView\" [AutoUpdate]=\"true\" [OrderByColumn]=\"true\" (onSearchRequest)=\"sendSearch($event);\"></es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
82
82
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PreferencesService }, { type: i3.ExportService }, { type: i3.InterComService }, { type: i4.HTTPService }, { type: i5.ActivatedRoute }, { type: i6.Location }, { type: undefined, decorators: [{
|
|
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
86
86
|
type: Inject,
|
|
87
87
|
args: [ADM_MODULE_PATH]
|
|
88
88
|
}] }]; } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX2VucS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2VucXVldWVzL2FkbV9lbnEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9lbnF1ZXVlcy9hZG1fZW5xLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFpQixtQkFBbUIsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUczRixlQUFlO0FBQ2YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVoRSxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7OztBQU9wRCxNQUFNLE9BQU8sZUFBZTtJQUl4QixZQUNXLEVBQXVCLEVBQ3RCLFlBQWdDLEVBQ2pDLE9BQXNCLEVBQ3JCLFFBQXlCLEVBQ3pCLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLFFBQWtCLEVBQ08sT0FBZSxFQUNmLEdBQVc7UUFSckMsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIs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QUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs0R0E5RFEsZUFBZSxvT0FZWixlQUFlLGFBQ2YsZUFBZTtnR0FibEIsZUFBZSwrQ0N4QjVCLGswRUFpQ00sK25FRFphLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDOzJGQUc3RCxlQUFlO2tCQUwzQixTQUFTOytCQUNJLFNBQVMsaUJBQ0osQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUM7OzBCQWVqRSxNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IEV4cG9ydFNlcnZpY2UsIEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBMb2Nrc1ZpZXcgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvTG9ja3NWaWV3XCI7XHJcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4dGVybmFscy9SZXBvc2l0b3J5XCI7XHJcbmltcG9ydCB7IEFETV9CQUNLRU5EX1VSTCwgQURNX01PRFVMRV9QQVRIIH0gZnJvbSBcIi4uLy4uL3Rva2Vuc1wiO1xyXG5cclxuLy8gTG9jYWxpenphemlvbmVcclxuaW1wb3J0IHsgQWRtRW5xTG9jIH0gZnJvbSBcIi4vYWRtX2VucS5jb21wb25lbnQubG9jXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFkbV9lbnFcIixcclxuICAgIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBBZG1FbnFMb2MgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FkbV9lbnEuY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRtRW5xQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBsb2Nrc1ZpZXc6IExvY2tzVmlldyA9IG5ldyBMb2Nrc1ZpZXcoKTtcclxuICAgIHB1YmxpYyBzdG9yYWdlU3ViOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGV4cEV4dHM6IEV4cG9ydFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBpbnRlcmNvbTogSW50ZXJDb21TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSFRUUFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgQEluamVjdChBRE1fQkFDS0VORF9VUkwpIHByaXZhdGUgYmFja2VuZDogc3RyaW5nLFxyXG4gICAgICAgIEBJbmplY3QoQURNX01PRFVMRV9QQVRIKSBwcml2YXRlIG1vZDogc3RyaW5nKSB7XHJcblxyXG4gICAgICAgIHRoaXMuaW50ZXJjb20uc2VuZChJbmJvdW5kTWVzc2FnZVR5cGVzLk5hdmlnYXRpb24sIHsgc3ViOiBmYWxzZSwgcm91dGVUaXRsZTogdGhpcy5sYy5sb2ModGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW1widGl0bGVcIl0pIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVN1YiA9IHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7IHRoaXMuSW5pdChwYXJhbXNbXCJpZ25vcmVTdG9yYWdlXCJdKTsgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZVN1YilcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtPExvY2tzVmlldz4oXCJIb3RFbnF1ZXVlXCIpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGlmICghaWdub3JlU3RvcmFnZSAmJiBpdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQobnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGAvcGFnZXMvJHt0aGlzLm1vZH0vc2VydmVyZW5xdWV1ZXNgKTtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyA9IFtdO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiSG90RW5xdWV1ZVwiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IExvY2tzVmlldykge1xyXG4gICAgICAgIGlmIChIb3RQb3RhdG8pIHtcclxuICAgICAgICAgICAgdGhpcy5sb2Nrc1ZpZXcgPSBIb3RQb3RhdG87XHJcbiAgICAgICAgICAgIHRoaXMuUE9TVEdldFByb2Nlc3Nlcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0U2VydmVyTG9ja3NcIl0sIHRoaXMubG9ja3NWaWV3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9ja3NWaWV3ID0gbmV3IExvY2tzVmlldygpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbmRTZWFyY2goKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZFNlYXJjaChyZXNldFBhZ2U6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICAgICAgaWYgKHJlc2V0UGFnZSlcclxuICAgICAgICAgICAgdGhpcy5sb2Nrc1ZpZXcucGFnZSA9IDE7XHJcblxyXG4gICAgICAgIHRoaXMuUE9TVEdldFByb2Nlc3Nlcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0U2VydmVyTG9ja3NcIl0sIHRoaXMubG9ja3NWaWV3KTtcclxuICAgIH1cclxuXHJcbiAgICBQT1NUR2V0UHJvY2Vzc2VzKHVybDogc3RyaW5nLCBkYXRhOiBMb2Nrc1ZpZXcpIHtcclxuICAgICAgICB0aGlzLmh0dHAucG9zdDxMb2Nrc1ZpZXc+KHVybCwgZGF0YSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2tzVmlldyA9IHQ7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJIb3RFbnF1ZXVlXCIsIHRoaXMubG9ja3NWaWV3KS5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBhcHAtb3ZlcmZsb3ctdmlzaWJsZVwiIHdpZGdldD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdXBwZXJjYXNlXCI+e3snU2VhcmNoIEFwcGxpY2F0aW9uIExvY2tzJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgd2lkZ2V0LWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxmb3JtIHJvbGU9XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiByb3cgYXBwLWZpcnN0LWZpbHRlci1saW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJsb2Nrc1ZpZXcuZmlsdGVyc2lkXCIgbmFtZT1cImZpbHRlcnNpZFwiIFtQbGFjZWhvbGRlcl09XCInU0lEJ1wiPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJsb2Nrc1ZpZXcuZmlsdGVybG9ja1wiIG5hbWU9XCJmaWx0ZXJsb2NrXCIgW1BsYWNlaG9sZGVyXT1cIidOYW1lJyB8IGxvY2FsaXplIDogbGNcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlciBhcHAtcGFkZGluZy10b3AtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWNoZWNrYm94IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cImxvY2tzVmlldy5maWx0ZXJnbG9iYWxcIiBuYW1lPVwiZmlsdGVyZ2xvYmFsXCI+PC9mb3JtLWNoZWNrYm94PiZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtcG9pbnRlclwiIChjbGljayk9XCJsb2Nrc1ZpZXcuZmlsdGVyZ2xvYmFsID0gIWxvY2tzVmlldy5maWx0ZXJnbG9iYWxcIj57eydHbG9iYWwnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImlucHV0LWdyb3VwLWFkZG9uIGJ0biBhcHAtYnRuLXNlYXJjaCBhcHAtbWFyZ2luLXRvcC0yMFwiIChjbGljayk9XCJzZW5kU2VhcmNoKClcIiB0eXBlPVwic3VibWl0XCI+PGkgY2xhc3M9XCJmYSBmYS1zZWFyY2hcIj48L2k+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiFsb2Nrc1ZpZXdcIj48ZW0+e3snTG9hZGluZyBBcHBsaWNhdGlvbiBMb2NrcycgfCBsb2NhbGl6ZSA6IGxjfX0uLi48L2VtPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxvY2tzVmlld1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVzLXRhYmxlIFsobmdNb2RlbCldPVwibG9ja3NWaWV3XCIgW0F1dG9VcGRhdGVdPVwidHJ1ZVwiIFtPcmRlckJ5Q29sdW1uXT1cInRydWVcIiAob25TZWFyY2hSZXF1ZXN0KT1cInNlbmRTZWFyY2goJGV2ZW50KTtcIj48L2VzLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX2VucS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2VucXVldWVzL2FkbV9lbnEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9lbnF1ZXVlcy9hZG1fZW5xLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFpQixtQkFBbUIsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUczRixlQUFlO0FBQ2YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVoRSxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7OztBQU9wRCxNQUFNLE9BQU8sZUFBZTtJQUl4QixZQUNXLEVBQXVCLEVBQ3RCLFlBQWdDLEVBQ2pDLE9BQXNCLEVBQ3JCLFFBQXlCLEVBQ3pCLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLFFBQWtCLEVBQ08sT0FBZSxFQUNmLEdBQVc7UUFSckMsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIs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QUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs0R0E5RFEsZUFBZSxvT0FZWixlQUFlLGFBQ2YsZUFBZTtnR0FibEIsZUFBZSwrQ0N4QjVCLGswRUFpQ00sNm5FRFphLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDOzJGQUc3RCxlQUFlO2tCQUwzQixTQUFTOytCQUNJLFNBQVMsaUJBQ0osQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUM7OzBCQWVqRSxNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IEV4cG9ydFNlcnZpY2UsIEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBMb2Nrc1ZpZXcgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvTG9ja3NWaWV3XCI7XHJcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4dGVybmFscy9SZXBvc2l0b3J5XCI7XHJcbmltcG9ydCB7IEFETV9CQUNLRU5EX1VSTCwgQURNX01PRFVMRV9QQVRIIH0gZnJvbSBcIi4uLy4uL3Rva2Vuc1wiO1xyXG5cclxuLy8gTG9jYWxpenphemlvbmVcclxuaW1wb3J0IHsgQWRtRW5xTG9jIH0gZnJvbSBcIi4vYWRtX2VucS5jb21wb25lbnQubG9jXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFkbV9lbnFcIixcclxuICAgIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBBZG1FbnFMb2MgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FkbV9lbnEuY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRtRW5xQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBsb2Nrc1ZpZXc6IExvY2tzVmlldyA9IG5ldyBMb2Nrc1ZpZXcoKTtcclxuICAgIHB1YmxpYyBzdG9yYWdlU3ViOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGV4cEV4dHM6IEV4cG9ydFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBpbnRlcmNvbTogSW50ZXJDb21TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSFRUUFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgQEluamVjdChBRE1fQkFDS0VORF9VUkwpIHByaXZhdGUgYmFja2VuZDogc3RyaW5nLFxyXG4gICAgICAgIEBJbmplY3QoQURNX01PRFVMRV9QQVRIKSBwcml2YXRlIG1vZDogc3RyaW5nKSB7XHJcblxyXG4gICAgICAgIHRoaXMuaW50ZXJjb20uc2VuZChJbmJvdW5kTWVzc2FnZVR5cGVzLk5hdmlnYXRpb24sIHsgc3ViOiBmYWxzZSwgcm91dGVUaXRsZTogdGhpcy5sYy5sb2ModGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW1widGl0bGVcIl0pIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVN1YiA9IHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7IHRoaXMuSW5pdChwYXJhbXNbXCJpZ25vcmVTdG9yYWdlXCJdKTsgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZVN1YilcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtPExvY2tzVmlldz4oXCJIb3RFbnF1ZXVlXCIpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGlmICghaWdub3JlU3RvcmFnZSAmJiBpdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQobnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGAvcGFnZXMvJHt0aGlzLm1vZH0vc2VydmVyZW5xdWV1ZXNgKTtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyA9IFtdO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiSG90RW5xdWV1ZVwiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IExvY2tzVmlldykge1xyXG4gICAgICAgIGlmIChIb3RQb3RhdG8pIHtcclxuICAgICAgICAgICAgdGhpcy5sb2Nrc1ZpZXcgPSBIb3RQb3RhdG87XHJcbiAgICAgICAgICAgIHRoaXMuUE9TVEdldFByb2Nlc3Nlcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0U2VydmVyTG9ja3NcIl0sIHRoaXMubG9ja3NWaWV3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9ja3NWaWV3ID0gbmV3IExvY2tzVmlldygpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbmRTZWFyY2goKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZFNlYXJjaChyZXNldFBhZ2U6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICAgICAgaWYgKHJlc2V0UGFnZSlcclxuICAgICAgICAgICAgdGhpcy5sb2Nrc1ZpZXcucGFnZSA9IDE7XHJcblxyXG4gICAgICAgIHRoaXMuUE9TVEdldFByb2Nlc3Nlcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0U2VydmVyTG9ja3NcIl0sIHRoaXMubG9ja3NWaWV3KTtcclxuICAgIH1cclxuXHJcbiAgICBQT1NUR2V0UHJvY2Vzc2VzKHVybDogc3RyaW5nLCBkYXRhOiBMb2Nrc1ZpZXcpIHtcclxuICAgICAgICB0aGlzLmh0dHAucG9zdDxMb2Nrc1ZpZXc+KHVybCwgZGF0YSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2tzVmlldyA9IHQ7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJIb3RFbnF1ZXVlXCIsIHRoaXMubG9ja3NWaWV3KS5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBhcHAtb3ZlcmZsb3ctdmlzaWJsZVwiIHdpZGdldD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdXBwZXJjYXNlXCI+e3snU2VhcmNoIEFwcGxpY2F0aW9uIExvY2tzJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgd2lkZ2V0LWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxmb3JtIHJvbGU9XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiByb3cgYXBwLWZpcnN0LWZpbHRlci1saW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJsb2Nrc1ZpZXcuZmlsdGVyc2lkXCIgbmFtZT1cImZpbHRlcnNpZFwiIFtQbGFjZWhvbGRlcl09XCInU0lEJ1wiPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJsb2Nrc1ZpZXcuZmlsdGVybG9ja1wiIG5hbWU9XCJmaWx0ZXJsb2NrXCIgW1BsYWNlaG9sZGVyXT1cIidOYW1lJyB8IGxvY2FsaXplIDogbGNcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlciBhcHAtcGFkZGluZy10b3AtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWNoZWNrYm94IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cImxvY2tzVmlldy5maWx0ZXJnbG9iYWxcIiBuYW1lPVwiZmlsdGVyZ2xvYmFsXCI+PC9mb3JtLWNoZWNrYm94PiZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtcG9pbnRlclwiIChjbGljayk9XCJsb2Nrc1ZpZXcuZmlsdGVyZ2xvYmFsID0gIWxvY2tzVmlldy5maWx0ZXJnbG9iYWxcIj57eydHbG9iYWwnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImlucHV0LWdyb3VwLWFkZG9uIGJ0biBhcHAtYnRuLXNlYXJjaCBhcHAtbWFyZ2luLXRvcC0yMFwiIChjbGljayk9XCJzZW5kU2VhcmNoKClcIiB0eXBlPVwic3VibWl0XCI+PGkgY2xhc3M9XCJmYSBmYS1zZWFyY2hcIj48L2k+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiFsb2Nrc1ZpZXdcIj48ZW0+e3snTG9hZGluZyBBcHBsaWNhdGlvbiBMb2NrcycgfCBsb2NhbGl6ZSA6IGxjfX0uLi48L2VtPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxvY2tzVmlld1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVzLXRhYmxlIFsobmdNb2RlbCldPVwibG9ja3NWaWV3XCIgW0F1dG9VcGRhdGVdPVwidHJ1ZVwiIFtPcmRlckJ5Q29sdW1uXT1cInRydWVcIiAob25TZWFyY2hSZXF1ZXN0KT1cInNlbmRTZWFyY2goJGV2ZW50KTtcIj48L2VzLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -8,9 +8,9 @@ export class AdmLogsLoc extends LocalizationService {
|
|
|
8
8
|
super.set("en->it", "Server Logs", ["Log del Server"]);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
AdmLogsLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
12
|
-
AdmLogsLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
11
|
+
AdmLogsLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmLogsLoc, deps: [{ token: ADM_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
AdmLogsLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmLogsLoc });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmLogsLoc, decorators: [{
|
|
14
14
|
type: Injectable
|
|
15
15
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
16
16
|
type: Inject,
|
|
@@ -27,9 +27,9 @@ export class AdmLogsComponent {
|
|
|
27
27
|
this.http.get(this.backend + Repository["GET_Adm_GetServerLogs"]).subscribe(t => { this.Log = t; });
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
AdmLogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
31
|
-
AdmLogsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
30
|
+
AdmLogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmLogsComponent, deps: [{ token: i1.InterComService }, { token: i2.HTTPService }, { token: i3.LocalizationService }, { token: i4.ActivatedRoute }, { token: ADM_BACKEND_URL }], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
AdmLogsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AdmLogsComponent, selector: "adm_logs", ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12 bottom-15\">\r\n <p *ngIf=\"Log\" class=\"app-whitespace-prewrap\" [innerHTML]=\"Log\"></p>\r\n </div>\r\n</div>", directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], viewProviders: [{ provide: LocalizationService, useClass: AdmLogsLoc }] });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmLogsComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{ selector: "adm_logs", viewProviders: [{ provide: LocalizationService, useClass: AdmLogsLoc }], template: "<div class=\"row\">\r\n <div class=\"col-12 bottom-15\">\r\n <p *ngIf=\"Log\" class=\"app-whitespace-prewrap\" [innerHTML]=\"Log\"></p>\r\n </div>\r\n</div>" }]
|
|
35
35
|
}], ctorParameters: function () { return [{ type: i1.InterComService }, { type: i2.HTTPService }, { type: i3.LocalizationService }, { type: i4.ActivatedRoute }, { type: undefined, decorators: [{
|
|
@@ -15,9 +15,9 @@ export class AdmMetricsLoc extends LocalizationService {
|
|
|
15
15
|
super.set("en->it", "Metrics Instance", ["Istanza Metriche"]);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
AdmMetricsLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
19
|
-
AdmMetricsLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
18
|
+
AdmMetricsLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmMetricsLoc, deps: [{ token: ADM_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
|
+
AdmMetricsLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmMetricsLoc });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmMetricsLoc, decorators: [{
|
|
21
21
|
type: Injectable
|
|
22
22
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
23
23
|
type: Inject,
|
|
@@ -158,11 +158,11 @@ export class AdmMetricsComponent {
|
|
|
158
158
|
clearInterval(this.updateTimer);
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
AdmMetricsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
162
|
-
AdmMetricsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
161
|
+
AdmMetricsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmMetricsComponent, deps: [{ token: i1.DateService }, { token: i2.LocalizationService }, { token: i3.PreferencesService }, { token: i4.Location }, { token: i1.InterComService }, { token: i5.HTTPService }, { token: i6.ActivatedRoute }, { token: ADM_BACKEND_URL }, { token: ADM_MODULE_PATH }], target: i0.ɵɵFactoryTarget.Component });
|
|
162
|
+
AdmMetricsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AdmMetricsComponent, selector: "metrics_search", providers: [
|
|
163
163
|
{ provide: LocalizationService, useClass: AdmMetricsLoc }
|
|
164
164
|
], ngImport: i0, 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\">\r\n {{'System Metrics' | localize : lc}}\r\n </span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12\">\r\n <form role=\"form\">\r\n <div class=\"row\">\r\n <div class=\"col-md-11\">\r\n <div class=\"col-md-12 row app-no-padding app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-datetime [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'From' | localize : lc\" (inputChange)=\"dateChanged();\"></form-datetime>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-datetime [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'To' | localize : lc\" (inputChange)=\"dateChanged();\"></form-datetime>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filtersid\" name=\"filtersid\" [Placeholder]=\"'Session ID' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterserial\" name=\"filterserial\" [Placeholder]=\"'Session Serial' | localize : lc\"></form-input>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 row app-no-padding\">\r\n <div class=\"col-12 app-filter-wrapper\">\r\n <form-multiselect [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filtermetrics\" [IdField]=\"'name'\" [Display]=\"'{name}'\" name=\"filtermetrics\" [SelectLabel]=\"'Filter Metrics...' | localize : lc\" [Source]=\"Metrics\"></form-multiselect>\r\n </div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n <div class=\"col-md-1 app-no-padding\">\r\n <button [disabled]=\"searchView.searchinprogress || autoUpdate\" class=\"input-group-addon btn app-btn-search\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </form>\r\n <div class=\"app-col-12 app-margin-top-15\">\r\n <div class=\"pull-right\">\r\n {{'Update every' | localize : lc}} <input [readonly]=\"autoUpdate\" maxlength=\"3\" class=\"form-control app-updevery-input\" type=\"text\" [(ngModel)]=\"seconds\" /> {{'second/s' | localize : lc}}\r\n </div>\r\n <div class=\"pull-right m-t-2 app-margin-right-5\">\r\n <label class=\"switch\">\r\n <input type=\"checkbox\" [(ngModel)]=\"autoUpdate\" (ngModelChange)=\"autoUpdateChanged();\" />\r\n <div class=\"slider round\"></div>\r\n </label>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Data' | localize : lc}}</em></p>\r\n <div *ngIf=\"searchView && instanceRequired\">\r\n <form-select [Validation]=\"false\" [Label]=\"'Metrics Instance' | localize : lc\" [(ngModel)]=\"selectedInstance\" name=\"instance\" [Source]=\"Instances\" (inputChange)=\"instanceSelected()\" required></form-select>\r\n </div>\r\n <div *ngIf=\"searchView && metricsToShow && metricsToShow.length > 0\">\r\n <div class=\"col-md-12 app-padding-right-0 row app-margin-top-15\">\r\n <ng-container *ngFor=\"let metric of metricsToShow; let i = index\">\r\n <div class=\"col-md-4 app-no-padding app-simple-border\" *ngFor=\"let chart of metric.values; let z = index\">\r\n <div style=\"width: 100%; height: 260px\">\r\n <es-line-chart [XTitle]=\"chart.xtitle\"\r\n [YTitle]=\"chart.ytitle\"\r\n [MinGridDistance]=\"65\"\r\n [Timeline]=\"false\"\r\n [LegendPadding]=\"{top: 0, bottom: 7, right: 0, left: 10}\"\r\n [MergeDatasets]=\"true\"\r\n [Data]=\"chart\"\r\n [Animations]=\"true\"\r\n [Legend]=\"chart.legend\"\r\n name=\"metric_{{i}}_chart_{{z}}\"\r\n (chartLoaded)=\"linkChartToMetric(metric, chart, $event);\"\r\n [DataGroupingThreshold]=\"99999999\">\r\n </es-line-chart>\r\n </div>\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", components: [{ type: i7.FormDateTimeComponent, selector: "form-datetime", inputs: ["JsDates"] }, { type: i7.FormInputComponent, selector: "form-input", inputs: ["Password"], outputs: ["onSuffixAction", "onPrefixAction"] }, { type: i7.FormMultiSelectComponent, selector: "form-multiselect", inputs: ["SelectLabel", "UseKeyValues"] }, { type: i7.FormSelectComponent, selector: "form-select", inputs: ["SelectLabel", "PlaceholderValue", "RequiredPlaceholder", "EmptyFieldValue", "ShowValidationSymbol"] }, { type: i8.EsLineChartComponent, selector: "es-line-chart", inputs: ["Data", "DataArray", "Step", "DataGroupBucketSize", "DataGroupingThreshold", "StrokeSize", "AllowGaps", "MergeDatasets", "FinalInstants", "Min", "Max", "Fill"] }], directives: [{ type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i9.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "localize": i2.LocalizePipe } });
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmMetricsComponent, decorators: [{
|
|
166
166
|
type: Component,
|
|
167
167
|
args: [{ selector: "metrics_search", providers: [
|
|
168
168
|
{ provide: LocalizationService, useClass: AdmMetricsLoc }
|
|
@@ -27,9 +27,9 @@ export class AdmProfilerComponentLoc extends LocalizationService {
|
|
|
27
27
|
super.set("en->it", "Wait Class Name", ["Nome Classe Attesa"]);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
AdmProfilerComponentLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
31
|
-
AdmProfilerComponentLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
30
|
+
AdmProfilerComponentLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmProfilerComponentLoc, deps: [{ token: ADM_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
+
AdmProfilerComponentLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmProfilerComponentLoc });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdmProfilerComponentLoc, decorators: [{
|
|
33
33
|
type: Injectable
|
|
34
34
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
35
35
|
type: Inject,
|