ionic-logging-viewer
Version:
Viewer component for logs written by ionic-logging-service
73 lines • 10.9 kB
JavaScript
import { Component, Input } from "@angular/core";
import { LoggingService } from "ionic-logging-service";
import { LoggingViewerFilterService } from "../logging-viewer-filter.service";
import * as i0 from "@angular/core";
import * as i1 from "ionic-logging-service";
import * as i2 from "../logging-viewer-filter.service";
import * as i3 from "@angular/forms";
import * as i4 from "@ionic/angular";
/**
* Component for displaying the search bar for filtering the current logs.
*
* The component can be embedded in any web page using:
*
* <ionic-logging-viewer-search placeholder="Search"></ionic-logging-viewer-search>
*/
export class LoggingViewerSearchComponent {
/**
* Creates a new instance of the component.
*/
constructor(loggingService, loggingViewerFilterService) {
this.loggingViewerFilterService = loggingViewerFilterService;
this.logger = loggingService.getLogger("Ionic.Logging.Viewer.Search.Component");
const methodName = "ctor";
this.logger.entry(methodName);
this.logger.exit(methodName);
}
/**
* Initialize the component.
*
* This is done by reading the filter data from [LoggingViewerFilterService](LoggingViewerFilterService.html).
*/
ngOnInit() {
const methodName = "ngOnInit";
this.logger.entry(methodName);
if (!this.placeholder) {
this.placeholder = "Search";
}
this.search = this.loggingViewerFilterService.search;
// subscribe to loggingViewerFilterService.filterChanged event, to refresh,
// when someone else modifies the search value
this.filterChangedSubscription = this.loggingViewerFilterService.filterChanged.subscribe(() => {
this.search = this.loggingViewerFilterService.search;
});
this.logger.exit(methodName);
}
/**
* Clean up.
*/
ngOnDestroy() {
const methodName = "ngOnDestroy";
this.logger.entry(methodName);
this.filterChangedSubscription.unsubscribe();
this.logger.exit(methodName);
}
/**
* Callback when the search value was changed in the UI.
*/
onSearchChanged() {
const methodName = "onSearchChanged";
this.logger.entry(methodName, this.search);
this.loggingViewerFilterService.search = this.search;
this.logger.exit(methodName);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LoggingViewerSearchComponent, deps: [{ token: i1.LoggingService }, { token: i2.LoggingViewerFilterService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", 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", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "directive", type: i4.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LoggingViewerSearchComponent, decorators: [{
type: Component,
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"] }]
}], ctorParameters: () => [{ type: i1.LoggingService }, { type: i2.LoggingViewerFilterService }], propDecorators: { placeholder: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy12aWV3ZXItc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvbmljLWxvZ2dpbmctdmlld2VyL3NyYy9saWIvbG9nZ2luZy12aWV3ZXItc2VhcmNoL2xvZ2dpbmctdmlld2VyLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb25pYy1sb2dnaW5nLXZpZXdlci9zcmMvbGliL2xvZ2dpbmctdmlld2VyLXNlYXJjaC9sb2dnaW5nLXZpZXdlci1zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXBFLE9BQU8sRUFBRSxjQUFjLEVBQVUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7O0FBRTlFOzs7Ozs7R0FNRztBQU1ILE1BQU0sT0FBTyw0QkFBNEI7SUFnQnhDOztPQUVHO0lBQ0gsWUFDQyxjQUE4QixFQUN0QiwwQkFBc0Q7UUFBdEQsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUU5RCxJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUNoRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRO1FBQ2QsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQztRQUVyRCwyRUFBMkU7UUFDM0UsOENBQThDO1FBQzlDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNqQixNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTdDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWU7UUFDckIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs4R0EzRVcsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsMkdDcEJ6QywwSEFBa0g7OzJGRG9CckcsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNDLDZCQUE2Qjs0SEFVaEMsV0FBVztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgTG9nZ2luZ1NlcnZpY2UsIExvZ2dlciB9IGZyb20gXCJpb25pYy1sb2dnaW5nLXNlcnZpY2VcIjtcblxuaW1wb3J0IHsgTG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2UgfSBmcm9tIFwiLi4vbG9nZ2luZy12aWV3ZXItZmlsdGVyLnNlcnZpY2VcIjtcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgdGhlIHNlYXJjaCBiYXIgZm9yIGZpbHRlcmluZyB0aGUgY3VycmVudCBsb2dzLlxuICpcbiAqIFRoZSBjb21wb25lbnQgY2FuIGJlIGVtYmVkZGVkIGluIGFueSB3ZWIgcGFnZSB1c2luZzpcbiAqXG4gKiAmbHQ7aW9uaWMtbG9nZ2luZy12aWV3ZXItc2VhcmNoIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCI+Jmx0Oy9pb25pYy1sb2dnaW5nLXZpZXdlci1zZWFyY2g+XG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJpb25pYy1sb2dnaW5nLXZpZXdlci1zZWFyY2hcIixcblx0dGVtcGxhdGVVcmw6IFwiLi9sb2dnaW5nLXZpZXdlci1zZWFyY2guY29tcG9uZW50Lmh0bWxcIixcblx0c3R5bGVVcmxzOiBbXCIuL2xvZ2dpbmctdmlld2VyLXNlYXJjaC5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dnaW5nVmlld2VyU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG5cdC8qKlxuXHQgKiBQbGFjZWhvbGRlciB0byBiZSBzaG93biBpbiB0aGUgZW1wdHkgc2VhcmNoIGJhci5cblx0ICovXG5cdEBJbnB1dCgpXG5cdHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBDdXJyZW50IHNlYXJjaCB2YWx1ZS5cblx0ICovXG5cdHB1YmxpYyBzZWFyY2g6IHN0cmluZztcblxuXHRwcml2YXRlIGxvZ2dlcjogTG9nZ2VyO1xuXHRwcml2YXRlIGZpbHRlckNoYW5nZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50LlxuXHQgKi9cblx0Y29uc3RydWN0b3IoXG5cdFx0bG9nZ2luZ1NlcnZpY2U6IExvZ2dpbmdTZXJ2aWNlLFxuXHRcdHByaXZhdGUgbG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2U6IExvZ2dpbmdWaWV3ZXJGaWx0ZXJTZXJ2aWNlKSB7XG5cblx0XHR0aGlzLmxvZ2dlciA9IGxvZ2dpbmdTZXJ2aWNlLmdldExvZ2dlcihcIklvbmljLkxvZ2dpbmcuVmlld2VyLlNlYXJjaC5Db21wb25lbnRcIik7XG5cdFx0Y29uc3QgbWV0aG9kTmFtZSA9IFwiY3RvclwiO1xuXHRcdHRoaXMubG9nZ2VyLmVudHJ5KG1ldGhvZE5hbWUpO1xuXG5cdFx0dGhpcy5sb2dnZXIuZXhpdChtZXRob2ROYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbml0aWFsaXplIHRoZSBjb21wb25lbnQuXG5cdCAqXG5cdCAqIFRoaXMgaXMgZG9uZSBieSByZWFkaW5nIHRoZSBmaWx0ZXIgZGF0YSBmcm9tIFtMb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZV0oTG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2UuaHRtbCkuXG5cdCAqL1xuXHRwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG5cdFx0Y29uc3QgbWV0aG9kTmFtZSA9IFwibmdPbkluaXRcIjtcblx0XHR0aGlzLmxvZ2dlci5lbnRyeShtZXRob2ROYW1lKTtcblxuXHRcdGlmICghdGhpcy5wbGFjZWhvbGRlcikge1xuXHRcdFx0dGhpcy5wbGFjZWhvbGRlciA9IFwiU2VhcmNoXCI7XG5cdFx0fVxuXHRcdHRoaXMuc2VhcmNoID0gdGhpcy5sb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5zZWFyY2g7XG5cblx0XHQvLyBzdWJzY3JpYmUgdG8gbG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2UuZmlsdGVyQ2hhbmdlZCBldmVudCwgdG8gcmVmcmVzaCxcblx0XHQvLyB3aGVuIHNvbWVvbmUgZWxzZSBtb2RpZmllcyB0aGUgc2VhcmNoIHZhbHVlXG5cdFx0dGhpcy5maWx0ZXJDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5sb2dnaW5nVmlld2VyRmlsdGVyU2VydmljZS5maWx0ZXJDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHR0aGlzLnNlYXJjaCA9IHRoaXMubG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2Uuc2VhcmNoO1xuXHRcdH0pO1xuXG5cdFx0dGhpcy5sb2dnZXIuZXhpdChtZXRob2ROYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDbGVhbiB1cC5cblx0ICovXG5cdHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHRjb25zdCBtZXRob2ROYW1lID0gXCJuZ09uRGVzdHJveVwiO1xuXHRcdHRoaXMubG9nZ2VyLmVudHJ5KG1ldGhvZE5hbWUpO1xuXG5cdFx0dGhpcy5maWx0ZXJDaGFuZ2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cblx0XHR0aGlzLmxvZ2dlci5leGl0KG1ldGhvZE5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENhbGxiYWNrIHdoZW4gdGhlIHNlYXJjaCB2YWx1ZSB3YXMgY2hhbmdlZCBpbiB0aGUgVUkuXG5cdCAqL1xuXHRwdWJsaWMgb25TZWFyY2hDaGFuZ2VkKCk6IHZvaWQge1xuXHRcdGNvbnN0IG1ldGhvZE5hbWUgPSBcIm9uU2VhcmNoQ2hhbmdlZFwiO1xuXHRcdHRoaXMubG9nZ2VyLmVudHJ5KG1ldGhvZE5hbWUsIHRoaXMuc2VhcmNoKTtcblxuXHRcdHRoaXMubG9nZ2luZ1ZpZXdlckZpbHRlclNlcnZpY2Uuc2VhcmNoID0gdGhpcy5zZWFyY2g7XG5cblx0XHR0aGlzLmxvZ2dlci5leGl0KG1ldGhvZE5hbWUpO1xuXHR9XG59XG4iLCI8aW9uLXNlYXJjaGJhciBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiIFsobmdNb2RlbCldPVwic2VhcmNoXCIgKGlvbkNoYW5nZSk9XCJvblNlYXJjaENoYW5nZWQoKVwiPjwvaW9uLXNlYXJjaGJhcj4iXX0=