@s-chat/form-manager
Version:
48 lines • 1.74 kB
JavaScript
// External
import React, { createContext, } from 'react';
const defaultValue = {
errorMessages: {
DEFAULT: 'Wrong format',
REQUIRED: 'Current field is required!',
CANNOT_BE_EMPTY: 'Current field is required!',
NOT_DECIMAL: 'Wrong data type!',
NOT_POSITIVE_DECIMAL: 'Wrong data type!',
NOT_INTEGER: 'Wrong data type!',
NOT_POSITIVE_INTEGER: 'Wrong data type!',
WRONG_EMAIL: 'Is invalid email!',
FIELDS_NOT_EQUAL: 'Not equal!',
TOO_LOW: 'Not valid value!',
TOO_HIGH: 'Not valid value!',
DATE_UNDER_MAX_RANGE: 'Date is under max range!',
DATE_BELOW_MIN_RANGE: 'Date is below min range!',
},
fieldValueSelector: {
checkbox: (event) => event.target.checked,
default: (event) => event.target.value,
},
customValidationRules: {},
options: {
isValidateOnChange: false,
},
};
export const FormManagerContext = createContext(defaultValue);
export const FormManagerProvider = (props) => {
const { children, errorMessages, fieldValueSelector, customValidationRules, options, } = props;
const data = {
errorMessages: { ...defaultValue.errorMessages, ...errorMessages },
customValidationRules: {
...defaultValue.customValidationRules || {},
...customValidationRules || {},
},
fieldValueSelector: {
...defaultValue.fieldValueSelector || {},
...fieldValueSelector || {},
},
options: {
...defaultValue.options,
...options,
},
};
return (React.createElement(FormManagerContext.Provider, { value: data }, children));
};
//# sourceMappingURL=FormManager.js.map