Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Component, OnInit } from '@angular/core';
- import { FormBuilder, Validators } from '@angular/forms';
- import { ActivatedRoute, Router } from '@angular/router';
- import { FormBase } from 'app/common';
- import { UserService } from 'app/services';
- @Component({
- selector: 'app-login',
- templateUrl: './login.component.html',
- styleUrls: ['./login.component.scss']
- })
- export class LoginComponent extends FormBase implements OnInit {
- showPassword: boolean;
- errorMessage: string;
- returnUrl: string;
- constructor(
- private fb: FormBuilder,
- public user: UserService,
- private route: ActivatedRoute,
- private router: Router,
- ) { super(); }
- ngOnInit() {
- const username = localStorage.getItem('RememberedUsername') || null;
- const isRememberEnabled = !!username;
- this.form = this.fb.group({
- username: [username, Validators.required],
- password: [null, Validators.required],
- isRememberEnabled: [isRememberEnabled]
- });
- if (this.user.isAuthenticated) {
- this.router.navigate(['/dashboard']);
- }
- this.route.queryParams
- .filter(params => params.returnUrl)
- .subscribe(params => {
- this.returnUrl = params.returnUrl;
- });
- }
- onSubmit(model) {
- if (model.isRememberEnabled) {
- localStorage.setItem('RememberedUsername', model.username);
- }
- else {
- localStorage.removeItem('RememberedUsername');
- }
- this.user
- .login(model.username, model.password)
- .subscribe(response => {
- if (response.error) {
- const { code } = response.error;
- if (code === 'INVALID_CREDENTIALS') {
- this.errorMessage = 'Wrong username or password.';
- }
- } else {
- this.router.navigate([this.returnUrl || '/dashboard']);
- }
- });
- }
- onError(err) {
- console.warn(err);
- }
- }
Add Comment
Please, Sign In to add comment