UNPKG

tdesign-react

Version:
84 lines (80 loc) 3.67 kB
/** * tdesign v1.16.6 * (c) 2026 tdesign * @license MIT */ import { _ as _toArray } from '../../_chunks/dep-3bc65c4e.js'; import React, { useEffect } from 'react'; import { isEmpty, get, has, unset } from 'lodash-es'; import { useFormContext, useFormListContext } from '../FormContext.js'; import { TD_DEFAULT_VALUE_MAP } from '../const.js'; import '../../_chunks/dep-054b5858.js'; import '../../_chunks/dep-045f6f97.js'; import '../../_chunks/dep-3d8e28be.js'; function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function useFormItemInitialData(name, fullPath, initialData, children) { var hadReadFloatingFormData = false; var _useFormContext = useFormContext(), form = _useFormContext.form, floatingFormDataRef = _useFormContext.floatingFormDataRef, formContextInitialData = _useFormContext.initialData; var _useFormListContext = useFormListContext(), formListName = _useFormListContext.name, formListInitialData = _useFormListContext.initialData; useEffect(function () { if (hadReadFloatingFormData) { var nameList = formListName ? [formListName, name].flat() : name; unset(floatingFormDataRef.current, nameList); } }, [hadReadFloatingFormData, floatingFormDataRef, formListName, name]); var defaultInitialData = getDefaultInitialData(children, initialData); function getDefaultInitialData(children2, initialData2) { if (name && floatingFormDataRef !== null && floatingFormDataRef !== void 0 && floatingFormDataRef.current && !isEmpty(floatingFormDataRef.current)) { var nameList = formListName ? [formListName, name].flat() : name; var defaultInitialData2 = get(floatingFormDataRef.current, nameList); if (typeof defaultInitialData2 !== "undefined") { hadReadFloatingFormData = true; return defaultInitialData2; } } if (typeof initialData2 !== "undefined") { return initialData2; } if (formListName && Array.isArray(fullPath)) { var pathPrefix = fullPath.slice(0, -1); var pathExisted = has(form.store, pathPrefix); if (pathExisted) { return get(form.store, fullPath); } } if (Array.isArray(name) && formListInitialData !== null && formListInitialData !== void 0 && formListInitialData.length) { var _defaultInitialData; var _name = _toArray(name), index = _name[0], relativePath = _arrayLikeToArray(_name).slice(1); if (formListInitialData[index]) { _defaultInitialData = get(formListInitialData[index], relativePath); } if (typeof _defaultInitialData !== "undefined") return _defaultInitialData; } if (name && formContextInitialData) { var _defaultInitialData2 = get(formContextInitialData, name); if (typeof _defaultInitialData2 !== "undefined") return _defaultInitialData2; } if (typeof children2 !== "function") { var childList = React.Children.toArray(children2); var lastChild = childList[childList.length - 1]; if (lastChild && /*#__PURE__*/React.isValidElement(lastChild)) { var _lastChild$props; var isMultiple = lastChild === null || lastChild === void 0 || (_lastChild$props = lastChild.props) === null || _lastChild$props === void 0 ? void 0 : _lastChild$props.multiple; var componentName = lastChild.type.displayName; return isMultiple ? [] : TD_DEFAULT_VALUE_MAP.get(componentName); } } } return { defaultInitialData: defaultInitialData }; } export { useFormItemInitialData as default }; //# sourceMappingURL=useFormItemInitialData.js.map