// 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 = new EventEmitter(); 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'); } }