]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+admin/follows/following-list/following-list.component.html
Switching to a named filters/single input on video-abuse
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / follows / following-list / following-list.component.html
1 <p-table
2 [value]="following" [lazy]="true" [paginator]="totalRecords > 0" [totalRecords]="totalRecords" [rows]="rowsPerPage" [rowsPerPageOptions]="rowsPerPageOptions"
3 [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)"
4 [showCurrentPageReport]="true" i18n-currentPageReportTemplate
5 currentPageReportTemplate="Showing {first} to {last} of {totalRecords} hosts"
6 >
7 <ng-template pTemplate="caption">
8 <div class="caption">
9 <div class="ml-auto">
10 <input
11 type="text" name="table-filter" id="table-filter" i18n-placeholder placeholder="Filter..."
12 (keyup)="onSearch($event)"
13 >
14 </div>
15 <a class="ml-2 follow-button" (click)="addDomainsToFollow()" (key.enter)="addDomainsToFollow()">
16 <my-global-icon iconName="add"></my-global-icon>
17 <ng-container i18n>Follow domain</ng-container>
18 </a>
19 </div>
20 </ng-template>
21
22 <ng-template pTemplate="header">
23 <tr>
24 <th i18n>Host</th>
25 <th style="width: 100px;" i18n pSortableColumn="state">State <p-sortIcon field="state"></p-sortIcon></th>
26 <th style="width: 200px;" i18n pSortableColumn="createdAt">Created <p-sortIcon field="createdAt"></p-sortIcon></th>
27 <th style="width: 160px;" i18n pSortableColumn="redundancyAllowed">Redundancy allowed <p-sortIcon field="redundancyAllowed"></p-sortIcon></th>
28 <th style="width: 100px;"></th>
29 </tr>
30 </ng-template>
31
32 <ng-template pTemplate="body" let-follow>
33 <tr>
34 <td>
35 <a [href]="'https://' + follow.following.host" i18n-title title="Open instance in a new tab" target="_blank" rel="noopener noreferrer">
36 {{ follow.following.host }}
37 <span class="glyphicon glyphicon-new-window"></span>
38 </a>
39 </td>
40
41 <td *ngIf="follow.state === 'accepted'" i18n>Accepted</td>
42 <td *ngIf="follow.state === 'pending'" i18n>Pending</td>
43
44 <td>{{ follow.createdAt }}</td>
45 <td>
46 <my-redundancy-checkbox
47 [host]="follow.following.host" [redundancyAllowed]="follow.following.hostRedundancyAllowed"
48 ></my-redundancy-checkbox>
49 </td>
50 <td class="action-cell">
51 <my-delete-button (click)="removeFollowing(follow)"></my-delete-button>
52 </td>
53 </tr>
54 </ng-template>
55
56 <ng-template pTemplate="emptymessage">
57 <tr>
58 <td colspan="6">
59 <div class="empty-table-message">
60 <ng-container *ngIf="search" i18n>No host found matching current filters.</ng-container>
61 <ng-container *ngIf="!search" i18n>Your instance is not following anyone.</ng-container>
62 </div>
63 </td>
64 </tr>
65 </ng-template>
66 </p-table>
67
68 <my-batch-domains-modal #batchDomainsModal i18n-action action="Follow domains" (domains)="addFollowing($event)">
69 <ng-container ngProjectAs="warning">
70 <div i18n *ngIf="httpEnabled() === false" class="alert alert-warning">
71 It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers.
72 </div>
73 </ng-container>
74 </my-batch-domains-modal>