paperless-ngx/src-ui/src/app/components/manage/logs/logs.component.ts

52 lines
1.4 KiB
TypeScript
Raw Normal View History

2020-10-27 01:10:18 +01:00
import { Component, OnInit } from '@angular/core';
2020-12-07 22:15:56 +01:00
import { Title } from '@angular/platform-browser';
2020-11-02 15:56:14 +01:00
import { LOG_LEVELS, LOG_LEVEL_INFO, PaperlessLog } from 'src/app/data/paperless-log';
import { LogService } from 'src/app/services/rest/log.service';
2020-12-07 22:15:56 +01:00
import { environment } from 'src/environments/environment';
2020-10-27 01:10:18 +01:00
@Component({
selector: 'app-logs',
templateUrl: './logs.component.html',
styleUrls: ['./logs.component.scss']
2020-10-27 01:10:18 +01:00
})
export class LogsComponent implements OnInit {
2020-12-07 22:15:56 +01:00
constructor(private logService: LogService, private titleService: Title) { }
logs: PaperlessLog[] = []
2020-11-02 15:56:14 +01:00
level: number = LOG_LEVEL_INFO
2020-10-27 01:10:18 +01:00
ngOnInit(): void {
2020-11-02 15:56:14 +01:00
this.reload()
2020-12-07 22:15:56 +01:00
this.titleService.setTitle(`Logs - ${environment.appTitle}`)
2020-11-02 15:56:14 +01:00
}
reload() {
this.logService.list(1, 50, 'created', true, {'level__gte': this.level}).subscribe(result => this.logs = result.results)
}
getLevelText(level: number) {
return LOG_LEVELS.find(l => l.id == level)?.name
}
onScroll() {
let lastCreated = null
if (this.logs.length > 0) {
2020-11-12 10:05:19 +01:00
lastCreated = new Date(this.logs[this.logs.length-1].created).toISOString()
}
this.logService.list(1, 25, 'created', true, {'created__lt': lastCreated, 'level__gte': this.level}).subscribe(result => {
this.logs.push(...result.results)
})
2020-10-27 01:10:18 +01:00
}
2020-11-02 15:56:14 +01:00
getLevels() {
return LOG_LEVELS
}
setLevel(id) {
this.level = id
this.reload()
}
2020-10-27 01:10:18 +01:00
}