From 288bcd7a6002ebefc280d889c550b038d9dad502 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 18 Feb 2021 14:24:30 +0100 Subject: Remember last log type --- client/src/app/+admin/system/logs/logs.component.ts | 18 +++++++++++++++--- client/src/app/core/wrappers/storage.service.ts | 4 ++-- 2 files changed, 17 insertions(+), 5 deletions(-) (limited to 'client/src') diff --git a/client/src/app/+admin/system/logs/logs.component.ts b/client/src/app/+admin/system/logs/logs.component.ts index ad9d702d8..48318f07b 100644 --- a/client/src/app/+admin/system/logs/logs.component.ts +++ b/client/src/app/+admin/system/logs/logs.component.ts @@ -1,5 +1,5 @@ import { Component, ElementRef, OnInit, ViewChild } from '@angular/core' -import { Notifier } from '@app/core' +import { LocalStorageService, Notifier } from '@app/core' import { LogLevel } from '@shared/models' import { LogRow } from './log-row.model' import { LogsService } from './logs.service' @@ -9,6 +9,8 @@ import { LogsService } from './logs.service' styleUrls: [ './logs.component.scss' ] }) export class LogsComponent implements OnInit { + private static LOCAL_STORAGE_LOG_TYPE_CHOICE_KEY = 'admin-logs-log-type-choice' + @ViewChild('logsElement', { static: true }) logsElement: ElementRef loading = false @@ -24,7 +26,8 @@ export class LogsComponent implements OnInit { constructor ( private logsService: LogsService, - private notifier: Notifier + private notifier: Notifier, + private localStorage: LocalStorageService ) { } ngOnInit (): void { @@ -32,11 +35,16 @@ export class LogsComponent implements OnInit { this.buildLevelChoices() this.buildLogTypeChoices() + this.loadPreviousChoices() + this.load() } refresh () { this.logs = [] + + this.localStorage.setItem(LogsComponent.LOCAL_STORAGE_LOG_TYPE_CHOICE_KEY, this.logType) + this.load() } @@ -128,7 +136,11 @@ export class LogsComponent implements OnInit { label: $localize`Audit logs` } ] + } + + private loadPreviousChoices () { + this.logType = this.localStorage.getItem(LogsComponent.LOCAL_STORAGE_LOG_TYPE_CHOICE_KEY) - this.logType = 'audit' + if (this.logType !== 'standard' && this.logType !== 'audit') this.logType = 'audit' } } diff --git a/client/src/app/core/wrappers/storage.service.ts b/client/src/app/core/wrappers/storage.service.ts index ad3aca6b8..e0563c611 100644 --- a/client/src/app/core/wrappers/storage.service.ts +++ b/client/src/app/core/wrappers/storage.service.ts @@ -11,8 +11,8 @@ abstract class StorageService { return StorageService.storageSub.asObservable().pipe(filter(val => keys ? keys.includes(val) : true)) } - getItem (key: string) { - return this.instance.getItem(key) + getItem (key: string) { + return this.instance.getItem(key) as T } setItem (key: string, data: any, notifyOfUpdate = true) { -- cgit v1.2.3