angular-toolbox 0.12.2 → 1.0.0
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/README.md +1 -1
- package/esm2022/lib/component/angular-toolbox-logo/angular-toolbox-logo.component.mjs +3 -3
- package/esm2022/lib/framework/logging/connector/console-log-connector.mjs +2 -2
- package/esm2022/lib/framework/logging/impl/log-impl.mjs +4 -1
- package/esm2022/lib/framework/logging/util/log.builder.mjs +2 -2
- package/esm2022/lib/framework/logging/util/log.util.mjs +3 -3
- package/esm2022/lib/framework/mock/http-monitoring-console/component/abstract/log-renderer-base.mjs +34 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/console-footer/console-footer.component.mjs +16 -17
- package/esm2022/lib/framework/mock/http-monitoring-console/component/console-menu/console-menu.component.mjs +25 -15
- package/esm2022/lib/framework/mock/http-monitoring-console/component/http-monitoring-console/http-monitoring-console.component.mjs +41 -119
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/icon-renderer/icon-renderer.component.mjs +38 -13
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer/json-viewer.component.mjs +15 -4
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer-panel/json-viewer-panel.component.mjs +12 -4
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/payload-renderer/payload-renderer.component.mjs +36 -16
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/request-info-renderer/request-info-renderer.component.mjs +43 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/request-list-renderer/request-list-renderer.component.mjs +116 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/response-body-renderer/response-body-renderer.component.mjs +63 -24
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/response-preview-renderer/response-preview-renderer.component.mjs +72 -28
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/spinner/spinner.component.mjs +22 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/timing-renderer/timing-renderer.component.mjs +53 -27
- package/esm2022/lib/framework/mock/http-monitoring-console/component/request-details/request-details.component.mjs +45 -21
- package/esm2022/lib/framework/mock/http-monitoring-console/connector/http-monitoring-console-log-connector.mjs +15 -8
- package/esm2022/lib/framework/mock/http-monitoring-console/index.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-action-type.mjs +27 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-action.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-json.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-is-imported-log.mjs +5 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-timeline-data.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-body-dto.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-header-dto.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log-metadata.dto.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log.dto.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request-metadata.dto.ts.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request.dto.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-response.dto.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/hmfl.mjs +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-log-io.service.mjs +71 -43
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-monitoring-console.controller.mjs +96 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-monitoring-console.state.mjs +126 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-user-action.service.mjs +40 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/console-body-type.mjs +33 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/util/console-type-class.mjs +29 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/util/data.util.mjs +21 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/body-converter.mjs +40 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/body-serializer.mjs +58 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/form-data-serializer.mjs +33 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/hmfl-builder.mjs +27 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/http-request-converter.mjs +62 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/http-response-converter.mjs +50 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-converter.mjs +43 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-headers-converter.mjs +53 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-message.util.mjs +30 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-metadata-converter.mjs +45 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/request-metadata-converter.mjs +47 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/size.util.mjs +24 -2
- package/esm2022/lib/framework/mock/http-monitoring-console/util/timeline.util.mjs +28 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/url.util.mjs +26 -1
- package/esm2022/lib/model/business/logging/log-level.enum.mjs +1 -2
- package/esm2022/lib/model/business/logging/logger.mjs +1 -1
- package/esm2022/lib/model/business/logging/transactional-logger.mjs +1 -1
- package/esm2022/lib/model/business/mock/http/popup/atx-http-mock-console-popup.mjs +9 -0
- package/esm2022/lib/model/service/mock/http/logging/atx-http-mock-console.service.mjs +94 -0
- package/esm2022/lib/model/service/mock/http/logging/http-mock-logging-service.mjs +11 -4
- package/esm2022/lib/model/service/mock/http/logging/index.mjs +2 -1
- package/esm2022/lib/model/service/ui/app-bridge.service.mjs +1 -1
- package/esm2022/lib/model/service/version/angular-toolbox-version.service.mjs +5 -6
- package/fesm2022/angular-toolbox.mjs +3027 -1945
- package/fesm2022/angular-toolbox.mjs.map +1 -1
- package/lib/framework/logging/connector/console-log-connector.d.ts +1 -1
- package/lib/framework/logging/impl/log-impl.d.ts +3 -0
- package/lib/framework/logging/util/log.builder.d.ts +1 -1
- package/lib/framework/logging/util/log.util.d.ts +2 -2
- package/lib/framework/mock/http-monitoring-console/component/abstract/log-renderer-base.d.ts +28 -0
- package/lib/framework/mock/http-monitoring-console/component/console-footer/console-footer.component.d.ts +11 -4
- package/lib/framework/mock/http-monitoring-console/component/console-menu/console-menu.component.d.ts +18 -16
- package/lib/framework/mock/http-monitoring-console/component/http-monitoring-console/http-monitoring-console.component.d.ts +16 -37
- package/lib/framework/mock/http-monitoring-console/component/renderer/icon-renderer/icon-renderer.component.d.ts +20 -4
- package/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer/json-viewer.component.d.ts +11 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer-panel/json-viewer-panel.component.d.ts +8 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/payload-renderer/payload-renderer.component.d.ts +18 -11
- package/lib/framework/mock/http-monitoring-console/component/renderer/request-info-renderer/request-info-renderer.component.d.ts +25 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/request-list-renderer/request-list-renderer.component.d.ts +57 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/response-body-renderer/response-body-renderer.component.d.ts +27 -12
- package/lib/framework/mock/http-monitoring-console/component/renderer/response-preview-renderer/response-preview-renderer.component.d.ts +41 -7
- package/lib/framework/mock/http-monitoring-console/component/renderer/spinner/spinner.component.d.ts +9 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/timing-renderer/timing-renderer.component.d.ts +29 -3
- package/lib/framework/mock/http-monitoring-console/component/request-details/request-details.component.d.ts +36 -12
- package/lib/framework/mock/http-monitoring-console/connector/http-monitoring-console-log-connector.d.ts +10 -5
- package/lib/framework/mock/http-monitoring-console/model/business/atx-console-action-type.d.ts +27 -1
- package/lib/framework/mock/http-monitoring-console/model/business/atx-console-action.d.ts +12 -0
- package/lib/framework/mock/http-monitoring-console/model/business/atx-console-json.d.ts +20 -0
- package/lib/framework/mock/http-monitoring-console/model/business/atx-is-imported-log.d.ts +4 -0
- package/lib/framework/mock/http-monitoring-console/model/business/atx-timeline-data.d.ts +21 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-body-dto.d.ts +14 -1
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-header-dto.d.ts +12 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log-metadata.dto.d.ts +14 -1
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log.dto.d.ts +7 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request-metadata.dto.ts.d.ts +6 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request.dto.d.ts +38 -1
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-response.dto.d.ts +26 -1
- package/lib/framework/mock/http-monitoring-console/model/business/io/hmfl.d.ts +12 -0
- package/lib/framework/mock/http-monitoring-console/model/service/atx-log-io.service.d.ts +24 -2
- package/lib/framework/mock/http-monitoring-console/model/service/atx-monitoring-console.controller.d.ts +55 -0
- package/lib/framework/mock/http-monitoring-console/model/service/atx-monitoring-console.state.d.ts +75 -0
- package/lib/framework/mock/http-monitoring-console/model/service/atx-user-action.service.d.ts +32 -0
- package/lib/framework/mock/http-monitoring-console/util/console-body-type.d.ts +32 -0
- package/lib/framework/mock/http-monitoring-console/util/console-type-class.d.ts +28 -0
- package/lib/framework/mock/http-monitoring-console/util/data.util.d.ts +20 -0
- package/lib/framework/mock/http-monitoring-console/util/io/body-converter.d.ts +30 -0
- package/lib/framework/mock/http-monitoring-console/util/io/body-serializer.d.ts +32 -0
- package/lib/framework/mock/http-monitoring-console/util/io/form-data-serializer.d.ts +21 -0
- package/lib/framework/mock/http-monitoring-console/util/io/hmfl-builder.d.ts +23 -0
- package/lib/framework/mock/http-monitoring-console/util/io/http-request-converter.d.ts +31 -0
- package/lib/framework/mock/http-monitoring-console/util/io/http-response-converter.d.ts +31 -0
- package/lib/framework/mock/http-monitoring-console/util/io/log-converter.d.ts +31 -0
- package/lib/framework/mock/http-monitoring-console/util/io/log-headers-converter.d.ts +31 -0
- package/lib/framework/mock/http-monitoring-console/util/io/log-message.util.d.ts +23 -0
- package/lib/framework/mock/http-monitoring-console/util/io/log-metadata-converter.d.ts +31 -0
- package/lib/framework/mock/http-monitoring-console/util/io/request-metadata-converter.d.ts +31 -0
- package/lib/framework/mock/http-monitoring-console/util/size.util.d.ts +22 -0
- package/lib/framework/mock/http-monitoring-console/util/timeline.util.d.ts +23 -0
- package/lib/framework/mock/http-monitoring-console/util/url.util.d.ts +25 -0
- package/lib/model/business/logging/log-level.enum.d.ts +0 -1
- package/lib/model/business/logging/logger.d.ts +5 -5
- package/lib/model/business/logging/transactional-logger.d.ts +1 -1
- package/lib/model/business/mock/http/popup/atx-http-mock-console-popup.d.ts +23 -0
- package/lib/model/service/mock/http/logging/atx-http-mock-console.service.d.ts +53 -0
- package/lib/model/service/mock/http/logging/http-mock-logging-service.d.ts +6 -1
- package/lib/model/service/mock/http/logging/index.d.ts +1 -0
- package/package.json +1 -1
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/body-converter.mjs +0 -22
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/body-serializer.mjs +0 -47
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/http-request-converter.mjs +0 -44
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/http-response-converter.mjs +0 -32
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/log-converter.mjs +0 -31
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/log-headers-converter.mjs +0 -35
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/log-message.util.mjs +0 -19
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/log-metadata-converter.mjs +0 -27
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/request-metadata-converter.mjs +0 -29
- package/lib/framework/mock/http-monitoring-console/model/service/io/body-converter.d.ts +0 -12
- package/lib/framework/mock/http-monitoring-console/model/service/io/body-serializer.d.ts +0 -13
- package/lib/framework/mock/http-monitoring-console/model/service/io/http-request-converter.d.ts +0 -13
- package/lib/framework/mock/http-monitoring-console/model/service/io/http-response-converter.d.ts +0 -13
- package/lib/framework/mock/http-monitoring-console/model/service/io/log-converter.d.ts +0 -13
- package/lib/framework/mock/http-monitoring-console/model/service/io/log-headers-converter.d.ts +0 -13
- package/lib/framework/mock/http-monitoring-console/model/service/io/log-message.util.d.ts +0 -12
- package/lib/framework/mock/http-monitoring-console/model/service/io/log-metadata-converter.d.ts +0 -13
- package/lib/framework/mock/http-monitoring-console/model/service/io/request-metadata-converter.d.ts +0 -13
|
@@ -5,126 +5,44 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
6
|
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import { LogLevel } from '../../../../../model';
|
|
10
|
-
import { HttpMonitoringConsoleLogConnector } from '../../connector/http-monitoring-console-log-connector';
|
|
11
|
-
import { IdentifiableComponent } from '../../../../../core';
|
|
8
|
+
import { Component, ViewEncapsulation } from '@angular/core';
|
|
12
9
|
import { AtxRequestDetailsComponent } from '../request-details/request-details.component';
|
|
13
|
-
import { SizeUtil } from '../../util/size.util';
|
|
14
10
|
import { AtxConsoleFooterComponent } from '../console-footer/console-footer.component';
|
|
15
11
|
import { AtxConsoleMenuComponent } from '../console-menu/console-menu.component';
|
|
16
|
-
import { AtxConsoleActionType } from '../../model/business/atx-console-action-type';
|
|
17
|
-
import { UrlUtil } from '../../util/url.util';
|
|
18
|
-
import { AtxLogIoService } from '../../model/service/atx-log-io.service';
|
|
19
|
-
import { ATX_IS_IMPORTED_LOG } from '../../model/business/atx-is-imported-log';
|
|
20
12
|
import { AtxIconRendererComponent } from '../renderer/icon-renderer/icon-renderer.component';
|
|
13
|
+
import { AtxRequestListRendererComponent } from '../renderer/request-list-renderer/request-list-renderer.component';
|
|
14
|
+
import { AtxMonitoringConsoleState } from '../../model/service/atx-monitoring-console.state';
|
|
15
|
+
import { AtxLogIoService } from '../../model/service/atx-log-io.service';
|
|
16
|
+
import { AtxMonitoringConsoleController } from '../../model/service/atx-monitoring-console.controller';
|
|
17
|
+
import { AtxUserActionService } from '../../model/service/atx-user-action.service';
|
|
21
18
|
import * as i0 from "@angular/core";
|
|
22
|
-
import * as i1 from "
|
|
23
|
-
import * as i2 from "../../model/service/atx-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
this.
|
|
39
|
-
|
|
40
|
-
this.
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
this._subscribe.clearAll(this);
|
|
44
|
-
}
|
|
45
|
-
logSelect(log) {
|
|
46
|
-
this.selectedLog = log;
|
|
47
|
-
}
|
|
48
|
-
getResourceName(log) {
|
|
49
|
-
return UrlUtil.getResourceName(log);
|
|
50
|
-
}
|
|
51
|
-
getResourcePath(log) {
|
|
52
|
-
return UrlUtil.getResourcePath(log);
|
|
53
|
-
}
|
|
54
|
-
getSize(log) {
|
|
55
|
-
const response = log.metadata.response;
|
|
56
|
-
if (response) {
|
|
57
|
-
const size = SizeUtil.getSize(response.body);
|
|
58
|
-
return SizeUtil.sizeToString(size);
|
|
59
|
-
}
|
|
60
|
-
return TPL_DASH;
|
|
61
|
-
}
|
|
62
|
-
getStatus(log) {
|
|
63
|
-
const response = log.metadata.response;
|
|
64
|
-
if (response)
|
|
65
|
-
return response.status;
|
|
66
|
-
return PREFETCH;
|
|
67
|
-
}
|
|
68
|
-
getTime(log) {
|
|
69
|
-
const response = log.metadata.response;
|
|
70
|
-
if (response)
|
|
71
|
-
return log.metadata.requestMetadata.duration + MS_SUFIX;
|
|
72
|
-
return TPL_DASH;
|
|
73
|
-
}
|
|
74
|
-
isError(log) {
|
|
75
|
-
const response = log.metadata.response;
|
|
76
|
-
if (response)
|
|
77
|
-
return response.status >= 400;
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
isImported(log) {
|
|
81
|
-
return log.metadata.request?.context.get(ATX_IS_IMPORTED_LOG);
|
|
82
|
-
}
|
|
83
|
-
checkFilters(log) {
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
userAction(action) {
|
|
87
|
-
switch (action.type) {
|
|
88
|
-
case AtxConsoleActionType.CLEAR_LOGS:
|
|
89
|
-
this.clearLogs();
|
|
90
|
-
break;
|
|
91
|
-
case AtxConsoleActionType.EXPORT_LOGS:
|
|
92
|
-
this.exportLogs();
|
|
93
|
-
break;
|
|
94
|
-
case AtxConsoleActionType.IMPORT_LOGS:
|
|
95
|
-
this.importLogs();
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
addLog(log) {
|
|
100
|
-
if (log.level !== LogLevel.CONFIG) {
|
|
101
|
-
const size = SizeUtil.getSize(log.metadata.response.body);
|
|
102
|
-
const id = log.metadata.requestMetadata.id;
|
|
103
|
-
this.cumulativeSize += size;
|
|
104
|
-
const idx = this.logs.findIndex(prefetch => prefetch.metadata.requestMetadata.id === id);
|
|
105
|
-
idx > -1 ? this.logs.splice(idx, 1, log) : this.logs.push(log);
|
|
106
|
-
if (this.selectedLog?.metadata.requestMetadata.id === id)
|
|
107
|
-
this.selectedLog = log;
|
|
108
|
-
}
|
|
109
|
-
else
|
|
110
|
-
this.logs.push(log);
|
|
111
|
-
this._cdr.detectChanges();
|
|
112
|
-
}
|
|
113
|
-
clearLogs() {
|
|
114
|
-
this.logger.clearLogs();
|
|
115
|
-
this.logSelect(null);
|
|
116
|
-
this.cumulativeSize = this.logs.length = 0;
|
|
117
|
-
}
|
|
118
|
-
exportLogs() {
|
|
119
|
-
this._ioSvc.exportFile(this.logs);
|
|
120
|
-
}
|
|
121
|
-
importLogs() {
|
|
122
|
-
this._ioSvc.importFile();
|
|
123
|
-
}
|
|
124
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleComponent, deps: [{ token: i1.HttpMockLoggingService }, { token: i0.ChangeDetectorRef }, { token: i1.SubscriptionService }, { token: i2.AtxLogIoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
import * as i1 from "../../model/service/atx-monitoring-console.state";
|
|
20
|
+
import * as i2 from "../../model/service/atx-monitoring-console.controller";
|
|
21
|
+
import * as i3 from "../../model/service/atx-log-io.service";
|
|
22
|
+
import * as i4 from "../../model/service/atx-user-action.service";
|
|
23
|
+
/**
|
|
24
|
+
* @private
|
|
25
|
+
* The main component used to layout the ATX monitoring console.
|
|
26
|
+
*/
|
|
27
|
+
export class AtxMonitoringConsoleComponent {
|
|
28
|
+
/**
|
|
29
|
+
* @private
|
|
30
|
+
*/
|
|
31
|
+
constructor(state,
|
|
32
|
+
//--> Conponent scope services:
|
|
33
|
+
_ctrl, _io, _input) {
|
|
34
|
+
this.state = state;
|
|
35
|
+
this._ctrl = _ctrl;
|
|
36
|
+
this._io = _io;
|
|
37
|
+
this._input = _input;
|
|
38
|
+
}
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleComponent, deps: [{ token: i1.AtxMonitoringConsoleState }, { token: i2.AtxMonitoringConsoleController }, { token: i3.AtxLogIoService }, { token: i4.AtxUserActionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
125
40
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxMonitoringConsoleComponent, isStandalone: true, selector: "atx-http-monitoring-console", providers: [
|
|
126
|
-
|
|
127
|
-
|
|
41
|
+
AtxMonitoringConsoleState,
|
|
42
|
+
AtxLogIoService,
|
|
43
|
+
AtxMonitoringConsoleController,
|
|
44
|
+
AtxUserActionService
|
|
45
|
+
], ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<atx-console-menu/>\r\n<div id=\"log-list-vieport\">\r\n <div class=\"request-list-wrapper\" [class.reduced-request-list]=\"state.selectedLog\">\r\n <atx-request-list-renderer />\r\n </div>\r\n @if (state.selectedLog) {\r\n <div id=\"selected-log-viewport\">\r\n <atx-monitoring-console-details [log]=\"state.selectedLog\"/>\r\n </div>\r\n }\r\n</div>\r\n<atx-console-footer/>\r\n\r\n<svg id=\"icon-collection\">\r\n <symbol id=\"json-icon\" viewBox=\"0 0 16 16\">\r\n <path d=\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z\"/>\r\n <path d=\"M8.646 6.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 9 8.646 7.354a.5.5 0 0 1 0-.708m-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 9l1.647-1.646a.5.5 0 0 0 0-.708\"/>\r\n </symbol>\r\n <symbol id=\"bin-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M5.526 13.09c.976 0 1.524-.79 1.524-2.205 0-1.412-.548-2.203-1.524-2.203-.978 0-1.526.79-1.526 2.203 0 1.415.548 2.206 1.526 2.206zm-.832-2.205c0-1.05.29-1.612.832-1.612.358 0 .607.247.733.721L4.7 11.137a7 7 0 0 1-.006-.252m.832 1.614c-.36 0-.606-.246-.732-.718l1.556-1.145q.005.12.005.249c0 1.052-.29 1.614-.829 1.614m5.329.501v-.595H9.73V8.772h-.69l-1.19.786v.688L8.986 9.5h.05v2.906h-1.18V13h3z\"/>\r\n <path d=\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1\"/>\r\n </symbol>\r\n <symbol id=\"text-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M10.943 6H5.057L5 8h.5c.18-1.096.356-1.192 1.694-1.235l.293-.01v5.09c0 .47-.1.582-.898.655v.5H9.41v-.5c-.803-.073-.903-.184-.903-.654V6.755l.298.01c1.338.043 1.514.14 1.694 1.235h.5l-.057-2z\"/>\r\n <path d=\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z\"/>\r\n </symbol>\r\n <symbol id=\"empty-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z\"/>\r\n </symbol>\r\n <symbol id=\"blob-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M8.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0\"/>\r\n <path d=\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2M3 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v8l-2.083-2.083a.5.5 0 0 0-.76.063L8 11 5.835 9.7a.5.5 0 0 0-.611.076L3 12z\"/>\r\n </symbol>\r\n</svg>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{position:relative;padding:0;margin:0;overflow:hidden}#log-list-vieport{position:absolute;display:flex;flex-direction:row;gap:6px;padding:6px;inset:36px 0 33px}#icon-collection{visibility:hidden;width:0;height:0}.request-list-wrapper{height:100%;flex-grow:1;overflow:hidden auto;border:1px solid var(--border-color)}.reduced-request-list{min-width:250px}#selected-log-viewport{height:100%;width:80%}atx-console-footer{position:absolute;width:100%;bottom:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxRequestDetailsComponent, selector: "atx-monitoring-console-details", inputs: ["log"] }, { kind: "component", type: AtxConsoleFooterComponent, selector: "atx-console-footer" }, { kind: "component", type: AtxConsoleMenuComponent, selector: "atx-console-menu" }, { kind: "component", type: AtxRequestListRendererComponent, selector: "atx-request-list-renderer" }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
|
|
128
46
|
}
|
|
129
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxMonitoringConsoleComponent, decorators: [{
|
|
130
48
|
type: Component,
|
|
@@ -132,9 +50,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
132
50
|
AtxRequestDetailsComponent,
|
|
133
51
|
AtxConsoleFooterComponent,
|
|
134
52
|
AtxConsoleMenuComponent,
|
|
135
|
-
AtxIconRendererComponent
|
|
53
|
+
AtxIconRendererComponent,
|
|
54
|
+
AtxRequestListRendererComponent
|
|
136
55
|
], providers: [
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb25pdG9yaW5nLWNvbnNvbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC1tb25pdG9yaW5nLWNvbnNvbGUvY29tcG9uZW50L2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9odHRwLW1vbml0b3JpbmctY29uc29sZS9odHRwLW1vbml0b3JpbmctY29uc29sZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQW9ELFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsT0FB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QXVCO3dCQUN2Qix3QkFBd0I7cUJBQ3pCLGFBQ1U7d0JBQ1QsZUFBZTtxQkFDaEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBNb2NrTG9nZ2luZ1NlcnZpY2UsIExvZywgU3Vic2NyaXB0aW9uU2VydmljZSwgTG9nTGV2ZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbCc7XHJcbmltcG9ydCB7IFV1aWQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsJztcclxuaW1wb3J0IHsgSHR0cE1vbml0b3JpbmdDb25zb2xlTG9nQ29ubmVjdG9yIH0gZnJvbSAnLi4vLi4vY29ubmVjdG9yL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlLWxvZy1jb25uZWN0b3InO1xyXG5pbXBvcnQgeyBJZGVudGlmaWFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlJztcclxuaW1wb3J0IHsgQXR4UmVxdWVzdERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi9yZXF1ZXN0LWRldGFpbHMvcmVxdWVzdC1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpemVVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbC9zaXplLnV0aWwnO1xyXG5pbXBvcnQgeyBBdHhDb25zb2xlRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uc29sZS1mb290ZXIvY29uc29sZS1mb290ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXR4Q29uc29sZU1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9jb25zb2xlLW1lbnUvY29uc29sZS1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF0eENvbnNvbGVBY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbC9idXNpbmVzcy9hdHgtY29uc29sZS1hY3Rpb24nO1xyXG5pbXBvcnQgeyBBdHhDb25zb2xlQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL21vZGVsL2J1c2luZXNzL2F0eC1jb25zb2xlLWFjdGlvbi10eXBlJztcclxuaW1wb3J0IHsgVXJsVXRpbCB9IGZyb20gJy4uLy4uL3V0aWwvdXJsLnV0aWwnO1xyXG5pbXBvcnQgeyBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEF0eExvZ0lvU2VydmljZSB9IGZyb20gJy4uLy4uL21vZGVsL3NlcnZpY2UvYXR4LWxvZy1pby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVRYX0lTX0lNUE9SVEVEX0xPRyB9IGZyb20gJy4uLy4uL21vZGVsL2J1c2luZXNzL2F0eC1pcy1pbXBvcnRlZC1sb2cnO1xyXG5pbXBvcnQgeyBBdHhJY29uUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi9yZW5kZXJlci9pY29uLXJlbmRlcmVyL2ljb24tcmVuZGVyZXIuY29tcG9uZW50JztcclxuXHJcbmNvbnN0IFRQTF9EQVNIOiBzdHJpbmcgPSBcIi0tLVwiO1xyXG5jb25zdCBQUkVGRVRDSDogc3RyaW5nID0gXCJwcmVmZXRjaFwiO1xyXG5jb25zdCBNU19TVUZJWDogc3RyaW5nID0gXCIgbXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXR4LWh0dHAtbW9uaXRvcmluZy1jb25zb2xlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEF0eFJlcXVlc3REZXRhaWxzQ29tcG9uZW50LFxyXG4gICAgQXR4Q29uc29sZUZvb3RlckNvbXBvbmVudCxcclxuICAgIEF0eENvbnNvbGVNZW51Q29tcG9uZW50LFxyXG4gICAgQXR4SWNvblJlbmRlcmVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEF0eExvZ0lvU2VydmljZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaHR0cC1tb25pdG9yaW5nLWNvbnNvbGUuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdHhNb25pdG9yaW5nQ29uc29sZUNvbXBvbmVudCBleHRlbmRzIElkZW50aWZpYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHByb3RlY3RlZCBjb25uZWN0b3I6IEh0dHBNb25pdG9yaW5nQ29uc29sZUxvZ0Nvbm5lY3RvcjtcclxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRMb2c6IExvZyB8IG51bGwgPSBudWxsO1xyXG4gIHByb3RlY3RlZCBjdW11bGF0aXZlU2l6ZTogbnVtYmVyID0gMDtcclxuICBwcm90ZWN0ZWQgbG9nczogTG9nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGxvZ2dlcjogSHR0cE1vY2tMb2dnaW5nU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX3N1YnNjcmliZTogU3Vic2NyaXB0aW9uU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9pb1N2YzogQXR4TG9nSW9TZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgY29uc3QgY29ubmVjdG9yOiBIdHRwTW9uaXRvcmluZ0NvbnNvbGVMb2dDb25uZWN0b3IgPSBuZXcgSHR0cE1vbml0b3JpbmdDb25zb2xlTG9nQ29ubmVjdG9yKCk7XHJcbiAgICB0aGlzLmNvbm5lY3RvciA9IGNvbm5lY3RvcjtcclxuICAgIGxvZ2dlci5zZXRMb2dDb25uZWN0b3IoY29ubmVjdG9yKTtcclxuICAgIHRoaXMuX3N1YnNjcmliZS5yZWdpc3Rlcih0aGlzLCBjb25uZWN0b3IuY2hhbmdlLnN1YnNjcmliZSgobG9nOiBMb2cpPT4gdGhpcy5hZGRMb2cobG9nKSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vic2NyaWJlLmNsZWFyQWxsKHRoaXMpO1xyXG4gIH1cclxuICBcclxuICBwcm90ZWN0ZWQgbG9nU2VsZWN0KGxvZzogTG9nIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZExvZyA9IGxvZztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRSZXNvdXJjZU5hbWUobG9nOiBMb2cpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFVybFV0aWwuZ2V0UmVzb3VyY2VOYW1lKGxvZyk7XHJcbiAgfVxyXG4gIFxyXG4gIHByb3RlY3RlZCBnZXRSZXNvdXJjZVBhdGgobG9nOiBMb2cpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFVybFV0aWwuZ2V0UmVzb3VyY2VQYXRoKGxvZyk7XHJcbiAgfVxyXG4gIFxyXG4gIHByb3RlY3RlZCBnZXRTaXplKGxvZzogTG9nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8YW55PiB8IG51bGwgPSBsb2cubWV0YWRhdGEucmVzcG9uc2U7XHJcbiAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgY29uc3Qgc2l6ZTogbnVtYmVyID0gU2l6ZVV0aWwuZ2V0U2l6ZShyZXNwb25zZS5ib2R5KTtcclxuICAgICAgcmV0dXJuIFNpemVVdGlsLnNpemVUb1N0cmluZyhzaXplKTtcclxuICAgIH1cclxuICAgIHJldHVybiBUUExfREFTSDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRTdGF0dXMobG9nOiBMb2cpOiBzdHJpbmcgfCBudW1iZXIgeyBjb25zdCByZXNwb25zZTogSHR0cFJlc3BvbnNlPGFueT4gfCBudWxsID0gbG9nLm1ldGFkYXRhLnJlc3BvbnNlO1xyXG4gICAgaWYgKHJlc3BvbnNlKSByZXR1cm4gcmVzcG9uc2Uuc3RhdHVzO1xyXG4gICAgcmV0dXJuIFBSRUZFVENIO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldFRpbWUobG9nOiBMb2cpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IEh0dHBSZXNwb25zZTxhbnk+IHwgbnVsbCA9IGxvZy5tZXRhZGF0YS5yZXNwb25zZTtcclxuICAgIGlmIChyZXNwb25zZSkgcmV0dXJuIGxvZy5tZXRhZGF0YS5yZXF1ZXN0TWV0YWRhdGEuZHVyYXRpb24gKyBNU19TVUZJWDtcclxuICAgIHJldHVybiBUUExfREFTSDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBpc0Vycm9yKGxvZzogTG9nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogSHR0cFJlc3BvbnNlPGFueT4gfCBudWxsID0gbG9nLm1ldGFkYXRhLnJlc3BvbnNlO1xyXG4gICAgaWYgKHJlc3BvbnNlKSByZXR1cm4gcmVzcG9uc2Uuc3RhdHVzID49IDQwMDtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBpc0ltcG9ydGVkKGxvZzogTG9nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbG9nLm1ldGFkYXRhLnJlcXVlc3Q/LmNvbnRleHQuZ2V0KEFUWF9JU19JTVBPUlRFRF9MT0cpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNoZWNrRmlsdGVycyhsb2c6IExvZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdXNlckFjdGlvbihhY3Rpb246IEF0eENvbnNvbGVBY3Rpb24pOiB2b2lkIHtcclxuICAgIHN3aXRjaChhY3Rpb24udHlwZSkge1xyXG4gICAgICBjYXNlIEF0eENvbnNvbGVBY3Rpb25UeXBlLkNMRUFSX0xPR1MgOiB0aGlzLmNsZWFyTG9ncygpOyBicmVhaztcclxuICAgICAgY2FzZSBBdHhDb25zb2xlQWN0aW9uVHlwZS5FWFBPUlRfTE9HUzogdGhpcy5leHBvcnRMb2dzKCk7IGJyZWFrO1xyXG4gICAgICBjYXNlIEF0eENvbnNvbGVBY3Rpb25UeXBlLklNUE9SVF9MT0dTOiB0aGlzLmltcG9ydExvZ3MoKTsgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZExvZyhsb2c6IExvZyk6IHZvaWQge1xyXG4gICAgaWYgKGxvZy5sZXZlbCAhPT0gTG9nTGV2ZWwuQ09ORklHKSB7XHJcbiAgICAgIGNvbnN0IHNpemU6IG51bWJlciA9IFNpemVVdGlsLmdldFNpemUobG9nLm1ldGFkYXRhLnJlc3BvbnNlLmJvZHkpO1xyXG4gICAgICBjb25zdCBpZDogVXVpZCA9IGxvZy5tZXRhZGF0YS5yZXF1ZXN0TWV0YWRhdGEuaWQ7XHJcbiAgICAgIHRoaXMuY3VtdWxhdGl2ZVNpemUgKz0gc2l6ZTtcclxuICAgICAgY29uc3QgaWR4ID0gdGhpcy5sb2dzLmZpbmRJbmRleChwcmVmZXRjaCA9PiBwcmVmZXRjaC5tZXRhZGF0YS5yZXF1ZXN0TWV0YWRhdGEuaWQgPT09IGlkKTtcclxuICAgICAgaWR4ID4gLTEgPyB0aGlzLmxvZ3Muc3BsaWNlKGlkeCwgMSwgbG9nKSA6IHRoaXMubG9ncy5wdXNoKGxvZyk7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkTG9nPy5tZXRhZGF0YS5yZXF1ZXN0TWV0YWRhdGEuaWQgPT09IGlkKSB0aGlzLnNlbGVjdGVkTG9nID0gbG9nO1xyXG4gICAgfSBlbHNlIHRoaXMubG9ncy5wdXNoKGxvZyk7XHJcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBcclxuICBwcml2YXRlIGNsZWFyTG9ncygpOiB2b2lkIHtcclxuICAgIHRoaXMubG9nZ2VyLmNsZWFyTG9ncygpO1xyXG4gICAgdGhpcy5sb2dTZWxlY3QobnVsbCk7XHJcbiAgICB0aGlzLmN1bXVsYXRpdmVTaXplID0gdGhpcy5sb2dzLmxlbmd0aCA9IDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4cG9ydExvZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pb1N2Yy5leHBvcnRGaWxlKHRoaXMubG9ncyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGltcG9ydExvZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pb1N2Yy5pbXBvcnRGaWxlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS1cclxuICogTElDRU5TRVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxyXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4tLT5cclxuXHJcbjxhdHgtY29uc29sZS1tZW51IChhY3Rpb24pPVwidXNlckFjdGlvbigkZXZlbnQpXCIvPlxyXG5cclxuPGRpdiBpZD1cImxvZy1saXN0LXZpZXBvcnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyZXF1ZXN0LWxpc3Qtd3JhcHBlclwiIFtjbGFzcy5yZWR1Y2VkLXJlcXVlc3QtbGlzdF09XCJzZWxlY3RlZExvZ1wiPlxyXG4gICAgICAgIDx0YWJsZSBpZD1cInJlcXVlc3QtbGlzdFwiID5cclxuICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm5hbWUtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNlbGVjdGVkTG9nID0gbnVsbFwiIHRpdGxlPVwiRXhwYW5kXCIgY2xhc3M9XCJoZWFkZXItYnRuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzZWxlY3RlZExvZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk02IDhhLjUuNSAwIDAgMCAuNS41aDUuNzkzbC0yLjE0NyAyLjE0NmEuNS41IDAgMCAwIC43MDguNzA4bDMtM2EuNS41IDAgMCAwIDAtLjcwOGwtMy0zYS41LjUgMCAwIDAtLjcwOC43MDhMMTIuMjkzIDcuNUg2LjVBLjUuNSAwIDAgMCA2IDhtLTIuNSA3YS41LjUgMCAwIDEtLjUtLjV2LTEzYS41LjUgMCAwIDEgMSAwdjEzYS41LjUgMCAwIDEtLjUuNVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCFzZWxlY3RlZExvZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RhdHVzPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlNpemU8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+VGltZTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgQGZvciAobG9nIG9mIGxvZ3M7IHRyYWNrIGxvZy5tZXRhZGF0YS5yZXF1ZXN0TWV0YWRhdGEuaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGNoZWNrRmlsdGVycyhsb2cpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBbY2xhc3MuZXJyb3Itcm93XT1cImlzRXJyb3IobG9nKVwiIHJvbGU9XCJidXR0b25cIiAoY2xpY2spPVwibG9nU2VsZWN0KGxvZylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkLXJvd109XCJzZWxlY3RlZExvZyA9PT0gbG9nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgW3RpdGxlXT1cImdldFJlc291cmNlUGF0aChsb2cpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF0eC1pY29uLXJlbmRlcmVyIFtkYXRhXT1cImxvZ1wiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzb3VyY2UtY2VsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRSZXNvdXJjZU5hbWUobG9nKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldFJlc291cmNlUGF0aChsb2cpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghc2VsZWN0ZWRMb2cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgZ2V0U3RhdHVzKGxvZykgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBnZXRTaXplKGxvZykgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBnZXRUaW1lKGxvZykgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYgKHNlbGVjdGVkTG9nKSB7XHJcbiAgICAgICAgPGRpdiBpZD1cInNlbGVjdGVkLWxvZy12aWV3cG9ydFwiPlxyXG4gICAgICAgICAgICA8YXR4LW1vbml0b3JpbmctY29uc29sZS1kZXRhaWxzIFtsb2ddPVwic2VsZWN0ZWRMb2dcIiAoY2xvc2UpPVwibG9nU2VsZWN0KG51bGwpXCIvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG48L2Rpdj5cclxuXHJcbjxhdHgtY29uc29sZS1mb290ZXIgW2N1bXVsYXRpdmVTaXplXT1cImN1bXVsYXRpdmVTaXplXCIgW251bUxvZ3NdPVwibG9ncy5sZW5ndGhcIi8+XHJcblxyXG48c3ZnIGlkPVwiaWNvbi1jb2xsZWN0aW9uXCI+XHJcbiAgICA8c3ltYm9sIGlkPVwianNvbi1pY29uXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPlxyXG4gICAgICAgIDxwYXRoIGQ9XCJNMTQgNC41VjE0YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjJhMiAyIDAgMCAxIDItMmg1LjV6bS0zIDBBMS41IDEuNSAwIDAgMSA5LjUgM1YxSDRhMSAxIDAgMCAwLTEgMXYxMmExIDEgMCAwIDAgMSAxaDhhMSAxIDAgMCAwIDEtMVY0LjV6XCIvPlxyXG4gICAgICAgIDxwYXRoIGQ9XCJNOC42NDYgNi42NDZhLjUuNSAwIDAgMSAuNzA4IDBsMiAyYS41LjUgMCAwIDEgMCAuNzA4bC0yIDJhLjUuNSAwIDAgMS0uNzA4LS43MDhMMTAuMjkzIDkgOC42NDYgNy4zNTRhLjUuNSAwIDAgMSAwLS43MDhtLTEuMjkyIDBhLjUuNSAwIDAgMC0uNzA4IDBsLTIgMmEuNS41IDAgMCAwIDAgLjcwOGwyIDJhLjUuNSAwIDAgMCAuNzA4LS43MDhMNS43MDcgOWwxLjY0Ny0xLjY0NmEuNS41IDAgMCAwIDAtLjcwOFwiLz5cclxuICAgIDwvc3ltYm9sPlxyXG4gICAgPHN5bWJvbCBpZD1cImJpbi1pY29uXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj5cclxuICAgICAgICA8cGF0aCBkPVwiTTUuNTI2IDEzLjA5Yy45NzYgMCAxLjUyNC0uNzkgMS41MjQtMi4yMDUgMC0xLjQxMi0uNTQ4LTIuMjAzLTEuNTI0LTIuMjAzLS45NzggMC0xLjUyNi43OS0xLjUyNiAyLjIwMyAwIDEuNDE1LjU0OCAyLjIwNiAxLjUyNiAyLjIwNnptLS44MzItMi4yMDVjMC0xLjA1LjI5LTEuNjEyLjgzMi0xLjYxMi4zNTggMCAuNjA3LjI0Ny43MzMuNzIxTDQuNyAxMS4xMzdhNyA3IDAgMCAxLS4wMDYtLjI1Mm0uODMyIDEuNjE0Yy0uMzYgMC0uNjA2LS4yNDYtLjczMi0uNzE4bDEuNTU2LTEuMTQ1cS4wMDUuMTIuMDA1LjI0OWMwIDEuMDUyLS4yOSAxLjYxNC0uODI5IDEuNjE0bTUuMzI5LjUwMXYtLjU5NUg5LjczVjguNzcyaC0uNjlsLTEuMTkuNzg2di42ODhMOC45ODYgOS41aC4wNXYyLjkwNmgtMS4xOFYxM2gzelwiLz5cclxuICAgICAgICA8cGF0aCBkPVwiTTQgMGEyIDIgMCAwIDAtMiAydjEyYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjJhMiAyIDAgMCAwLTItMnptMCAxaDhhMSAxIDAgMCAxIDEgMXYxMmExIDEgMCAwIDEtMSAxSDRhMSAxIDAgMCAxLTEtMVYyYTEgMSAwIDAgMSAxLTFcIi8+XHJcbiAgICA8L3N5bWJvbD5cclxuICAgIDxzeW1ib2wgaWQ9XCJ0ZXh0LWljb25cIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPlxyXG4gICAgICAgIDxwYXRoIGQ9XCJNMTAuOTQzIDZINS4wNTdMNSA4aC41Yy4xOC0xLjA5Ni4zNTYtMS4xOTIgMS42OTQtMS4yMzVsLjI5My0uMDF2NS4wOWMwIC40Ny0uMS41ODItLjg5OC42NTV2LjVIOS40MXYtLjVjLS44MDMtLjA3My0uOTAzLS4xODQtLjkwMy0uNjU0VjYuNzU1bC4yOTguMDFjMS4zMzguMDQzIDEuNTE0LjE0IDEuNjk0IDEuMjM1aC41bC0uMDU3LTJ6XCIvPlxyXG4gICAgICAgIDxwYXRoIGQ9XCJNMTQgNC41VjE0YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjJhMiAyIDAgMCAxIDItMmg1LjV6bS0zIDBBMS41IDEuNSAwIDAgMSA5LjUgM1YxSDRhMSAxIDAgMCAwLTEgMXYxMmExIDEgMCAwIDAgMSAxaDhhMSAxIDAgMCAwIDEtMVY0LjV6XCIvPlxyXG4gICAgPC9zeW1ib2w+XHJcbiAgICA8c3ltYm9sIGlkPVwiZW1wdHktaWNvblwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+XHJcbiAgICAgICAgPHBhdGggZD1cIk0xNCA0LjVWMTRhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWMmEyIDIgMCAwIDEgMi0yaDUuNXptLTMgMEExLjUgMS41IDAgMCAxIDkuNSAzVjFINGExIDEgMCAwIDAtMSAxdjEyYTEgMSAwIDAgMCAxIDFoOGExIDEgMCAwIDAgMS0xVjQuNXpcIi8+XHJcbiAgICA8L3N5bWJvbD5cclxuICAgIDxzeW1ib2wgaWQ9XCJibG9iLWljb25cIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPlxyXG4gICAgICAgIDxwYXRoIGQ9XCJNOC4wMDIgNS41YTEuNSAxLjUgMCAxIDEtMyAwIDEuNSAxLjUgMCAwIDEgMyAwXCIvPlxyXG4gICAgICAgIDxwYXRoIGQ9XCJNMTIgMEg0YTIgMiAwIDAgMC0yIDJ2MTJhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWMmEyIDIgMCAwIDAtMi0yTTMgMmExIDEgMCAwIDEgMS0xaDhhMSAxIDAgMCAxIDEgMXY4bC0yLjA4My0yLjA4M2EuNS41IDAgMCAwLS43Ni4wNjNMOCAxMSA1LjgzNSA5LjdhLjUuNSAwIDAgMC0uNjExLjA3NkwzIDEyelwiLz5cclxuICAgIDwvc3ltYm9sPlxyXG48L3N2Zz4iXX0=
|
|
56
|
+
AtxMonitoringConsoleState,
|
|
57
|
+
AtxLogIoService,
|
|
58
|
+
AtxMonitoringConsoleController,
|
|
59
|
+
AtxUserActionService
|
|
60
|
+
], encapsulation: ViewEncapsulation.ShadowDom, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<atx-console-menu/>\r\n<div id=\"log-list-vieport\">\r\n <div class=\"request-list-wrapper\" [class.reduced-request-list]=\"state.selectedLog\">\r\n <atx-request-list-renderer />\r\n </div>\r\n @if (state.selectedLog) {\r\n <div id=\"selected-log-viewport\">\r\n <atx-monitoring-console-details [log]=\"state.selectedLog\"/>\r\n </div>\r\n }\r\n</div>\r\n<atx-console-footer/>\r\n\r\n<svg id=\"icon-collection\">\r\n <symbol id=\"json-icon\" viewBox=\"0 0 16 16\">\r\n <path d=\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z\"/>\r\n <path d=\"M8.646 6.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 9 8.646 7.354a.5.5 0 0 1 0-.708m-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 9l1.647-1.646a.5.5 0 0 0 0-.708\"/>\r\n </symbol>\r\n <symbol id=\"bin-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M5.526 13.09c.976 0 1.524-.79 1.524-2.205 0-1.412-.548-2.203-1.524-2.203-.978 0-1.526.79-1.526 2.203 0 1.415.548 2.206 1.526 2.206zm-.832-2.205c0-1.05.29-1.612.832-1.612.358 0 .607.247.733.721L4.7 11.137a7 7 0 0 1-.006-.252m.832 1.614c-.36 0-.606-.246-.732-.718l1.556-1.145q.005.12.005.249c0 1.052-.29 1.614-.829 1.614m5.329.501v-.595H9.73V8.772h-.69l-1.19.786v.688L8.986 9.5h.05v2.906h-1.18V13h3z\"/>\r\n <path d=\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1\"/>\r\n </symbol>\r\n <symbol id=\"text-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M10.943 6H5.057L5 8h.5c.18-1.096.356-1.192 1.694-1.235l.293-.01v5.09c0 .47-.1.582-.898.655v.5H9.41v-.5c-.803-.073-.903-.184-.903-.654V6.755l.298.01c1.338.043 1.514.14 1.694 1.235h.5l-.057-2z\"/>\r\n <path d=\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z\"/>\r\n </symbol>\r\n <symbol id=\"empty-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z\"/>\r\n </symbol>\r\n <symbol id=\"blob-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M8.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0\"/>\r\n <path d=\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2M3 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v8l-2.083-2.083a.5.5 0 0 0-.76.063L8 11 5.835 9.7a.5.5 0 0 0-.611.076L3 12z\"/>\r\n </symbol>\r\n</svg>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{position:relative;padding:0;margin:0;overflow:hidden}#log-list-vieport{position:absolute;display:flex;flex-direction:row;gap:6px;padding:6px;inset:36px 0 33px}#icon-collection{visibility:hidden;width:0;height:0}.request-list-wrapper{height:100%;flex-grow:1;overflow:hidden auto;border:1px solid var(--border-color)}.reduced-request-list{min-width:250px}#selected-log-viewport{height:100%;width:80%}atx-console-footer{position:absolute;width:100%;bottom:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
|
|
61
|
+
}], ctorParameters: () => [{ type: i1.AtxMonitoringConsoleState }, { type: i2.AtxMonitoringConsoleController }, { type: i3.AtxLogIoService }, { type: i4.AtxUserActionService }] });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb25pdG9yaW5nLWNvbnNvbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC1tb25pdG9yaW5nLWNvbnNvbGUvY29tcG9uZW50L2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9odHRwLW1vbml0b3JpbmctY29uc29sZS9odHRwLW1vbml0b3JpbmctY29uc29sZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ3BILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBRW5GOzs7R0FHRztBQXNCSCxNQUFNLE9BQU8sNkJBQTZCO0lBRXhDOztPQUVHO0lBQ0gsWUFBc0IsS0FBZ0M7SUFDMUMsK0JBQStCO0lBQ3ZCLEtBQXFDLEVBQ3JDLEdBQW9CLEVBQ3BCLE1BQTRCO1FBSjFCLFVBQUssR0FBTCxLQUFLLENBQTJCO1FBRWxDLFVBQUssR0FBTCxLQUFLLENBQWdDO1FBQ3JDLFFBQUcsR0FBSCxHQUFHLENBQWlCO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQXNCO0lBQUcsQ0FBQzs4R0FUekMsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsMEVBVDdCO1lBQ1QseUJBQXlCO1lBQ3pCLGVBQWU7WUFDZiw4QkFBOEI7WUFDOUIsb0JBQW9CO1NBQ3JCLDBCQ3hDSCw4OEZBeUNNLHMvRERkRiwwQkFBMEIsNEZBQzFCLHlCQUF5QiwrREFDekIsdUJBQXVCLDZEQUV2QiwrQkFBK0I7OzJGQWF0Qiw2QkFBNkI7a0JBckJ6QyxTQUFTOytCQUNFLDZCQUE2QixjQUMzQixJQUFJLFdBQ1A7d0JBQ1AsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QiwrQkFBK0I7cUJBQ2hDLGFBR1U7d0JBQ1QseUJBQXlCO3dCQUN6QixlQUFlO3dCQUNmLDhCQUE4Qjt3QkFDOUIsb0JBQW9CO3FCQUNyQixpQkFDYyxpQkFBaUIsQ0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdHhSZXF1ZXN0RGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL3JlcXVlc3QtZGV0YWlscy9yZXF1ZXN0LWRldGFpbHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXR4Q29uc29sZUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbnNvbGUtZm9vdGVyL2NvbnNvbGUtZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF0eENvbnNvbGVNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vY29uc29sZS1tZW51L2NvbnNvbGUtbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHhJY29uUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi9yZW5kZXJlci9pY29uLXJlbmRlcmVyL2ljb24tcmVuZGVyZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXR4UmVxdWVzdExpc3RSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uL3JlbmRlcmVyL3JlcXVlc3QtbGlzdC1yZW5kZXJlci9yZXF1ZXN0LWxpc3QtcmVuZGVyZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXR4TW9uaXRvcmluZ0NvbnNvbGVTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVsL3NlcnZpY2UvYXR4LW1vbml0b3JpbmctY29uc29sZS5zdGF0ZSc7XHJcbmltcG9ydCB7IEF0eExvZ0lvU2VydmljZSB9IGZyb20gJy4uLy4uL21vZGVsL3NlcnZpY2UvYXR4LWxvZy1pby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXR4TW9uaXRvcmluZ0NvbnNvbGVDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VydmljZS9hdHgtbW9uaXRvcmluZy1jb25zb2xlLmNvbnRyb2xsZXInO1xyXG5pbXBvcnQgeyBBdHhVc2VyQWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL21vZGVsL3NlcnZpY2UvYXR4LXVzZXItYWN0aW9uLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFRoZSBtYWluIGNvbXBvbmVudCB1c2VkIHRvIGxheW91dCB0aGUgQVRYIG1vbml0b3JpbmcgY29uc29sZS5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXR4LWh0dHAtbW9uaXRvcmluZy1jb25zb2xlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEF0eFJlcXVlc3REZXRhaWxzQ29tcG9uZW50LFxyXG4gICAgQXR4Q29uc29sZUZvb3RlckNvbXBvbmVudCxcclxuICAgIEF0eENvbnNvbGVNZW51Q29tcG9uZW50LFxyXG4gICAgQXR4SWNvblJlbmRlcmVyQ29tcG9uZW50LFxyXG4gICAgQXR4UmVxdWVzdExpc3RSZW5kZXJlckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaHR0cC1tb25pdG9yaW5nLWNvbnNvbGUuY29tcG9uZW50LnNjc3MnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQXR4TW9uaXRvcmluZ0NvbnNvbGVTdGF0ZSxcclxuICAgIEF0eExvZ0lvU2VydmljZSxcclxuICAgIEF0eE1vbml0b3JpbmdDb25zb2xlQ29udHJvbGxlcixcclxuICAgIEF0eFVzZXJBY3Rpb25TZXJ2aWNlXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb21cclxuICBcclxufSlcclxuZXhwb3J0IGNsYXNzIEF0eE1vbml0b3JpbmdDb25zb2xlQ29tcG9uZW50IHtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc3RhdGU6IEF0eE1vbml0b3JpbmdDb25zb2xlU3RhdGUsXHJcbiAgICAgICAgICAgICAgLy8tLT4gQ29ucG9uZW50IHNjb3BlIHNlcnZpY2VzOlxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX2N0cmw6IEF0eE1vbml0b3JpbmdDb25zb2xlQ29udHJvbGxlcixcclxuICAgICAgICAgICAgICBwcml2YXRlIF9pbzogQXR4TG9nSW9TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX2lucHV0OiBBdHhVc2VyQWN0aW9uU2VydmljZSkge31cclxufVxyXG4iLCI8IS0tXHJcbiAqIExJQ0VOU0VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcclxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuLS0+XHJcblxyXG48YXR4LWNvbnNvbGUtbWVudS8+XHJcbjxkaXYgaWQ9XCJsb2ctbGlzdC12aWVwb3J0XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1saXN0LXdyYXBwZXJcIiBbY2xhc3MucmVkdWNlZC1yZXF1ZXN0LWxpc3RdPVwic3RhdGUuc2VsZWN0ZWRMb2dcIj5cclxuICAgICAgICA8YXR4LXJlcXVlc3QtbGlzdC1yZW5kZXJlciAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYgKHN0YXRlLnNlbGVjdGVkTG9nKSB7XHJcbiAgICAgICAgPGRpdiBpZD1cInNlbGVjdGVkLWxvZy12aWV3cG9ydFwiPlxyXG4gICAgICAgICAgICA8YXR4LW1vbml0b3JpbmctY29uc29sZS1kZXRhaWxzIFtsb2ddPVwic3RhdGUuc2VsZWN0ZWRMb2dcIi8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbjwvZGl2PlxyXG48YXR4LWNvbnNvbGUtZm9vdGVyLz5cclxuXHJcbjxzdmcgaWQ9XCJpY29uLWNvbGxlY3Rpb25cIj5cclxuICAgIDxzeW1ib2wgaWQ9XCJqc29uLWljb25cIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+XHJcbiAgICAgICAgPHBhdGggZD1cIk0xNCA0LjVWMTRhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWMmEyIDIgMCAwIDEgMi0yaDUuNXptLTMgMEExLjUgMS41IDAgMCAxIDkuNSAzVjFINGExIDEgMCAwIDAtMSAxdjEyYTEgMSAwIDAgMCAxIDFoOGExIDEgMCAwIDAgMS0xVjQuNXpcIi8+XHJcbiAgICAgICAgPHBhdGggZD1cIk04LjY0NiA2LjY0NmEuNS41IDAgMCAxIC43MDggMGwyIDJhLjUuNSAwIDAgMSAwIC43MDhsLTIgMmEuNS41IDAgMCAxLS43MDgtLjcwOEwxMC4yOTMgOSA4LjY0NiA3LjM1NGEuNS41IDAgMCAxIDAtLjcwOG0tMS4yOTIgMGEuNS41IDAgMCAwLS43MDggMGwtMiAyYS41LjUgMCAwIDAgMCAuNzA4bDIgMmEuNS41IDAgMCAwIC43MDgtLjcwOEw1LjcwNyA5bDEuNjQ3LTEuNjQ2YS41LjUgMCAwIDAgMC0uNzA4XCIvPlxyXG4gICAgPC9zeW1ib2w+XHJcbiAgICA8c3ltYm9sIGlkPVwiYmluLWljb25cIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPlxyXG4gICAgICAgIDxwYXRoIGQ9XCJNNS41MjYgMTMuMDljLjk3NiAwIDEuNTI0LS43OSAxLjUyNC0yLjIwNSAwLTEuNDEyLS41NDgtMi4yMDMtMS41MjQtMi4yMDMtLjk3OCAwLTEuNTI2Ljc5LTEuNTI2IDIuMjAzIDAgMS40MTUuNTQ4IDIuMjA2IDEuNTI2IDIuMjA2em0tLjgzMi0yLjIwNWMwLTEuMDUuMjktMS42MTIuODMyLTEuNjEyLjM1OCAwIC42MDcuMjQ3LjczMy43MjFMNC43IDExLjEzN2E3IDcgMCAwIDEtLjAwNi0uMjUybS44MzIgMS42MTRjLS4zNiAwLS42MDYtLjI0Ni0uNzMyLS43MThsMS41NTYtMS4xNDVxLjAwNS4xMi4wMDUuMjQ5YzAgMS4wNTItLjI5IDEuNjE0LS44MjkgMS42MTRtNS4zMjkuNTAxdi0uNTk1SDkuNzNWOC43NzJoLS42OWwtMS4xOS43ODZ2LjY4OEw4Ljk4NiA5LjVoLjA1djIuOTA2aC0xLjE4VjEzaDN6XCIvPlxyXG4gICAgICAgIDxwYXRoIGQ9XCJNNCAwYTIgMiAwIDAgMC0yIDJ2MTJhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWMmEyIDIgMCAwIDAtMi0yem0wIDFoOGExIDEgMCAwIDEgMSAxdjEyYTEgMSAwIDAgMS0xIDFINGExIDEgMCAwIDEtMS0xVjJhMSAxIDAgMCAxIDEtMVwiLz5cclxuICAgIDwvc3ltYm9sPlxyXG4gICAgPHN5bWJvbCBpZD1cInRleHQtaWNvblwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+XHJcbiAgICAgICAgPHBhdGggZD1cIk0xMC45NDMgNkg1LjA1N0w1IDhoLjVjLjE4LTEuMDk2LjM1Ni0xLjE5MiAxLjY5NC0xLjIzNWwuMjkzLS4wMXY1LjA5YzAgLjQ3LS4xLjU4Mi0uODk4LjY1NXYuNUg5LjQxdi0uNWMtLjgwMy0uMDczLS45MDMtLjE4NC0uOTAzLS42NTRWNi43NTVsLjI5OC4wMWMxLjMzOC4wNDMgMS41MTQuMTQgMS42OTQgMS4yMzVoLjVsLS4wNTctMnpcIi8+XHJcbiAgICAgICAgPHBhdGggZD1cIk0xNCA0LjVWMTRhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWMmEyIDIgMCAwIDEgMi0yaDUuNXptLTMgMEExLjUgMS41IDAgMCAxIDkuNSAzVjFINGExIDEgMCAwIDAtMSAxdjEyYTEgMSAwIDAgMCAxIDFoOGExIDEgMCAwIDAgMS0xVjQuNXpcIi8+XHJcbiAgICA8L3N5bWJvbD5cclxuICAgIDxzeW1ib2wgaWQ9XCJlbXB0eS1pY29uXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj5cclxuICAgICAgICA8cGF0aCBkPVwiTTE0IDQuNVYxNGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlYyYTIgMiAwIDAgMSAyLTJoNS41em0tMyAwQTEuNSAxLjUgMCAwIDEgOS41IDNWMUg0YTEgMSAwIDAgMC0xIDF2MTJhMSAxIDAgMCAwIDEgMWg4YTEgMSAwIDAgMCAxLTFWNC41elwiLz5cclxuICAgIDwvc3ltYm9sPlxyXG4gICAgPHN5bWJvbCBpZD1cImJsb2ItaWNvblwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+XHJcbiAgICAgICAgPHBhdGggZD1cIk04LjAwMiA1LjVhMS41IDEuNSAwIDEgMS0zIDAgMS41IDEuNSAwIDAgMSAzIDBcIi8+XHJcbiAgICAgICAgPHBhdGggZD1cIk0xMiAwSDRhMiAyIDAgMCAwLTIgMnYxMmEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlYyYTIgMiAwIDAgMC0yLTJNMyAyYTEgMSAwIDAgMSAxLTFoOGExIDEgMCAwIDEgMSAxdjhsLTIuMDgzLTIuMDgzYS41LjUgMCAwIDAtLjc2LjA2M0w4IDExIDUuODM1IDkuN2EuNS41IDAgMCAwLS42MTEuMDc2TDMgMTJ6XCIvPlxyXG4gICAgPC9zeW1ib2w+XHJcbjwvc3ZnPiJdfQ==
|
|
@@ -5,33 +5,58 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
6
|
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
7
|
*/
|
|
8
|
-
import { Component, Input } from '@angular/core';
|
|
8
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
9
9
|
import { ATX_IS_IMPORTED_LOG } from '../../../model/business/atx-is-imported-log';
|
|
10
10
|
import { ConsoleBodyType } from '../../../util/console-body-type';
|
|
11
11
|
import { DataUtil } from '../../../util/data.util';
|
|
12
|
+
import { AtxSpinnerComponent } from '../spinner/spinner.component';
|
|
13
|
+
import { AtxLogRendererBase } from '../../abstract/log-renderer-base';
|
|
12
14
|
import * as i0 from "@angular/core";
|
|
13
|
-
|
|
15
|
+
/**
|
|
16
|
+
* @private
|
|
17
|
+
* The component responsible for managing icons the ATX monitoring console.
|
|
18
|
+
*/
|
|
19
|
+
export class AtxIconRendererComponent extends AtxLogRendererBase {
|
|
14
20
|
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
/**
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
15
25
|
this.bodyType = ConsoleBodyType.INVALID;
|
|
26
|
+
/**
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
16
29
|
this.hasReponse = false;
|
|
30
|
+
/**
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
17
33
|
this.isImported = false;
|
|
18
34
|
}
|
|
19
|
-
|
|
20
|
-
|
|
35
|
+
/**
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
set log(value) {
|
|
39
|
+
super.log = value;
|
|
40
|
+
if (!value) {
|
|
41
|
+
this.hasReponse = this.isImported = false;
|
|
42
|
+
this.bodyType = ConsoleBodyType.INVALID;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const response = value.metadata.response;
|
|
21
46
|
const complete = response !== null && response !== undefined;
|
|
22
47
|
this.hasReponse = complete;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.log = log;
|
|
26
|
-
this.isImported = log.metadata.request?.context.get(ATX_IS_IMPORTED_LOG);
|
|
48
|
+
this.bodyType = complete ? DataUtil.getBodyType(response.body) : ConsoleBodyType.INVALID;
|
|
49
|
+
this.isImported = value.metadata.request?.context.get(ATX_IS_IMPORTED_LOG);
|
|
27
50
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxIconRendererComponent, deps:
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxIconRendererComponent, isStandalone: true, selector: "atx-icon-renderer", inputs: {
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxIconRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxIconRendererComponent, isStandalone: true, selector: "atx-icon-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (hasReponse) {\r\n <svg width=\"24\" height=\"24\" fill=\"currentColor\">\r\n @if (bodyType == 0) {\r\n <use href=\"#empty-icon\"/>\r\n } @else if (bodyType == 1) {\r\n <use href=\"#json-icon\"/>\r\n } @else if (bodyType == 2) {\r\n <use href=\"#text-icon\"/>\r\n } @else if (bodyType == 3) {\r\n <use href=\"#blob-icon\"/>\r\n } @else if (bodyType == 5) {\r\n <use href=\"#bin-icon\"/>\r\n }\r\n </svg>\r\n @if (isImported) {\r\n <svg width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path fill-rule=\"evenodd\" d=\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z\"/>\r\n </svg>\r\n }\r\n} @else if (currLog) {\r\n <atx-spinner />\r\n}\r\n", styles: [":host{display:flex;padding:0;margin:3px 0 0;min-width:24px}.spinner{margin-left:auto;width:20px;height:20px}.spinner svg{animation:spinnerRotation 1.5s linear infinite}@keyframes spinnerRotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxSpinnerComponent, selector: "atx-spinner" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
53
|
}
|
|
31
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxIconRendererComponent, decorators: [{
|
|
32
55
|
type: Component,
|
|
33
|
-
args: [{ selector: 'atx-icon-renderer', standalone: true,
|
|
34
|
-
|
|
56
|
+
args: [{ selector: 'atx-icon-renderer', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
57
|
+
AtxSpinnerComponent
|
|
58
|
+
], template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (hasReponse) {\r\n <svg width=\"24\" height=\"24\" fill=\"currentColor\">\r\n @if (bodyType == 0) {\r\n <use href=\"#empty-icon\"/>\r\n } @else if (bodyType == 1) {\r\n <use href=\"#json-icon\"/>\r\n } @else if (bodyType == 2) {\r\n <use href=\"#text-icon\"/>\r\n } @else if (bodyType == 3) {\r\n <use href=\"#blob-icon\"/>\r\n } @else if (bodyType == 5) {\r\n <use href=\"#bin-icon\"/>\r\n }\r\n </svg>\r\n @if (isImported) {\r\n <svg width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path fill-rule=\"evenodd\" d=\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z\"/>\r\n </svg>\r\n }\r\n} @else if (currLog) {\r\n <atx-spinner />\r\n}\r\n", styles: [":host{display:flex;padding:0;margin:3px 0 0;min-width:24px}.spinner{margin-left:auto;width:20px;height:20px}.spinner svg{animation:spinnerRotation 1.5s linear infinite}@keyframes spinnerRotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
|
|
59
|
+
}], propDecorators: { log: [{
|
|
35
60
|
type: Input
|
|
36
61
|
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwLW1vbml0b3JpbmctY29uc29sZS9jb21wb25lbnQvcmVuZGVyZXIvaWNvbi1yZW5kZXJlci9pY29uLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9yZW5kZXJlci9pY29uLXJlbmRlcmVyL2ljb24tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFFdEU7OztHQUdHO0FBV0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQVZoRTs7UUFZRTs7V0FFRztRQUNPLGFBQVEsR0FBb0IsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUU5RDs7V0FFRztRQUNPLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFdEM7O1dBRUc7UUFDTyxlQUFVLEdBQVksS0FBSyxDQUFDO0tBbUJ2QztJQWpCQzs7T0FFRztJQUNILElBQ29CLEdBQUcsQ0FBQyxLQUFpQjtRQUN2QyxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUN4QyxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFzQixLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUM1RCxNQUFNLFFBQVEsR0FBWSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsS0FBSyxTQUFTLENBQUM7UUFDdEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzdFLENBQUM7OEdBakNVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDRIQy9CckMsdzRDQStCQSw0aUJESEksbUJBQW1COzsyRkFHVix3QkFBd0I7a0JBVnBDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxtQkFBbUI7cUJBQ3BCOzhCQXVCbUIsR0FBRztzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL21vZGVsJztcclxuaW1wb3J0IHsgQVRYX0lTX0lNUE9SVEVEX0xPRyB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2J1c2luZXNzL2F0eC1pcy1pbXBvcnRlZC1sb2cnO1xyXG5pbXBvcnQgeyBDb25zb2xlQm9keVR5cGUgfSBmcm9tICcuLi8uLi8uLi91dGlsL2NvbnNvbGUtYm9keS10eXBlJztcclxuaW1wb3J0IHsgRGF0YVV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlsL2RhdGEudXRpbCc7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQXR4U3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHhMb2dSZW5kZXJlckJhc2UgfSBmcm9tICcuLi8uLi9hYnN0cmFjdC9sb2ctcmVuZGVyZXItYmFzZSc7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgaWNvbnMgdGhlIEFUWCBtb25pdG9yaW5nIGNvbnNvbGUuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F0eC1pY29uLXJlbmRlcmVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaWNvbi1yZW5kZXJlci5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQXR4U3Bpbm5lckNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEF0eEljb25SZW5kZXJlckNvbXBvbmVudCBleHRlbmRzIEF0eExvZ1JlbmRlcmVyQmFzZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGJvZHlUeXBlOiBDb25zb2xlQm9keVR5cGUgPSBDb25zb2xlQm9keVR5cGUuSU5WQUxJRDtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgaGFzUmVwb25zZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGlzSW1wb3J0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgbG9nKHZhbHVlOiBMb2cgfCBudWxsKSB7XHJcbiAgICBzdXBlci5sb2cgPSB2YWx1ZTtcclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgdGhpcy5oYXNSZXBvbnNlID0gdGhpcy5pc0ltcG9ydGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuYm9keVR5cGUgPSBDb25zb2xlQm9keVR5cGUuSU5WQUxJRDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVzcG9uc2U6IEh0dHBSZXNwb25zZTxhbnk+ID0gdmFsdWUubWV0YWRhdGEucmVzcG9uc2U7XHJcbiAgICBjb25zdCBjb21wbGV0ZTogYm9vbGVhbiA9IHJlc3BvbnNlICE9PSBudWxsICYmIHJlc3BvbnNlICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmhhc1JlcG9uc2UgPSBjb21wbGV0ZTtcclxuICAgIHRoaXMuYm9keVR5cGUgPSBjb21wbGV0ZSA/IERhdGFVdGlsLmdldEJvZHlUeXBlKHJlc3BvbnNlLmJvZHkpIDogQ29uc29sZUJvZHlUeXBlLklOVkFMSUQ7XHJcbiAgICB0aGlzLmlzSW1wb3J0ZWQgPSB2YWx1ZS5tZXRhZGF0YS5yZXF1ZXN0Py5jb250ZXh0LmdldChBVFhfSVNfSU1QT1JURURfTE9HKTtcclxuICB9XHJcbn1cclxuIiwiPCEtLVxyXG4gKiBMSUNFTlNFXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXHJcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbi0tPlxyXG5cclxuQGlmIChoYXNSZXBvbnNlKSB7XHJcbiAgICA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj5cclxuICAgICAgICBAaWYgKGJvZHlUeXBlID09IDApIHtcclxuICAgICAgICAgICAgPHVzZSBocmVmPVwiI2VtcHR5LWljb25cIi8+XHJcbiAgICAgICAgfSBAZWxzZSBpZiAoYm9keVR5cGUgPT0gMSkge1xyXG4gICAgICAgICAgICA8dXNlIGhyZWY9XCIjanNvbi1pY29uXCIvPlxyXG4gICAgICAgIH0gQGVsc2UgaWYgKGJvZHlUeXBlID09IDIpIHtcclxuICAgICAgICAgICAgPHVzZSBocmVmPVwiI3RleHQtaWNvblwiLz5cclxuICAgICAgICB9IEBlbHNlIGlmIChib2R5VHlwZSA9PSAzKSB7XHJcbiAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNibG9iLWljb25cIi8+XHJcbiAgICAgICAgfSBAZWxzZSBpZiAoYm9keVR5cGUgPT0gNSkge1xyXG4gICAgICAgICAgICA8dXNlIGhyZWY9XCIjYmluLWljb25cIi8+XHJcbiAgICAgICAgfVxyXG4gICAgPC9zdmc+XHJcbiAgICBAaWYgKGlzSW1wb3J0ZWQpIHtcclxuICAgICAgICA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTMuNSA2YS41LjUgMCAwIDAtLjUuNXY4YS41LjUgMCAwIDAgLjUuNWg5YS41LjUgMCAwIDAgLjUtLjV2LThhLjUuNSAwIDAgMC0uNS0uNWgtMmEuNS41IDAgMCAxIDAtMWgyQTEuNSAxLjUgMCAwIDEgMTQgNi41djhhMS41IDEuNSAwIDAgMS0xLjUgMS41aC05QTEuNSAxLjUgMCAwIDEgMiAxNC41di04QTEuNSAxLjUgMCAwIDEgMy41IDVoMmEuNS41IDAgMCAxIDAgMXpcIi8+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTcuNjQ2IDExLjg1NGEuNS41IDAgMCAwIC43MDggMGwzLTNhLjUuNSAwIDAgMC0uNzA4LS43MDhMOC41IDEwLjI5M1YxLjVhLjUuNSAwIDAgMC0xIDB2OC43OTNMNS4zNTQgOC4xNDZhLjUuNSAwIDEgMC0uNzA4LjcwOHpcIi8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICB9XHJcbn0gQGVsc2UgaWYgKGN1cnJMb2cpIHtcclxuICAgIDxhdHgtc3Bpbm5lciAvPlxyXG59XHJcbiJdfQ==
|
|
@@ -5,14 +5,25 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
6
|
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
7
|
*/
|
|
8
|
-
import { Component, Input } from '@angular/core';
|
|
8
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
9
9
|
import { AtxJsonViewerPanelComponent } from '../json-viewer-panel/json-viewer-panel.component';
|
|
10
10
|
import { DataUtil } from '../../../util/data.util';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
|
+
/**
|
|
13
|
+
* @private
|
|
14
|
+
* The component that renders JSON data in the ATX monitoring console.
|
|
15
|
+
*/
|
|
12
16
|
export class AtxJsonViewerComponent {
|
|
13
17
|
constructor() {
|
|
18
|
+
/**
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
14
21
|
this.parsedData = null;
|
|
15
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* @private
|
|
25
|
+
* Sets the data to be rendererd whithin this component.
|
|
26
|
+
*/
|
|
16
27
|
set data(value) {
|
|
17
28
|
if (!value) {
|
|
18
29
|
this.parsedData = null;
|
|
@@ -21,14 +32,14 @@ export class AtxJsonViewerComponent {
|
|
|
21
32
|
this.parsedData = DataUtil.parseJson(value);
|
|
22
33
|
}
|
|
23
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxJsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AtxJsonViewerComponent, isStandalone: true, selector: "atx-json-viewer", inputs: { data: "data" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<atx-json-viewer-panel [data]=\"parsedData\"/>", styles: ["/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerPanelComponent, selector: "atx-json-viewer-panel", inputs: ["data"] }] }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AtxJsonViewerComponent, isStandalone: true, selector: "atx-json-viewer", inputs: { data: "data" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<atx-json-viewer-panel [data]=\"parsedData\"/>", styles: ["/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerPanelComponent, selector: "atx-json-viewer-panel", inputs: ["data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
36
|
}
|
|
26
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxJsonViewerComponent, decorators: [{
|
|
27
38
|
type: Component,
|
|
28
39
|
args: [{ selector: 'atx-json-viewer', standalone: true, imports: [
|
|
29
40
|
AtxJsonViewerPanelComponent
|
|
30
|
-
], template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<atx-json-viewer-panel [data]=\"parsedData\"/>", styles: ["/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
|
|
41
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<atx-json-viewer-panel [data]=\"parsedData\"/>", styles: ["/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
|
|
31
42
|
}], propDecorators: { data: [{
|
|
32
43
|
type: Input
|
|
33
44
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC1tb25pdG9yaW5nLWNvbnNvbGUvY29tcG9uZW50L3JlbmRlcmVyL2pzb24tdmlld2VyL2pzb24tdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9yZW5kZXJlci9qc29uLXZpZXdlci9qc29uLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUUvRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRW5EOzs7R0FHRztBQVdILE1BQU0sT0FBTyxzQkFBc0I7SUFWbkM7UUFZRTs7V0FFRztRQUNPLGVBQVUsR0FBMEIsSUFBSSxDQUFDO0tBY3BEO0lBWkM7OztPQUdHO0lBQ0gsSUFDVyxJQUFJLENBQUMsS0FBVTtRQUN4QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQWxCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixxR0MzQm5DLDJUQVE0QyxtVERheEMsMkJBQTJCOzsyRkFNbEIsc0JBQXNCO2tCQVZsQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUDt3QkFDUCwyQkFBMkI7cUJBQzVCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQWNwQyxJQUFJO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdHhKc29uVmlld2VyUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9qc29uLXZpZXdlci1wYW5lbC9qc29uLXZpZXdlci1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHhDb25zb2xlSnNvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2J1c2luZXNzL2F0eC1jb25zb2xlLWpzb24nO1xyXG5pbXBvcnQgeyBEYXRhVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvZGF0YS51dGlsJztcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVuZGVycyBKU09OIGRhdGEgaW4gdGhlIEFUWCBtb25pdG9yaW5nIGNvbnNvbGUuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F0eC1qc29uLXZpZXdlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBBdHhKc29uVmlld2VyUGFuZWxDb21wb25lbnRcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9qc29uLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2pzb24tdmlld2VyLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR4SnNvblZpZXdlckNvbXBvbmVudCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHBhcnNlZERhdGE6IEF0eENvbnNvbGVKc29uIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogU2V0cyB0aGUgZGF0YSB0byBiZSByZW5kZXJlcmQgd2hpdGhpbiB0aGlzIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHRoaXMucGFyc2VkRGF0YSA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMucGFyc2VkRGF0YSA9IERhdGFVdGlsLnBhcnNlSnNvbih2YWx1ZSk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS1cclxuICogTElDRU5TRVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxyXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4tLT5cclxuXHJcbjxhdHgtanNvbi12aWV3ZXItcGFuZWwgW2RhdGFdPVwicGFyc2VkRGF0YVwiLz4iXX0=
|
|
@@ -5,23 +5,31 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
6
|
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
7
|
*/
|
|
8
|
-
import { Component, Input } from '@angular/core';
|
|
8
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
9
9
|
import { CommonModule } from '@angular/common';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "@angular/common";
|
|
12
|
+
/**
|
|
13
|
+
* @private
|
|
14
|
+
* The component that recursively renders `AtxConsoleJson` objects in the ATX monitoring console.
|
|
15
|
+
*/
|
|
12
16
|
export class AtxJsonViewerPanelComponent {
|
|
13
17
|
constructor() {
|
|
18
|
+
/**
|
|
19
|
+
* @private
|
|
20
|
+
* The data to be rendererd whithin this component.
|
|
21
|
+
*/
|
|
14
22
|
this.data = null;
|
|
15
23
|
}
|
|
16
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxJsonViewerPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxJsonViewerPanelComponent, isStandalone: true, selector: "atx-json-viewer-panel", inputs: { data: "data" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (data) {\r\n @if (data.children) {\r\n <details>\r\n <summary>\r\n @if (data.label) {\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>:\r\n <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n } @else {\r\n {{ data.value }}\r\n }\r\n </summary>\r\n @for (item of data.children; track item) {\r\n <atx-json-viewer-panel [data]=\"item\"/>\r\n }\r\n </details>\r\n } @else {\r\n <div class=\"primitive\">\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>: <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n </div>\r\n }\r\n}\r\n", styles: [":host{
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxJsonViewerPanelComponent, isStandalone: true, selector: "atx-json-viewer-panel", inputs: { data: "data" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (data) {\r\n @if (data.children) {\r\n <details>\r\n <summary>\r\n @if (data.label) {\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>:\r\n <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n } @else {\r\n {{ data.value }}\r\n }\r\n </summary>\r\n @for (item of data.children; track item) {\r\n <atx-json-viewer-panel [data]=\"item\"/>\r\n }\r\n </details>\r\n } @else {\r\n <div class=\"primitive\">\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>: <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n </div>\r\n }\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{display:block;font-family:monospace;font-size:13px}summary:hover{background-color:var(--dark-gray)}summary{padding-left:6px}atx-json-viewer-panel{padding-left:26px}.primitive{margin-left:20px}.atx-prop-label{font-weight:700;color:#8a2be2}.atx-string{color:#cd5c5c}.atx-string:before,.atx-string:after{content:'\"'}.atx-boolean,.atx-null,.atx-number{color:#0000cd}.atx-boolean,.atx-null{font-weight:700}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerPanelComponent, selector: "atx-json-viewer-panel", inputs: ["data"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
26
|
}
|
|
19
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxJsonViewerPanelComponent, decorators: [{
|
|
20
28
|
type: Component,
|
|
21
29
|
args: [{ selector: 'atx-json-viewer-panel', standalone: true, imports: [
|
|
22
30
|
CommonModule
|
|
23
|
-
], template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (data) {\r\n @if (data.children) {\r\n <details>\r\n <summary>\r\n @if (data.label) {\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>:\r\n <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n } @else {\r\n {{ data.value }}\r\n }\r\n </summary>\r\n @for (item of data.children; track item) {\r\n <atx-json-viewer-panel [data]=\"item\"/>\r\n }\r\n </details>\r\n } @else {\r\n <div class=\"primitive\">\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>: <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n </div>\r\n }\r\n}\r\n", styles: [":host{
|
|
31
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (data) {\r\n @if (data.children) {\r\n <details>\r\n <summary>\r\n @if (data.label) {\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>:\r\n <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n } @else {\r\n {{ data.value }}\r\n }\r\n </summary>\r\n @for (item of data.children; track item) {\r\n <atx-json-viewer-panel [data]=\"item\"/>\r\n }\r\n </details>\r\n } @else {\r\n <div class=\"primitive\">\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>: <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n </div>\r\n }\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{display:block;font-family:monospace;font-size:13px}summary:hover{background-color:var(--dark-gray)}summary{padding-left:6px}atx-json-viewer-panel{padding-left:26px}.primitive{margin-left:20px}.atx-prop-label{font-weight:700;color:#8a2be2}.atx-string{color:#cd5c5c}.atx-string:before,.atx-string:after{content:'\"'}.atx-boolean,.atx-null,.atx-number{color:#0000cd}.atx-boolean,.atx-null{font-weight:700}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
|
|
24
32
|
}], propDecorators: { data: [{
|
|
25
33
|
type: Input
|
|
26
34
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3ZXItcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC1tb25pdG9yaW5nLWNvbnNvbGUvY29tcG9uZW50L3JlbmRlcmVyL2pzb24tdmlld2VyLXBhbmVsL2pzb24tdmlld2VyLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9yZW5kZXJlci9qc29uLXZpZXdlci1wYW5lbC9qc29uLXZpZXdlci1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUcvQzs7O0dBR0c7QUFXSCxNQUFNLE9BQU8sMkJBQTJCO0lBVnhDO1FBWUU7OztXQUdHO1FBRUksU0FBSSxHQUEwQixJQUFJLENBQUM7S0FDM0M7OEdBUlksMkJBQTJCO2tHQUEzQiwyQkFBMkIsMkdDMUJ4Qyx3aENBNkJBLGk4RERIYSwyQkFBMkIsbUZBTnBDLFlBQVk7OzJGQU1ILDJCQUEyQjtrQkFWdkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7cUJBQ2IsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBU3hDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEF0eENvbnNvbGVKc29uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvYnVzaW5lc3MvYXR4LWNvbnNvbGUtanNvbic7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGNvbXBvbmVudCB0aGF0IHJlY3Vyc2l2ZWx5IHJlbmRlcnMgYEF0eENvbnNvbGVKc29uYCBvYmplY3RzIGluIHRoZSBBVFggbW9uaXRvcmluZyBjb25zb2xlLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhdHgtanNvbi12aWV3ZXItcGFuZWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vanNvbi12aWV3ZXItcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9qc29uLXZpZXdlci1wYW5lbC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEF0eEpzb25WaWV3ZXJQYW5lbENvbXBvbmVudCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogVGhlIGRhdGEgdG8gYmUgcmVuZGVyZXJkIHdoaXRoaW4gdGhpcyBjb21wb25lbnQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGF0YTogQXR4Q29uc29sZUpzb24gfCBudWxsID0gbnVsbDtcclxufVxyXG4iLCI8IS0tXHJcbiAqIExJQ0VOU0VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcclxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuLS0+XHJcblxyXG5AaWYgKGRhdGEpIHtcclxuICAgIEBpZiAoZGF0YS5jaGlsZHJlbikge1xyXG4gICAgICAgIDxkZXRhaWxzPlxyXG4gICAgICAgICAgICA8c3VtbWFyeT5cclxuICAgICAgICAgICAgICAgIEBpZiAoZGF0YS5sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXR4LXByb3AtbGFiZWxcIj57eyBkYXRhLmxhYmVsIH19PC9zcGFuPjpcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJkYXRhLnR5cGVDbGFzc1wiPnt7IGRhdGEudmFsdWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB7eyBkYXRhLnZhbHVlIH19XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvc3VtbWFyeT5cclxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBkYXRhLmNoaWxkcmVuOyB0cmFjayBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICA8YXR4LWpzb24tdmlld2VyLXBhbmVsIFtkYXRhXT1cIml0ZW1cIi8+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2RldGFpbHM+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbWl0aXZlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXR4LXByb3AtbGFiZWxcIj57eyBkYXRhLmxhYmVsIH19PC9zcGFuPjogPHNwYW4gW25nQ2xhc3NdPVwiZGF0YS50eXBlQ2xhc3NcIj57eyBkYXRhLnZhbHVlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|