member_webapp/@overflow/member/container/member-reset-password-container.component.ts
2018-05-28 19:46:47 +09:00

59 lines
1.7 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import * as ResetPasswordStore from '../../store/reset-password';
import {select, Store} from '@ngrx/store';
import { ResetPasswordSelector } from '../../store';
import {RPCClientError} from '@loafer/ng-rpc';
import {Member} from '@overflow/commons-typescript/model/member/index';
@Component({
selector: 'of-member-reset-password-container',
templateUrl: './reset-password-container.component.html',
})
export class MemberResetPasswordContainerComponent implements OnInit {
resetPassword$ = this.resetPasswordStore.pipe(select(ResetPasswordSelector.select('member')));
resetPassword: FormGroup;
formErrors = {
'email': ''
};
constructor(
private resetPasswordStore: Store<ResetPasswordStore.State>,
private router: Router,
private formBuilder: FormBuilder) { }
ngOnInit() {
this.resetPassword = this.formBuilder.group({
'email': ['', [
Validators.required,
Validators.email
]
]
});
}
sendResetPassword() {
const emailValue = Object.assign({}, this.resetPassword.value);
console.log(emailValue.email);
this.resetPasswordStore.dispatch(new ResetPasswordStore.ResetPassword(emailValue.email));
const resetPasswordSubscription$ = this.resetPassword$.subscribe(
(m: Member) => {
if (m) {
console.log(m);
}
if (resetPasswordSubscription$) {
resetPasswordSubscription$.unsubscribe();
}
},
(error: RPCClientError) => {
console.log(error.response.message);
}
);
}
}