]>
Commit | Line | Data |
---|---|---|
7da18e44 | 1 | import { Component, OnInit } from '@angular/core'; |
7da18e44 | 2 | |
7ddd02c9 C |
3 | import { NotificationsService } from 'angular2-notifications'; |
4 | ||
7da18e44 C |
5 | import { User } from '../../../shared'; |
6 | import { 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 | }) |
13 | export 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 | } |