ionic-logging-viewer 12.0.0 → 15.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 +5 -1
- package/esm2020/ionic-logging-viewer.mjs +5 -0
- package/esm2020/lib/logging-viewer/logging-viewer.component.mjs +119 -0
- package/esm2020/lib/logging-viewer-filter.service.mjs +64 -0
- package/esm2020/lib/logging-viewer-levels/logging-viewer-levels.component.mjs +71 -0
- package/{esm2015/lib/logging-viewer-modal/logging-viewer-modal-properties.model.js → esm2020/lib/logging-viewer-modal/logging-viewer-modal-properties.model.mjs} +0 -0
- package/esm2020/lib/logging-viewer-modal/logging-viewer-modal.component.mjs +141 -0
- package/esm2020/lib/logging-viewer-search/logging-viewer-search.component.mjs +73 -0
- package/{esm2015/lib/logging-viewer-translation.model.js → esm2020/lib/logging-viewer-translation.model.mjs} +0 -0
- package/esm2020/lib/logging-viewer.module.mjs +53 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/fesm2015/ionic-logging-viewer.mjs +498 -0
- package/fesm2015/ionic-logging-viewer.mjs.map +1 -0
- package/fesm2020/ionic-logging-viewer.mjs +493 -0
- package/fesm2020/ionic-logging-viewer.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/logging-viewer/logging-viewer.component.d.ts +3 -0
- package/lib/logging-viewer-filter.service.d.ts +3 -0
- package/lib/logging-viewer-levels/logging-viewer-levels.component.d.ts +3 -0
- package/lib/logging-viewer-modal/logging-viewer-modal.component.d.ts +3 -0
- package/lib/logging-viewer-search/logging-viewer-search.component.d.ts +3 -0
- package/lib/logging-viewer.module.d.ts +11 -0
- package/package.json +25 -13
- package/bundles/ionic-logging-viewer.umd.js +0 -883
- package/bundles/ionic-logging-viewer.umd.js.map +0 -1
- package/bundles/ionic-logging-viewer.umd.min.js +0 -16
- package/bundles/ionic-logging-viewer.umd.min.js.map +0 -1
- package/esm2015/ionic-logging-viewer.js +0 -6
- package/esm2015/lib/logging-viewer/logging-viewer.component.js +0 -121
- package/esm2015/lib/logging-viewer-filter.service.js +0 -62
- package/esm2015/lib/logging-viewer-levels/logging-viewer-levels.component.js +0 -70
- package/esm2015/lib/logging-viewer-modal/logging-viewer-modal.component.js +0 -144
- package/esm2015/lib/logging-viewer-search/logging-viewer-search.component.js +0 -74
- package/esm2015/lib/logging-viewer.module.js +0 -37
- package/fesm2015/ionic-logging-viewer.js +0 -500
- package/fesm2015/ionic-logging-viewer.js.map +0 -1
- package/ionic-logging-viewer.d.ts +0 -5
- package/ionic-logging-viewer.metadata.json +0 -1
package/README.md
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
# ionic-logging-viewer
|
|
2
2
|
|
|
3
|
-
**The dependencies used by the latest version are the same as needed for [Ionic
|
|
3
|
+
**The dependencies used by the latest version are the same as needed for [Ionic 6.1.9](https://github.com/ionic-team/ionic/blob/master/CHANGELOG.md). For older versions use:**
|
|
4
4
|
|
|
5
5
|
| ionic-logging-viewer | Ionic | Angular
|
|
6
6
|
| ------ | -------- | ------
|
|
7
|
+
| 15.0.0 | >= 6.1.9 | ^14.0.0
|
|
8
|
+
| 14.0.0 | >= 6.0.0 | ^13.0.0
|
|
9
|
+
| 13.0.0 | >= 5.0.0 | ^12.0.0
|
|
10
|
+
| 12.0.0 | >= 5.0.0 | ^11.0.0
|
|
7
11
|
| 11.0.0 | >= 5.0.0 | ^10.0.0
|
|
8
12
|
| 9.0.0 | >= 5.0.0 | ^9.0.0
|
|
9
13
|
| 8.0.0 | >= 4.7.0 | ^8.0.0
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtbG9nZ2luZy12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9pb25pYy1sb2dnaW5nLXZpZXdlci9zcmMvaW9uaWMtbG9nZ2luZy12aWV3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { LoggingService, LogLevelConverter } from "ionic-logging-service";
|
|
3
|
+
import { LoggingViewerFilterService } from "../logging-viewer-filter.service";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "ionic-logging-service";
|
|
6
|
+
import * as i2 from "../logging-viewer-filter.service";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "@ionic/angular";
|
|
9
|
+
/**
|
|
10
|
+
* Component for displaying the current logs.
|
|
11
|
+
*
|
|
12
|
+
* The component can be embedded in any web page using:
|
|
13
|
+
*
|
|
14
|
+
* <ionic-logging-viewer></ionic-logging-viewer>
|
|
15
|
+
*/
|
|
16
|
+
export class LoggingViewerComponent {
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new instance of the component.
|
|
19
|
+
*/
|
|
20
|
+
constructor(loggingService, loggingViewerFilterService) {
|
|
21
|
+
this.loggingService = loggingService;
|
|
22
|
+
this.loggingViewerFilterService = loggingViewerFilterService;
|
|
23
|
+
this.logger = loggingService.getLogger("Ionic.Logging.Viewer.Component");
|
|
24
|
+
const methodName = "ctor";
|
|
25
|
+
this.logger.entry(methodName);
|
|
26
|
+
this.logger.exit(methodName);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Initialize the component.
|
|
30
|
+
*
|
|
31
|
+
* This is done by reading the filter data from [LoggingViewerFilterService](LoggingViewerFilterService.html)
|
|
32
|
+
* and the log messages from [LoggingService](../../../ionic-logging-service/typedoc/index.html).
|
|
33
|
+
* If the localStorageKeys property is set, the messages are read from local storage.
|
|
34
|
+
*/
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
const methodName = "ngOnInit";
|
|
37
|
+
this.logger.entry(methodName);
|
|
38
|
+
this.loadLogMessages();
|
|
39
|
+
this.filterLogMessages();
|
|
40
|
+
// subscribe to loggingService.logMessagesChanged event, to refresh, when new message is logged
|
|
41
|
+
this.logMessagesChangedSubscription = this.loggingService.logMessagesChanged.subscribe(async () => {
|
|
42
|
+
this.loadLogMessages();
|
|
43
|
+
this.filterLogMessages();
|
|
44
|
+
});
|
|
45
|
+
// subscribe to loggingViewerFilterService.filterChanged event, to refresh, when filter is modified
|
|
46
|
+
this.filterChangedSubscription = this.loggingViewerFilterService.filterChanged.subscribe(() => {
|
|
47
|
+
this.filterLogMessages();
|
|
48
|
+
});
|
|
49
|
+
this.logger.exit(methodName);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Clean up.
|
|
53
|
+
*/
|
|
54
|
+
ngOnDestroy() {
|
|
55
|
+
const methodName = "ngOnDestroy";
|
|
56
|
+
this.logger.entry(methodName);
|
|
57
|
+
this.logMessagesChangedSubscription.unsubscribe();
|
|
58
|
+
this.filterChangedSubscription.unsubscribe();
|
|
59
|
+
this.logger.exit(methodName);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Filter the log messages.
|
|
63
|
+
*/
|
|
64
|
+
filterLogMessages() {
|
|
65
|
+
this.logMessagesForDisplay = this.logMessages.filter((message) => this.filterLogMessagesByLevel(message) && this.filterLogMessagesBySearch(message));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check if the log message's level fulfills the level condition.
|
|
69
|
+
*
|
|
70
|
+
* @param message the log message to check
|
|
71
|
+
* @returns true if check was successful
|
|
72
|
+
*/
|
|
73
|
+
filterLogMessagesByLevel(message) {
|
|
74
|
+
const levelValue = this.loggingViewerFilterService.level;
|
|
75
|
+
return LogLevelConverter.levelFromString(message.level) >= LogLevelConverter.levelFromString(levelValue);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Check if the log message fulfills the search condition.
|
|
79
|
+
*
|
|
80
|
+
* The search value gets searched in:
|
|
81
|
+
* - logger name
|
|
82
|
+
* - method name
|
|
83
|
+
* - message
|
|
84
|
+
*
|
|
85
|
+
* @param message the log message to check
|
|
86
|
+
* @returns true if check was successful
|
|
87
|
+
*/
|
|
88
|
+
filterLogMessagesBySearch(message) {
|
|
89
|
+
const searchValue = new RegExp(this.loggingViewerFilterService.search, "i");
|
|
90
|
+
return message.logger.search(searchValue) >= 0 ||
|
|
91
|
+
message.methodName.search(searchValue) >= 0 ||
|
|
92
|
+
message.message.join("|").search(searchValue) >= 0;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Load the current log messages.
|
|
96
|
+
* For unit test purposes mainly.
|
|
97
|
+
*/
|
|
98
|
+
loadLogMessages() {
|
|
99
|
+
if (this.localStorageKeys) {
|
|
100
|
+
this.logMessages = [];
|
|
101
|
+
for (const localStorageKey of this.localStorageKeys.split(",")) {
|
|
102
|
+
this.logMessages = this.logMessages.concat(this.loggingService.getLogMessagesFromLocalStorage(localStorageKey));
|
|
103
|
+
}
|
|
104
|
+
this.logMessages = this.logMessages.sort((a, b) => a.timeStamp.getTime() - b.timeStamp.getTime());
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.logMessages = this.loggingService.getLogMessages();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
LoggingViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerComponent, deps: [{ token: i1.LoggingService }, { token: i2.LoggingViewerFilterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
LoggingViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: LoggingViewerComponent, selector: "ionic-logging-viewer", inputs: { localStorageKeys: "localStorageKeys" }, ngImport: i0, template: "<ion-list>\n\t<ion-item *ngFor=\"let logMessage of logMessagesForDisplay\">\n\t\t<ion-label>\n\t\t\t<p>{{ logMessage.timeStamp | date:'dd.MM.yyyy HH:mm:ss' }} {{ logMessage.level }}</p>\n\t\t\t<p>{{ logMessage.logger }}</p>\n\t\t\t<p>\n\t\t\t\t{{ logMessage.methodName }}\n\t\t\t\t<span *ngFor=\"let messagePart of logMessage.message\"> {{ messagePart }} </span>\n\t\t\t</p>\n\t\t</ion-label>\n\t</ion-item>\n</ion-list>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] });
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerComponent, decorators: [{
|
|
114
|
+
type: Component,
|
|
115
|
+
args: [{ selector: "ionic-logging-viewer", template: "<ion-list>\n\t<ion-item *ngFor=\"let logMessage of logMessagesForDisplay\">\n\t\t<ion-label>\n\t\t\t<p>{{ logMessage.timeStamp | date:'dd.MM.yyyy HH:mm:ss' }} {{ logMessage.level }}</p>\n\t\t\t<p>{{ logMessage.logger }}</p>\n\t\t\t<p>\n\t\t\t\t{{ logMessage.methodName }}\n\t\t\t\t<span *ngFor=\"let messagePart of logMessage.message\"> {{ messagePart }} </span>\n\t\t\t</p>\n\t\t</ion-label>\n\t</ion-item>\n</ion-list>" }]
|
|
116
|
+
}], ctorParameters: function () { return [{ type: i1.LoggingService }, { type: i2.LoggingViewerFilterService }]; }, propDecorators: { localStorageKeys: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}] } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW9uaWMtbG9nZ2luZy12aWV3ZXIvc3JjL2xpYi9sb2dnaW5nLXZpZXdlci9sb2dnaW5nLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb25pYy1sb2dnaW5nLXZpZXdlci9zcmMvbGliL2xvZ2dpbmctdmlld2VyL2xvZ2dpbmctdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdwRSxPQUFPLEVBQVUsY0FBYyxFQUFFLGlCQUFpQixFQUFjLE1BQU0sdUJBQXVCLENBQUM7QUFFOUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQUU5RTs7Ozs7O0dBTUc7QUFNSCxNQUFNLE9BQU8sc0JBQXNCO0lBa0JsQzs7T0FFRztJQUNILFlBQ1MsY0FBOEIsRUFDOUIsMEJBQXNEO1FBRHRELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBRTlELElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksUUFBUTtRQUNkLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENB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QUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNsRzthQUFNO1lBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hEO0lBQ0YsQ0FBQzs7bUhBNUhXLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDhHQ25CbkMsc2FBV1c7MkZEUUUsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNDLHNCQUFzQjs4SUFVekIsZ0JBQWdCO3NCQUR0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgTG9nZ2VyLCBMb2dnaW5nU2VydmljZSwgTG9nTGV2ZWxDb252ZXJ0ZXIsIExvZ01lc3NhZ2UgfSBmcm9tIFwiaW9uaWMtbG9nZ2luZy1zZXJ2aWNlXCI7XG5cbmltcG9ydCB7IExvZ2dpbmdWaWV3ZXJGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL2xvZ2dpbmctdmlld2VyLWZpbHRlci5zZXJ2aWNlXCI7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBkaXNwbGF5aW5nIHRoZSBjdXJyZW50IGxvZ3MuXG4gKlxuICogVGhlIGNvbXBvbmVudCBjYW4gYmUgZW1iZWRkZWQgaW4gYW55IHdlYiBwYWdlIHVzaW5nOlxuICpcbiAqICZsdDtpb25pYy1sb2dnaW5nLXZpZXdlcj4mbHQ7L2lvbmljLWxvZ2dpbmctdmlld2VyPlxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiaW9uaWMtbG9nZ2luZy12aWV3ZXJcIixcblx0dGVtcGxhdGVVcmw6IFwiLi9sb2dnaW5nLXZpZXdlci5jb21wb25lbnQuaHRtbFwiLFxuXHRzdHlsZVVybHM6IFtcIi4vbG9nZ2luZy12aWV3ZXIuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgTG9nZ2luZ1ZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuXHQvKipcblx0ICogQ29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbG9jYWxTdG9yYWdlS2V5cy4gSWYgc2V0LCB0aGUgbG9ncyBnZXQgbG9hZGVkIGZyb20gbG9jYWxTdG9yYWdlIGluc3RlYWQgb2YgbWVtb3J5LlxuXHQgKi9cblx0QElucHV0KClcblx0cHVibGljIGxvY2FsU3RvcmFnZUtleXM6IHN0cmluZztcblxuXHQvKipcblx0ICogTG9nIG1lc3NhZ2VzIHdoaWNoIGZ1bGZpbGwgdGhlIGZpbHRlciBjb25kaXRpb24uXG5cdCAqL1xuXHRwdWJsaWMgbG9nTWVzc2FnZXNGb3JEaXNwbGF5OiBMb2dNZXNzYWdlW107XG5cblx0cHJpdmF0ZSBsb2dnZXI6IExvZ2dlcjtcblx0cHJpdmF0ZSBsb2dNZXNzYWdlczogTG9nTWVzc2FnZVtdO1xuXHRwcml2YXRlIGxvZ01lc3NhZ2VzQ2hhbmdlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXHRwcml2YXRlIGZpbHRlckNoYW5nZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50LlxuXHQgKi9cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSBsb2dnaW5nU2VydmljZTogTG9nZ2luZ1NlcnZpY2UsXG5cdFx0cHJpdmF0ZSBsb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZTogTG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2UpIHtcblxuXHRcdHRoaXMubG9nZ2VyID0gbG9nZ2luZ1NlcnZpY2UuZ2V0TG9nZ2VyKFwiSW9uaWMuTG9nZ2luZy5WaWV3ZXIuQ29tcG9uZW50XCIpO1xuXHRcdGNvbnN0IG1ldGhvZE5hbWUgPSBcImN0b3JcIjtcblx0XHR0aGlzLmxvZ2dlci5lbnRyeShtZXRob2ROYW1lKTtcblxuXHRcdHRoaXMubG9nZ2VyLmV4aXQobWV0aG9kTmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogSW5pdGlhbGl6ZSB0aGUgY29tcG9uZW50LlxuXHQgKlxuXHQgKiBUaGlzIGlzIGRvbmUgYnkgcmVhZGluZyB0aGUgZmlsdGVyIGRhdGEgZnJvbSBbTG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2VdKExvZ2dpbmdWaWV3ZXJGaWx0ZXJTZXJ2aWNlLmh0bWwpXG5cdCAqIGFuZCB0aGUgbG9nIG1lc3NhZ2VzIGZyb20gW0xvZ2dpbmdTZXJ2aWNlXSguLi8uLi8uLi9pb25pYy1sb2dnaW5nLXNlcnZpY2UvdHlwZWRvYy9pbmRleC5odG1sKS5cblx0ICogSWYgdGhlIGxvY2FsU3RvcmFnZUtleXMgcHJvcGVydHkgaXMgc2V0LCB0aGUgbWVzc2FnZXMgYXJlIHJlYWQgZnJvbSBsb2NhbCBzdG9yYWdlLlxuXHQgKi9cblx0cHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdGNvbnN0IG1ldGhvZE5hbWUgPSBcIm5nT25Jbml0XCI7XG5cdFx0dGhpcy5sb2dnZXIuZW50cnkobWV0aG9kTmFtZSk7XG5cblx0XHR0aGlzLmxvYWRMb2dNZXNzYWdlcygpO1xuXHRcdHRoaXMuZmlsdGVyTG9nTWVzc2FnZXMoKTtcblxuXHRcdC8vIHN1YnNjcmliZSB0byBsb2dnaW5nU2VydmljZS5sb2dNZXNzYWdlc0NoYW5nZWQgZXZlbnQsIHRvIHJlZnJlc2gsIHdoZW4gbmV3IG1lc3NhZ2UgaXMgbG9nZ2VkXG5cdFx0dGhpcy5sb2dNZXNzYWdlc0NoYW5nZWRTdWJzY3JpcHRpb24gPSB0aGlzLmxvZ2dpbmdTZXJ2aWNlLmxvZ01lc3NhZ2VzQ2hhbmdlZC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuXHRcdFx0dGhpcy5sb2FkTG9nTWVzc2FnZXMoKTtcblx0XHRcdHRoaXMuZmlsdGVyTG9nTWVzc2FnZXMoKTtcblx0XHR9KTtcblxuXHRcdC8vIHN1YnNjcmliZSB0byBsb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5maWx0ZXJDaGFuZ2VkIGV2ZW50LCB0byByZWZyZXNoLCB3aGVuIGZpbHRlciBpcyBtb2RpZmllZFxuXHRcdHRoaXMuZmlsdGVyQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMubG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2UuZmlsdGVyQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0dGhpcy5maWx0ZXJMb2dNZXNzYWdlcygpO1xuXHRcdH0pO1xuXG5cdFx0dGhpcy5sb2dnZXIuZXhpdChtZXRob2ROYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDbGVhbiB1cC5cblx0ICovXG5cdHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHRjb25zdCBtZXRob2ROYW1lID0gXCJuZ09uRGVzdHJveVwiO1xuXHRcdHRoaXMubG9nZ2VyLmVudHJ5KG1ldGhvZE5hbWUpO1xuXG5cdFx0dGhpcy5sb2dNZXNzYWdlc0NoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0XHR0aGlzLmZpbHRlckNoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuXHRcdHRoaXMubG9nZ2VyLmV4aXQobWV0aG9kTmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogRmlsdGVyIHRoZSBsb2cgbWVzc2FnZXMuXG5cdCAqL1xuXHRwdWJsaWMgZmlsdGVyTG9nTWVzc2FnZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5sb2dNZXNzYWdlc0ZvckRpc3BsYXkgPSB0aGlzLmxvZ01lc3NhZ2VzLmZpbHRlcihcblx0XHRcdChtZXNzYWdlKSA9PiB0aGlzLmZpbHRlckxvZ01lc3NhZ2VzQnlMZXZlbChtZXNzYWdlKSAmJiB0aGlzLmZpbHRlckxvZ01lc3NhZ2VzQnlTZWFyY2gobWVzc2FnZSkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrIGlmIHRoZSBsb2cgbWVzc2FnZSdzIGxldmVsIGZ1bGZpbGxzIHRoZSBsZXZlbCBjb25kaXRpb24uXG5cdCAqXG5cdCAqIEBwYXJhbSBtZXNzYWdlIHRoZSBsb2cgbWVzc2FnZSB0byBjaGVja1xuXHQgKiBAcmV0dXJucyB0cnVlIGlmIGNoZWNrIHdhcyBzdWNjZXNzZnVsXG5cdCAqL1xuXHRwdWJsaWMgZmlsdGVyTG9nTWVzc2FnZXNCeUxldmVsKG1lc3NhZ2U6IExvZ01lc3NhZ2UpOiBib29sZWFuIHtcblx0XHRjb25zdCBsZXZlbFZhbHVlID0gdGhpcy5sb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5sZXZlbDtcblx0XHRyZXR1cm4gTG9nTGV2ZWxDb252ZXJ0ZXIubGV2ZWxGcm9tU3RyaW5nKG1lc3NhZ2UubGV2ZWwpID49IExvZ0xldmVsQ29udmVydGVyLmxldmVsRnJvbVN0cmluZyhsZXZlbFZhbHVlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVjayBpZiB0aGUgbG9nIG1lc3NhZ2UgZnVsZmlsbHMgdGhlIHNlYXJjaCBjb25kaXRpb24uXG5cdCAqXG5cdCAqIFRoZSBzZWFyY2ggdmFsdWUgZ2V0cyBzZWFyY2hlZCBpbjpcblx0ICogLSBsb2dnZXIgbmFtZVxuXHQgKiAtIG1ldGhvZCBuYW1lXG5cdCAqIC0gbWVzc2FnZVxuXHQgKlxuXHQgKiBAcGFyYW0gbWVzc2FnZSB0aGUgbG9nIG1lc3NhZ2UgdG8gY2hlY2tcblx0ICogQHJldHVybnMgdHJ1ZSBpZiBjaGVjayB3YXMgc3VjY2Vzc2Z1bFxuXHQgKi9cblx0cHVibGljIGZpbHRlckxvZ01lc3NhZ2VzQnlTZWFyY2gobWVzc2FnZTogTG9nTWVzc2FnZSk6IGJvb2xlYW4ge1xuXHRcdGNvbnN0IHNlYXJjaFZhbHVlID0gbmV3IFJlZ0V4cCh0aGlzLmxvZ2dpbmdWaWV3ZXJGaWx0ZXJTZXJ2aWNlLnNlYXJjaCwgXCJpXCIpO1xuXHRcdHJldHVybiBtZXNzYWdlLmxvZ2dlci5zZWFyY2goc2VhcmNoVmFsdWUpID49IDAgfHxcblx0XHRcdG1lc3NhZ2UubWV0aG9kTmFtZS5zZWFyY2goc2VhcmNoVmFsdWUpID49IDAgfHxcblx0XHRcdG1lc3NhZ2UubWVzc2FnZS5qb2luKFwifFwiKS5zZWFyY2goc2VhcmNoVmFsdWUpID49IDA7XG5cdH1cblxuXHQvKipcblx0ICogTG9hZCB0aGUgY3VycmVudCBsb2cgbWVzc2FnZXMuXG5cdCAqIEZvciB1bml0IHRlc3QgcHVycG9zZXMgbWFpbmx5LlxuXHQgKi9cblx0cHVibGljIGxvYWRMb2dNZXNzYWdlcygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5sb2NhbFN0b3JhZ2VLZXlzKSB7XG5cdFx0XHR0aGlzLmxvZ01lc3NhZ2VzID0gW107XG5cdFx0XHRmb3IgKGNvbnN0IGxvY2FsU3RvcmFnZUtleSBvZiB0aGlzLmxvY2FsU3RvcmFnZUtleXMuc3BsaXQoXCIsXCIpKSB7XG5cdFx0XHRcdHRoaXMubG9nTWVzc2FnZXMgPSB0aGlzLmxvZ01lc3NhZ2VzLmNvbmNhdCh0aGlzLmxvZ2dpbmdTZXJ2aWNlLmdldExvZ01lc3NhZ2VzRnJvbUxvY2FsU3RvcmFnZShsb2NhbFN0b3JhZ2VLZXkpKTtcblx0XHRcdH1cblx0XHRcdHRoaXMubG9nTWVzc2FnZXMgPSB0aGlzLmxvZ01lc3NhZ2VzLnNvcnQoKGEsIGIpID0+IGEudGltZVN0YW1wLmdldFRpbWUoKSAtIGIudGltZVN0YW1wLmdldFRpbWUoKSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMubG9nTWVzc2FnZXMgPSB0aGlzLmxvZ2dpbmdTZXJ2aWNlLmdldExvZ01lc3NhZ2VzKCk7XG5cdFx0fVxuXHR9XG59XG4iLCI8aW9uLWxpc3Q+XG5cdDxpb24taXRlbSAqbmdGb3I9XCJsZXQgbG9nTWVzc2FnZSBvZiBsb2dNZXNzYWdlc0ZvckRpc3BsYXlcIj5cblx0XHQ8aW9uLWxhYmVsPlxuXHRcdFx0PHA+e3sgbG9nTWVzc2FnZS50aW1lU3RhbXAgfCBkYXRlOidkZC5NTS55eXl5IEhIOm1tOnNzJyB9fSB7eyBsb2dNZXNzYWdlLmxldmVsIH19PC9wPlxuXHRcdFx0PHA+e3sgbG9nTWVzc2FnZS5sb2dnZXIgfX08L3A+XG5cdFx0XHQ8cD5cblx0XHRcdFx0e3sgbG9nTWVzc2FnZS5tZXRob2ROYW1lIH19XG5cdFx0XHRcdDxzcGFuICpuZ0Zvcj1cImxldCBtZXNzYWdlUGFydCBvZiBsb2dNZXNzYWdlLm1lc3NhZ2VcIj4ge3sgbWVzc2FnZVBhcnQgfX0gPC9zcGFuPlxuXHRcdFx0PC9wPlxuXHRcdDwvaW9uLWxhYmVsPlxuXHQ8L2lvbi1pdGVtPlxuPC9pb24tbGlzdD4iXX0=
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { EventEmitter, Injectable } from "@angular/core";
|
|
2
|
+
import { LoggingService } from "ionic-logging-service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "ionic-logging-service";
|
|
5
|
+
/**
|
|
6
|
+
* Service for storing filter settings for logging viewer.
|
|
7
|
+
*/
|
|
8
|
+
export class LoggingViewerFilterService {
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new instance of the service.
|
|
11
|
+
*
|
|
12
|
+
* @param loggingService needed for internal logging.
|
|
13
|
+
*/
|
|
14
|
+
constructor(loggingService) {
|
|
15
|
+
this.logger = loggingService.getLogger("Ionic.Logging.Viewer.Filter.Service");
|
|
16
|
+
const methodName = "ctor";
|
|
17
|
+
this.logger.entry(methodName);
|
|
18
|
+
this.levelValue = "DEBUG";
|
|
19
|
+
this.searchValue = "";
|
|
20
|
+
this.filterChanged = new EventEmitter();
|
|
21
|
+
this.logger.exit(methodName);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Gets the current log level.
|
|
25
|
+
*
|
|
26
|
+
* @return log level
|
|
27
|
+
*/
|
|
28
|
+
get level() {
|
|
29
|
+
return this.levelValue;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Sets the new log level and emits a filterChanged event.
|
|
33
|
+
*
|
|
34
|
+
* @param value new slog level
|
|
35
|
+
*/
|
|
36
|
+
set level(value) {
|
|
37
|
+
this.levelValue = value;
|
|
38
|
+
this.filterChanged.emit();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Gets the current search value.
|
|
42
|
+
*
|
|
43
|
+
* @return search value
|
|
44
|
+
*/
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
46
|
+
get search() {
|
|
47
|
+
return this.searchValue;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Sets the new search value and emits a filterChanged event.
|
|
51
|
+
*
|
|
52
|
+
* @param value new search value
|
|
53
|
+
*/
|
|
54
|
+
set search(value) {
|
|
55
|
+
this.searchValue = value;
|
|
56
|
+
this.filterChanged.emit();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
LoggingViewerFilterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerFilterService, deps: [{ token: i1.LoggingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
LoggingViewerFilterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerFilterService });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerFilterService, decorators: [{
|
|
62
|
+
type: Injectable
|
|
63
|
+
}], ctorParameters: function () { return [{ type: i1.LoggingService }]; } });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy12aWV3ZXItZmlsdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pb25pYy1sb2dnaW5nLXZpZXdlci9zcmMvbGliL2xvZ2dpbmctdmlld2VyLWZpbHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBVSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRS9EOztHQUVHO0FBRUgsTUFBTSxPQUFPLDBCQUEwQjtJQVd0Qzs7OztPQUlHO0lBQ0gsWUFDQyxjQUE4QjtRQUU5QixJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUM5RSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTlDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxLQUFLO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxLQUFLLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsOERBQThEO0lBQzlELElBQVcsTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLE1BQU0sQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7dUhBbkVXLDBCQUEwQjsySEFBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBMb2dnZXIsIExvZ2dpbmdTZXJ2aWNlIH0gZnJvbSBcImlvbmljLWxvZ2dpbmctc2VydmljZVwiO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHN0b3JpbmcgZmlsdGVyIHNldHRpbmdzIGZvciBsb2dnaW5nIHZpZXdlci5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZ2dpbmdWaWV3ZXJGaWx0ZXJTZXJ2aWNlIHtcblxuXHQvKipcblx0ICogRXZlbnQgdHJpZ2dlcmVkIHdoZW4gdGhlIGZpbHRlciB3YXMgY2hhbmdlZC5cblx0ICovXG5cdHB1YmxpYyBmaWx0ZXJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cblx0cHJpdmF0ZSBsb2dnZXI6IExvZ2dlcjtcblx0cHJpdmF0ZSBsZXZlbFZhbHVlOiBzdHJpbmc7XG5cdHByaXZhdGUgc2VhcmNoVmFsdWU6IHN0cmluZztcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgc2VydmljZS5cblx0ICpcblx0ICogQHBhcmFtIGxvZ2dpbmdTZXJ2aWNlIG5lZWRlZCBmb3IgaW50ZXJuYWwgbG9nZ2luZy5cblx0ICovXG5cdGNvbnN0cnVjdG9yKFxuXHRcdGxvZ2dpbmdTZXJ2aWNlOiBMb2dnaW5nU2VydmljZSkge1xuXG5cdFx0dGhpcy5sb2dnZXIgPSBsb2dnaW5nU2VydmljZS5nZXRMb2dnZXIoXCJJb25pYy5Mb2dnaW5nLlZpZXdlci5GaWx0ZXIuU2VydmljZVwiKTtcblx0XHRjb25zdCBtZXRob2ROYW1lID0gXCJjdG9yXCI7XG5cdFx0dGhpcy5sb2dnZXIuZW50cnkobWV0aG9kTmFtZSk7XG5cblx0XHR0aGlzLmxldmVsVmFsdWUgPSBcIkRFQlVHXCI7XG5cdFx0dGhpcy5zZWFyY2hWYWx1ZSA9IFwiXCI7XG5cdFx0dGhpcy5maWx0ZXJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdFx0dGhpcy5sb2dnZXIuZXhpdChtZXRob2ROYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjdXJyZW50IGxvZyBsZXZlbC5cblx0ICpcblx0ICogQHJldHVybiBsb2cgbGV2ZWxcblx0ICovXG5cdHB1YmxpYyBnZXQgbGV2ZWwoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5sZXZlbFZhbHVlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIG5ldyBsb2cgbGV2ZWwgYW5kIGVtaXRzIGEgZmlsdGVyQ2hhbmdlZCBldmVudC5cblx0ICpcblx0ICogQHBhcmFtIHZhbHVlIG5ldyBzbG9nIGxldmVsXG5cdCAqL1xuXHRwdWJsaWMgc2V0IGxldmVsKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLmxldmVsVmFsdWUgPSB2YWx1ZTtcblx0XHR0aGlzLmZpbHRlckNoYW5nZWQuZW1pdCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGN1cnJlbnQgc2VhcmNoIHZhbHVlLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHNlYXJjaCB2YWx1ZVxuXHQgKi9cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcblx0cHVibGljIGdldCBzZWFyY2goKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5zZWFyY2hWYWx1ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBuZXcgc2VhcmNoIHZhbHVlIGFuZCBlbWl0cyBhIGZpbHRlckNoYW5nZWQgZXZlbnQuXG5cdCAqXG5cdCAqIEBwYXJhbSB2YWx1ZSBuZXcgc2VhcmNoIHZhbHVlXG5cdCAqL1xuXHRwdWJsaWMgc2V0IHNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5zZWFyY2hWYWx1ZSA9IHZhbHVlO1xuXHRcdHRoaXMuZmlsdGVyQ2hhbmdlZC5lbWl0KCk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { LoggingService } from "ionic-logging-service";
|
|
3
|
+
import { LoggingViewerFilterService } from "../logging-viewer-filter.service";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "ionic-logging-service";
|
|
6
|
+
import * as i2 from "../logging-viewer-filter.service";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "@angular/forms";
|
|
9
|
+
import * as i5 from "@ionic/angular";
|
|
10
|
+
/**
|
|
11
|
+
* Component for displaying the log levels for filtering the current logs.
|
|
12
|
+
*
|
|
13
|
+
* The component can be embedded in any web page using:
|
|
14
|
+
*
|
|
15
|
+
* <ionic-logging-viewer-levels></ionic-logging-viewer-levels>
|
|
16
|
+
*/
|
|
17
|
+
export class LoggingViewerLevelsComponent {
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new instance of the component.
|
|
20
|
+
*/
|
|
21
|
+
constructor(loggingService, loggingViewerFilterService) {
|
|
22
|
+
this.loggingViewerFilterService = loggingViewerFilterService;
|
|
23
|
+
this.logger = loggingService.getLogger("Ionic.Logging.Viewer.Levels.Component");
|
|
24
|
+
const methodName = "ctor";
|
|
25
|
+
this.logger.entry(methodName);
|
|
26
|
+
this.logLevels = [];
|
|
27
|
+
this.logLevels.push("DEBUG", "INFO", "WARN", "ERROR");
|
|
28
|
+
this.logger.exit(methodName);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Initialize the component.
|
|
32
|
+
*
|
|
33
|
+
* This is done by reading the filter data from [LoggingViewerFilterService](LoggingViewerFilterService.html).
|
|
34
|
+
*/
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
const methodName = "ngOnInit";
|
|
37
|
+
this.logger.entry(methodName);
|
|
38
|
+
this.selectedLevel = this.loggingViewerFilterService.level;
|
|
39
|
+
// subscribe to loggingViewerFilterService.filterChanged event, to refresh,
|
|
40
|
+
// when someone else modifies the level
|
|
41
|
+
this.filterChangedSubscription = this.loggingViewerFilterService.filterChanged.subscribe(() => {
|
|
42
|
+
this.selectedLevel = this.loggingViewerFilterService.level;
|
|
43
|
+
});
|
|
44
|
+
this.logger.exit(methodName);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Clean up.
|
|
48
|
+
*/
|
|
49
|
+
ngOnDestroy() {
|
|
50
|
+
const methodName = "ngOnDestroy";
|
|
51
|
+
this.logger.entry(methodName);
|
|
52
|
+
this.filterChangedSubscription.unsubscribe();
|
|
53
|
+
this.logger.exit(methodName);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Callback when the level was changed in the UI.
|
|
57
|
+
*/
|
|
58
|
+
onLevelChanged() {
|
|
59
|
+
const methodName = "onLevelChanged";
|
|
60
|
+
this.logger.entry(methodName, this.selectedLevel);
|
|
61
|
+
this.loggingViewerFilterService.level = this.selectedLevel;
|
|
62
|
+
this.logger.exit(methodName);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
LoggingViewerLevelsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerLevelsComponent, deps: [{ token: i1.LoggingService }, { token: i2.LoggingViewerFilterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
LoggingViewerLevelsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: LoggingViewerLevelsComponent, selector: "ionic-logging-viewer-levels", ngImport: i0, template: "<ion-segment [(ngModel)]=\"selectedLevel\" (ionChange)=\"onLevelChanged()\">\n\t<ion-segment-button *ngFor=\"let logLevel of logLevels\" [value]=\"logLevel\">\n\t\t<ion-label>{{ logLevel }}</ion-label>\n\t</ion-segment-button>\n</ion-segment>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i5.IonSegment, selector: "ion-segment", inputs: ["color", "disabled", "mode", "scrollable", "selectOnFocus", "swipeGesture", "value"] }, { kind: "component", type: i5.IonSegmentButton, selector: "ion-segment-button", inputs: ["disabled", "layout", "mode", "type", "value"] }, { kind: "directive", type: i5.SelectValueAccessor, selector: "ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime" }] });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerLevelsComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: "ionic-logging-viewer-levels", template: "<ion-segment [(ngModel)]=\"selectedLevel\" (ionChange)=\"onLevelChanged()\">\n\t<ion-segment-button *ngFor=\"let logLevel of logLevels\" [value]=\"logLevel\">\n\t\t<ion-label>{{ logLevel }}</ion-label>\n\t</ion-segment-button>\n</ion-segment>" }]
|
|
70
|
+
}], ctorParameters: function () { return [{ type: i1.LoggingService }, { type: i2.LoggingViewerFilterService }]; } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy12aWV3ZXItbGV2ZWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvbmljLWxvZ2dpbmctdmlld2VyL3NyYy9saWIvbG9nZ2luZy12aWV3ZXItbGV2ZWxzL2xvZ2dpbmctdmlld2VyLWxldmVscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb25pYy1sb2dnaW5nLXZpZXdlci9zcmMvbGliL2xvZ2dpbmctdmlld2VyLWxldmVscy9sb2dnaW5nLXZpZXdlci1sZXZlbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFVLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7O0FBRTlFOzs7Ozs7R0FNRztBQU1ILE1BQU0sT0FBTyw0QkFBNEI7SUFleEM7O09BRUc7SUFDSCxZQUNDLGNBQThCLEVBQ3RCLDBCQUFzRDtRQUF0RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBRTlELElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDbEIsT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxDQUNQLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVE7UUFDZCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDO1FBRTNELDJFQUEyRTtRQUMzRSx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3RixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksY0FBYztRQUNwQixNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUUzRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDOzt5SEEvRVcsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsbUVDbkJ6QyxvUEFJYzsyRkRlRCw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0MsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuXG5pbXBvcnQgeyBMb2dnZXIsIExvZ2dpbmdTZXJ2aWNlIH0gZnJvbSBcImlvbmljLWxvZ2dpbmctc2VydmljZVwiO1xuXG5pbXBvcnQgeyBMb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZSB9IGZyb20gXCIuLi9sb2dnaW5nLXZpZXdlci1maWx0ZXIuc2VydmljZVwiO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgZGlzcGxheWluZyB0aGUgbG9nIGxldmVscyBmb3IgZmlsdGVyaW5nIHRoZSBjdXJyZW50IGxvZ3MuXG4gKlxuICogVGhlIGNvbXBvbmVudCBjYW4gYmUgZW1iZWRkZWQgaW4gYW55IHdlYiBwYWdlIHVzaW5nOlxuICpcbiAqICZsdDtpb25pYy1sb2dnaW5nLXZpZXdlci1sZXZlbHM+Jmx0Oy9pb25pYy1sb2dnaW5nLXZpZXdlci1sZXZlbHM+XG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJpb25pYy1sb2dnaW5nLXZpZXdlci1sZXZlbHNcIixcblx0dGVtcGxhdGVVcmw6IFwiLi9sb2dnaW5nLXZpZXdlci1sZXZlbHMuY29tcG9uZW50Lmh0bWxcIixcblx0c3R5bGVVcmxzOiBbXCIuL2xvZ2dpbmctdmlld2VyLWxldmVscy5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dnaW5nVmlld2VyTGV2ZWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG5cdC8qKlxuXHQgKiBMb2cgbGV2ZWxzIHVzZWQgZm9yIGZpbHRlcmluZzogREVCVUcsIElORk8sIFdBUk4sIEVSUk9SXG5cdCAqL1xuXHRwdWJsaWMgbG9nTGV2ZWxzOiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogU2VsZWN0ZWQgbGV2ZWwuXG5cdCAqL1xuXHRwdWJsaWMgc2VsZWN0ZWRMZXZlbDogc3RyaW5nO1xuXG5cdHByaXZhdGUgbG9nZ2VyOiBMb2dnZXI7XG5cdHByaXZhdGUgZmlsdGVyQ2hhbmdlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqL1xuXHRjb25zdHJ1Y3Rvcihcblx0XHRsb2dnaW5nU2VydmljZTogTG9nZ2luZ1NlcnZpY2UsXG5cdFx0cHJpdmF0ZSBsb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZTogTG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2UpIHtcblxuXHRcdHRoaXMubG9nZ2VyID0gbG9nZ2luZ1NlcnZpY2UuZ2V0TG9nZ2VyKFwiSW9uaWMuTG9nZ2luZy5WaWV3ZXIuTGV2ZWxzLkNvbXBvbmVudFwiKTtcblx0XHRjb25zdCBtZXRob2ROYW1lID0gXCJjdG9yXCI7XG5cdFx0dGhpcy5sb2dnZXIuZW50cnkobWV0aG9kTmFtZSk7XG5cblx0XHR0aGlzLmxvZ0xldmVscyA9IFtdO1xuXHRcdHRoaXMubG9nTGV2ZWxzLnB1c2goXG5cdFx0XHRcIkRFQlVHXCIsXG5cdFx0XHRcIklORk9cIixcblx0XHRcdFwiV0FSTlwiLFxuXHRcdFx0XCJFUlJPUlwiLFxuXHRcdCk7XG5cblx0XHR0aGlzLmxvZ2dlci5leGl0KG1ldGhvZE5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEluaXRpYWxpemUgdGhlIGNvbXBvbmVudC5cblx0ICpcblx0ICogVGhpcyBpcyBkb25lIGJ5IHJlYWRpbmcgdGhlIGZpbHRlciBkYXRhIGZyb20gW0xvZ2dpbmdWaWV3ZXJGaWx0ZXJTZXJ2aWNlXShMb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5odG1sKS5cblx0ICovXG5cdHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHRjb25zdCBtZXRob2ROYW1lID0gXCJuZ09uSW5pdFwiO1xuXHRcdHRoaXMubG9nZ2VyLmVudHJ5KG1ldGhvZE5hbWUpO1xuXG5cdFx0dGhpcy5zZWxlY3RlZExldmVsID0gdGhpcy5sb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5sZXZlbDtcblxuXHRcdC8vIHN1YnNjcmliZSB0byBsb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5maWx0ZXJDaGFuZ2VkIGV2ZW50LCB0byByZWZyZXNoLFxuXHRcdC8vIHdoZW4gc29tZW9uZSBlbHNlIG1vZGlmaWVzIHRoZSBsZXZlbFxuXHRcdHRoaXMuZmlsdGVyQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMubG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2UuZmlsdGVyQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0dGhpcy5zZWxlY3RlZExldmVsID0gdGhpcy5sb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5sZXZlbDtcblx0XHR9KTtcblxuXHRcdHRoaXMubG9nZ2VyLmV4aXQobWV0aG9kTmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2xlYW4gdXAuXG5cdCAqL1xuXHRwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0Y29uc3QgbWV0aG9kTmFtZSA9IFwibmdPbkRlc3Ryb3lcIjtcblx0XHR0aGlzLmxvZ2dlci5lbnRyeShtZXRob2ROYW1lKTtcblxuXHRcdHRoaXMuZmlsdGVyQ2hhbmdlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG5cdFx0dGhpcy5sb2dnZXIuZXhpdChtZXRob2ROYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDYWxsYmFjayB3aGVuIHRoZSBsZXZlbCB3YXMgY2hhbmdlZCBpbiB0aGUgVUkuXG5cdCAqL1xuXHRwdWJsaWMgb25MZXZlbENoYW5nZWQoKTogdm9pZCB7XG5cdFx0Y29uc3QgbWV0aG9kTmFtZSA9IFwib25MZXZlbENoYW5nZWRcIjtcblx0XHR0aGlzLmxvZ2dlci5lbnRyeShtZXRob2ROYW1lLCB0aGlzLnNlbGVjdGVkTGV2ZWwpO1xuXG5cdFx0dGhpcy5sb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5sZXZlbCA9IHRoaXMuc2VsZWN0ZWRMZXZlbDtcblxuXHRcdHRoaXMubG9nZ2VyLmV4aXQobWV0aG9kTmFtZSk7XG5cdH1cbn1cbiIsIjxpb24tc2VnbWVudCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTGV2ZWxcIiAoaW9uQ2hhbmdlKT1cIm9uTGV2ZWxDaGFuZ2VkKClcIj5cblx0PGlvbi1zZWdtZW50LWJ1dHRvbiAqbmdGb3I9XCJsZXQgbG9nTGV2ZWwgb2YgbG9nTGV2ZWxzXCIgW3ZhbHVlXT1cImxvZ0xldmVsXCI+XG5cdFx0PGlvbi1sYWJlbD57eyBsb2dMZXZlbCB9fTwvaW9uLWxhYmVsPlxuXHQ8L2lvbi1zZWdtZW50LWJ1dHRvbj5cbjwvaW9uLXNlZ21lbnQ+Il19
|
|
File without changes
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { ModalController, Platform, AlertController } from "@ionic/angular";
|
|
3
|
+
import { LoggingService } from "ionic-logging-service";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ionic/angular";
|
|
6
|
+
import * as i2 from "ionic-logging-service";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "../logging-viewer/logging-viewer.component";
|
|
9
|
+
import * as i5 from "../logging-viewer-search/logging-viewer-search.component";
|
|
10
|
+
import * as i6 from "../logging-viewer-levels/logging-viewer-levels.component";
|
|
11
|
+
/**
|
|
12
|
+
* Ionic modal containing [LoggingViewerComponent](LoggingViewerComponent.html),
|
|
13
|
+
* [LoggingViewerLevelsComponent](LoggingViewerLevelsComponent.html) and
|
|
14
|
+
* [LoggingViewerSearchComponent](LoggingViewerSearchComponent.html).
|
|
15
|
+
*/
|
|
16
|
+
export class LoggingViewerModalComponent {
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new instance of the component.
|
|
19
|
+
*/
|
|
20
|
+
constructor(platform, alertController, modalController, loggingService) {
|
|
21
|
+
this.alertController = alertController;
|
|
22
|
+
this.modalController = modalController;
|
|
23
|
+
this.loggingService = loggingService;
|
|
24
|
+
this.logger = loggingService.getLogger("Ionic.Logging.Viewer.Modal.Component");
|
|
25
|
+
const methodName = "ctor";
|
|
26
|
+
this.logger.entry(methodName);
|
|
27
|
+
this.isAndroid = platform.is("android");
|
|
28
|
+
this.logger.exit(methodName);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Initializes the LoggingViewerModalComponent.
|
|
32
|
+
* It configures the supported translations.
|
|
33
|
+
*/
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
// prepare translations
|
|
36
|
+
this.translations = {};
|
|
37
|
+
this.translations[LoggingViewerModalComponent.languageEn] = {
|
|
38
|
+
cancel: "Cancel",
|
|
39
|
+
confirmDelete: "Delete all log messages?",
|
|
40
|
+
ok: "Ok",
|
|
41
|
+
searchPlaceholder: "Search",
|
|
42
|
+
title: "Logging",
|
|
43
|
+
};
|
|
44
|
+
this.translations[LoggingViewerModalComponent.languageDe] = {
|
|
45
|
+
cancel: "Abbrechen",
|
|
46
|
+
confirmDelete: "Alle Logs löschen?",
|
|
47
|
+
ok: "Ok",
|
|
48
|
+
searchPlaceholder: "Suchen",
|
|
49
|
+
title: "Logging",
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Eventhandler called by Ionic when the modal is opened.
|
|
54
|
+
*/
|
|
55
|
+
ionViewDidEnter() {
|
|
56
|
+
const methodName = "ionViewDidEnter";
|
|
57
|
+
this.logger.entry(methodName);
|
|
58
|
+
this.logger.exit(methodName);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Eventhandler called when the cancel button is clicked.
|
|
62
|
+
*/
|
|
63
|
+
async onClose() {
|
|
64
|
+
const methodName = "onClose";
|
|
65
|
+
this.logger.entry(methodName);
|
|
66
|
+
await this.modalController.dismiss();
|
|
67
|
+
this.logger.exit(methodName);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Eventhandler called when the clear button is clicked.
|
|
71
|
+
*/
|
|
72
|
+
async onClearLogs() {
|
|
73
|
+
const methodName = "onClearLogs";
|
|
74
|
+
this.logger.entry(methodName);
|
|
75
|
+
const alert = await this.alertController.create({
|
|
76
|
+
header: this.getTranslation().confirmDelete,
|
|
77
|
+
buttons: [
|
|
78
|
+
{
|
|
79
|
+
text: this.getTranslation().cancel,
|
|
80
|
+
role: "cancel",
|
|
81
|
+
cssClass: "secondary"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
text: this.getTranslation().ok,
|
|
85
|
+
handler: () => {
|
|
86
|
+
this.clearLogs();
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
]
|
|
90
|
+
});
|
|
91
|
+
await alert.present();
|
|
92
|
+
this.logger.exit(methodName);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Clear logs.
|
|
96
|
+
*/
|
|
97
|
+
clearLogs() {
|
|
98
|
+
if (this.localStorageKeys) {
|
|
99
|
+
for (const localStorageKey of this.localStorageKeys.split(",")) {
|
|
100
|
+
this.loggingService.removeLogMessagesFromLocalStorage(localStorageKey);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this.loggingService.removeLogMessages();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Helper method returning the current translation:
|
|
109
|
+
* - the property translation if defined
|
|
110
|
+
* - the translation according property language if valid
|
|
111
|
+
* - English translation, otherwise
|
|
112
|
+
*/
|
|
113
|
+
getTranslation() {
|
|
114
|
+
if (typeof this.translation !== "undefined") {
|
|
115
|
+
return this.translation;
|
|
116
|
+
}
|
|
117
|
+
else if (typeof this.language !== "undefined" && typeof this.translations[this.language] === "object") {
|
|
118
|
+
return this.translations[this.language];
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
return this.translations[LoggingViewerModalComponent.languageEn];
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
LoggingViewerModalComponent.languageEn = "en";
|
|
126
|
+
LoggingViewerModalComponent.languageDe = "de";
|
|
127
|
+
LoggingViewerModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerModalComponent, deps: [{ token: i1.Platform }, { token: i1.AlertController }, { token: i1.ModalController }, { token: i2.LoggingService }], target: i0.ɵɵFactoryTarget.Component });
|
|
128
|
+
LoggingViewerModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: LoggingViewerModalComponent, selector: "ionic-logging-viewer-modal", inputs: { language: "language", translation: "translation", localStorageKeys: "localStorageKeys", allowClearLogs: "allowClearLogs" }, ngImport: i0, template: "<ion-header>\n\t<ion-toolbar color=primary>\n\t\t<ion-title>{{ getTranslation().title }}</ion-title>\n\t\t<ion-buttons slot=\"start\">\n\t\t\t<ion-button *ngIf=\"!isAndroid\" (click)=\"onClose()\">\n\t\t\t\t{{ getTranslation().cancel }}\n\t\t\t</ion-button>\n\t\t\t<ion-button *ngIf=\"isAndroid\" icon-only (click)=\"onClose()\">\n\t\t\t\t<ion-icon name=\"md-close\"></ion-icon>\n\t\t\t</ion-button>\n\t\t</ion-buttons>\n\t</ion-toolbar>\n\t<ion-toolbar>\n\t\t<ionic-logging-viewer-search [placeholder]=\"getTranslation().searchPlaceholder\"></ionic-logging-viewer-search>\n\t\t<ion-buttons slot=\"end\" *ngIf=\"allowClearLogs !== false\" class=\"clearLogs\">\n\t\t\t<ion-button (click)=\"onClearLogs()\">\n\t\t\t\t<ion-icon name=\"trash-outline\"></ion-icon>\n\t\t\t</ion-button>\n\t\t</ion-buttons>\n\t</ion-toolbar>\n\t<ion-toolbar>\n\t\t<ionic-logging-viewer-levels></ionic-logging-viewer-levels>\n\t</ion-toolbar>\n</ion-header>\n<ion-content>\n\t<ionic-logging-viewer [localStorageKeys]=\"localStorageKeys\"></ionic-logging-viewer>\n</ion-content>", styles: ["ionic-logging-viewer-levels{width:100%;padding-left:12px;padding-right:12px}.clearLogs{padding-top:3px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i4.LoggingViewerComponent, selector: "ionic-logging-viewer", inputs: ["localStorageKeys"] }, { kind: "component", type: i5.LoggingViewerSearchComponent, selector: "ionic-logging-viewer-search", inputs: ["placeholder"] }, { kind: "component", type: i6.LoggingViewerLevelsComponent, selector: "ionic-logging-viewer-levels" }] });
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerModalComponent, decorators: [{
|
|
130
|
+
type: Component,
|
|
131
|
+
args: [{ selector: "ionic-logging-viewer-modal", template: "<ion-header>\n\t<ion-toolbar color=primary>\n\t\t<ion-title>{{ getTranslation().title }}</ion-title>\n\t\t<ion-buttons slot=\"start\">\n\t\t\t<ion-button *ngIf=\"!isAndroid\" (click)=\"onClose()\">\n\t\t\t\t{{ getTranslation().cancel }}\n\t\t\t</ion-button>\n\t\t\t<ion-button *ngIf=\"isAndroid\" icon-only (click)=\"onClose()\">\n\t\t\t\t<ion-icon name=\"md-close\"></ion-icon>\n\t\t\t</ion-button>\n\t\t</ion-buttons>\n\t</ion-toolbar>\n\t<ion-toolbar>\n\t\t<ionic-logging-viewer-search [placeholder]=\"getTranslation().searchPlaceholder\"></ionic-logging-viewer-search>\n\t\t<ion-buttons slot=\"end\" *ngIf=\"allowClearLogs !== false\" class=\"clearLogs\">\n\t\t\t<ion-button (click)=\"onClearLogs()\">\n\t\t\t\t<ion-icon name=\"trash-outline\"></ion-icon>\n\t\t\t</ion-button>\n\t\t</ion-buttons>\n\t</ion-toolbar>\n\t<ion-toolbar>\n\t\t<ionic-logging-viewer-levels></ionic-logging-viewer-levels>\n\t</ion-toolbar>\n</ion-header>\n<ion-content>\n\t<ionic-logging-viewer [localStorageKeys]=\"localStorageKeys\"></ionic-logging-viewer>\n</ion-content>", styles: ["ionic-logging-viewer-levels{width:100%;padding-left:12px;padding-right:12px}.clearLogs{padding-top:3px}\n"] }]
|
|
132
|
+
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: i1.AlertController }, { type: i1.ModalController }, { type: i2.LoggingService }]; }, propDecorators: { language: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], translation: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], localStorageKeys: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], allowClearLogs: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}] } });
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy12aWV3ZXItbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW9uaWMtbG9nZ2luZy12aWV3ZXIvc3JjL2xpYi9sb2dnaW5nLXZpZXdlci1tb2RhbC9sb2dnaW5nLXZpZXdlci1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb25pYy1sb2dnaW5nLXZpZXdlci9zcmMvbGliL2xvZ2dpbmctdmlld2VyLW1vZGFsL2xvZ2dpbmctdmlld2VyLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVFLE9BQU8sRUFBVSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFJL0Q7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTywyQkFBMkI7SUF3Q3ZDOztPQUVHO0lBQ0gsWUFDQyxRQUFrQixFQUNWLGVBQWdDLEVBQ2hDLGVBQWdDLEVBQ2hDLGNBQThCO1FBRjlCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRXRDLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLE1B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QUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXLElBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDeEcsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pFO0lBQ0YsQ0FBQzs7QUE1SmMsc0NBQVUsR0FBRyxJQUFLLENBQUE7QUFDbEIsc0NBQVUsR0FBRyxJQUFLLENBQUE7d0hBSHJCLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHdNQ2xCeEMsK2hDQTBCYzsyRkRSRCwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0MsNEJBQTRCO3dMQWMvQixRQUFRO3NCQURkLEtBQUs7Z0JBUUMsV0FBVztzQkFEakIsS0FBSztnQkFPQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBT0MsY0FBYztzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciwgUGxhdGZvcm0sIEFsZXJ0Q29udHJvbGxlciB9IGZyb20gXCJAaW9uaWMvYW5ndWxhclwiO1xuXG5pbXBvcnQgeyBMb2dnZXIsIExvZ2dpbmdTZXJ2aWNlIH0gZnJvbSBcImlvbmljLWxvZ2dpbmctc2VydmljZVwiO1xuXG5pbXBvcnQgeyBMb2dnaW5nVmlld2VyVHJhbnNsYXRpb24gfSBmcm9tIFwiLi4vbG9nZ2luZy12aWV3ZXItdHJhbnNsYXRpb24ubW9kZWxcIjtcblxuLyoqXG4gKiBJb25pYyBtb2RhbCBjb250YWluaW5nIFtMb2dnaW5nVmlld2VyQ29tcG9uZW50XShMb2dnaW5nVmlld2VyQ29tcG9uZW50Lmh0bWwpLFxuICogW0xvZ2dpbmdWaWV3ZXJMZXZlbHNDb21wb25lbnRdKExvZ2dpbmdWaWV3ZXJMZXZlbHNDb21wb25lbnQuaHRtbCkgYW5kXG4gKiBbTG9nZ2luZ1ZpZXdlclNlYXJjaENvbXBvbmVudF0oTG9nZ2luZ1ZpZXdlclNlYXJjaENvbXBvbmVudC5odG1sKS5cbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcImlvbmljLWxvZ2dpbmctdmlld2VyLW1vZGFsXCIsXG5cdHRlbXBsYXRlVXJsOiBcIi4vbG9nZ2luZy12aWV3ZXItbW9kYWwuY29tcG9uZW50Lmh0bWxcIixcblx0c3R5bGVVcmxzOiBbXCIuL2xvZ2dpbmctdmlld2VyLW1vZGFsLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2dpbmdWaWV3ZXJNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cblx0cHJpdmF0ZSBzdGF0aWMgbGFuZ3VhZ2VFbiA9IFwiZW5cIjtcblx0cHJpdmF0ZSBzdGF0aWMgbGFuZ3VhZ2VEZSA9IFwiZGVcIjtcblxuXHQvKipcblx0ICogTGFuZ3VhZ2UgdG8gYmUgdXNlZCBmb3IgdGhlIG1vZGFsLlxuXHQgKiBDdXJyZW50bHkgc3VwcG9ydGVkOiBlbiwgZGVcblx0ICovXG5cdEBJbnB1dCgpXG5cdHB1YmxpYyBsYW5ndWFnZTogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUcmFuc2xhdGlvbiB0byBiZSB1c2VkIGZvciB0aGUgbW9kYWwuXG5cdCAqIElmIHNwZWNpZmllZCwgdGhlIGxhbmd1YWdlIGlzIGlnbm9yZWQuXG5cdCAqL1xuXHRASW5wdXQoKVxuXHRwdWJsaWMgdHJhbnNsYXRpb246IExvZ2dpbmdWaWV3ZXJUcmFuc2xhdGlvbjtcblxuXHQvKipcblx0ICogQ29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbG9jYWxTdG9yYWdlS2V5cy4gSWYgc2V0LCB0aGUgbG9ncyBnZXQgbG9hZGVkIGZyb20gbG9jYWxTdG9yYWdlIGluc3RlYWQgb2YgbWVtb3J5LlxuXHQgKi9cblx0QElucHV0KClcblx0cHVibGljIGxvY2FsU3RvcmFnZUtleXM6IHN0cmluZztcblxuXHQvKipcblx0ICogRmxhZyBzaG93aW5nIGEgZGVsZXRlIGJ1dHRvbiwgd2hpY2ggcmVtb3ZlcyBhbGwgZXhpc3RpbmcgbG9nIG1lc3NhZ2VzLlxuXHQgKi9cblx0QElucHV0KClcblx0cHVibGljIGFsbG93Q2xlYXJMb2dzOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBGbGFnIGNvbnRyb2xsaW5nIHdoaWNoIGNsb3NlIGJ1dHRvbiB3aWxsIGJlIHNob3duLlxuXHQgKi9cblx0cHVibGljIGlzQW5kcm9pZDogYm9vbGVhbjtcblxuXHRwcml2YXRlIGxvZ2dlcjogTG9nZ2VyO1xuXG5cdHByaXZhdGUgdHJhbnNsYXRpb25zOiB7IFtsYW5ndWFnZTogc3RyaW5nXTogTG9nZ2luZ1ZpZXdlclRyYW5zbGF0aW9uIH07XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIGNvbXBvbmVudC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHBsYXRmb3JtOiBQbGF0Zm9ybSxcblx0XHRwcml2YXRlIGFsZXJ0Q29udHJvbGxlcjogQWxlcnRDb250cm9sbGVyLFxuXHRcdHByaXZhdGUgbW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIsXG5cdFx0cHJpdmF0ZSBsb2dnaW5nU2VydmljZTogTG9nZ2luZ1NlcnZpY2UpIHtcblxuXHRcdHRoaXMubG9nZ2VyID0gbG9nZ2luZ1NlcnZpY2UuZ2V0TG9nZ2VyKFwiSW9uaWMuTG9nZ2luZy5WaWV3ZXIuTW9kYWwuQ29tcG9uZW50XCIpO1xuXHRcdGNvbnN0IG1ldGhvZE5hbWUgPSBcImN0b3JcIjtcblx0XHR0aGlzLmxvZ2dlci5lbnRyeShtZXRob2ROYW1lKTtcblxuXHRcdHRoaXMuaXNBbmRyb2lkID0gcGxhdGZvcm0uaXMoXCJhbmRyb2lkXCIpO1xuXG5cdFx0dGhpcy5sb2dnZXIuZXhpdChtZXRob2ROYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbml0aWFsaXplcyB0aGUgTG9nZ2luZ1ZpZXdlck1vZGFsQ29tcG9uZW50LlxuXHQgKiBJdCBjb25maWd1cmVzIHRoZSBzdXBwb3J0ZWQgdHJhbnNsYXRpb25zLlxuXHQgKi9cblx0cHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdC8vIHByZXBhcmUgdHJhbnNsYXRpb25zXG5cdFx0dGhpcy50cmFuc2xhdGlvbnMgPSB7fTtcblx0XHR0aGlzLnRyYW5zbGF0aW9uc1tMb2dnaW5nVmlld2VyTW9kYWxDb21wb25lbnQubGFuZ3VhZ2VFbl0gPSB7XG5cdFx0XHRjYW5jZWw6IFwiQ2FuY2VsXCIsXG5cdFx0XHRjb25maXJtRGVsZXRlOiBcIkRlbGV0ZSBhbGwgbG9nIG1lc3NhZ2VzP1wiLFxuXHRcdFx0b2s6IFwiT2tcIixcblx0XHRcdHNlYXJjaFBsYWNlaG9sZGVyOiBcIlNlYXJjaFwiLFxuXHRcdFx0dGl0bGU6IFwiTG9nZ2luZ1wiLFxuXHRcdH07XG5cdFx0dGhpcy50cmFuc2xhdGlvbnNbTG9nZ2luZ1ZpZXdlck1vZGFsQ29tcG9uZW50Lmxhbmd1YWdlRGVdID0ge1xuXHRcdFx0Y2FuY2VsOiBcIkFiYnJlY2hlblwiLFxuXHRcdFx0Y29uZmlybURlbGV0ZTogXCJBbGxlIExvZ3MgbMO2c2NoZW4/XCIsXG5cdFx0XHRvazogXCJPa1wiLFxuXHRcdFx0c2VhcmNoUGxhY2Vob2xkZXI6IFwiU3VjaGVuXCIsXG5cdFx0XHR0aXRsZTogXCJMb2dnaW5nXCIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBFdmVudGhhbmRsZXIgY2FsbGVkIGJ5IElvbmljIHdoZW4gdGhlIG1vZGFsIGlzIG9wZW5lZC5cblx0ICovXG5cdHB1YmxpYyBpb25WaWV3RGlkRW50ZXIoKTogdm9pZCB7XG5cdFx0Y29uc3QgbWV0aG9kTmFtZSA9IFwiaW9uVmlld0RpZEVudGVyXCI7XG5cdFx0dGhpcy5sb2dnZXIuZW50cnkobWV0aG9kTmFtZSk7XG5cblx0XHR0aGlzLmxvZ2dlci5leGl0KG1ldGhvZE5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV2ZW50aGFuZGxlciBjYWxsZWQgd2hlbiB0aGUgY2FuY2VsIGJ1dHRvbiBpcyBjbGlja2VkLlxuXHQgKi9cblx0cHVibGljIGFzeW5jIG9uQ2xvc2UoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgbWV0aG9kTmFtZSA9IFwib25DbG9zZVwiO1xuXHRcdHRoaXMubG9nZ2VyLmVudHJ5KG1ldGhvZE5hbWUpO1xuXG5cdFx0YXdhaXQgdGhpcy5tb2RhbENvbnRyb2xsZXIuZGlzbWlzcygpO1xuXG5cdFx0dGhpcy5sb2dnZXIuZXhpdChtZXRob2ROYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBFdmVudGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuXHQgKi9cblx0cHVibGljIGFzeW5jIG9uQ2xlYXJMb2dzKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGNvbnN0IG1ldGhvZE5hbWUgPSBcIm9uQ2xlYXJMb2dzXCI7XG5cdFx0dGhpcy5sb2dnZXIuZW50cnkobWV0aG9kTmFtZSk7XG5cblx0XHRjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDb250cm9sbGVyLmNyZWF0ZSh7XG5cdFx0XHRoZWFkZXI6IHRoaXMuZ2V0VHJhbnNsYXRpb24oKS5jb25maXJtRGVsZXRlLFxuXHRcdFx0YnV0dG9uczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0dGV4dDogdGhpcy5nZXRUcmFuc2xhdGlvbigpLmNhbmNlbCxcblx0XHRcdFx0XHRyb2xlOiBcImNhbmNlbFwiLFxuXHRcdFx0XHRcdGNzc0NsYXNzOiBcInNlY29uZGFyeVwiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHR0ZXh0OiB0aGlzLmdldFRyYW5zbGF0aW9uKCkub2ssXG5cdFx0XHRcdFx0aGFuZGxlcjogKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5jbGVhckxvZ3MoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRdXG5cdFx0fSk7XG5cdFx0YXdhaXQgYWxlcnQucHJlc2VudCgpO1xuXG5cdFx0dGhpcy5sb2dnZXIuZXhpdChtZXRob2ROYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDbGVhciBsb2dzLlxuXHQgKi9cblx0cHVibGljIGNsZWFyTG9ncygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5sb2NhbFN0b3JhZ2VLZXlzKSB7XG5cdFx0XHRmb3IgKGNvbnN0IGxvY2FsU3RvcmFnZUtleSBvZiB0aGlzLmxvY2FsU3RvcmFnZUtleXMuc3BsaXQoXCIsXCIpKSB7XG5cdFx0XHRcdHRoaXMubG9nZ2luZ1NlcnZpY2UucmVtb3ZlTG9nTWVzc2FnZXNGcm9tTG9jYWxTdG9yYWdlKGxvY2FsU3RvcmFnZUtleSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMubG9nZ2luZ1NlcnZpY2UucmVtb3ZlTG9nTWVzc2FnZXMoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogSGVscGVyIG1ldGhvZCByZXR1cm5pbmcgdGhlIGN1cnJlbnQgdHJhbnNsYXRpb246XG5cdCAqIC0gdGhlIHByb3BlcnR5IHRyYW5zbGF0aW9uIGlmIGRlZmluZWRcblx0ICogLSB0aGUgdHJhbnNsYXRpb24gYWNjb3JkaW5nIHByb3BlcnR5IGxhbmd1YWdlIGlmIHZhbGlkXG5cdCAqIC0gRW5nbGlzaCB0cmFuc2xhdGlvbiwgb3RoZXJ3aXNlXG5cdCAqL1xuXHRwdWJsaWMgZ2V0VHJhbnNsYXRpb24oKTogTG9nZ2luZ1ZpZXdlclRyYW5zbGF0aW9uIHtcblx0XHRpZiAodHlwZW9mIHRoaXMudHJhbnNsYXRpb24gIT09IFwidW5kZWZpbmVkXCIpIHtcblx0XHRcdHJldHVybiB0aGlzLnRyYW5zbGF0aW9uO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHRoaXMubGFuZ3VhZ2UgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIHRoaXMudHJhbnNsYXRpb25zW3RoaXMubGFuZ3VhZ2VdID09PSBcIm9iamVjdFwiKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy50cmFuc2xhdGlvbnNbdGhpcy5sYW5ndWFnZV07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB0aGlzLnRyYW5zbGF0aW9uc1tMb2dnaW5nVmlld2VyTW9kYWxDb21wb25lbnQubGFuZ3VhZ2VFbl07XG5cdFx0fVxuXHR9XG59XG4iLCI8aW9uLWhlYWRlcj5cblx0PGlvbi10b29sYmFyIGNvbG9yPXByaW1hcnk+XG5cdFx0PGlvbi10aXRsZT57eyBnZXRUcmFuc2xhdGlvbigpLnRpdGxlIH19PC9pb24tdGl0bGU+XG5cdFx0PGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuXHRcdFx0PGlvbi1idXR0b24gKm5nSWY9XCIhaXNBbmRyb2lkXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuXHRcdFx0XHR7eyBnZXRUcmFuc2xhdGlvbigpLmNhbmNlbCB9fVxuXHRcdFx0PC9pb24tYnV0dG9uPlxuXHRcdFx0PGlvbi1idXR0b24gKm5nSWY9XCJpc0FuZHJvaWRcIiBpY29uLW9ubHkgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuXHRcdFx0XHQ8aW9uLWljb24gbmFtZT1cIm1kLWNsb3NlXCI+PC9pb24taWNvbj5cblx0XHRcdDwvaW9uLWJ1dHRvbj5cblx0XHQ8L2lvbi1idXR0b25zPlxuXHQ8L2lvbi10b29sYmFyPlxuXHQ8aW9uLXRvb2xiYXI+XG5cdFx0PGlvbmljLWxvZ2dpbmctdmlld2VyLXNlYXJjaCBbcGxhY2Vob2xkZXJdPVwiZ2V0VHJhbnNsYXRpb24oKS5zZWFyY2hQbGFjZWhvbGRlclwiPjwvaW9uaWMtbG9nZ2luZy12aWV3ZXItc2VhcmNoPlxuXHRcdDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCIgKm5nSWY9XCJhbGxvd0NsZWFyTG9ncyAhPT0gZmFsc2VcIiBjbGFzcz1cImNsZWFyTG9nc1wiPlxuXHRcdFx0PGlvbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xlYXJMb2dzKClcIj5cblx0XHRcdFx0PGlvbi1pY29uIG5hbWU9XCJ0cmFzaC1vdXRsaW5lXCI+PC9pb24taWNvbj5cblx0XHRcdDwvaW9uLWJ1dHRvbj5cblx0XHQ8L2lvbi1idXR0b25zPlxuXHQ8L2lvbi10b29sYmFyPlxuXHQ8aW9uLXRvb2xiYXI+XG5cdFx0PGlvbmljLWxvZ2dpbmctdmlld2VyLWxldmVscz48L2lvbmljLWxvZ2dpbmctdmlld2VyLWxldmVscz5cblx0PC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cbjxpb24tY29udGVudD5cblx0PGlvbmljLWxvZ2dpbmctdmlld2VyIFtsb2NhbFN0b3JhZ2VLZXlzXT1cImxvY2FsU3RvcmFnZUtleXNcIj48L2lvbmljLWxvZ2dpbmctdmlld2VyPlxuPC9pb24tY29udGVudD4iXX0=
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { LoggingService } from "ionic-logging-service";
|
|
3
|
+
import { LoggingViewerFilterService } from "../logging-viewer-filter.service";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "ionic-logging-service";
|
|
6
|
+
import * as i2 from "../logging-viewer-filter.service";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@ionic/angular";
|
|
9
|
+
/**
|
|
10
|
+
* Component for displaying the search bar for filtering the current logs.
|
|
11
|
+
*
|
|
12
|
+
* The component can be embedded in any web page using:
|
|
13
|
+
*
|
|
14
|
+
* <ionic-logging-viewer-search placeholder="Search"></ionic-logging-viewer-search>
|
|
15
|
+
*/
|
|
16
|
+
export class LoggingViewerSearchComponent {
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new instance of the component.
|
|
19
|
+
*/
|
|
20
|
+
constructor(loggingService, loggingViewerFilterService) {
|
|
21
|
+
this.loggingViewerFilterService = loggingViewerFilterService;
|
|
22
|
+
this.logger = loggingService.getLogger("Ionic.Logging.Viewer.Search.Component");
|
|
23
|
+
const methodName = "ctor";
|
|
24
|
+
this.logger.entry(methodName);
|
|
25
|
+
this.logger.exit(methodName);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Initialize the component.
|
|
29
|
+
*
|
|
30
|
+
* This is done by reading the filter data from [LoggingViewerFilterService](LoggingViewerFilterService.html).
|
|
31
|
+
*/
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
const methodName = "ngOnInit";
|
|
34
|
+
this.logger.entry(methodName);
|
|
35
|
+
if (!this.placeholder) {
|
|
36
|
+
this.placeholder = "Search";
|
|
37
|
+
}
|
|
38
|
+
this.search = this.loggingViewerFilterService.search;
|
|
39
|
+
// subscribe to loggingViewerFilterService.filterChanged event, to refresh,
|
|
40
|
+
// when someone else modifies the search value
|
|
41
|
+
this.filterChangedSubscription = this.loggingViewerFilterService.filterChanged.subscribe(() => {
|
|
42
|
+
this.search = this.loggingViewerFilterService.search;
|
|
43
|
+
});
|
|
44
|
+
this.logger.exit(methodName);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Clean up.
|
|
48
|
+
*/
|
|
49
|
+
ngOnDestroy() {
|
|
50
|
+
const methodName = "ngOnDestroy";
|
|
51
|
+
this.logger.entry(methodName);
|
|
52
|
+
this.filterChangedSubscription.unsubscribe();
|
|
53
|
+
this.logger.exit(methodName);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Callback when the search value was changed in the UI.
|
|
57
|
+
*/
|
|
58
|
+
onSearchChanged() {
|
|
59
|
+
const methodName = "onSearchChanged";
|
|
60
|
+
this.logger.entry(methodName, this.search);
|
|
61
|
+
this.loggingViewerFilterService.search = this.search;
|
|
62
|
+
this.logger.exit(methodName);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
LoggingViewerSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerSearchComponent, deps: [{ token: i1.LoggingService }, { token: i2.LoggingViewerFilterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
LoggingViewerSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: LoggingViewerSearchComponent, selector: "ionic-logging-viewer-search", inputs: { placeholder: "placeholder" }, ngImport: i0, template: "<ion-searchbar placeholder=\"{{placeholder}}\" [(ngModel)]=\"search\" (ionChange)=\"onSearchChanged()\"></ion-searchbar>", styles: ["ion-searchbar{padding-top:3px;padding-bottom:0}\n"], dependencies: [{ kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "directive", type: i4.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }] });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoggingViewerSearchComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: "ionic-logging-viewer-search", template: "<ion-searchbar placeholder=\"{{placeholder}}\" [(ngModel)]=\"search\" (ionChange)=\"onSearchChanged()\"></ion-searchbar>", styles: ["ion-searchbar{padding-top:3px;padding-bottom:0}\n"] }]
|
|
70
|
+
}], ctorParameters: function () { return [{ type: i1.LoggingService }, { type: i2.LoggingViewerFilterService }]; }, propDecorators: { placeholder: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}] } });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy12aWV3ZXItc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvbmljLWxvZ2dpbmctdmlld2VyL3NyYy9saWIvbG9nZ2luZy12aWV3ZXItc2VhcmNoL2xvZ2dpbmctdmlld2VyLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb25pYy1sb2dnaW5nLXZpZXdlci9zcmMvbGliL2xvZ2dpbmctdmlld2VyLXNlYXJjaC9sb2dnaW5nLXZpZXdlci1zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXBFLE9BQU8sRUFBRSxjQUFjLEVBQVUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7O0FBRTlFOzs7Ozs7R0FNRztBQU1ILE1BQU0sT0FBTyw0QkFBNEI7SUFnQnhDOztPQUVHO0lBQ0gsWUFDQyxjQUE4QixFQUN0QiwwQkFBc0Q7UUFBdEQsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUU5RCxJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUNoRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRO1FBQ2QsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDO1FBRXJELDJFQUEyRTtRQUMzRSw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3RixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUNyQixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUVyRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDOzt5SEEzRVcsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsMkdDcEJ6QywwSEFBa0g7MkZEb0JyRyw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0MsNkJBQTZCOzhJQVVoQyxXQUFXO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuXG5pbXBvcnQgeyBMb2dnaW5nU2VydmljZSwgTG9nZ2VyIH0gZnJvbSBcImlvbmljLWxvZ2dpbmctc2VydmljZVwiO1xuXG5pbXBvcnQgeyBMb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZSB9IGZyb20gXCIuLi9sb2dnaW5nLXZpZXdlci1maWx0ZXIuc2VydmljZVwiO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgZGlzcGxheWluZyB0aGUgc2VhcmNoIGJhciBmb3IgZmlsdGVyaW5nIHRoZSBjdXJyZW50IGxvZ3MuXG4gKlxuICogVGhlIGNvbXBvbmVudCBjYW4gYmUgZW1iZWRkZWQgaW4gYW55IHdlYiBwYWdlIHVzaW5nOlxuICpcbiAqICZsdDtpb25pYy1sb2dnaW5nLXZpZXdlci1zZWFyY2ggcGxhY2Vob2xkZXI9XCJTZWFyY2hcIj4mbHQ7L2lvbmljLWxvZ2dpbmctdmlld2VyLXNlYXJjaD5cbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcImlvbmljLWxvZ2dpbmctdmlld2VyLXNlYXJjaFwiLFxuXHR0ZW1wbGF0ZVVybDogXCIuL2xvZ2dpbmctdmlld2VyLXNlYXJjaC5jb21wb25lbnQuaHRtbFwiLFxuXHRzdHlsZVVybHM6IFtcIi4vbG9nZ2luZy12aWV3ZXItc2VhcmNoLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2dpbmdWaWV3ZXJTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cblx0LyoqXG5cdCAqIFBsYWNlaG9sZGVyIHRvIGJlIHNob3duIGluIHRoZSBlbXB0eSBzZWFyY2ggYmFyLlxuXHQgKi9cblx0QElucHV0KClcblx0cHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEN1cnJlbnQgc2VhcmNoIHZhbHVlLlxuXHQgKi9cblx0cHVibGljIHNlYXJjaDogc3RyaW5nO1xuXG5cdHByaXZhdGUgbG9nZ2VyOiBMb2dnZXI7XG5cdHByaXZhdGUgZmlsdGVyQ2hhbmdlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqL1xuXHRjb25zdHJ1Y3Rvcihcblx0XHRsb2dnaW5nU2VydmljZTogTG9nZ2luZ1NlcnZpY2UsXG5cdFx0cHJpdmF0ZSBsb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZTogTG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2UpIHtcblxuXHRcdHRoaXMubG9nZ2VyID0gbG9nZ2luZ1NlcnZpY2UuZ2V0TG9nZ2VyKFwiSW9uaWMuTG9nZ2luZy5WaWV3ZXIuU2VhcmNoLkNvbXBvbmVudFwiKTtcblx0XHRjb25zdCBtZXRob2ROYW1lID0gXCJjdG9yXCI7XG5cdFx0dGhpcy5sb2dnZXIuZW50cnkobWV0aG9kTmFtZSk7XG5cblx0XHR0aGlzLmxvZ2dlci5leGl0KG1ldGhvZE5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEluaXRpYWxpemUgdGhlIGNvbXBvbmVudC5cblx0ICpcblx0ICogVGhpcyBpcyBkb25lIGJ5IHJlYWRpbmcgdGhlIGZpbHRlciBkYXRhIGZyb20gW0xvZ2dpbmdWaWV3ZXJGaWx0ZXJTZXJ2aWNlXShMb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5odG1sKS5cblx0ICovXG5cdHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHRjb25zdCBtZXRob2ROYW1lID0gXCJuZ09uSW5pdFwiO1xuXHRcdHRoaXMubG9nZ2VyLmVudHJ5KG1ldGhvZE5hbWUpO1xuXG5cdFx0aWYgKCF0aGlzLnBsYWNlaG9sZGVyKSB7XG5cdFx0XHR0aGlzLnBsYWNlaG9sZGVyID0gXCJTZWFyY2hcIjtcblx0XHR9XG5cdFx0dGhpcy5zZWFyY2ggPSB0aGlzLmxvZ2dpbmdWaWV3ZXJGaWx0ZXJTZXJ2aWNlLnNlYXJjaDtcblxuXHRcdC8vIHN1YnNjcmliZSB0byBsb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5maWx0ZXJDaGFuZ2VkIGV2ZW50LCB0byByZWZyZXNoLFxuXHRcdC8vIHdoZW4gc29tZW9uZSBlbHNlIG1vZGlmaWVzIHRoZSBzZWFyY2ggdmFsdWVcblx0XHR0aGlzLmZpbHRlckNoYW5nZWRTdWJzY3JpcHRpb24gPSB0aGlzLmxvZ2dpbmdWaWV3ZXJGaWx0ZXJTZXJ2aWNlLmZpbHRlckNoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdHRoaXMuc2VhcmNoID0gdGhpcy5sb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5zZWFyY2g7XG5cdFx0fSk7XG5cblx0XHR0aGlzLmxvZ2dlci5leGl0KG1ldGhvZE5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENsZWFuIHVwLlxuXHQgKi9cblx0cHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdGNvbnN0IG1ldGhvZE5hbWUgPSBcIm5nT25EZXN0cm95XCI7XG5cdFx0dGhpcy5sb2dnZXIuZW50cnkobWV0aG9kTmFtZSk7XG5cblx0XHR0aGlzLmZpbHRlckNoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuXHRcdHRoaXMubG9nZ2VyLmV4aXQobWV0aG9kTmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2FsbGJhY2sgd2hlbiB0aGUgc2VhcmNoIHZhbHVlIHdhcyBjaGFuZ2VkIGluIHRoZSBVSS5cblx0ICovXG5cdHB1YmxpYyBvblNlYXJjaENoYW5nZWQoKTogdm9pZCB7XG5cdFx0Y29uc3QgbWV0aG9kTmFtZSA9IFwib25TZWFyY2hDaGFuZ2VkXCI7XG5cdFx0dGhpcy5sb2dnZXIuZW50cnkobWV0aG9kTmFtZSwgdGhpcy5zZWFyY2gpO1xuXG5cdFx0dGhpcy5sb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5zZWFyY2ggPSB0aGlzLnNlYXJjaDtcblxuXHRcdHRoaXMubG9nZ2VyLmV4aXQobWV0aG9kTmFtZSk7XG5cdH1cbn1cbiIsIjxpb24tc2VhcmNoYmFyIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiAoaW9uQ2hhbmdlKT1cIm9uU2VhcmNoQ2hhbmdlZCgpXCI+PC9pb24tc2VhcmNoYmFyPiJdfQ==
|
|
File without changes
|