]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+admin/users/user-list/user-list.component.ts
Client: better notifications for a beautiful world
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / users / user-list / user-list.component.ts
1 import { Component, OnInit } from '@angular/core';
2
3 import { NotificationsService } from 'angular2-notifications';
4
5 import { User } from '../../../shared';
6 import { UserService } from '../shared';
7
8 @Component({
9 selector: 'my-user-list',
10 templateUrl: './user-list.component.html',
11 styleUrls: [ './user-list.component.scss' ]
12 })
13 export class UserListComponent implements OnInit {
14 totalUsers: number;
15 users: User[];
16
17 constructor(
18 private notificationsService: NotificationsService,
19 private userService: UserService
20 ) {}
21
22 ngOnInit() {
23 this.getUsers();
24 }
25
26 getUsers() {
27 this.userService.getUsers().subscribe(
28 ({ users, totalUsers }) => {
29 this.users = users;
30 this.totalUsers = totalUsers;
31 },
32
33 err => this.notificationsService.error('Error', err.text)
34 );
35 }
36
37
38 removeUser(user: User) {
39 if (confirm('Are you sure?')) {
40 this.userService.removeUser(user).subscribe(
41 () => {
42 this.notificationsService.success('Success', `User ${user.username} deleted.`);
43 this.getUsers();
44 },
45
46 err => this.notificationsService.error('Error', err.text)
47 );
48 }
49 }
50 }