]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - 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
CommitLineData
7da18e44 1import { Component, OnInit } from '@angular/core';
7da18e44 2
7ddd02c9
C
3import { NotificationsService } from 'angular2-notifications';
4
7da18e44
C
5import { User } from '../../../shared';
6import { UserService } from '../shared';
7
8@Component({
9 selector: 'my-user-list',
ec8d8440
C
10 templateUrl: './user-list.component.html',
11 styleUrls: [ './user-list.component.scss' ]
7da18e44
C
12})
13export class UserListComponent implements OnInit {
14 totalUsers: number;
15 users: User[];
16
7ddd02c9
C
17 constructor(
18 private notificationsService: NotificationsService,
19 private userService: UserService
20 ) {}
7da18e44
C
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
7ddd02c9 33 err => this.notificationsService.error('Error', err.text)
7da18e44
C
34 );
35 }
36
37
38 removeUser(user: User) {
39 if (confirm('Are you sure?')) {
40 this.userService.removeUser(user).subscribe(
7ddd02c9
C
41 () => {
42 this.notificationsService.success('Success', `User ${user.username} deleted.`);
43 this.getUsers();
44 },
7da18e44 45
7ddd02c9 46 err => this.notificationsService.error('Error', err.text)
7da18e44
C
47 );
48 }
49 }
50}