Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
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