123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
- import * as React from 'react';
- var FormContext = /*#__PURE__*/React.createContext({
- triggerFormChange: function triggerFormChange() {},
- triggerFormFinish: function triggerFormFinish() {},
- registerForm: function registerForm() {},
- unregisterForm: function unregisterForm() {}
- });
- var FormProvider = function FormProvider(_ref) {
- var validateMessages = _ref.validateMessages,
- onFormChange = _ref.onFormChange,
- onFormFinish = _ref.onFormFinish,
- children = _ref.children;
- var formContext = React.useContext(FormContext);
- var formsRef = React.useRef({});
- return /*#__PURE__*/React.createElement(FormContext.Provider, {
- value: _objectSpread(_objectSpread({}, formContext), {}, {
- validateMessages: _objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages),
- // =========================================================
- // = Global Form Control =
- // =========================================================
- triggerFormChange: function triggerFormChange(name, changedFields) {
- if (onFormChange) {
- onFormChange(name, {
- changedFields: changedFields,
- forms: formsRef.current
- });
- }
- formContext.triggerFormChange(name, changedFields);
- },
- triggerFormFinish: function triggerFormFinish(name, values) {
- if (onFormFinish) {
- onFormFinish(name, {
- values: values,
- forms: formsRef.current
- });
- }
- formContext.triggerFormFinish(name, values);
- },
- registerForm: function registerForm(name, form) {
- if (name) {
- formsRef.current = _objectSpread(_objectSpread({}, formsRef.current), {}, _defineProperty({}, name, form));
- }
- formContext.registerForm(name, form);
- },
- unregisterForm: function unregisterForm(name) {
- var newForms = _objectSpread({}, formsRef.current);
- delete newForms[name];
- formsRef.current = newForms;
- formContext.unregisterForm(name);
- }
- })
- }, children);
- };
- export { FormProvider };
- export default FormContext;
|