users.component.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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: "No su pudo obtener la información"
  46. });
  47. });
  48. setTimeout(()=>{
  49. Swal.close();
  50. }, 1200);
  51. }
  52. applyFilter(filterValue: string) {
  53. this.dataSource.filter = filterValue.trim().toLowerCase();
  54. if (this.dataSource.paginator) {
  55. this.dataSource.paginator.firstPage();
  56. }
  57. }
  58. }