tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 19.7 kB
Source Map (JSON)
{"version":3,"file":"form.mjs","sources":["../../src/form/form.tsx"],"sourcesContent":["import { defineComponent, provide, reactive, ref, toRefs } from 'vue';\nimport isEmpty from 'lodash/isEmpty';\nimport isArray from 'lodash/isArray';\nimport isBoolean from 'lodash/isBoolean';\nimport isFunction from 'lodash/isFunction';\nimport {\n Data,\n FormResetParams,\n FormValidateMessage,\n FormValidateParams,\n FormValidateResult,\n TdFormProps,\n ValidateResultList,\n} from './type';\nimport props from './props';\nimport { FormInjectionKey, FormItemContext } from './const';\nimport { FormDisabledProvider } from './hooks';\nimport config from '../config';\nimport { renderContent } from '../shared';\nimport { preventDefault } from '../shared/dom';\nimport { FormItemValidateResult } from './form-item';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport { usePrefixClass } from '../hooks/useClass';\n\nconst { prefix } = config;\n\ntype FormResetEvent = Event;\n// export type FormSubmitEvent = SubmitEvent; (for higher typescript version)\ntype FormSubmitEvent = Event;\ntype Result = FormValidateResult<TdFormProps['data']>;\n\nexport const requestSubmit = (target: HTMLFormElement) => {\n if (!(target instanceof HTMLFormElement)) {\n throw new Error('target must be HTMLFormElement');\n }\n const submitter = document.createElement('input');\n submitter.type = 'submit';\n submitter.hidden = true;\n target.appendChild(submitter);\n submitter.click();\n target.removeChild(submitter);\n};\n\nexport default defineComponent({\n name: `${prefix}-form`,\n props,\n setup(props, { expose }) {\n const renderTNodeJSX = useTNodeJSX();\n const {\n disabled,\n showErrorMessage,\n labelWidth,\n labelAlign,\n contentAlign,\n data,\n colon,\n requiredMark,\n rules,\n errorMessage,\n resetType,\n } = toRefs(props);\n\n const formRef = ref<HTMLFormElement>();\n const children = ref<FormItemContext[]>([]);\n\n provide<FormDisabledProvider>('formDisabled', {\n disabled,\n });\n\n provide(\n FormInjectionKey,\n reactive({\n showErrorMessage,\n labelWidth,\n labelAlign,\n contentAlign,\n data,\n colon,\n requiredMark,\n rules,\n errorMessage,\n resetType,\n children,\n renderContent,\n }),\n );\n\n const formClass = usePrefixClass('form');\n\n const needValidate = (name: string | number, fields: string[] | undefined) => {\n if (!fields || !isArray(fields)) return true;\n return fields.indexOf(`${name}`) !== -1;\n };\n const formatValidateResult = <T extends Data>(validateResultList: FormItemValidateResult<T>[]) => {\n const result = validateResultList.reduce((r, err) => Object.assign(r || {}, err), {});\n Object.keys(result).forEach((key) => {\n if (result[key] === true) {\n delete result[key];\n }\n });\n return isEmpty(result) ? true : result;\n };\n const validate = async (param?: FormValidateParams): Promise<Result> => {\n const { fields, trigger = 'all', showErrorMessage } = param || {};\n const list = children.value\n .filter((child) => isFunction(child.validate) && needValidate(String(child.name), fields))\n .map((child) => child.validate(trigger, showErrorMessage));\n const arr = await Promise.all(list);\n const result = formatValidateResult(arr);\n props.onValidate?.({\n validateResult: result,\n });\n return result;\n };\n\n const getFirstError = (result: Result) => {\n if (isBoolean(result)) return '';\n\n const [firstKey] = Object.keys(result);\n if (props.scrollToFirstError) {\n const tmpClassName = `${formClass.value}-item__${firstKey}`;\n scrollTo(tmpClassName);\n }\n const resArr = result[firstKey] as ValidateResultList;\n if (!isArray(resArr)) return '';\n\n return result?.[Object.keys(result)?.[0]]?.[0]?.message || '';\n };\n // 校验不通过时,滚动到第一个错误表单\n const scrollTo = (selector: string) => {\n const [dom] = formRef.value.getElementsByClassName(selector);\n const behavior = props.scrollToFirstError;\n if (behavior) {\n dom && dom.scrollIntoView({ behavior });\n }\n };\n\n const validateOnly = async (params?: Omit<FormValidateParams, 'showErrorMessage'>) => {\n const { fields, trigger = 'all' } = params || {};\n const list = children.value\n .filter((child) => isFunction(child.validateOnly) && needValidate(String(child.name), fields))\n .map((child) => child.validateOnly(trigger));\n const arr = await Promise.all(list);\n return formatValidateResult(arr);\n };\n\n const submitParams = ref<Pick<FormValidateParams, 'showErrorMessage'>>();\n const onSubmit = (e?: FormSubmitEvent) => {\n if (props.preventSubmitDefault && e) {\n preventDefault(e, true);\n }\n validate(submitParams.value).then((r) => {\n const firstError = getFirstError(r);\n // @ts-ignore\n props.onSubmit?.({\n validateResult: r,\n firstError,\n });\n });\n submitParams.value = undefined;\n };\n\n const submit = async (params?: Pick<FormValidateParams, 'showErrorMessage'>) => {\n submitParams.value = params;\n requestSubmit(formRef.value);\n };\n\n const resetParams = ref<FormResetParams<Data>>();\n const onReset = (e?: FormResetEvent) => {\n if (props.preventSubmitDefault && e) {\n preventDefault(e, true);\n }\n children.value\n .filter(\n (child) =>\n isFunction(child.resetField) && needValidate(String(child.name), resetParams.value?.fields as string[]),\n )\n .forEach((child) => child.resetField(resetParams.value?.type));\n resetParams.value = undefined;\n props.onReset?.({ e });\n };\n\n const reset = <FormData extends Data>(params?: FormResetParams<FormData>) => {\n (resetParams.value as any) = params;\n formRef.value.reset();\n };\n\n const clearValidate = (fields?: Array<string>) => {\n children.value.forEach((child) => {\n if (isFunction(child.resetHandler) && needValidate(String(child.name), fields)) {\n child.resetHandler();\n }\n });\n };\n const setValidateMessage = (validateMessage: FormValidateMessage<FormData>) => {\n const keys = Object.keys(validateMessage);\n if (!keys.length) return;\n const list = children.value\n .filter((child) => isFunction(child.setValidateMessage) && keys.includes(`${child.name}`))\n .map((child) => child.setValidateMessage(validateMessage[`${child.name}`]));\n Promise.all(list);\n };\n\n expose({ validate, submit, reset, clearValidate, setValidateMessage, validateOnly });\n\n return () => {\n return (\n <form ref={formRef} class={formClass.value} onSubmit={(e) => onSubmit(e)} onReset={(e) => onReset(e)}>\n {renderTNodeJSX('default')}\n </form>\n );\n };\n },\n});\n"],"names":["prefix","config","requestSubmit","target","HTMLFormElement","Error","submitter","document","createElement","type","hidden","appendChild","click","removeChild","defineComponent","name","props","setup","expose","_ref","renderTNodeJSX","useTNodeJSX","_toRefs","toRefs","disabled","showErrorMessage","labelWidth","labelAlign","contentAlign","data","colon","requiredMark","rules","errorMessage","resetType","formRef","ref","children","provide","FormInjectionKey","reactive","renderContent","formClass","usePrefixClass","needValidate","fields","isArray","indexOf","concat","formatValidateResult","validateResultList","result","reduce","r","err","Object","assign","keys","forEach","key","isEmpty","validate","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","param","_props2$onValidate","_ref3","_ref3$trigger","trigger","showErrorMessage2","list","arr","wrap","_callee$","_context","prev","next","value","filter","child","isFunction","String","map","Promise","all","sent","onValidate","validateResult","abrupt","stop","_x","apply","arguments","getFirstError","_result$Object$keys$","_Object$keys3","isBoolean","_Object$keys","_Object$keys2","_slicedToArray","firstKey","scrollToFirstError","tmpClassName","scrollTo","resArr","message","selector","_formRef$value$getEle","getElementsByClassName","_formRef$value$getEle2","dom","behavior","scrollIntoView","validateOnly","_ref4","_callee2","params","_ref5","_ref5$trigger","_callee2$","_context2","_x2","submitParams","onSubmit","e","preventSubmitDefault","preventDefault","then","_props2$onSubmit","firstError","submit","_ref6","_callee3","_callee3$","_context3","_x3","resetParams","onReset","_props2$onReset","_resetParams$value","resetField","_resetParams$value2","reset","clearValidate","resetHandler","setValidateMessage","validateMessage","length","includes","_createVNode"],"mappings":"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"}