tdesign-react 0.42.3-alpha.1 → 0.42.3-alpha.2
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/cjs/form/Form.js.map +1 -1
- package/cjs/form/FormList.js +35 -15
- package/cjs/form/FormList.js.map +1 -1
- package/cjs/form/hooks/interface.d.ts +1 -1
- package/cjs/form/hooks/useForm.d.ts +1 -1
- package/cjs/form/hooks/useForm.js +1 -1
- package/cjs/form/hooks/useForm.js.map +1 -1
- package/dist/tdesign.css.map +1 -1
- package/dist/tdesign.js +36 -16
- package/dist/tdesign.js.map +1 -1
- package/dist/tdesign.min.css.map +1 -1
- package/dist/tdesign.min.js +1 -1
- package/dist/tdesign.min.js.map +1 -1
- package/es/form/Form.js.map +1 -1
- package/es/form/FormList.js +35 -15
- package/es/form/FormList.js.map +1 -1
- package/es/form/hooks/interface.d.ts +1 -1
- package/es/form/hooks/useForm.d.ts +1 -1
- package/es/form/hooks/useForm.js +1 -1
- package/es/form/hooks/useForm.js.map +1 -1
- package/esm/form/Form.js.map +1 -1
- package/esm/form/FormList.js +35 -15
- package/esm/form/FormList.js.map +1 -1
- package/esm/form/hooks/interface.d.ts +1 -1
- package/esm/form/hooks/useForm.d.ts +1 -1
- package/esm/form/hooks/useForm.js +1 -1
- package/esm/form/hooks/useForm.js.map +1 -1
- package/lib/form/Form.js.map +1 -1
- package/lib/form/FormList.js +35 -15
- package/lib/form/FormList.js.map +1 -1
- package/lib/form/hooks/interface.d.ts +1 -1
- package/lib/form/hooks/useForm.d.ts +1 -1
- package/lib/form/hooks/useForm.js +1 -1
- package/lib/form/hooks/useForm.js.map +1 -1
- package/package.json +1 -1
package/es/form/Form.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.js","sources":["../../src/form/Form.tsx"],"sourcesContent":["import React, { useRef, useImperativeHandle } from 'react';\nimport classNames from 'classnames';\nimport useConfig from '../hooks/useConfig';\nimport noop from '../_util/noop';\nimport forwardRefWithStatics from '../_util/forwardRefWithStatics';\nimport type { TdFormProps } from './type';\nimport
|
|
1
|
+
{"version":3,"file":"Form.js","sources":["../../src/form/Form.tsx"],"sourcesContent":["import React, { useRef, useImperativeHandle } from 'react';\nimport classNames from 'classnames';\nimport useConfig from '../hooks/useConfig';\nimport noop from '../_util/noop';\nimport forwardRefWithStatics from '../_util/forwardRefWithStatics';\nimport type { TdFormProps } from './type';\nimport useInstance from './hooks/useInstance';\nimport useForm, { HOOK_MARK } from './hooks/useForm';\nimport useWatch from './hooks/useWatch';\nimport { StyledProps } from '../common';\nimport FormContext from './FormContext';\nimport FormItem from './FormItem';\nimport FormList from './FormList';\nimport { formDefaultProps } from './defaultProps';\n\nexport interface FormProps extends TdFormProps, StyledProps {\n children?: React.ReactNode;\n}\n\nconst Form = forwardRefWithStatics(\n (props: FormProps, ref) => {\n const { classPrefix, form: globalFormConfig } = useConfig();\n\n const {\n style,\n className,\n labelWidth,\n statusIcon,\n labelAlign,\n layout,\n colon,\n initialData,\n requiredMark = globalFormConfig.requiredMark,\n scrollToFirstError,\n showErrorMessage,\n resetType,\n rules,\n errorMessage = globalFormConfig.errorMessage,\n preventSubmitDefault,\n disabled,\n children,\n onReset,\n onValuesChange = noop,\n } = props;\n\n const formClass = classNames(`${classPrefix}-form`, className, {\n [`${classPrefix}-form-inline`]: layout === 'inline',\n });\n\n const [form] = useForm(props.form); // 内部与外部共享 form 实例,外部不传则内部创建\n const formRef: React.RefObject<HTMLFormElement> = useRef();\n const formMapRef = useRef(new Map()); // 收集所有包含 name 属性 formItem 实例\n const formInstance = useInstance(props, formRef, formMapRef);\n\n useImperativeHandle(ref, () => formInstance);\n Object.assign(form, { ...formInstance });\n\n function onResetHandler(e: React.FormEvent<HTMLFormElement>) {\n [...formMapRef.current.values()].forEach((formItemRef) => {\n formItemRef?.current.resetField();\n });\n form?.getInternalHooks?.(HOOK_MARK)?.notifyWatch?.([]);\n onReset?.({ e });\n }\n\n function onFormItemValueChange(changedValue: Record<string, unknown>) {\n const allFields = formInstance.getFieldsValue(true);\n onValuesChange(changedValue, allFields);\n }\n\n function onKeyDownHandler(e: React.KeyboardEvent<HTMLFormElement>) {\n // 禁用 input 输入框回车自动提交 form\n if ((e.target as Element).tagName.toLowerCase() !== 'input') return;\n if (preventSubmitDefault && e.key === 'Enter') {\n e.preventDefault?.();\n e.stopPropagation?.();\n }\n }\n\n return (\n <FormContext.Provider\n value={{\n form,\n labelWidth,\n statusIcon,\n labelAlign,\n layout,\n colon,\n initialData,\n requiredMark,\n errorMessage,\n showErrorMessage,\n scrollToFirstError,\n resetType,\n rules,\n disabled,\n formMapRef,\n onFormItemValueChange,\n }}\n >\n <form\n ref={formRef}\n style={style}\n className={formClass}\n onSubmit={formInstance.submit}\n onReset={onResetHandler}\n onKeyDown={onKeyDownHandler}\n >\n {children}\n </form>\n </FormContext.Provider>\n );\n },\n { useForm, useWatch, FormItem, FormList },\n);\n\nForm.displayName = 'Form';\nForm.defaultProps = formDefaultProps;\n\nexport default Form;\n"],"names":["Form","forwardRefWithStatics","props","ref","useConfig","classPrefix","globalFormConfig","form","style","className","labelWidth","statusIcon","labelAlign","layout","colon","initialData","requiredMark","scrollToFirstError","showErrorMessage","resetType","rules","errorMessage","preventSubmitDefault","disabled","children","onReset","onValuesChange","noop","formClass","classNames","useForm","formRef","useRef","formMapRef","Map","formInstance","useInstance","useImperativeHandle","Object","assign","onResetHandler","e","current","values","forEach","formItemRef","resetField","getInternalHooks","HOOK_MARK","notifyWatch","onFormItemValueChange","changedValue","allFields","getFieldsValue","onKeyDownHandler","target","tagName","toLowerCase","key","preventDefault","stopPropagation","React","createElement","FormContext","Provider","value","onSubmit","submit","onKeyDown","useWatch","FormItem","FormList","displayName","defaultProps","formDefaultProps"],"mappings":"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"}
|
package/es/form/FormList.js
CHANGED
|
@@ -77,6 +77,7 @@ var FormList = function FormList(props) {
|
|
|
77
77
|
|
|
78
78
|
var formListMapRef = useRef( /* @__PURE__ */new Map());
|
|
79
79
|
var formListRef = useRef();
|
|
80
|
+
var fieldsTaskQueueRef = useRef([]);
|
|
80
81
|
var operation = {
|
|
81
82
|
add: function add(defaultValue, insertIndex) {
|
|
82
83
|
var cloneFields = _toConsumableArray(fields);
|
|
@@ -136,17 +137,15 @@ var FormList = function FormList(props) {
|
|
|
136
137
|
isListField: true
|
|
137
138
|
};
|
|
138
139
|
}));
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
var data = get_1(fieldData, name2);
|
|
143
|
-
callback(formItemRef, data);
|
|
144
|
-
});
|
|
140
|
+
fieldsTaskQueueRef.current.push({
|
|
141
|
+
callback: callback,
|
|
142
|
+
fieldData: fieldData
|
|
145
143
|
});
|
|
146
144
|
}
|
|
147
145
|
|
|
148
146
|
useEffect(function () {
|
|
149
147
|
_toConsumableArray(formListMapRef.current.values()).forEach(function (formItemRef) {
|
|
148
|
+
if (!formItemRef.current) return;
|
|
150
149
|
var _formItemRef$current = formItemRef.current,
|
|
151
150
|
name2 = _formItemRef$current.name,
|
|
152
151
|
value = _formItemRef$current.value;
|
|
@@ -157,7 +156,20 @@ var FormList = function FormList(props) {
|
|
|
157
156
|
status: "not"
|
|
158
157
|
});
|
|
159
158
|
});
|
|
160
|
-
}, [
|
|
159
|
+
}, [initialValue]);
|
|
160
|
+
useEffect(function () {
|
|
161
|
+
var currentQueue = fieldsTaskQueueRef.current.pop();
|
|
162
|
+
if (!currentQueue) return;
|
|
163
|
+
|
|
164
|
+
_toConsumableArray(formListMapRef.current.values()).forEach(function (formItemRef) {
|
|
165
|
+
if (!formItemRef.current) return;
|
|
166
|
+
var name2 = formItemRef.current.name;
|
|
167
|
+
var fieldData = currentQueue.fieldData,
|
|
168
|
+
callback = currentQueue.callback;
|
|
169
|
+
var data = get_1(fieldData, name2);
|
|
170
|
+
callback(formItemRef, data);
|
|
171
|
+
});
|
|
172
|
+
}, [fields]);
|
|
161
173
|
useEffect(function () {
|
|
162
174
|
if (!name || !formMapRef) return;
|
|
163
175
|
formMapRef.current.set(name, formListRef);
|
|
@@ -186,7 +198,9 @@ var FormList = function FormList(props) {
|
|
|
186
198
|
var resultList = [];
|
|
187
199
|
|
|
188
200
|
var validates = _toConsumableArray(formListMapRef.current.values()).map(function (formItemRef) {
|
|
189
|
-
|
|
201
|
+
var _formItemRef$current3, _formItemRef$current4;
|
|
202
|
+
|
|
203
|
+
return formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current3 = formItemRef.current) === null || _formItemRef$current3 === void 0 ? void 0 : (_formItemRef$current4 = _formItemRef$current3.validate) === null || _formItemRef$current4 === void 0 ? void 0 : _formItemRef$current4.call(_formItemRef$current3, trigger);
|
|
190
204
|
});
|
|
191
205
|
|
|
192
206
|
return new Promise(function (resolve) {
|
|
@@ -212,18 +226,18 @@ var FormList = function FormList(props) {
|
|
|
212
226
|
},
|
|
213
227
|
setValue: function setValue(fieldData) {
|
|
214
228
|
setListFields(fieldData, function (formItemRef, data) {
|
|
215
|
-
var _formItemRef$
|
|
229
|
+
var _formItemRef$current5, _formItemRef$current6;
|
|
216
230
|
|
|
217
|
-
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$
|
|
231
|
+
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current5 = formItemRef.current) === null || _formItemRef$current5 === void 0 ? void 0 : (_formItemRef$current6 = _formItemRef$current5.setValue) === null || _formItemRef$current6 === void 0 ? void 0 : _formItemRef$current6.call(_formItemRef$current5, data);
|
|
218
232
|
});
|
|
219
233
|
},
|
|
220
234
|
setField: function setField(fieldData) {
|
|
221
235
|
var value = fieldData.value,
|
|
222
236
|
status = fieldData.status;
|
|
223
237
|
setListFields(value, function (formItemRef, data) {
|
|
224
|
-
var _formItemRef$
|
|
238
|
+
var _formItemRef$current7, _formItemRef$current8;
|
|
225
239
|
|
|
226
|
-
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$
|
|
240
|
+
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current7 = formItemRef.current) === null || _formItemRef$current7 === void 0 ? void 0 : (_formItemRef$current8 = _formItemRef$current7.setField) === null || _formItemRef$current8 === void 0 ? void 0 : _formItemRef$current8.call(_formItemRef$current7, {
|
|
227
241
|
value: data,
|
|
228
242
|
status: status
|
|
229
243
|
});
|
|
@@ -231,21 +245,27 @@ var FormList = function FormList(props) {
|
|
|
231
245
|
},
|
|
232
246
|
resetField: function resetField() {
|
|
233
247
|
_toConsumableArray(formListMapRef.current.values()).forEach(function (formItemRef) {
|
|
234
|
-
|
|
248
|
+
var _formItemRef$current9, _formItemRef$current10;
|
|
249
|
+
|
|
250
|
+
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current9 = formItemRef.current) === null || _formItemRef$current9 === void 0 ? void 0 : (_formItemRef$current10 = _formItemRef$current9.resetField) === null || _formItemRef$current10 === void 0 ? void 0 : _formItemRef$current10.call(_formItemRef$current9);
|
|
235
251
|
});
|
|
236
252
|
|
|
237
253
|
setInitialValue([]);
|
|
238
254
|
},
|
|
239
255
|
setValidateMessage: function setValidateMessage(fieldData) {
|
|
240
256
|
_toConsumableArray(formListMapRef.current.values()).forEach(function (formItemRef) {
|
|
257
|
+
var _formItemRef$current11, _formItemRef$current12;
|
|
258
|
+
|
|
241
259
|
var name2 = formItemRef.current.name;
|
|
242
260
|
var data = get_1(fieldData, name2);
|
|
243
|
-
formItemRef.current.setValidateMessage(data);
|
|
261
|
+
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current11 = formItemRef.current) === null || _formItemRef$current11 === void 0 ? void 0 : (_formItemRef$current12 = _formItemRef$current11.setValidateMessage) === null || _formItemRef$current12 === void 0 ? void 0 : _formItemRef$current12.call(_formItemRef$current11, data);
|
|
244
262
|
});
|
|
245
263
|
},
|
|
246
264
|
resetValidate: function resetValidate() {
|
|
247
265
|
_toConsumableArray(formListMapRef.current.values()).forEach(function (formItemRef) {
|
|
248
|
-
|
|
266
|
+
var _formItemRef$current13, _formItemRef$current14;
|
|
267
|
+
|
|
268
|
+
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current13 = formItemRef.current) === null || _formItemRef$current13 === void 0 ? void 0 : (_formItemRef$current14 = _formItemRef$current13.resetValidate) === null || _formItemRef$current14 === void 0 ? void 0 : _formItemRef$current14.call(_formItemRef$current13);
|
|
249
269
|
});
|
|
250
270
|
}
|
|
251
271
|
};
|
package/es/form/FormList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormList.js","sources":["../../src/form/FormList.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\nimport merge from 'lodash/merge';\nimport get from 'lodash/get';\nimport { FormListContext, useFormContext } from './FormContext';\nimport { FormItemInstance } from './FormItem';\nimport { TdFormListProps, FormListFieldOperation, FormListField } from './type';\nimport { calcFieldValue } from './utils';\nimport log from '../_common/js/log';\n\nlet key = 0;\n\nconst FormList = (props: TdFormListProps) => {\n const { formMapRef } = useFormContext();\n const { name, initialData = [], rules, children } = props;\n\n const [initialValue, setInitialValue] = useState(initialData);\n const [fields, setFields] = useState<Array<FormListField>>(\n initialData.map((data, index) => ({\n key: (key += 1),\n name: index,\n isListField: true,\n ...data,\n })),\n );\n const formListMapRef = useRef(new Map()); // 收集 formItem 实例\n const formListRef = useRef<FormItemInstance>(); // 当前 formList 实例\n\n const operation: FormListFieldOperation = {\n add(defaultValue?: any, insertIndex?: number) {\n const cloneFields = [...fields];\n const index = insertIndex ?? cloneFields.length;\n cloneFields.splice(index, 0, {\n key: (key += 1),\n name: index,\n isListField: true,\n });\n cloneFields.forEach((field, index) => Object.assign(field, { name: index }));\n setFields(cloneFields);\n\n if (typeof defaultValue !== 'undefined') {\n const nextInitialValue = [...initialValue];\n nextInitialValue[index] = defaultValue;\n setInitialValue(nextInitialValue);\n }\n },\n remove(index: number | number[]) {\n const nextFields = fields\n .filter((_, i) => {\n if (Array.isArray(index)) return !index.includes(i);\n return i !== index;\n })\n .map((field, index) => Object.assign(field, { name: index }));\n\n setInitialValue(initialValue.filter((_, idx) => idx !== index));\n setFields(nextFields);\n },\n move(from: number, to: number) {\n const cloneFields = [...fields];\n const fromItem = { ...cloneFields[from] };\n const toItem = { ...cloneFields[to] };\n cloneFields[to] = fromItem;\n cloneFields[from] = toItem;\n setFields(cloneFields);\n },\n };\n\n // 外部设置 fields 优先级最高,可以更改渲染的节点\n function setListFields(fieldData: any[], callback: Function) {\n setFields(\n fieldData.map((_, index) => ({\n key: (key += 1),\n name: index,\n isListField: true,\n })),\n );\n // 延迟至 FormItem 渲染后再赋值\n requestAnimationFrame(() => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name } = formItemRef.current;\n const data = get(fieldData, name);\n callback(formItemRef, data);\n });\n });\n }\n\n useEffect(() => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name, value } = formItemRef.current;\n if (value) return;\n\n const data = get(initialValue, name);\n formItemRef.current.setField({ value: data, status: 'not' });\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fields, initialValue]);\n\n useEffect(() => {\n if (!name || !formMapRef) return;\n formMapRef.current.set(name, formListRef);\n\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n formMapRef.current.delete(name);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [name]);\n\n useImperativeHandle(\n formListRef,\n (): FormItemInstance => ({\n name,\n getValue() {\n const formListValue = [];\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name, getValue } = formItemRef.current;\n const fieldValue = calcFieldValue(name, getValue());\n merge(formListValue, fieldValue);\n });\n return formListValue;\n },\n validate: (trigger = 'all') => {\n const resultList = [];\n const validates = [...formListMapRef.current.values()].map((formItemRef) =>\n formItemRef.current.validate(trigger),\n );\n return new Promise((resolve) => {\n Promise.all(validates).then((validateResult) => {\n validateResult.forEach((result) => {\n const errorKey = Object.keys(result)[0];\n const errorKeyList = errorKey.split(',');\n\n let errorValue = Object.values(result)[0];\n errorValue = calcFieldValue(errorKeyList, errorValue);\n\n merge(resultList, errorValue);\n });\n const errorItems = validateResult.filter((item) => Object.values(item)[0] !== true);\n if (errorItems.length) {\n resolve({ [String(name)]: resultList });\n } else {\n resolve({ [String(name)]: true });\n }\n });\n });\n },\n setValue: (fieldData: any[]) => {\n setListFields(fieldData, (formItemRef, data) => {\n formItemRef?.current?.setValue(data);\n });\n },\n setField: (fieldData: { value?: any[]; status?: string }) => {\n const { value, status } = fieldData;\n setListFields(value, (formItemRef, data) => {\n formItemRef?.current?.setField({ value: data, status });\n });\n },\n resetField: () => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n formItemRef.current.resetField();\n });\n setInitialValue([]);\n },\n setValidateMessage: (fieldData) => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name } = formItemRef.current;\n const data = get(fieldData, name);\n\n formItemRef.current.setValidateMessage(data);\n });\n },\n resetValidate: () => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n formItemRef.current.resetValidate();\n });\n },\n }),\n );\n\n if (typeof children !== 'function') {\n log.error('Form', `FormList's children must be a function!`);\n return null;\n }\n\n return (\n <FormListContext.Provider value={{ name, rules, formListMapRef }}>\n {children(fields, operation)}\n </FormListContext.Provider>\n );\n};\n\nFormList.displayName = 'FormList';\n\nexport default FormList;\n"],"names":["key","FormList","props","useFormContext","formMapRef","name","initialData","rules","children","useState","initialValue","setInitialValue","map","data","index","isListField","fields","setFields","formListMapRef","useRef","Map","formListRef","operation","add","defaultValue","insertIndex","cloneFields","length","splice","forEach","field","Object","assign","nextInitialValue","remove","nextFields","filter","_","i","Array","isArray","includes","idx","move","from","to","fromItem","toItem","setListFields","fieldData","callback","requestAnimationFrame","current","values","formItemRef","get","useEffect","value","setField","status","set","useImperativeHandle","getValue","formListValue","fieldValue","calcFieldValue","merge","validate","trigger","resultList","validates","Promise","resolve","all","then","validateResult","result","errorKey","keys","errorKeyList","split","errorValue","errorItems","item","String","setValue","resetField","setValidateMessage","resetValidate","log","error","React","createElement","FormListContext","Provider","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormList.js","sources":["../../src/form/FormList.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\nimport merge from 'lodash/merge';\nimport get from 'lodash/get';\nimport { FormListContext, useFormContext } from './FormContext';\nimport { FormItemInstance } from './FormItem';\nimport { TdFormListProps, FormListFieldOperation, FormListField } from './type';\nimport { calcFieldValue } from './utils';\nimport log from '../_common/js/log';\n\nlet key = 0;\n\nconst FormList = (props: TdFormListProps) => {\n const { formMapRef } = useFormContext();\n const { name, initialData = [], rules, children } = props;\n\n const [initialValue, setInitialValue] = useState(initialData);\n const [fields, setFields] = useState<Array<FormListField>>(\n initialData.map((data, index) => ({\n key: (key += 1),\n name: index,\n isListField: true,\n ...data,\n })),\n );\n const formListMapRef = useRef(new Map()); // 收集 formItem 实例\n const formListRef = useRef<FormItemInstance>(); // 当前 formList 实例\n const fieldsTaskQueueRef = useRef([]); // 记录更改 fields 数据后 callback 队列\n\n const operation: FormListFieldOperation = {\n add(defaultValue?: any, insertIndex?: number) {\n const cloneFields = [...fields];\n const index = insertIndex ?? cloneFields.length;\n cloneFields.splice(index, 0, {\n key: (key += 1),\n name: index,\n isListField: true,\n });\n cloneFields.forEach((field, index) => Object.assign(field, { name: index }));\n setFields(cloneFields);\n\n if (typeof defaultValue !== 'undefined') {\n const nextInitialValue = [...initialValue];\n nextInitialValue[index] = defaultValue;\n setInitialValue(nextInitialValue);\n }\n },\n remove(index: number | number[]) {\n const nextFields = fields\n .filter((_, i) => {\n if (Array.isArray(index)) return !index.includes(i);\n return i !== index;\n })\n .map((field, index) => Object.assign(field, { name: index }));\n\n setInitialValue(initialValue.filter((_, idx) => idx !== index));\n setFields(nextFields);\n },\n move(from: number, to: number) {\n const cloneFields = [...fields];\n const fromItem = { ...cloneFields[from] };\n const toItem = { ...cloneFields[to] };\n cloneFields[to] = fromItem;\n cloneFields[from] = toItem;\n setFields(cloneFields);\n },\n };\n\n // 外部设置 fields 优先级最高,可以更改渲染的节点\n function setListFields(fieldData: any[], callback: Function) {\n setFields(\n fieldData.map((_, index) => ({\n key: (key += 1),\n name: index,\n isListField: true,\n })),\n );\n // 添加至队列中 等待下次渲染完成执行对应逻辑\n fieldsTaskQueueRef.current.push({ callback, fieldData });\n }\n\n useEffect(() => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n if (!formItemRef.current) return;\n\n const { name, value } = formItemRef.current;\n if (value) return; // 内部有值则忽略初始化设置\n\n const data = get(initialValue, name);\n formItemRef.current.setField({ value: data, status: 'not' });\n });\n }, [initialValue]);\n\n useEffect(() => {\n const currentQueue = fieldsTaskQueueRef.current.pop();\n if (!currentQueue) return;\n\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n if (!formItemRef.current) return;\n\n const { name } = formItemRef.current;\n const { fieldData, callback } = currentQueue;\n const data = get(fieldData, name);\n callback(formItemRef, data);\n });\n }, [fields]);\n\n useEffect(() => {\n if (!name || !formMapRef) return;\n formMapRef.current.set(name, formListRef);\n\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n formMapRef.current.delete(name);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [name]);\n\n useImperativeHandle(\n formListRef,\n (): FormItemInstance => ({\n name,\n getValue() {\n const formListValue = [];\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name, getValue } = formItemRef.current;\n const fieldValue = calcFieldValue(name, getValue());\n merge(formListValue, fieldValue);\n });\n return formListValue;\n },\n validate: (trigger = 'all') => {\n const resultList = [];\n const validates = [...formListMapRef.current.values()].map((formItemRef) =>\n formItemRef?.current?.validate?.(trigger),\n );\n return new Promise((resolve) => {\n Promise.all(validates).then((validateResult) => {\n validateResult.forEach((result) => {\n const errorKey = Object.keys(result)[0];\n const errorKeyList = errorKey.split(',');\n\n let errorValue = Object.values(result)[0];\n errorValue = calcFieldValue(errorKeyList, errorValue);\n\n merge(resultList, errorValue);\n });\n const errorItems = validateResult.filter((item) => Object.values(item)[0] !== true);\n if (errorItems.length) {\n resolve({ [String(name)]: resultList });\n } else {\n resolve({ [String(name)]: true });\n }\n });\n });\n },\n setValue: (fieldData: any[]) => {\n setListFields(fieldData, (formItemRef, data) => {\n formItemRef?.current?.setValue?.(data);\n });\n },\n setField: (fieldData: { value?: any[]; status?: string }) => {\n const { value, status } = fieldData;\n setListFields(value, (formItemRef, data) => {\n formItemRef?.current?.setField?.({ value: data, status });\n });\n },\n resetField: () => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n formItemRef?.current?.resetField?.();\n });\n setInitialValue([]);\n },\n setValidateMessage: (fieldData) => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name } = formItemRef.current;\n const data = get(fieldData, name);\n\n formItemRef?.current?.setValidateMessage?.(data);\n });\n },\n resetValidate: () => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n formItemRef?.current?.resetValidate?.();\n });\n },\n }),\n );\n\n if (typeof children !== 'function') {\n log.error('Form', `FormList's children must be a function!`);\n return null;\n }\n\n return (\n <FormListContext.Provider value={{ name, rules, formListMapRef }}>\n {children(fields, operation)}\n </FormListContext.Provider>\n );\n};\n\nFormList.displayName = 'FormList';\n\nexport default FormList;\n"],"names":["key","FormList","props","useFormContext","formMapRef","name","initialData","rules","children","useState","initialValue","setInitialValue","map","data","index","isListField","fields","setFields","formListMapRef","useRef","Map","formListRef","fieldsTaskQueueRef","operation","add","defaultValue","insertIndex","cloneFields","length","splice","forEach","field","Object","assign","nextInitialValue","remove","nextFields","filter","_","i","Array","isArray","includes","idx","move","from","to","fromItem","toItem","setListFields","fieldData","callback","current","push","useEffect","values","formItemRef","value","get","setField","status","currentQueue","pop","set","useImperativeHandle","getValue","formListValue","fieldValue","calcFieldValue","merge","validate","trigger","resultList","validates","Promise","resolve","all","then","validateResult","result","errorKey","keys","errorKeyList","split","errorValue","errorItems","item","String","setValue","resetField","setValidateMessage","resetValidate","log","error","React","createElement","FormListContext","Provider","displayName"],"mappings":"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"}
|
package/es/form/hooks/useForm.js
CHANGED
|
@@ -12,7 +12,7 @@ import '../../_common/js/log/index.js';
|
|
|
12
12
|
import log from '../../_common/js/log/log.js';
|
|
13
13
|
import '../../_chunks/dep-24599104.js';
|
|
14
14
|
|
|
15
|
-
var HOOK_MARK =
|
|
15
|
+
var HOOK_MARK = "TD_FORM_INTERNAL_HOOKS";
|
|
16
16
|
|
|
17
17
|
var FormStore = /*#__PURE__*/_createClass(function FormStore(forceRootUpdate) {
|
|
18
18
|
var _this = this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForm.js","sources":["../../../src/form/hooks/useForm.ts"],"sourcesContent":["import { useState, useRef } from 'react';\nimport type { NamePath } from '../type';\nimport type { WatchCallBack, InternalHooks, InternalFormInstance, Store } from './interface';\nimport log from '../../_common/js/log';\n\nexport const HOOK_MARK =
|
|
1
|
+
{"version":3,"file":"useForm.js","sources":["../../../src/form/hooks/useForm.ts"],"sourcesContent":["import { useState, useRef } from 'react';\nimport type { NamePath } from '../type';\nimport type { WatchCallBack, InternalHooks, InternalFormInstance, Store } from './interface';\nimport log from '../../_common/js/log';\n\nexport const HOOK_MARK = 'TD_FORM_INTERNAL_HOOKS';\n\n// TODO 后续将所有实例函数迁移到 FormStore 内统一管理\nclass FormStore {\n private prevStore: Store = {};\n\n private store: Store = {};\n\n private forceRootUpdate: () => void;\n\n constructor(forceRootUpdate: () => void) {\n this.forceRootUpdate = forceRootUpdate;\n }\n\n public getForm = (): InternalFormInstance => ({\n submit: null,\n reset: null,\n validate: null,\n validateOnly: null,\n clearValidate: null,\n setFields: null,\n setFieldsValue: null,\n setValidateMessage: null,\n getFieldValue: null,\n getFieldsValue: null,\n _init: true,\n\n getInternalHooks: this.getInternalHooks,\n });\n\n private getInternalHooks = (key: string): InternalHooks | null => {\n if (key === HOOK_MARK) {\n return {\n notifyWatch: this.notifyWatch,\n registerWatch: this.registerWatch,\n getPrevStore: () => this.prevStore,\n setPrevStore: (store: object) => {\n this.prevStore = store;\n },\n };\n }\n\n log.warn('Form', '`getInternalHooks` is internal usage. Should not call directly.');\n return null;\n };\n\n private watchList: WatchCallBack[] = [];\n\n private registerWatch: InternalHooks['registerWatch'] = (callback) => {\n this.watchList.push(callback);\n\n return () => {\n this.watchList = this.watchList.filter((fn) => fn !== callback);\n };\n };\n\n private notifyWatch = (namePath: NamePath = []) => {\n // No need to cost perf when nothing need to watch\n if (this.watchList.length) {\n const values = this.getFieldsValue?.(namePath);\n\n this.watchList.forEach((callback) => {\n callback(values, namePath);\n });\n }\n };\n\n // TODO 暂时先从组件初始化时外部 merge 覆盖相关 form 操作函数\n private getFieldsValue = null;\n}\n\nexport default function useForm(form?: InternalFormInstance) {\n const formRef = useRef<InternalFormInstance>({});\n const [, forceUpdate] = useState({});\n\n // eslint-disable-next-line\n if (!formRef.current._init) {\n if (form) {\n formRef.current = form;\n } else {\n // Create a new FormStore if not provided\n const forceReRender = () => {\n forceUpdate({});\n };\n\n const formStore: FormStore = new FormStore(forceReRender);\n\n formRef.current = formStore.getForm();\n }\n }\n\n return [formRef.current];\n}\n"],"names":["HOOK_MARK","FormStore","forceRootUpdate","submit","reset","validate","validateOnly","clearValidate","setFields","setFieldsValue","setValidateMessage","getFieldValue","getFieldsValue","_init","getInternalHooks","key","notifyWatch","registerWatch","getPrevStore","prevStore","setPrevStore","store","log","warn","callback","watchList","push","filter","fn","namePath","length","values","forEach","useForm","form","formRef","useRef","useState","forceUpdate","current","forceReRender","formStore","getForm"],"mappings":"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"}
|
package/esm/form/Form.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.js","sources":["../../src/form/Form.tsx"],"sourcesContent":["import React, { useRef, useImperativeHandle } from 'react';\nimport classNames from 'classnames';\nimport useConfig from '../hooks/useConfig';\nimport noop from '../_util/noop';\nimport forwardRefWithStatics from '../_util/forwardRefWithStatics';\nimport type { TdFormProps } from './type';\nimport
|
|
1
|
+
{"version":3,"file":"Form.js","sources":["../../src/form/Form.tsx"],"sourcesContent":["import React, { useRef, useImperativeHandle } from 'react';\nimport classNames from 'classnames';\nimport useConfig from '../hooks/useConfig';\nimport noop from '../_util/noop';\nimport forwardRefWithStatics from '../_util/forwardRefWithStatics';\nimport type { TdFormProps } from './type';\nimport useInstance from './hooks/useInstance';\nimport useForm, { HOOK_MARK } from './hooks/useForm';\nimport useWatch from './hooks/useWatch';\nimport { StyledProps } from '../common';\nimport FormContext from './FormContext';\nimport FormItem from './FormItem';\nimport FormList from './FormList';\nimport { formDefaultProps } from './defaultProps';\n\nexport interface FormProps extends TdFormProps, StyledProps {\n children?: React.ReactNode;\n}\n\nconst Form = forwardRefWithStatics(\n (props: FormProps, ref) => {\n const { classPrefix, form: globalFormConfig } = useConfig();\n\n const {\n style,\n className,\n labelWidth,\n statusIcon,\n labelAlign,\n layout,\n colon,\n initialData,\n requiredMark = globalFormConfig.requiredMark,\n scrollToFirstError,\n showErrorMessage,\n resetType,\n rules,\n errorMessage = globalFormConfig.errorMessage,\n preventSubmitDefault,\n disabled,\n children,\n onReset,\n onValuesChange = noop,\n } = props;\n\n const formClass = classNames(`${classPrefix}-form`, className, {\n [`${classPrefix}-form-inline`]: layout === 'inline',\n });\n\n const [form] = useForm(props.form); // 内部与外部共享 form 实例,外部不传则内部创建\n const formRef: React.RefObject<HTMLFormElement> = useRef();\n const formMapRef = useRef(new Map()); // 收集所有包含 name 属性 formItem 实例\n const formInstance = useInstance(props, formRef, formMapRef);\n\n useImperativeHandle(ref, () => formInstance);\n Object.assign(form, { ...formInstance });\n\n function onResetHandler(e: React.FormEvent<HTMLFormElement>) {\n [...formMapRef.current.values()].forEach((formItemRef) => {\n formItemRef?.current.resetField();\n });\n form?.getInternalHooks?.(HOOK_MARK)?.notifyWatch?.([]);\n onReset?.({ e });\n }\n\n function onFormItemValueChange(changedValue: Record<string, unknown>) {\n const allFields = formInstance.getFieldsValue(true);\n onValuesChange(changedValue, allFields);\n }\n\n function onKeyDownHandler(e: React.KeyboardEvent<HTMLFormElement>) {\n // 禁用 input 输入框回车自动提交 form\n if ((e.target as Element).tagName.toLowerCase() !== 'input') return;\n if (preventSubmitDefault && e.key === 'Enter') {\n e.preventDefault?.();\n e.stopPropagation?.();\n }\n }\n\n return (\n <FormContext.Provider\n value={{\n form,\n labelWidth,\n statusIcon,\n labelAlign,\n layout,\n colon,\n initialData,\n requiredMark,\n errorMessage,\n showErrorMessage,\n scrollToFirstError,\n resetType,\n rules,\n disabled,\n formMapRef,\n onFormItemValueChange,\n }}\n >\n <form\n ref={formRef}\n style={style}\n className={formClass}\n onSubmit={formInstance.submit}\n onReset={onResetHandler}\n onKeyDown={onKeyDownHandler}\n >\n {children}\n </form>\n </FormContext.Provider>\n );\n },\n { useForm, useWatch, FormItem, FormList },\n);\n\nForm.displayName = 'Form';\nForm.defaultProps = formDefaultProps;\n\nexport default Form;\n"],"names":["Form","forwardRefWithStatics","props","ref","useConfig","classPrefix","globalFormConfig","form","style","className","labelWidth","statusIcon","labelAlign","layout","colon","initialData","requiredMark","scrollToFirstError","showErrorMessage","resetType","rules","errorMessage","preventSubmitDefault","disabled","children","onReset","onValuesChange","noop","formClass","classNames","useForm","formRef","useRef","formMapRef","Map","formInstance","useInstance","useImperativeHandle","Object","assign","onResetHandler","e","current","values","forEach","formItemRef","resetField","getInternalHooks","HOOK_MARK","notifyWatch","onFormItemValueChange","changedValue","allFields","getFieldsValue","onKeyDownHandler","target","tagName","toLowerCase","key","preventDefault","stopPropagation","React","createElement","FormContext","Provider","value","onSubmit","submit","onKeyDown","useWatch","FormItem","FormList","displayName","defaultProps","formDefaultProps"],"mappings":"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"}
|
package/esm/form/FormList.js
CHANGED
|
@@ -77,6 +77,7 @@ var FormList = function FormList(props) {
|
|
|
77
77
|
|
|
78
78
|
var formListMapRef = useRef( /* @__PURE__ */new Map());
|
|
79
79
|
var formListRef = useRef();
|
|
80
|
+
var fieldsTaskQueueRef = useRef([]);
|
|
80
81
|
var operation = {
|
|
81
82
|
add: function add(defaultValue, insertIndex) {
|
|
82
83
|
var cloneFields = _toConsumableArray(fields);
|
|
@@ -136,17 +137,15 @@ var FormList = function FormList(props) {
|
|
|
136
137
|
isListField: true
|
|
137
138
|
};
|
|
138
139
|
}));
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
var data = get_1(fieldData, name2);
|
|
143
|
-
callback(formItemRef, data);
|
|
144
|
-
});
|
|
140
|
+
fieldsTaskQueueRef.current.push({
|
|
141
|
+
callback: callback,
|
|
142
|
+
fieldData: fieldData
|
|
145
143
|
});
|
|
146
144
|
}
|
|
147
145
|
|
|
148
146
|
useEffect(function () {
|
|
149
147
|
_toConsumableArray(formListMapRef.current.values()).forEach(function (formItemRef) {
|
|
148
|
+
if (!formItemRef.current) return;
|
|
150
149
|
var _formItemRef$current = formItemRef.current,
|
|
151
150
|
name2 = _formItemRef$current.name,
|
|
152
151
|
value = _formItemRef$current.value;
|
|
@@ -157,7 +156,20 @@ var FormList = function FormList(props) {
|
|
|
157
156
|
status: "not"
|
|
158
157
|
});
|
|
159
158
|
});
|
|
160
|
-
}, [
|
|
159
|
+
}, [initialValue]);
|
|
160
|
+
useEffect(function () {
|
|
161
|
+
var currentQueue = fieldsTaskQueueRef.current.pop();
|
|
162
|
+
if (!currentQueue) return;
|
|
163
|
+
|
|
164
|
+
_toConsumableArray(formListMapRef.current.values()).forEach(function (formItemRef) {
|
|
165
|
+
if (!formItemRef.current) return;
|
|
166
|
+
var name2 = formItemRef.current.name;
|
|
167
|
+
var fieldData = currentQueue.fieldData,
|
|
168
|
+
callback = currentQueue.callback;
|
|
169
|
+
var data = get_1(fieldData, name2);
|
|
170
|
+
callback(formItemRef, data);
|
|
171
|
+
});
|
|
172
|
+
}, [fields]);
|
|
161
173
|
useEffect(function () {
|
|
162
174
|
if (!name || !formMapRef) return;
|
|
163
175
|
formMapRef.current.set(name, formListRef);
|
|
@@ -186,7 +198,9 @@ var FormList = function FormList(props) {
|
|
|
186
198
|
var resultList = [];
|
|
187
199
|
|
|
188
200
|
var validates = _toConsumableArray(formListMapRef.current.values()).map(function (formItemRef) {
|
|
189
|
-
|
|
201
|
+
var _formItemRef$current3, _formItemRef$current4;
|
|
202
|
+
|
|
203
|
+
return formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current3 = formItemRef.current) === null || _formItemRef$current3 === void 0 ? void 0 : (_formItemRef$current4 = _formItemRef$current3.validate) === null || _formItemRef$current4 === void 0 ? void 0 : _formItemRef$current4.call(_formItemRef$current3, trigger);
|
|
190
204
|
});
|
|
191
205
|
|
|
192
206
|
return new Promise(function (resolve) {
|
|
@@ -212,18 +226,18 @@ var FormList = function FormList(props) {
|
|
|
212
226
|
},
|
|
213
227
|
setValue: function setValue(fieldData) {
|
|
214
228
|
setListFields(fieldData, function (formItemRef, data) {
|
|
215
|
-
var _formItemRef$
|
|
229
|
+
var _formItemRef$current5, _formItemRef$current6;
|
|
216
230
|
|
|
217
|
-
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$
|
|
231
|
+
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current5 = formItemRef.current) === null || _formItemRef$current5 === void 0 ? void 0 : (_formItemRef$current6 = _formItemRef$current5.setValue) === null || _formItemRef$current6 === void 0 ? void 0 : _formItemRef$current6.call(_formItemRef$current5, data);
|
|
218
232
|
});
|
|
219
233
|
},
|
|
220
234
|
setField: function setField(fieldData) {
|
|
221
235
|
var value = fieldData.value,
|
|
222
236
|
status = fieldData.status;
|
|
223
237
|
setListFields(value, function (formItemRef, data) {
|
|
224
|
-
var _formItemRef$
|
|
238
|
+
var _formItemRef$current7, _formItemRef$current8;
|
|
225
239
|
|
|
226
|
-
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$
|
|
240
|
+
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current7 = formItemRef.current) === null || _formItemRef$current7 === void 0 ? void 0 : (_formItemRef$current8 = _formItemRef$current7.setField) === null || _formItemRef$current8 === void 0 ? void 0 : _formItemRef$current8.call(_formItemRef$current7, {
|
|
227
241
|
value: data,
|
|
228
242
|
status: status
|
|
229
243
|
});
|
|
@@ -231,21 +245,27 @@ var FormList = function FormList(props) {
|
|
|
231
245
|
},
|
|
232
246
|
resetField: function resetField() {
|
|
233
247
|
_toConsumableArray(formListMapRef.current.values()).forEach(function (formItemRef) {
|
|
234
|
-
|
|
248
|
+
var _formItemRef$current9, _formItemRef$current10;
|
|
249
|
+
|
|
250
|
+
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current9 = formItemRef.current) === null || _formItemRef$current9 === void 0 ? void 0 : (_formItemRef$current10 = _formItemRef$current9.resetField) === null || _formItemRef$current10 === void 0 ? void 0 : _formItemRef$current10.call(_formItemRef$current9);
|
|
235
251
|
});
|
|
236
252
|
|
|
237
253
|
setInitialValue([]);
|
|
238
254
|
},
|
|
239
255
|
setValidateMessage: function setValidateMessage(fieldData) {
|
|
240
256
|
_toConsumableArray(formListMapRef.current.values()).forEach(function (formItemRef) {
|
|
257
|
+
var _formItemRef$current11, _formItemRef$current12;
|
|
258
|
+
|
|
241
259
|
var name2 = formItemRef.current.name;
|
|
242
260
|
var data = get_1(fieldData, name2);
|
|
243
|
-
formItemRef.current.setValidateMessage(data);
|
|
261
|
+
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current11 = formItemRef.current) === null || _formItemRef$current11 === void 0 ? void 0 : (_formItemRef$current12 = _formItemRef$current11.setValidateMessage) === null || _formItemRef$current12 === void 0 ? void 0 : _formItemRef$current12.call(_formItemRef$current11, data);
|
|
244
262
|
});
|
|
245
263
|
},
|
|
246
264
|
resetValidate: function resetValidate() {
|
|
247
265
|
_toConsumableArray(formListMapRef.current.values()).forEach(function (formItemRef) {
|
|
248
|
-
|
|
266
|
+
var _formItemRef$current13, _formItemRef$current14;
|
|
267
|
+
|
|
268
|
+
formItemRef === null || formItemRef === void 0 ? void 0 : (_formItemRef$current13 = formItemRef.current) === null || _formItemRef$current13 === void 0 ? void 0 : (_formItemRef$current14 = _formItemRef$current13.resetValidate) === null || _formItemRef$current14 === void 0 ? void 0 : _formItemRef$current14.call(_formItemRef$current13);
|
|
249
269
|
});
|
|
250
270
|
}
|
|
251
271
|
};
|
package/esm/form/FormList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormList.js","sources":["../../src/form/FormList.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\nimport merge from 'lodash/merge';\nimport get from 'lodash/get';\nimport { FormListContext, useFormContext } from './FormContext';\nimport { FormItemInstance } from './FormItem';\nimport { TdFormListProps, FormListFieldOperation, FormListField } from './type';\nimport { calcFieldValue } from './utils';\nimport log from '../_common/js/log';\n\nlet key = 0;\n\nconst FormList = (props: TdFormListProps) => {\n const { formMapRef } = useFormContext();\n const { name, initialData = [], rules, children } = props;\n\n const [initialValue, setInitialValue] = useState(initialData);\n const [fields, setFields] = useState<Array<FormListField>>(\n initialData.map((data, index) => ({\n key: (key += 1),\n name: index,\n isListField: true,\n ...data,\n })),\n );\n const formListMapRef = useRef(new Map()); // 收集 formItem 实例\n const formListRef = useRef<FormItemInstance>(); // 当前 formList 实例\n\n const operation: FormListFieldOperation = {\n add(defaultValue?: any, insertIndex?: number) {\n const cloneFields = [...fields];\n const index = insertIndex ?? cloneFields.length;\n cloneFields.splice(index, 0, {\n key: (key += 1),\n name: index,\n isListField: true,\n });\n cloneFields.forEach((field, index) => Object.assign(field, { name: index }));\n setFields(cloneFields);\n\n if (typeof defaultValue !== 'undefined') {\n const nextInitialValue = [...initialValue];\n nextInitialValue[index] = defaultValue;\n setInitialValue(nextInitialValue);\n }\n },\n remove(index: number | number[]) {\n const nextFields = fields\n .filter((_, i) => {\n if (Array.isArray(index)) return !index.includes(i);\n return i !== index;\n })\n .map((field, index) => Object.assign(field, { name: index }));\n\n setInitialValue(initialValue.filter((_, idx) => idx !== index));\n setFields(nextFields);\n },\n move(from: number, to: number) {\n const cloneFields = [...fields];\n const fromItem = { ...cloneFields[from] };\n const toItem = { ...cloneFields[to] };\n cloneFields[to] = fromItem;\n cloneFields[from] = toItem;\n setFields(cloneFields);\n },\n };\n\n // 外部设置 fields 优先级最高,可以更改渲染的节点\n function setListFields(fieldData: any[], callback: Function) {\n setFields(\n fieldData.map((_, index) => ({\n key: (key += 1),\n name: index,\n isListField: true,\n })),\n );\n // 延迟至 FormItem 渲染后再赋值\n requestAnimationFrame(() => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name } = formItemRef.current;\n const data = get(fieldData, name);\n callback(formItemRef, data);\n });\n });\n }\n\n useEffect(() => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name, value } = formItemRef.current;\n if (value) return;\n\n const data = get(initialValue, name);\n formItemRef.current.setField({ value: data, status: 'not' });\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fields, initialValue]);\n\n useEffect(() => {\n if (!name || !formMapRef) return;\n formMapRef.current.set(name, formListRef);\n\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n formMapRef.current.delete(name);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [name]);\n\n useImperativeHandle(\n formListRef,\n (): FormItemInstance => ({\n name,\n getValue() {\n const formListValue = [];\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name, getValue } = formItemRef.current;\n const fieldValue = calcFieldValue(name, getValue());\n merge(formListValue, fieldValue);\n });\n return formListValue;\n },\n validate: (trigger = 'all') => {\n const resultList = [];\n const validates = [...formListMapRef.current.values()].map((formItemRef) =>\n formItemRef.current.validate(trigger),\n );\n return new Promise((resolve) => {\n Promise.all(validates).then((validateResult) => {\n validateResult.forEach((result) => {\n const errorKey = Object.keys(result)[0];\n const errorKeyList = errorKey.split(',');\n\n let errorValue = Object.values(result)[0];\n errorValue = calcFieldValue(errorKeyList, errorValue);\n\n merge(resultList, errorValue);\n });\n const errorItems = validateResult.filter((item) => Object.values(item)[0] !== true);\n if (errorItems.length) {\n resolve({ [String(name)]: resultList });\n } else {\n resolve({ [String(name)]: true });\n }\n });\n });\n },\n setValue: (fieldData: any[]) => {\n setListFields(fieldData, (formItemRef, data) => {\n formItemRef?.current?.setValue(data);\n });\n },\n setField: (fieldData: { value?: any[]; status?: string }) => {\n const { value, status } = fieldData;\n setListFields(value, (formItemRef, data) => {\n formItemRef?.current?.setField({ value: data, status });\n });\n },\n resetField: () => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n formItemRef.current.resetField();\n });\n setInitialValue([]);\n },\n setValidateMessage: (fieldData) => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name } = formItemRef.current;\n const data = get(fieldData, name);\n\n formItemRef.current.setValidateMessage(data);\n });\n },\n resetValidate: () => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n formItemRef.current.resetValidate();\n });\n },\n }),\n );\n\n if (typeof children !== 'function') {\n log.error('Form', `FormList's children must be a function!`);\n return null;\n }\n\n return (\n <FormListContext.Provider value={{ name, rules, formListMapRef }}>\n {children(fields, operation)}\n </FormListContext.Provider>\n );\n};\n\nFormList.displayName = 'FormList';\n\nexport default FormList;\n"],"names":["key","FormList","props","useFormContext","formMapRef","name","initialData","rules","children","useState","initialValue","setInitialValue","map","data","index","isListField","fields","setFields","formListMapRef","useRef","Map","formListRef","operation","add","defaultValue","insertIndex","cloneFields","length","splice","forEach","field","Object","assign","nextInitialValue","remove","nextFields","filter","_","i","Array","isArray","includes","idx","move","from","to","fromItem","toItem","setListFields","fieldData","callback","requestAnimationFrame","current","values","formItemRef","get","useEffect","value","setField","status","set","useImperativeHandle","getValue","formListValue","fieldValue","calcFieldValue","merge","validate","trigger","resultList","validates","Promise","resolve","all","then","validateResult","result","errorKey","keys","errorKeyList","split","errorValue","errorItems","item","String","setValue","resetField","setValidateMessage","resetValidate","log","error","React","createElement","FormListContext","Provider","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormList.js","sources":["../../src/form/FormList.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\nimport merge from 'lodash/merge';\nimport get from 'lodash/get';\nimport { FormListContext, useFormContext } from './FormContext';\nimport { FormItemInstance } from './FormItem';\nimport { TdFormListProps, FormListFieldOperation, FormListField } from './type';\nimport { calcFieldValue } from './utils';\nimport log from '../_common/js/log';\n\nlet key = 0;\n\nconst FormList = (props: TdFormListProps) => {\n const { formMapRef } = useFormContext();\n const { name, initialData = [], rules, children } = props;\n\n const [initialValue, setInitialValue] = useState(initialData);\n const [fields, setFields] = useState<Array<FormListField>>(\n initialData.map((data, index) => ({\n key: (key += 1),\n name: index,\n isListField: true,\n ...data,\n })),\n );\n const formListMapRef = useRef(new Map()); // 收集 formItem 实例\n const formListRef = useRef<FormItemInstance>(); // 当前 formList 实例\n const fieldsTaskQueueRef = useRef([]); // 记录更改 fields 数据后 callback 队列\n\n const operation: FormListFieldOperation = {\n add(defaultValue?: any, insertIndex?: number) {\n const cloneFields = [...fields];\n const index = insertIndex ?? cloneFields.length;\n cloneFields.splice(index, 0, {\n key: (key += 1),\n name: index,\n isListField: true,\n });\n cloneFields.forEach((field, index) => Object.assign(field, { name: index }));\n setFields(cloneFields);\n\n if (typeof defaultValue !== 'undefined') {\n const nextInitialValue = [...initialValue];\n nextInitialValue[index] = defaultValue;\n setInitialValue(nextInitialValue);\n }\n },\n remove(index: number | number[]) {\n const nextFields = fields\n .filter((_, i) => {\n if (Array.isArray(index)) return !index.includes(i);\n return i !== index;\n })\n .map((field, index) => Object.assign(field, { name: index }));\n\n setInitialValue(initialValue.filter((_, idx) => idx !== index));\n setFields(nextFields);\n },\n move(from: number, to: number) {\n const cloneFields = [...fields];\n const fromItem = { ...cloneFields[from] };\n const toItem = { ...cloneFields[to] };\n cloneFields[to] = fromItem;\n cloneFields[from] = toItem;\n setFields(cloneFields);\n },\n };\n\n // 外部设置 fields 优先级最高,可以更改渲染的节点\n function setListFields(fieldData: any[], callback: Function) {\n setFields(\n fieldData.map((_, index) => ({\n key: (key += 1),\n name: index,\n isListField: true,\n })),\n );\n // 添加至队列中 等待下次渲染完成执行对应逻辑\n fieldsTaskQueueRef.current.push({ callback, fieldData });\n }\n\n useEffect(() => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n if (!formItemRef.current) return;\n\n const { name, value } = formItemRef.current;\n if (value) return; // 内部有值则忽略初始化设置\n\n const data = get(initialValue, name);\n formItemRef.current.setField({ value: data, status: 'not' });\n });\n }, [initialValue]);\n\n useEffect(() => {\n const currentQueue = fieldsTaskQueueRef.current.pop();\n if (!currentQueue) return;\n\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n if (!formItemRef.current) return;\n\n const { name } = formItemRef.current;\n const { fieldData, callback } = currentQueue;\n const data = get(fieldData, name);\n callback(formItemRef, data);\n });\n }, [fields]);\n\n useEffect(() => {\n if (!name || !formMapRef) return;\n formMapRef.current.set(name, formListRef);\n\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n formMapRef.current.delete(name);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [name]);\n\n useImperativeHandle(\n formListRef,\n (): FormItemInstance => ({\n name,\n getValue() {\n const formListValue = [];\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name, getValue } = formItemRef.current;\n const fieldValue = calcFieldValue(name, getValue());\n merge(formListValue, fieldValue);\n });\n return formListValue;\n },\n validate: (trigger = 'all') => {\n const resultList = [];\n const validates = [...formListMapRef.current.values()].map((formItemRef) =>\n formItemRef?.current?.validate?.(trigger),\n );\n return new Promise((resolve) => {\n Promise.all(validates).then((validateResult) => {\n validateResult.forEach((result) => {\n const errorKey = Object.keys(result)[0];\n const errorKeyList = errorKey.split(',');\n\n let errorValue = Object.values(result)[0];\n errorValue = calcFieldValue(errorKeyList, errorValue);\n\n merge(resultList, errorValue);\n });\n const errorItems = validateResult.filter((item) => Object.values(item)[0] !== true);\n if (errorItems.length) {\n resolve({ [String(name)]: resultList });\n } else {\n resolve({ [String(name)]: true });\n }\n });\n });\n },\n setValue: (fieldData: any[]) => {\n setListFields(fieldData, (formItemRef, data) => {\n formItemRef?.current?.setValue?.(data);\n });\n },\n setField: (fieldData: { value?: any[]; status?: string }) => {\n const { value, status } = fieldData;\n setListFields(value, (formItemRef, data) => {\n formItemRef?.current?.setField?.({ value: data, status });\n });\n },\n resetField: () => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n formItemRef?.current?.resetField?.();\n });\n setInitialValue([]);\n },\n setValidateMessage: (fieldData) => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n const { name } = formItemRef.current;\n const data = get(fieldData, name);\n\n formItemRef?.current?.setValidateMessage?.(data);\n });\n },\n resetValidate: () => {\n [...formListMapRef.current.values()].forEach((formItemRef) => {\n formItemRef?.current?.resetValidate?.();\n });\n },\n }),\n );\n\n if (typeof children !== 'function') {\n log.error('Form', `FormList's children must be a function!`);\n return null;\n }\n\n return (\n <FormListContext.Provider value={{ name, rules, formListMapRef }}>\n {children(fields, operation)}\n </FormListContext.Provider>\n );\n};\n\nFormList.displayName = 'FormList';\n\nexport default FormList;\n"],"names":["key","FormList","props","useFormContext","formMapRef","name","initialData","rules","children","useState","initialValue","setInitialValue","map","data","index","isListField","fields","setFields","formListMapRef","useRef","Map","formListRef","fieldsTaskQueueRef","operation","add","defaultValue","insertIndex","cloneFields","length","splice","forEach","field","Object","assign","nextInitialValue","remove","nextFields","filter","_","i","Array","isArray","includes","idx","move","from","to","fromItem","toItem","setListFields","fieldData","callback","current","push","useEffect","values","formItemRef","value","get","setField","status","currentQueue","pop","set","useImperativeHandle","getValue","formListValue","fieldValue","calcFieldValue","merge","validate","trigger","resultList","validates","Promise","resolve","all","then","validateResult","result","errorKey","keys","errorKeyList","split","errorValue","errorItems","item","String","setValue","resetField","setValidateMessage","resetValidate","log","error","React","createElement","FormListContext","Provider","displayName"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import '../../_common/js/log/index.js';
|
|
|
12
12
|
import log from '../../_common/js/log/log.js';
|
|
13
13
|
import '../../_chunks/dep-24599104.js';
|
|
14
14
|
|
|
15
|
-
var HOOK_MARK =
|
|
15
|
+
var HOOK_MARK = "TD_FORM_INTERNAL_HOOKS";
|
|
16
16
|
|
|
17
17
|
var FormStore = /*#__PURE__*/_createClass(function FormStore(forceRootUpdate) {
|
|
18
18
|
var _this = this;
|