users.component.ts 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import { Component, ViewChild, OnInit } from '@angular/core';
  2. import {HttpClient} from '@angular/common/http';
  3. import { User } from 'src/app/models/user';
  4. import { UserService } from 'src/app/services/user.service';
  5. import {MatPaginator} from '@angular/material/paginator';
  6. import {MatSort} from '@angular/material/sort';
  7. import {MatTableDataSource} from '@angular/material/table';
  8. import Swal from 'sweetalert2';
  9. @Component({
  10. selector: 'app-users',
  11. templateUrl: './users.component.html',
  12. styleUrls: ['./users.component.scss']
  13. })
  14. export class UsersComponent implements OnInit {
  15. title:string = "Usuarios";
  16. displayedColumns: string[] = ['email', 'first_name', 'last_name', 'role'];
  17. //displayedColumns: string[] = ['state'];
  18. listData: User[] = [];
  19. listUsers:any;
  20. dataSource = new MatTableDataSource(this.listUsers);
  21. resultsLength = 0;
  22. isLoadingResults = true;
  23. isRateLimitReached = false;
  24. @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;
  25. @ViewChild(MatSort, {static: true}) sort: MatSort;
  26. role_number: any;
  27. constructor(private userService: UserService) {
  28. Swal.fire({
  29. allowOutsideClick: false,
  30. type: 'info',
  31. text: 'Espere por favor...'
  32. });
  33. Swal.showLoading();
  34. }
  35. ngOnInit() {
  36. this.userService.getAllUsers().subscribe(ans => {
  37. this.listUsers = ans["data"]["users"];
  38. this.dataSource.data = this.listUsers;
  39. this.dataSource.paginator = this.paginator;
  40. this.dataSource.sort = this.sort;
  41. }, (err) => {
  42. Swal.fire({
  43. type: 'error',
  44. title: 'Error en el servidor',
  45. text: err.message
  46. });
  47. });
  48. setTimeout(()=>{
  49. Swal.close();
  50. }, 1200);
  51. }
  52. userType(userRole:any){
  53. switch (+userRole){
  54. case 0:
  55. return "Invitado";
  56. case 1:
  57. return "Usuario";
  58. case 2:
  59. return "Administrador";
  60. case 3:
  61. return "Super Admin";
  62. }
  63. }
  64. applyFilter(filterValue: string) {
  65. this.dataSource.filter = filterValue.trim().toLowerCase();
  66. if (this.dataSource.paginator) {
  67. this.dataSource.paginator.firstPage();
  68. }
  69. }
  70. }