import {Component, OnInit} from "@angular/core"; import {ActivatedRoute, Router} from "@angular/router"; import {LoginService} from "../services/login-service/login-service"; @Component({ moduleId: module.id, templateUrl: 'login.component.html', styleUrls: ['login.component.css'] }) export class LoginComponent implements OnInit { showErrorLabel = false; loading = false; returnUrl: string; constructor(private route: ActivatedRoute, private router: Router, private loginService: LoginService) { } ngOnInit() { // reset login status this.loginService.logout(); // get return url from route parameters or default to '/' this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/'; } login(username: string, password: string) { if (username.length > 0 && password.length > 0) { this.loading = true; this.loginService.login(username, password) .subscribe( data => { this.router.navigate([this.returnUrl]); }, error => { this.showErrorLabel = true; setTimeout(() => { this.showErrorLabel = false; }, 4000) this.loading = false; }); } } }