rsuite 5.26.0 → 5.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/cjs/Form/Form.js +2 -0
- package/cjs/locales/index.d.ts +1 -1
- package/cjs/locales/index.js +2 -2
- package/dist/rsuite.js +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Form/Form.js +2 -0
- package/esm/locales/index.d.ts +1 -1
- package/esm/locales/index.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [5.26.1](https://github.com/rsuite/rsuite/compare/v5.26.0...v5.26.1) (2023-02-09)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **Form.Control:** shouldResetWithUnmount isn't working ([#3055](https://github.com/rsuite/rsuite/issues/3055)) ([98c7e1d](https://github.com/rsuite/rsuite/commit/98c7e1d1959e46a6bec97931f159abbaf32dd779))
|
|
6
|
+
|
|
1
7
|
# [5.26.0](https://github.com/rsuite/rsuite/compare/v5.25.0...v5.26.0) (2023-02-03)
|
|
2
8
|
|
|
3
9
|
### Bug Fixes
|
package/cjs/Form/Form.js
CHANGED
|
@@ -234,6 +234,7 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
234
234
|
* so use Ref to get future error
|
|
235
235
|
*/
|
|
236
236
|
var formError = (0, _omit.default)(realFormErrorRef.current, [name]);
|
|
237
|
+
realFormErrorRef.current = formError;
|
|
237
238
|
setFormError(formError);
|
|
238
239
|
onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
|
|
239
240
|
}, [onCheck, setFormError]);
|
|
@@ -243,6 +244,7 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
243
244
|
* so use Ref to get future value
|
|
244
245
|
*/
|
|
245
246
|
var formValue = (0, _omit.default)(realFormValueRef.current, [name]);
|
|
247
|
+
realFormValueRef.current = formValue;
|
|
246
248
|
setFormValue(formValue);
|
|
247
249
|
onChange === null || onChange === void 0 ? void 0 : onChange(formValue);
|
|
248
250
|
}, [onChange, setFormValue]);
|
package/cjs/locales/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export { default as ruRU } from './ru_RU';
|
|
|
16
16
|
export { default as svSE } from './sv_SE';
|
|
17
17
|
export { default as trTR } from './tr_TR';
|
|
18
18
|
export { default as zhCN } from './zh_CN';
|
|
19
|
-
export { default as
|
|
19
|
+
export { default as zhTW } from './zh_TW';
|
|
20
20
|
export { default as faIR } from './fa_IR';
|
|
21
21
|
export { default as frFR } from './fr_FR';
|
|
22
22
|
declare type PickKeys<T> = {
|
package/cjs/locales/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports.frFR = exports.faIR = exports.
|
|
6
|
+
exports.frFR = exports.faIR = exports.zhTW = exports.zhCN = exports.trTR = exports.svSE = exports.ruRU = exports.ptBR = exports.nlNL = exports.koKR = exports.kkKZ = exports.itIT = exports.fiFI = exports.esES = exports.esAR = exports.enUS = exports.enGB = exports.deDE = exports.daDK = exports.arEG = void 0;
|
|
7
7
|
|
|
8
8
|
var _ar_EG = _interopRequireDefault(require("./ar_EG"));
|
|
9
9
|
|
|
@@ -75,7 +75,7 @@ exports.zhCN = _zh_CN.default;
|
|
|
75
75
|
|
|
76
76
|
var _zh_TW = _interopRequireDefault(require("./zh_TW"));
|
|
77
77
|
|
|
78
|
-
exports.
|
|
78
|
+
exports.zhTW = _zh_TW.default;
|
|
79
79
|
|
|
80
80
|
var _fa_IR = _interopRequireDefault(require("./fa_IR"));
|
|
81
81
|
|
package/dist/rsuite.js
CHANGED
|
@@ -2765,7 +2765,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2765
2765
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2766
2766
|
|
|
2767
2767
|
"use strict";
|
|
2768
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends6 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _schemaTyped = __webpack_require__(/*! schema-typed */ \"./node_modules/schema-typed/es/index.js\");\n\nvar _FormContext = _interopRequireWildcard(__webpack_require__(/*! ./FormContext */ \"./src/Form/FormContext.tsx\"));\n\nvar _FormControl = _interopRequireDefault(__webpack_require__(/*! ../FormControl */ \"./src/FormControl/index.tsx\"));\n\nvar _FormControlLabel = _interopRequireDefault(__webpack_require__(/*! ../FormControlLabel */ \"./src/FormControlLabel/index.tsx\"));\n\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\n\nvar _FormGroup = _interopRequireDefault(__webpack_require__(/*! ../FormGroup */ \"./src/FormGroup/index.tsx\"));\n\nvar _FormHelpText = _interopRequireDefault(__webpack_require__(/*! ../FormHelpText */ \"./src/FormHelpText/index.tsx\"));\n\nvar _useFormClassNames = __webpack_require__(/*! ./useFormClassNames */ \"./src/Form/useFormClassNames.ts\");\n\nvar _useSchemaModel2 = _interopRequireDefault(__webpack_require__(/*! ./useSchemaModel */ \"./src/Form/useSchemaModel.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Form/Form.tsx\",\n _this = void 0;\n\nvar Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$checkTrigger = props.checkTrigger,\n checkTrigger = _props$checkTrigger === void 0 ? 'change' : _props$checkTrigger,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'form' : _props$classPrefix,\n _props$errorFromConte = props.errorFromContext,\n errorFromContext = _props$errorFromConte === void 0 ? true : _props$errorFromConte,\n _props$formDefaultVal = props.formDefaultValue,\n formDefaultValue = _props$formDefaultVal === void 0 ? {} : _props$formDefaultVal,\n formValue = props.formValue,\n formError = props.formError,\n fluid = props.fluid,\n _props$layout = props.layout,\n layout = _props$layout === void 0 ? 'vertical' : _props$layout,\n _props$model = props.model,\n formModel = _props$model === void 0 ? (0, _schemaTyped.SchemaModel)({}) : _props$model,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n className = props.className,\n children = props.children,\n disabled = props.disabled,\n onSubmit = props.onSubmit,\n onCheck = props.onCheck,\n onError = props.onError,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"checkTrigger\", \"classPrefix\", \"errorFromContext\", \"formDefaultValue\", \"formValue\", \"formError\", \"fluid\", \"layout\", \"model\", \"readOnly\", \"plaintext\", \"className\", \"children\", \"disabled\", \"onSubmit\", \"onCheck\", \"onError\", \"onChange\"]);\n\n var _useSchemaModel = (0, _useSchemaModel2.default)(formModel),\n getCombinedModel = _useSchemaModel.getCombinedModel,\n pushFieldRule = _useSchemaModel.pushFieldRule,\n removeFieldRule = _useSchemaModel.removeFieldRule;\n\n var classes = (0, _useFormClassNames.useFormClassNames)({\n classPrefix: classPrefix,\n className: className,\n fluid: fluid,\n layout: layout,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled\n });\n\n var _useControlled = (0, _utils.useControlled)(formValue, formDefaultValue),\n realFormValue = _useControlled[0],\n setFormValue = _useControlled[1];\n\n var _useControlled2 = (0, _utils.useControlled)(formError, {}),\n realFormError = _useControlled2[0],\n setFormError = _useControlled2[1];\n\n var realFormValueRef = (0, _react.useRef)(realFormValue);\n realFormValueRef.current = realFormValue;\n var realFormErrorRef = (0, _react.useRef)(realFormError);\n realFormErrorRef.current = realFormError;\n /**\n * Validate the form data and return a boolean.\n * The error message after verification is returned in the callback.\n * @param callback\n */\n\n var check = (0, _react.useCallback)(function (callback) {\n var formValue = realFormValue || {};\n var formError = {};\n var errorCount = 0;\n var model = getCombinedModel();\n Object.keys(model.spec).forEach(function (key) {\n var checkResult = model.checkForField(key, formValue);\n\n if (checkResult.hasError === true) {\n errorCount += 1;\n formError[key] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult;\n }\n });\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n return false;\n }\n\n return true;\n }, [realFormValue, getCombinedModel, setFormError, onCheck, onError]);\n /**\n * Check the data field\n * @param fieldName\n * @param callback\n */\n\n var checkForField = (0, _react.useCallback)(function (fieldName, callback) {\n var _extends2;\n\n var formValue = realFormValue || {};\n var model = getCombinedModel();\n var checkResult = model.checkForField(fieldName, formValue);\n var formError = (0, _extends6.default)({}, realFormError, (_extends2 = {}, _extends2[fieldName] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult, _extends2));\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(checkResult);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return !checkResult.hasError;\n }, [realFormValue, getCombinedModel, realFormError, setFormError, onCheck, onError]);\n /**\n * Check form data asynchronously and return a Promise\n */\n\n var checkAsync = (0, _react.useCallback)(function () {\n var formValue = realFormValue || {};\n var promises = [];\n var keys = [];\n var model = getCombinedModel();\n Object.keys(model.spec).forEach(function (key) {\n keys.push(key);\n promises.push(model.checkForFieldAsync(key, formValue));\n });\n return Promise.all(promises).then(function (values) {\n var formError = {};\n var errorCount = 0;\n\n for (var i = 0; i < values.length; i++) {\n if (values[i].hasError) {\n errorCount += 1;\n formError[keys[i]] = values[i].errorMessage;\n }\n }\n\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return {\n hasError: errorCount > 0,\n formError: formError\n };\n });\n }, [realFormValue, getCombinedModel, onCheck, setFormError, onError]);\n /**\n * Asynchronously check form fields and return Promise\n * @param fieldName\n */\n\n var checkForFieldAsync = (0, _react.useCallback)(function (fieldName) {\n var formValue = realFormValue || {};\n var model = getCombinedModel();\n return model.checkForFieldAsync(fieldName, formValue).then(function (checkResult) {\n var _extends3;\n\n var formError = (0, _extends6.default)({}, realFormError, (_extends3 = {}, _extends3[fieldName] = checkResult.errorMessage, _extends3));\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return checkResult;\n });\n }, [realFormValue, getCombinedModel, realFormError, onCheck, setFormError, onError]);\n var cleanErrors = (0, _react.useCallback)(function () {\n setFormError({});\n }, [setFormError]);\n var cleanErrorForField = (0, _react.useCallback)(function (fieldName) {\n setFormError((0, _omit.default)(realFormError, [fieldName]));\n }, [realFormError, setFormError]);\n var resetErrors = (0, _react.useCallback)(function (formError) {\n if (formError === void 0) {\n formError = {};\n }\n\n setFormError(formError);\n }, [setFormError]);\n (0, _react.useImperativeHandle)(ref, function () {\n return {\n root: rootRef.current,\n check: check,\n checkForField: checkForField,\n checkAsync: checkAsync,\n checkForFieldAsync: checkForFieldAsync,\n cleanErrors: cleanErrors,\n cleanErrorForField: cleanErrorForField,\n resetErrors: resetErrors\n };\n });\n var removeFieldError = (0, _react.useCallback)(function (name) {\n /**\n * when this function is called when the children component is unmount, it's an old render frame\n * so use Ref to get future error\n */\n var formError = (0, _omit.default)(realFormErrorRef.current, [name]);\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [onCheck, setFormError]);\n var removeFieldValue = (0, _react.useCallback)(function (name) {\n /**\n * when this function is called when the children component is unmount, it's an old render frame\n * so use Ref to get future value\n */\n var formValue = (0, _omit.default)(realFormValueRef.current, [name]);\n setFormValue(formValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(formValue);\n }, [onChange, setFormValue]);\n var handleSubmit = (0, _react.useCallback)(function (event) {\n if (disabled || readOnly || plaintext) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n var checkStatus = check();\n onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(checkStatus, event);\n }, [disabled, readOnly, plaintext, check, onSubmit]);\n var handleFieldError = (0, _react.useCallback)(function (name, errorMessage) {\n var _extends4;\n\n var formError = (0, _extends6.default)({}, realFormError, (_extends4 = {}, _extends4[name] = errorMessage, _extends4));\n setFormError(formError);\n onError === null || onError === void 0 ? void 0 : onError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [realFormError, setFormError, onError, onCheck]);\n var handleFieldSuccess = (0, _react.useCallback)(function (name) {\n removeFieldError(name);\n }, [removeFieldError]);\n var handleFieldChange = (0, _react.useCallback)(function (name, value, event) {\n var _extends5;\n\n var formValue = realFormValue;\n var nextFormValue = (0, _extends6.default)({}, formValue, (_extends5 = {}, _extends5[name] = value, _extends5));\n setFormValue(nextFormValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFormValue, event);\n }, [realFormValue, setFormValue, onChange]);\n var rootRef = (0, _react.useRef)(null);\n var formContextValue = (0, _react.useMemo)(function () {\n return {\n getCombinedModel: getCombinedModel,\n checkTrigger: checkTrigger,\n formDefaultValue: formDefaultValue,\n errorFromContext: errorFromContext,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled,\n formError: realFormError,\n removeFieldValue: removeFieldValue,\n removeFieldError: removeFieldError,\n pushFieldRule: pushFieldRule,\n removeFieldRule: removeFieldRule,\n onFieldChange: handleFieldChange,\n onFieldError: handleFieldError,\n onFieldSuccess: handleFieldSuccess\n };\n }, [getCombinedModel, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, realFormError, removeFieldValue, removeFieldError, pushFieldRule, removeFieldRule, handleFieldChange, handleFieldError, handleFieldSuccess]);\n return /*#__PURE__*/_react.default.createElement(\"form\", (0, _extends6.default)({}, rest, {\n ref: rootRef,\n onSubmit: handleSubmit,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 420,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(_FormContext.default.Provider, {\n value: formContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 421,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_FormContext.FormValueContext.Provider, {\n value: formValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 422,\n columnNumber: 9\n }\n }, children)));\n});\n\nForm.Control = _FormControl.default;\nForm.ControlLabel = _FormControlLabel.default;\nForm.ErrorMessage = _FormErrorMessage.default;\nForm.Group = _FormGroup.default;\nForm.HelpText = _FormHelpText.default;\nForm.Control = _FormControl.default;\nForm.displayName = 'Form';\nForm.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n children: _propTypes.default.node,\n errorFromContext: _propTypes.default.bool,\n layout: _propTypes.default.oneOf(['horizontal', 'vertical', 'inline']),\n fluid: _propTypes.default.bool,\n formValue: _propTypes.default.object,\n formDefaultValue: _propTypes.default.object,\n formError: _propTypes.default.object,\n checkTrigger: _propTypes.default.oneOf(['change', 'blur', 'none']),\n onChange: _propTypes.default.func,\n onError: _propTypes.default.func,\n onCheck: _propTypes.default.func,\n onSubmit: _propTypes.default.func,\n model: _propTypes.default.any,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n disabled: _propTypes.default.bool\n};\nvar _default = Form;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Form/Form.tsx?");
|
|
2768
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends6 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _schemaTyped = __webpack_require__(/*! schema-typed */ \"./node_modules/schema-typed/es/index.js\");\n\nvar _FormContext = _interopRequireWildcard(__webpack_require__(/*! ./FormContext */ \"./src/Form/FormContext.tsx\"));\n\nvar _FormControl = _interopRequireDefault(__webpack_require__(/*! ../FormControl */ \"./src/FormControl/index.tsx\"));\n\nvar _FormControlLabel = _interopRequireDefault(__webpack_require__(/*! ../FormControlLabel */ \"./src/FormControlLabel/index.tsx\"));\n\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\n\nvar _FormGroup = _interopRequireDefault(__webpack_require__(/*! ../FormGroup */ \"./src/FormGroup/index.tsx\"));\n\nvar _FormHelpText = _interopRequireDefault(__webpack_require__(/*! ../FormHelpText */ \"./src/FormHelpText/index.tsx\"));\n\nvar _useFormClassNames = __webpack_require__(/*! ./useFormClassNames */ \"./src/Form/useFormClassNames.ts\");\n\nvar _useSchemaModel2 = _interopRequireDefault(__webpack_require__(/*! ./useSchemaModel */ \"./src/Form/useSchemaModel.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Form/Form.tsx\",\n _this = void 0;\n\nvar Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$checkTrigger = props.checkTrigger,\n checkTrigger = _props$checkTrigger === void 0 ? 'change' : _props$checkTrigger,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'form' : _props$classPrefix,\n _props$errorFromConte = props.errorFromContext,\n errorFromContext = _props$errorFromConte === void 0 ? true : _props$errorFromConte,\n _props$formDefaultVal = props.formDefaultValue,\n formDefaultValue = _props$formDefaultVal === void 0 ? {} : _props$formDefaultVal,\n formValue = props.formValue,\n formError = props.formError,\n fluid = props.fluid,\n _props$layout = props.layout,\n layout = _props$layout === void 0 ? 'vertical' : _props$layout,\n _props$model = props.model,\n formModel = _props$model === void 0 ? (0, _schemaTyped.SchemaModel)({}) : _props$model,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n className = props.className,\n children = props.children,\n disabled = props.disabled,\n onSubmit = props.onSubmit,\n onCheck = props.onCheck,\n onError = props.onError,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"checkTrigger\", \"classPrefix\", \"errorFromContext\", \"formDefaultValue\", \"formValue\", \"formError\", \"fluid\", \"layout\", \"model\", \"readOnly\", \"plaintext\", \"className\", \"children\", \"disabled\", \"onSubmit\", \"onCheck\", \"onError\", \"onChange\"]);\n\n var _useSchemaModel = (0, _useSchemaModel2.default)(formModel),\n getCombinedModel = _useSchemaModel.getCombinedModel,\n pushFieldRule = _useSchemaModel.pushFieldRule,\n removeFieldRule = _useSchemaModel.removeFieldRule;\n\n var classes = (0, _useFormClassNames.useFormClassNames)({\n classPrefix: classPrefix,\n className: className,\n fluid: fluid,\n layout: layout,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled\n });\n\n var _useControlled = (0, _utils.useControlled)(formValue, formDefaultValue),\n realFormValue = _useControlled[0],\n setFormValue = _useControlled[1];\n\n var _useControlled2 = (0, _utils.useControlled)(formError, {}),\n realFormError = _useControlled2[0],\n setFormError = _useControlled2[1];\n\n var realFormValueRef = (0, _react.useRef)(realFormValue);\n realFormValueRef.current = realFormValue;\n var realFormErrorRef = (0, _react.useRef)(realFormError);\n realFormErrorRef.current = realFormError;\n /**\n * Validate the form data and return a boolean.\n * The error message after verification is returned in the callback.\n * @param callback\n */\n\n var check = (0, _react.useCallback)(function (callback) {\n var formValue = realFormValue || {};\n var formError = {};\n var errorCount = 0;\n var model = getCombinedModel();\n Object.keys(model.spec).forEach(function (key) {\n var checkResult = model.checkForField(key, formValue);\n\n if (checkResult.hasError === true) {\n errorCount += 1;\n formError[key] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult;\n }\n });\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n return false;\n }\n\n return true;\n }, [realFormValue, getCombinedModel, setFormError, onCheck, onError]);\n /**\n * Check the data field\n * @param fieldName\n * @param callback\n */\n\n var checkForField = (0, _react.useCallback)(function (fieldName, callback) {\n var _extends2;\n\n var formValue = realFormValue || {};\n var model = getCombinedModel();\n var checkResult = model.checkForField(fieldName, formValue);\n var formError = (0, _extends6.default)({}, realFormError, (_extends2 = {}, _extends2[fieldName] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult, _extends2));\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(checkResult);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return !checkResult.hasError;\n }, [realFormValue, getCombinedModel, realFormError, setFormError, onCheck, onError]);\n /**\n * Check form data asynchronously and return a Promise\n */\n\n var checkAsync = (0, _react.useCallback)(function () {\n var formValue = realFormValue || {};\n var promises = [];\n var keys = [];\n var model = getCombinedModel();\n Object.keys(model.spec).forEach(function (key) {\n keys.push(key);\n promises.push(model.checkForFieldAsync(key, formValue));\n });\n return Promise.all(promises).then(function (values) {\n var formError = {};\n var errorCount = 0;\n\n for (var i = 0; i < values.length; i++) {\n if (values[i].hasError) {\n errorCount += 1;\n formError[keys[i]] = values[i].errorMessage;\n }\n }\n\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return {\n hasError: errorCount > 0,\n formError: formError\n };\n });\n }, [realFormValue, getCombinedModel, onCheck, setFormError, onError]);\n /**\n * Asynchronously check form fields and return Promise\n * @param fieldName\n */\n\n var checkForFieldAsync = (0, _react.useCallback)(function (fieldName) {\n var formValue = realFormValue || {};\n var model = getCombinedModel();\n return model.checkForFieldAsync(fieldName, formValue).then(function (checkResult) {\n var _extends3;\n\n var formError = (0, _extends6.default)({}, realFormError, (_extends3 = {}, _extends3[fieldName] = checkResult.errorMessage, _extends3));\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return checkResult;\n });\n }, [realFormValue, getCombinedModel, realFormError, onCheck, setFormError, onError]);\n var cleanErrors = (0, _react.useCallback)(function () {\n setFormError({});\n }, [setFormError]);\n var cleanErrorForField = (0, _react.useCallback)(function (fieldName) {\n setFormError((0, _omit.default)(realFormError, [fieldName]));\n }, [realFormError, setFormError]);\n var resetErrors = (0, _react.useCallback)(function (formError) {\n if (formError === void 0) {\n formError = {};\n }\n\n setFormError(formError);\n }, [setFormError]);\n (0, _react.useImperativeHandle)(ref, function () {\n return {\n root: rootRef.current,\n check: check,\n checkForField: checkForField,\n checkAsync: checkAsync,\n checkForFieldAsync: checkForFieldAsync,\n cleanErrors: cleanErrors,\n cleanErrorForField: cleanErrorForField,\n resetErrors: resetErrors\n };\n });\n var removeFieldError = (0, _react.useCallback)(function (name) {\n /**\n * when this function is called when the children component is unmount, it's an old render frame\n * so use Ref to get future error\n */\n var formError = (0, _omit.default)(realFormErrorRef.current, [name]);\n realFormErrorRef.current = formError;\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [onCheck, setFormError]);\n var removeFieldValue = (0, _react.useCallback)(function (name) {\n /**\n * when this function is called when the children component is unmount, it's an old render frame\n * so use Ref to get future value\n */\n var formValue = (0, _omit.default)(realFormValueRef.current, [name]);\n realFormValueRef.current = formValue;\n setFormValue(formValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(formValue);\n }, [onChange, setFormValue]);\n var handleSubmit = (0, _react.useCallback)(function (event) {\n if (disabled || readOnly || plaintext) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n var checkStatus = check();\n onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(checkStatus, event);\n }, [disabled, readOnly, plaintext, check, onSubmit]);\n var handleFieldError = (0, _react.useCallback)(function (name, errorMessage) {\n var _extends4;\n\n var formError = (0, _extends6.default)({}, realFormError, (_extends4 = {}, _extends4[name] = errorMessage, _extends4));\n setFormError(formError);\n onError === null || onError === void 0 ? void 0 : onError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [realFormError, setFormError, onError, onCheck]);\n var handleFieldSuccess = (0, _react.useCallback)(function (name) {\n removeFieldError(name);\n }, [removeFieldError]);\n var handleFieldChange = (0, _react.useCallback)(function (name, value, event) {\n var _extends5;\n\n var formValue = realFormValue;\n var nextFormValue = (0, _extends6.default)({}, formValue, (_extends5 = {}, _extends5[name] = value, _extends5));\n setFormValue(nextFormValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFormValue, event);\n }, [realFormValue, setFormValue, onChange]);\n var rootRef = (0, _react.useRef)(null);\n var formContextValue = (0, _react.useMemo)(function () {\n return {\n getCombinedModel: getCombinedModel,\n checkTrigger: checkTrigger,\n formDefaultValue: formDefaultValue,\n errorFromContext: errorFromContext,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled,\n formError: realFormError,\n removeFieldValue: removeFieldValue,\n removeFieldError: removeFieldError,\n pushFieldRule: pushFieldRule,\n removeFieldRule: removeFieldRule,\n onFieldChange: handleFieldChange,\n onFieldError: handleFieldError,\n onFieldSuccess: handleFieldSuccess\n };\n }, [getCombinedModel, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, realFormError, removeFieldValue, removeFieldError, pushFieldRule, removeFieldRule, handleFieldChange, handleFieldError, handleFieldSuccess]);\n return /*#__PURE__*/_react.default.createElement(\"form\", (0, _extends6.default)({}, rest, {\n ref: rootRef,\n onSubmit: handleSubmit,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 422,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(_FormContext.default.Provider, {\n value: formContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 423,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_FormContext.FormValueContext.Provider, {\n value: formValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 424,\n columnNumber: 9\n }\n }, children)));\n});\n\nForm.Control = _FormControl.default;\nForm.ControlLabel = _FormControlLabel.default;\nForm.ErrorMessage = _FormErrorMessage.default;\nForm.Group = _FormGroup.default;\nForm.HelpText = _FormHelpText.default;\nForm.Control = _FormControl.default;\nForm.displayName = 'Form';\nForm.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n children: _propTypes.default.node,\n errorFromContext: _propTypes.default.bool,\n layout: _propTypes.default.oneOf(['horizontal', 'vertical', 'inline']),\n fluid: _propTypes.default.bool,\n formValue: _propTypes.default.object,\n formDefaultValue: _propTypes.default.object,\n formError: _propTypes.default.object,\n checkTrigger: _propTypes.default.oneOf(['change', 'blur', 'none']),\n onChange: _propTypes.default.func,\n onError: _propTypes.default.func,\n onCheck: _propTypes.default.func,\n onSubmit: _propTypes.default.func,\n model: _propTypes.default.any,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n disabled: _propTypes.default.bool\n};\nvar _default = Form;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Form/Form.tsx?");
|
|
2769
2769
|
|
|
2770
2770
|
/***/ }),
|
|
2771
2771
|
|