Repository URL to install this package:
|
Version:
0.0.15 ▾
|
import * as tslib_1 from "tslib";
import React from 'react';
import { observer } from 'xmobx/mobx-react';
import { observe } from 'xmobx/mobx';
import { isFunction } from 'exotic';
//
import { Button } from '@skava/packages/ui';
import { ObserverForm } from '@skava/packages/ui/forms';
import { sessionContainer } from '@skava/packages/core/auth/session/container';
import { userContainer } from '@skava/packages/core/auth/user';
//
import { StyledButton } from '../styled';
import { securityQuestionState } from './FormState';
const CreateAccountButton = (props) => (React.createElement(Button, Object.assign({ className: "register-submit-button" }, props)));
const QuestionSubmitButton = (props) => React.createElement(StyledButton, Object.assign({}, props));
let SecurityQuestionForm = class SecurityQuestionForm extends ObserverForm {
constructor() {
super(...arguments);
this.shouldResetFormOnUnmount = true;
this.SubmitButton = QuestionSubmitButton;
this.submitDataQa = 'qa-save-changes';
this.defaultSubmitButtonLabel = 'Save Changes';
this.handleSubmit = (event) => {
event.preventDefault();
const isSocialLogin = userContainer.isSocialLogin;
if (!isSocialLogin && this.validateForm()) {
const serialized = this.state.toSerialized();
const { securityQuestion, securityAnswer } = serialized;
const { email } = userContainer.userinfo;
const updateProfileData = {
userName: email,
challengeQuestion: securityQuestion,
challengeAnswer: securityAnswer,
};
// @todo what is this? it's userContainer....
sessionContainer.updateSecurity(updateProfileData);
}
};
}
componentWillMount() {
this.disableFields(false);
if (isFunction(this.disposer)) {
this.disposer();
}
}
componentDidMount() {
try {
this.disposer = observe(userContainer, 'userinfo', () => {
console.log('[LandingSection - index.js]', userContainer);
const { isSocialLogin } = userContainer;
if (isSocialLogin) {
this.disableFields(true);
this.forceUpdate();
}
});
}
catch (tooSoonException) {
console.error('[LandingSection]', tooSoonException);
}
}
componentWillUnmount() {
this.disableFields(false);
if (isFunction(this.disposer)) {
this.disposer();
}
}
disableFields(disable) {
const disableifSocialLogin = (inputState) => {
inputState.isDisabled = disable;
return inputState;
};
this.state.inputsList = this.state.inputsList.map(disableifSocialLogin);
}
};
SecurityQuestionForm.defaultProps = {
state: securityQuestionState,
};
SecurityQuestionForm = tslib_1.__decorate([
observer
], SecurityQuestionForm);
export default SecurityQuestionForm;
export { SecurityQuestionForm };
export { SecurityQuestionForm as FormView };
//# sourceMappingURL=FormView.js.map