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 React from 'react';
import { OneFormState } from '@skava/packages/features/Forms';
import { StyledForm, ButtonGroup, RegisterButton } from './styled';
import { sessionContainer } from '@skava/packages/core/auth/session';
import { securityQuestions } from '../SecurityQuestions';
const validation = {
    async onSubmit(args) {
        const { challengeQuestion, challengeAnswer, firstName, lastName, userName, telephone, } = args.state.toJSON();
        const password = args
            .state
            .inputsList
            .find(x => x.propertyName === 'password')
            .attributes
            .confirmPasswordState
            .confirmPassword
            .value;
        const updateProfile = {
            userName,
            challengeQuestion,
            challengeAnswer,
        };
        const userData = {
            userName,
            firstName,
            lastName,
            password,
            telephone,
        };
        await sessionContainer.registerUser(userData, updateProfile);
    },
};
const renderButtonGroup = () => (React.createElement(ButtonGroup, null,
    React.createElement(RegisterButton, null)));
class RegisterForm extends React.PureComponent {
    constructor() {
        super(...arguments);
        this.observableFormState = new OneFormState().setInputsList([
            {
                propertyName: 'firstName',
                type: 'firstName',
                label: 'Name',
            },
            {
                propertyName: 'lastName',
                type: 'lastName',
            },
            {
                propertyName: 'telephone',
                type: 'telephone',
                label: 'Phone Number'
            },
            {
                propertyName: 'userName',
                type: 'email',
            },
            // {
            //   propertyName: 'password',
            //   type: 'password',
            //   label: 'Password'
            // },
            {
                propertyName: 'password',
                type: 'confirmPassword',
                label: 'Re-Enter Password'
            },
            {
                propertyName: 'challengeQuestion',
                type: 'select',
                name: 'challengeQuestion',
                labelText: 'Security Question',
                options: securityQuestions,
            },
            {
                propertyName: 'challengeAnswer',
                type: 'text',
                label: 'Answer',
            },
            {
                propertyName: 'shouldNotify',
                type: 'checkbox',
                label: 'Send me emails about my orders'
            }
        ]);
    }
    render() {
        return (React.createElement(StyledForm, { validation: validation, state: this.observableFormState, renderButtonGroup: renderButtonGroup, renderErrorMessage: '' }));
    }
}
export default RegisterForm;
export { RegisterForm };
//# sourceMappingURL=Form.js.map