opt-cc/static/src/app/login/login.component.ts

54 lines
1.2 KiB
TypeScript
Raw Normal View History

2017-05-10 11:04:06 +02:00
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;
2017-06-08 19:46:36 +02:00
error: string;
2017-05-10 11:04:06 +02:00
loading = false;
returnUrl: string;
constructor(private route: ActivatedRoute,
private router: Router,
private loginService: LoginService) {
}
ngOnInit() {
// reset login status
this.loginService.logout();
2017-06-08 16:58:28 +02:00
// redirect on success
this.returnUrl = '/cc-overview'
2017-05-10 11:04:06 +02:00
}
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 => {
2017-06-08 19:46:36 +02:00
console.log(error)
this.error = error._body;
2017-05-10 11:04:06 +02:00
this.showErrorLabel = true;
setTimeout(() => {
this.showErrorLabel = false;
}, 4000);
2017-05-10 11:04:06 +02:00
this.loading = false;
});
}
}
}