{"version":3,"file":"form.mjs","sources":["../../../components/form/form.tsx"],"sourcesContent":["import { computed, defineComponent, provide, reactive, ref, toRefs } from 'vue';\nimport { isEmpty } from 'lodash-es';\nimport { isBoolean } from 'lodash-es';\nimport { isArray } from 'lodash-es';\nimport { isFunction } from 'lodash-es';\nimport { requestSubmit } from '../utils/dom';\nimport { FormItemValidateResult, getFormItemClassName } from './form-item';\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, useCLASSNAMES } from './consts';\nimport { FormResetEvent, FormSubmitEvent } from '../common';\n\nimport { FormDisabledProvider, FormReadonlyProvider } from './hooks';\nimport { usePrefixClass, useTNodeJSX } from '../hooks';\n\ntype Result = FormValidateResult<TdFormProps['data']>;\n\nexport default defineComponent({\n  name: 'TForm',\n  props,\n  setup(props, { expose }) {\n    const renderContent = useTNodeJSX();\n    const { disabled, readonly } = toRefs(props);\n    provide<FormDisabledProvider>('formDisabled', {\n      disabled,\n    });\n    provide<FormReadonlyProvider>('formReadonly', {\n      readonly,\n    });\n\n    const formRef = ref<HTMLFormElement>(null);\n    const children = ref<FormItemContext[]>([]);\n\n    const { showErrorMessage, labelWidth, labelAlign, data, colon, requiredMark, rules, errorMessage, resetType } =\n      toRefs(props);\n    provide(\n      FormInjectionKey,\n      reactive({\n        showErrorMessage,\n        labelWidth,\n        labelAlign,\n        data,\n        colon,\n        requiredMark,\n        rules,\n        errorMessage,\n        resetType,\n        children,\n        renderContent,\n      }),\n    );\n\n    const COMPONENT_NAME = usePrefixClass('form');\n    const CLASS_NAMES = useCLASSNAMES();\n    const formClass = computed(() => [\n      CLASS_NAMES.value.form,\n      { [`${COMPONENT_NAME.value}-inline`]: props.layout === 'inline' },\n    ]);\n\n    const FORM_ITEM_CLASS_PREFIX = usePrefixClass('form-item');\n\n    const getFirstError = (result: Result) => {\n      if (isBoolean(result)) return '';\n      const [firstKey] = Object.keys(result);\n      if (props.scrollToFirstError) {\n        const tmpClassName = getFormItemClassName(FORM_ITEM_CLASS_PREFIX.value, firstKey);\n        scrollTo(tmpClassName);\n      }\n      const resArr = result[firstKey] as ValidateResultList;\n      if (!isArray(resArr)) return '';\n      return resArr.filter((item) => !item.result)[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 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: Record<string, any> = 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      const firstError = getFirstError(result);\n      props.onValidate?.({\n        validateResult: result,\n        firstError,\n      });\n      return result;\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    const submitParams = ref<Pick<FormValidateParams, 'showErrorMessage'>>();\n    const onSubmit = (e?: FormSubmitEvent) => {\n      if (props.preventSubmitDefault && e) {\n        e.preventDefault();\n        e.stopPropagation();\n      }\n      validate(submitParams.value).then((r) => {\n        props.onSubmit?.({ validateResult: r, firstError: getFirstError(r), e });\n      });\n      submitParams.value = undefined;\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        e.preventDefault();\n        e.stopPropagation();\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    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 as keyof FormData]));\n      Promise.all(list);\n    };\n\n    expose({ validate, submit, reset, clearValidate, setValidateMessage, validateOnly });\n\n    return () => (\n      <form ref={formRef} class={formClass.value} onSubmit={(e) => onSubmit(e)} onReset={(e) => onReset(e)}>\n        {renderContent('default')}\n      </form>\n    );\n  },\n});\n"],"names":["defineComponent","name","props","setup","expose","_ref","renderContent","useTNodeJSX","_toRefs","toRefs","disabled","readonly","provide","formRef","ref","children","_toRefs2","showErrorMessage","labelWidth","labelAlign","data","colon","requiredMark","rules","errorMessage","resetType","FormInjectionKey","reactive","COMPONENT_NAME","usePrefixClass","CLASS_NAMES","useCLASSNAMES","formClass","computed","value","form","_defineProperty","concat","layout","FORM_ITEM_CLASS_PREFIX","getFirstError","result","isBoolean","_Object$keys","Object","keys","_Object$keys2","_slicedToArray","firstKey","scrollToFirstError","tmpClassName","getFormItemClassName","scrollTo","resArr","isArray","filter","item","message","selector","_formRef$value$getEle","getElementsByClassName","_formRef$value$getEle2","dom","behavior","scrollIntoView","needValidate","fields","indexOf","formatValidateResult","validateResultList","reduce","r","err","assign","forEach","key","isEmpty","validate","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","param","_props2$onValidate","_ref4","_ref4$trigger","trigger","showErrorMessage2","list","arr","firstError","wrap","_callee$","_context","prev","next","child","isFunction","String","map","Promise","all","sent","onValidate","validateResult","abrupt","stop","_x","apply","arguments","validateOnly","_ref5","_callee2","params","_ref6","_ref6$trigger","_callee2$","_context2","_x2","submitParams","onSubmit","e","preventSubmitDefault","preventDefault","stopPropagation","then","_props2$onSubmit","submit","_ref7","_callee3","_callee3$","_context3","requestSubmit","_x3","resetParams","onReset","_props2$onReset","_resetParams$value","resetField","_resetParams$value2","type","reset","clearValidate","resetHandler","setValidateMessage","validateMessage","length","includes","_createVNode"],"mappings":"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"}