]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+admin/users/user-list/user-list.component.ts
Client: better confirm box 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 { ConfirmService } from '../../../core';
6 import { User } from '../../../shared';
7 import { UserService } from '../shared';
8
9 @Component({
10 selector: 'my-user-list',
11 templateUrl: './user-list.component.html',
12 styleUrls: [ './user-list.component.scss' ]
13 })
14 export class UserListComponent implements OnInit {
15 totalUsers: number;
16 users: User[];
17
18 constructor(
19 private notificationsService: NotificationsService,
20 private confirmService: ConfirmService,
21 private userService: UserService
22 ) {}
23
24 ngOnInit() {
25 this.getUsers();
26 }
27
28 getUsers() {
29 this.userService.getUsers().subscribe(
30 ({ users, totalUsers }) => {
31 this.users = users;
32 this.totalUsers = totalUsers;
33 },
34
35 err => this.notificationsService.error('Error', err.text)
36 );
37 }
38
39
40 removeUser(user: User) {
41 this.confirmService.confirm('Do you really want to delete this user?', 'Delete').subscribe(
42 res => {
43 if (res === false) return;
44
45 this.userService.removeUser(user).subscribe(
46 () => {
47 this.notificationsService.success('Success', `User ${user.username} deleted.`);
48 this.getUsers();
49 },
50
51 err => this.notificationsService.error('Error', err.text)
52 );
53 }
54 );
55 }
56 }