aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/+admin/users/user-list
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2018-02-23 14:36:16 +0100
committerChocobozzz <me@florianbigard.com>2018-02-23 14:36:16 +0100
commitab998f7b6dffbe461d830d3696cb46491ad6afb0 (patch)
treef819e4049ca62b5389fd31ebfcbcb6ffbe0eaf0b /client/src/app/+admin/users/user-list
parent621d99f53f47a11919ec243e05273ecf5907b444 (diff)
downloadPeerTube-ab998f7b6dffbe461d830d3696cb46491ad6afb0.tar.gz
PeerTube-ab998f7b6dffbe461d830d3696cb46491ad6afb0.tar.zst
PeerTube-ab998f7b6dffbe461d830d3696cb46491ad6afb0.zip
Improve admin tables
Diffstat (limited to 'client/src/app/+admin/users/user-list')
-rw-r--r--client/src/app/+admin/users/user-list/user-list.component.html44
-rw-r--r--client/src/app/+admin/users/user-list/user-list.component.ts10
2 files changed, 35 insertions, 19 deletions
diff --git a/client/src/app/+admin/users/user-list/user-list.component.html b/client/src/app/+admin/users/user-list/user-list.component.html
index 08f4caeb9..8dbe9ddc4 100644
--- a/client/src/app/+admin/users/user-list/user-list.component.html
+++ b/client/src/app/+admin/users/user-list/user-list.component.html
@@ -7,20 +7,32 @@
7 </a> 7 </a>
8</div> 8</div>
9 9
10<p-dataTable 10<p-table
11 [value]="users" [lazy]="true" [paginator]="true" [totalRecords]="totalRecords" [rows]="rowsPerPage" 11 [value]="users" [lazy]="true" [paginator]="true" [totalRecords]="totalRecords" [rows]="rowsPerPage"
12 sortField="id" (onLazyLoad)="loadLazy($event)" 12 [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)"
13> 13>
14 <p-column field="id" header="ID" [sortable]="true" [style]="{ width: '60px' }"></p-column> 14 <ng-template pTemplate="header">
15 <p-column field="username" header="Username" [sortable]="true"></p-column> 15 <tr>
16 <p-column field="email" header="Email"></p-column> 16 <th pSortableColumn="username">Username <p-sortIcon field="username"></p-sortIcon></th>
17 <p-column field="videoQuota" header="Video quota"></p-column> 17 <th>Email</th>
18 <p-column field="roleLabel" header="Role"></p-column> 18 <th>Video quota</th>
19 <p-column field="createdAt" header="Created date" [sortable]="true"></p-column> 19 <th>Role</th>
20 <p-column styleClass="action-cell"> 20 <th pSortableColumn="createdAt">Created <p-sortIcon field="createdAt"></p-sortIcon></th>
21 <ng-template pTemplate="body" let-user="rowData"> 21 <th></th>
22 <my-edit-button [routerLink]="getRouterUserEditLink(user)"></my-edit-button> 22 </tr>
23 <my-delete-button (click)="removeUser(user)"></my-delete-button> 23 </ng-template>
24 </ng-template> 24
25 </p-column> 25 <ng-template pTemplate="body" let-user>
26</p-dataTable> 26 <tr>
27 <td>{{ user.username }}</td>
28 <td>{{ user.email }}</td>
29 <td>{{ user.videoQuota }}</td>
30 <td>{{ user.roleLabel }}</td>
31 <td>{{ user.createdAt }}</td>
32 <td class="action-cell">
33 <my-edit-button [routerLink]="getRouterUserEditLink(user)"></my-edit-button>
34 <my-delete-button (click)="removeUser(user)"></my-delete-button>
35 </td>
36 </tr>
37 </ng-template>
38</p-table>
diff --git a/client/src/app/+admin/users/user-list/user-list.component.ts b/client/src/app/+admin/users/user-list/user-list.component.ts
index 512152808..a52df49c0 100644
--- a/client/src/app/+admin/users/user-list/user-list.component.ts
+++ b/client/src/app/+admin/users/user-list/user-list.component.ts
@@ -1,4 +1,4 @@
1import { Component } from '@angular/core' 1import { Component, OnInit } from '@angular/core'
2 2
3import { NotificationsService } from 'angular2-notifications' 3import { NotificationsService } from 'angular2-notifications'
4import { SortMeta } from 'primeng/components/common/sortmeta' 4import { SortMeta } from 'primeng/components/common/sortmeta'
@@ -12,11 +12,11 @@ import { UserService } from '../shared'
12 templateUrl: './user-list.component.html', 12 templateUrl: './user-list.component.html',
13 styleUrls: [ './user-list.component.scss' ] 13 styleUrls: [ './user-list.component.scss' ]
14}) 14})
15export class UserListComponent extends RestTable { 15export class UserListComponent extends RestTable implements OnInit {
16 users: User[] = [] 16 users: User[] = []
17 totalRecords = 0 17 totalRecords = 0
18 rowsPerPage = 10 18 rowsPerPage = 10
19 sort: SortMeta = { field: 'id', order: 1 } 19 sort: SortMeta = { field: 'createdAt', order: 1 }
20 pagination: RestPagination = { count: this.rowsPerPage, start: 0 } 20 pagination: RestPagination = { count: this.rowsPerPage, start: 0 }
21 21
22 constructor ( 22 constructor (
@@ -27,6 +27,10 @@ export class UserListComponent extends RestTable {
27 super() 27 super()
28 } 28 }
29 29
30 ngOnInit () {
31 this.loadSort()
32 }
33
30 async removeUser (user: User) { 34 async removeUser (user: User) {
31 if (user.username === 'root') { 35 if (user.username === 'root') {
32 this.notificationsService.error('Error', 'You cannot delete root.') 36 this.notificationsService.error('Error', 'You cannot delete root.')