import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';
import { FormGroup, FormBuilder, Validators  } from '@angular/forms';

@Component({
  selector: 'of-member-modify-password',
  templateUrl: './member-modify-password.component.html',
})
export class MemberModifyPasswordComponent implements OnInit {
  @Input() token: string;
  @Output() modifyPassword = new EventEmitter<{token: string, password: string, confirmPassword: string}>();
  @Output() signin = new EventEmitter();

  modifyPasswordForm: FormGroup;
  formErrors = {
    'pw': '',
    'confirmPw': ''
  };

  constructor(
    private formBuilder: FormBuilder,
  ) { }

  ngOnInit() {
    this.initForm();
  }

  initForm() {
    this.modifyPasswordForm = this.formBuilder.group({
      'pw': [
        '',
        [
          // Validators.required,
        ]
      ],
      'confirmPw': [
        '',
        [
          // Validators.pattern('^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$'),
          // Validators.minLength(6),
          // Validators.maxLength(25)
        ]
      ],
    });

  }

  modifyPasswordFormSubmit() {
    const formValue = Object.assign({}, this.modifyPasswordForm.value);
    this.modifyPassword.emit({token: this.token, password: formValue.pw, confirmPassword: formValue.confirmPw});
  }
}
