]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+admin/system/logs/logs.component.html
b2c7f84bc76a89cdca86db565741f86601df86e9
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / system / logs / logs.component.html
1 <div class="header">
2 <div class="peertube-select-container">
3 <select [(ngModel)]="logType" (ngModelChange)="refresh()" class="form-control">
4 <option *ngFor="let logTypeChoice of logTypeChoices" [value]="logTypeChoice.id">{{ logTypeChoice.label }}</option>
5 </select>
6 </div>
7
8 <ng-select
9 [(ngModel)]="startDate"
10 (ngModelChange)="refresh()"
11 [clearable]="false"
12 [searchable]="false"
13 >
14 <ng-option *ngFor="let time of timeChoices" [value]="time.id">
15 {{ time.label }} ({{ time.id | date: time.dateFormat }} - <span i18n>now</span>)
16 </ng-option>
17 </ng-select>
18
19 <ng-select
20 [(ngModel)]="level"
21 (ngModelChange)="refresh()"
22 [clearable]="false"
23 [searchable]="false"
24 *ngIf="!isAuditLog()"
25 >
26 <ng-option *ngFor="let levelChoice of levelChoices" [value]="levelChoice.id">
27 <span class="level-choice" [ngClass]="levelChoice.id">&#11044;</span> {{ levelChoice.label }}
28 </ng-option>
29 </ng-select>
30
31 <my-button i18n-label label="Refresh" icon="refresh" (click)="refresh()"></my-button>
32 </div>
33
34 <div class="logs">
35 <div *ngIf="loading" i18n>Loading...</div>
36
37 <div #logsElement>
38 <div *ngIf="!loading && logs.length === 0" i18n>No log.</div>
39
40 <div *ngFor="let log of logs" class="log-row" [ngClass]="{ error: log.level === 'error', warn: log.level === 'warn' }">
41 <span class="log-level">{{ log.level }}</span>
42
43 <span class="log-date">[{{ log.localeDate }}]</span>
44
45 <strong class="log-by" *ngIf="log.by" i18n>By {{ log.by }} -></strong>
46 <strong class="log-domain-action" *ngIf="log.domain">{{ log.domain }} -> {{ log.action }}</strong>
47
48 {{ log.message }}
49
50 <pre>{{ log.meta }}</pre>
51 </div>
52 </div>
53 </div>