]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Remember last log type
authorChocobozzz <me@florianbigard.com>
Thu, 18 Feb 2021 13:24:30 +0000 (14:24 +0100)
committerChocobozzz <me@florianbigard.com>
Thu, 18 Feb 2021 13:24:30 +0000 (14:24 +0100)
client/src/app/+admin/system/logs/logs.component.ts
client/src/app/core/wrappers/storage.service.ts

index ad9d702d8365c29393092cdfbab54466beab05f1..48318f07baaa55b827e9df2ee4f243d5f1590ed4 100644 (file)
@@ -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<HTMLElement>
 
   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'
   }
 }
index ad3aca6b8c031cd67849883ff4c7dedf9281c69e..e0563c61121424e4ae0d6a72588798f8b692a6bc 100644 (file)
@@ -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 <T extends string> (key: string) {
+    return this.instance.getItem(key) as T
   }
 
   setItem (key: string, data: any, notifyOfUpdate = true) {