-<h3>Users list</h3>
+<div class="admin-sub-header">
+ <div class="admin-sub-title">Users list</div>
-<table class="table table-hover">
- <thead>
- <tr>
- <th class="table-column-id">ID</th>
- <th>Username</th>
- <th>Created Date</th>
- <th class="text-right">Remove</th>
- </tr>
- </thead>
+ <a class="add-button" routerLink="/admin/users/add">
+ <span class="icon icon-add"></span>
+ Add user
+ </a>
+</div>
- <tbody>
- <tr *ngFor="let user of users">
- <td>{{ user.id }}</td>
- <td>{{ user.username }}</td>
- <td>{{ user.createdAt | date: 'medium' }}</td>
- <td class="text-right">
- <span class="glyphicon glyphicon-remove" *ngIf="!user.isAdmin()" (click)="removeUser(user)"></span>
- </td>
- </tr>
- </tbody>
-</table>
-
-<a class="add-user btn btn-success pull-right" [routerLink]="['/admin/users/add']">
- <span class="glyphicon glyphicon-plus"></span>
- Add user
-</a>
+<p-dataTable
+ [value]="users" [lazy]="true" [paginator]="true" [totalRecords]="totalRecords" [rows]="rowsPerPage"
+ sortField="id" (onLazyLoad)="loadLazy($event)"
+>
+ <p-column field="id" header="ID" [sortable]="true" [style]="{ width: '60px' }"></p-column>
+ <p-column field="username" header="Username" [sortable]="true"></p-column>
+ <p-column field="email" header="Email"></p-column>
+ <p-column field="videoQuota" header="Video quota"></p-column>
+ <p-column field="roleLabel" header="Role"></p-column>
+ <p-column field="createdAt" header="Created date" [sortable]="true"></p-column>
+ <p-column styleClass="action-cell">
+ <ng-template pTemplate="body" let-user="rowData">
+ <my-edit-button [routerLink]="getRouterUserEditLink(user)"></my-edit-button>
+ <my-delete-button (click)="removeUser(user)"></my-delete-button>
+ </ng-template>
+ </p-column>
+</p-dataTable>