]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html
smaller miniature average size in fluid grid, updated admin instructions for global...
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / moderation / video-blacklist-list / video-blacklist-list.component.html
1 <p-table
2 [value]="blacklist" [lazy]="true" [paginator]="totalRecords > 0" [totalRecords]="totalRecords" [rows]="rowsPerPage" [rowsPerPageOptions]="rowsPerPageOptions"
3 [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)" dataKey="id"
4 [showCurrentPageReport]="true" i18n-currentPageReportTemplate
5 currentPageReportTemplate="Showing {{'{first}'}} to {{'{last}'}} of {{'{totalRecords}'}} blacklisted videos"
6 (onPage)="onPage($event)" [expandedRowKeys]="expandedRows"
7 >
8 <ng-template pTemplate="caption">
9 <div class="caption">
10 <div class="ml-auto has-feedback has-clear">
11 <input
12 type="text" name="table-filter" id="table-filter" i18n-placeholder placeholder="Filter..."
13 (keyup)="onSearch($event)"
14 >
15 <a class="glyphicon glyphicon-remove-sign form-control-feedback form-control-clear" (click)="resetSearch()"></a>
16 <span class="sr-only" i18n>Clear filters</span>
17 </div>
18 </div>
19 </ng-template>
20
21 <ng-template pTemplate="header">
22 <tr>
23 <th style="width: 40px"></th>
24 <th i18n pSortableColumn="name">Video <p-sortIcon field="name"></p-sortIcon></th>
25 <th style="width: 100px;" i18n>Sensitive</th>
26 <th style="width: 120px;" i18n>Unfederated</th>
27 <th style="width: 150px;" i18n pSortableColumn="createdAt">Date <p-sortIcon field="createdAt"></p-sortIcon></th>
28 <th style="width: 150px;"></th>
29 </tr>
30 </ng-template>
31
32 <ng-template pTemplate="body" let-videoBlacklist let-expanded="expanded">
33 <tr>
34 <td *ngIf="!videoBlacklist.reason"></td>
35 <td *ngIf="videoBlacklist.reason" class="expand-cell c-hand" [pRowToggler]="videoBlacklist" i18n-ngbTooltip ngbTooltip="More information" placement="top-left" container="body">
36 <span class="expander">
37 <i [ngClass]="expanded ? 'glyphicon glyphicon-menu-down' : 'glyphicon glyphicon-menu-right'"></i>
38 </span>
39 </td>
40
41 <td>
42 <a [href]="getVideoUrl(videoBlacklist)" class="video-table-video-link" i18n-title title="Open video in a new tab" target="_blank" rel="noopener noreferrer">
43 <div class="video-table-video">
44 <div class="video-table-video-image">
45 <img [src]="videoBlacklist.video.thumbnailPath">
46 </div>
47 <div class="video-table-video-text">
48 <div>
49 {{ videoBlacklist.video.name }}
50 <span i18n-title title="Video was blacklisted" class="glyphicon glyphicon-ban-circle"></span>
51 </div>
52 <div class="text-muted">by {{ videoBlacklist.video.channel?.displayName }} on {{ videoBlacklist.video.channel?.host }} </div>
53 </div>
54 </div>
55 </a>
56 </td>
57
58 <ng-container *ngIf="videoBlacklist.reason">
59 <td class="c-hand" [pRowToggler]="videoBlacklist">{{ booleanToText(videoBlacklist.video.nsfw) }}</td>
60 <td class="c-hand" [pRowToggler]="videoBlacklist">{{ booleanToText(videoBlacklist.unfederated) }}</td>
61 <td class="c-hand" [pRowToggler]="videoBlacklist">{{ videoBlacklist.createdAt | date: 'short' }}</td>
62 </ng-container>
63 <ng-container *ngIf="!videoBlacklist.reason">
64 <td>{{ booleanToText(videoBlacklist.video.nsfw) }}</td>
65 <td>{{ booleanToText(videoBlacklist.unfederated) }}</td>
66 <td>{{ videoBlacklist.createdAt | date: 'short' }}</td>
67 </ng-container>
68
69 <td class="action-cell">
70 <my-action-dropdown
71 [ngClass]="{ 'show': expanded }" placement="bottom-right" container="body"
72 i18n-label label="Actions" [actions]="videoBlacklistActions" [entry]="videoBlacklist"
73 ></my-action-dropdown>
74 </td>
75 </tr>
76 </ng-template>
77
78 <ng-template pTemplate="rowexpansion" let-videoBlacklist>
79 <tr>
80 <td class="expand-cell" colspan="6">
81 <div class="d-flex moderation-expanded">
82 <span class="col-2 moderation-expanded-label" i18n>Blacklist reason:</span>
83 <span class="col-9 moderation-expanded-text" [innerHTML]="videoBlacklist.reasonHtml"></span>
84 </div>
85 </td>
86 </tr>
87 </ng-template>
88
89 <ng-template pTemplate="emptymessage">
90 <tr>
91 <td colspan="6">
92 <div class="empty-table-message">
93 <ng-container *ngIf="search" i18n>No blacklisted video found matching current filters.</ng-container>
94 <ng-container *ngIf="!search" i18n>No blacklisted video found.</ng-container>
95 </div>
96 </td>
97 </tr>
98 </ng-template>
99 </p-table>
100