users-page.component.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import { Component } from '@angular/core';
  2. import { User } from '../models/user';
  3. import { UserService } from '../Services/user.service';
  4. @Component({
  5. selector: 'app-users-page',
  6. templateUrl: './users-page.component.html',
  7. styleUrls: ['./users-page.component.css']
  8. })
  9. export class UsersPageComponent {
  10. users: User[] = [];
  11. searchQuery: string = '';
  12. displayedColumns: string[] = ['id', 'email', 'enabled', 'firstName', 'lastName', 'login', 'roles', 'actions'];
  13. constructor(private userService: UserService) {}
  14. ngOnInit() {
  15. this.getAllUsers();
  16. }
  17. getAllUsers() {
  18. this.userService.getAllUsers().subscribe(
  19. (users: User[]) => {
  20. this.users = users;
  21. },
  22. (error) => {
  23. console.error('Error retrieving users:', error);
  24. }
  25. );
  26. }
  27. deleteUser(user: User) {
  28. if (!confirm(`Are you sure you want to delete the user '${user.login}'?`)) {
  29. return;
  30. }
  31. console.log('user.id = ' + user.id)
  32. this.userService.deleteUser(user.id).subscribe(
  33. () => {
  34. this.getAllUsers();
  35. },
  36. (error) => {
  37. console.error('Error deleting user:', error);
  38. }
  39. );
  40. }
  41. displayUserInfo(user: User | null): void {
  42. if (user) {
  43. // Handle displaying user information
  44. } else {
  45. // Handle the case when no user is selected
  46. }
  47. }
  48. // filterUsers() {
  49. // this.filteredUsers = this.users.filter(user =>
  50. // user.login.toLowerCase().includes(this.searchQuery.toLowerCase())
  51. // );
  52. // }
  53. }