allfree-angular-frontend / src / app / admin_components / users / users.component.ts
users.component.ts
Raw
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { Subscription } from 'rxjs';
import { APIResponse, User } from 'src/app/models/models';
import { UserService } from 'src/app/_services/user-service/user.service';
import {TokenStorageService} from '../../_services/jwt-service/token-storage.service';
import { ConfirmationService, PrimeNGConfig, Message } from 'primeng/api';

@Component({
  selector: 'app-users',
  templateUrl: './users.component.html',
  styleUrls: ['./users.component.scss'],
  providers: [ConfirmationService]
})
export class UsersComponent implements OnInit {
  users: Array<User>;
  userSub: Subscription;
  error: any;
  showUser: User;
  isSelected: boolean = false;
  deletedUser: User;
  constructor(
    private userService: UserService,
    private tokenService: TokenStorageService,
    private router: Router,
    private route: ActivatedRoute,
    private confirmationService: ConfirmationService,
    private primengConfig: PrimeNGConfig
  ) {}

  ngOnInit(): void {
    this.getAllUsers();
    this.primengConfig.ripple = true;
  }
  getAllUsers() {
    this.userSub = this.userService
      .getAllUsers()
      .subscribe((userList: Array<User>) => {
        this.users = userList;
        console.log('users => ', this.users);
      },
        error => console.log(error));
  }
  deleteUser(id: number) {
    this.userService.deleteUser(id).subscribe((data) => {
      console.log(data);
      this.getAllUsers();
    },
      error => console.log(error));
  }
  updateUser(id: number) {
    this.router.navigate(['update-user', id,this.tokenService.getUser().userDetails.roles[0].name]);
  }
  userDetails(id: number) {
    this.router.navigate(['user-details', id]);
  }
  newUser(role: string) {
    this.router.navigate(['create-user', role]);
  }
  // msgs: Message[] = [];
  // confirm1() {
  //   this.confirmationService.confirm({
  //     message: 'Are you sure that you want to proceed?',
  //     header: 'Confirmation',
  //     icon: 'pi pi-exclamation-triangle',
  //     accept: () => {
  //       this.msgs = [{severity:'info', summary:'Confirmed', detail:'You have accepted'}];
  //     },
  //     reject: () => {
  //       this.msgs = [{severity:'info', summary:'Rejected', detail:'You have rejected'}];
  //     }
  //   });
  // }
}