41 lines
945 B
TypeScript
41 lines
945 B
TypeScript
// vim: set tw=80 ts=2 sw=2 sts=2 :
|
|
import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';
|
|
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
|
|
|
import { Login } from './login';
|
|
|
|
@Component({
|
|
selector: 'login-form',
|
|
exportAs: 'loginForm',
|
|
templateUrl: './loginForm.component.html'
|
|
})
|
|
|
|
export class LoginFormComponent {
|
|
public form: FormGroup;
|
|
@Input('login-form') private login: Login
|
|
@Output('submit') submitEventEmitter: EventEmitter<void> = new EventEmitter<void>();
|
|
|
|
constructor(private formBuilder : FormBuilder) {}
|
|
|
|
ngOnInit() {
|
|
this.form = this.formBuilder.group({
|
|
email: ['', Validators.required],
|
|
password: ['', Validators.required]
|
|
})
|
|
}
|
|
|
|
submit() {
|
|
if(this.form.valid) {
|
|
this.submitEventEmitter.emit();
|
|
}
|
|
}
|
|
|
|
get email() {
|
|
return this.form.get('email');
|
|
}
|
|
|
|
get password() {
|
|
return this.form.get('password');
|
|
}
|
|
}
|