Guest User

Untitled

a guest
May 26th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. import { Component, OnInit } from '@angular/core';
  2. import { FormBuilder, Validators } from '@angular/forms';
  3. import { ActivatedRoute, Router } from '@angular/router';
  4.  
  5. import { FormBase } from 'app/common';
  6. import { UserService } from 'app/services';
  7.  
  8.  
  9. @Component({
  10. selector: 'app-login',
  11. templateUrl: './login.component.html',
  12. styleUrls: ['./login.component.scss']
  13. })
  14. export class LoginComponent extends FormBase implements OnInit {
  15.  
  16. showPassword: boolean;
  17. errorMessage: string;
  18. returnUrl: string;
  19.  
  20. constructor(
  21. private fb: FormBuilder,
  22. public user: UserService,
  23. private route: ActivatedRoute,
  24. private router: Router,
  25. ) { super(); }
  26.  
  27.  
  28. ngOnInit() {
  29. const username = localStorage.getItem('RememberedUsername') || null;
  30. const isRememberEnabled = !!username;
  31.  
  32. this.form = this.fb.group({
  33. username: [username, Validators.required],
  34. password: [null, Validators.required],
  35. isRememberEnabled: [isRememberEnabled]
  36. });
  37.  
  38. if (this.user.isAuthenticated) {
  39. this.router.navigate(['/dashboard']);
  40. }
  41.  
  42. this.route.queryParams
  43. .filter(params => params.returnUrl)
  44. .subscribe(params => {
  45. this.returnUrl = params.returnUrl;
  46. });
  47.  
  48. }
  49.  
  50.  
  51. onSubmit(model) {
  52. if (model.isRememberEnabled) {
  53. localStorage.setItem('RememberedUsername', model.username);
  54. }
  55. else {
  56. localStorage.removeItem('RememberedUsername');
  57. }
  58.  
  59. this.user
  60. .login(model.username, model.password)
  61. .subscribe(response => {
  62. if (response.error) {
  63. const { code } = response.error;
  64. if (code === 'INVALID_CREDENTIALS') {
  65. this.errorMessage = 'Wrong username or password.';
  66. }
  67. } else {
  68. this.router.navigate([this.returnUrl || '/dashboard']);
  69. }
  70. });
  71. }
  72.  
  73. onError(err) {
  74. console.warn(err);
  75. }
  76. }
Add Comment
Please, Sign In to add comment