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>
9 [(ngModel)]=
"startDate"
10 (ngModelChange)=
"refresh()"
14 <ng-option *
ngFor=
"let time of timeChoices" [value]=
"time.id">
15 {{ time.label }} ({{ time.id | date: time.dateFormat }} -
<span i18n
>now
</span>)
21 (ngModelChange)=
"refresh()"
26 <ng-option *
ngFor=
"let levelChoice of levelChoices" [value]=
"levelChoice.id">
27 <span class=
"level-choice" [ngClass]=
"levelChoice.id">⬤</span> {{ levelChoice.label }}
31 <my-select-tags *
ngIf=
"!isAuditLog()" i18n-placeholder
placeholder=
"Filter logs by tags" [(ngModel)]=
"tagsOneOf" (ngModelChange)=
"refresh()"></my-select-tags>
33 <my-button i18n-label
label=
"Refresh" icon=
"refresh" (click)=
"refresh()"></my-button>
37 <div *
ngIf=
"loading" i18n
>Loading...
</div>
40 <div *
ngIf=
"!loading && logs.length === 0" i18n
>No log.
</div>
42 <div *
ngFor=
"let log of logs" class=
"log-row" [ngClass]=
"{ error: log.level === 'error', warn: log.level === 'warn' }">
43 <span class=
"log-level">{{ log.level }}
</span>
45 <span class=
"log-date">[{{ log.localeDate }}]
</span>
47 <strong class=
"log-by" *
ngIf=
"log.by" i18n
>By {{ log.by }} -
></strong>
48 <strong class=
"log-domain-action" *
ngIf=
"log.domain">{{ log.domain }} -
> {{ log.action }}
</strong>
52 <pre>{{ log.meta }}
</pre>