{"version":3,"file":"form2.mjs","sources":["../../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, onMounted, reactive, ref, unref, watch } from 'vue'\nimport { Form, Row } from 'ant-design-vue'\nimport { dateUtil } from '@tav-ui/utils/dateUtil'\nimport { deepMerge } from '@tav-ui/utils/basic'\nimport { useModalContext } from '@tav-ui/components/modal/src/hooks/useModalContext'\nimport FormAction from './components/FormAction.vue'\nimport FormItem from './components/FormItem'\nimport { dateItemType } from './helper'\nimport useAdvanced from './hooks/useAdvanced'\nimport { useAutoFocus } from './hooks/useAutoFocus'\nimport { createFormContext } from './hooks/useFormContext'\nimport { useFormEvents } from './hooks/useFormEvents'\nimport { useFormValues } from './hooks/useFormValues'\nimport { formProps } from './props'\nimport type dayjs from 'dayjs'\n\nimport type { Ref } from 'vue'\nimport type { FormActionType, FormProps, FormSchema } from './types/form'\nimport type { AdvanceState } from './types/hooks'\n// import { cloneDeep } from 'lodash-es';\ntype Recordable<T = any> = Record<string, T>\ntype Nullable<T> = T | null\nexport default defineComponent({\n  name: 'TaForm',\n  components: { FormItem, Form, Row, FormAction },\n  props: formProps,\n  emits: ['advanced-change', 'reset', 'submit', 'register'],\n  setup(props, { emit, attrs }) {\n    const formModel = reactive<Recordable>({})\n    const modalFn = useModalContext()\n\n    const advanceState = reactive<AdvanceState>({\n      isAdvanced: true,\n      hideAdvanceBtn: false,\n      isLoad: false,\n      actionSpan: 6,\n    })\n\n    const defaultValueRef = ref<Recordable>({})\n    const isInitedDefaultRef = ref(false)\n    const propsRef = ref({})\n    const schemaRef = ref<Nullable<FormSchema[]>>(null)\n    const formElRef = ref<Nullable<FormActionType>>(null)\n\n    const prefixCls = 'ta-basic-form'\n\n    // Get the basic configuration of the form\n    const getProps = computed((): FormProps => {\n      // 这两行为了老项目做兼容，最早editable都在shcmeas上配置着，后面放到form上，为了改动小，这样兼容下\n      const mergeData = { ...props, ...unref(propsRef) } as FormProps\n      mergeData.editable =\n        mergeData.editable || mergeData.schemas?.some((v) => v.editable !== undefined)\n      return mergeData\n    })\n\n    const getFormClass = computed(() => {\n      // ::==================== i7eo：更新 ///// start ///// ====================:: //\n      const schemas: FormSchema[] = unref(schemaRef) || (unref(getProps).schemas as any)\n      const isEditable = unref(getProps).editable\n      let hasEditableFormItemNums = 0\n      if (isEditable) {\n        hasEditableFormItemNums++\n      } else {\n        for (const schema of schemas) {\n          if (Reflect.has(schema, 'editable')) hasEditableFormItemNums++\n        }\n      }\n\n      return [\n        prefixCls,\n        {\n          [`${prefixCls}--compact`]: unref(getProps).compact,\n          [`${prefixCls}--editable`]: hasEditableFormItemNums > 0,\n        },\n      ]\n      // ::==================== i7eo：更新 ///// end   ///// ====================:: //\n    })\n\n    // Get uniform row style and Row configuration for the entire form\n    const getRow = computed((): Recordable => {\n      const { baseRowStyle = {}, rowProps } = unref(getProps)\n      return {\n        style: baseRowStyle,\n        ...rowProps,\n      }\n    })\n\n    const getBindValue = computed(() => ({ ...attrs, ...props, ...unref(getProps) } as Recordable))\n\n    const getSchema = computed((): FormSchema[] => {\n      const schemas: FormSchema[] = unref(schemaRef) || (unref(getProps).schemas as any)\n      for (const schema of schemas) {\n        const { defaultValue, component } = schema\n\n        // handle date type\n        if (defaultValue && component && dateItemType.includes(component)) {\n          if (!Array.isArray(defaultValue)) {\n            schema.defaultValue = dateUtil(defaultValue)\n          } else {\n            const def: dayjs.Dayjs[] = []\n            defaultValue.forEach((item) => {\n              def.push(dateUtil(item))\n            })\n            schema.defaultValue = def\n          }\n        }\n\n        // if (isEditable) schema.editable = true\n      }\n      if (unref(getProps).showAdvancedButton)\n        return schemas.filter((schema) => schema.component !== 'Divider') as FormSchema[]\n      else return schemas as FormSchema[]\n    })\n\n    const { handleToggleAdvanced } = useAdvanced({\n      advanceState,\n      emit,\n      getProps,\n      getSchema,\n      formModel,\n      defaultValueRef,\n    })\n\n    const { handleFormValues, initDefault } = useFormValues({\n      getProps,\n      defaultValueRef,\n      getSchema,\n      formModel,\n    })\n\n    useAutoFocus({\n      getSchema,\n      getProps,\n      isInitedDefault: isInitedDefaultRef,\n      formElRef: formElRef as Ref<FormActionType>,\n    })\n\n    const {\n      handleSubmit,\n      setFieldsValue,\n      clearValidate,\n      validate,\n      validateFields,\n      getFieldsValue,\n      updateSchema,\n      resetSchema,\n      appendSchemaByField,\n      removeSchemaByFiled,\n      resetFields,\n      scrollToField,\n    } = useFormEvents({\n      emit,\n      getProps,\n      formModel,\n      getSchema,\n      defaultValueRef,\n      formElRef: formElRef as Ref<FormActionType>,\n      schemaRef: schemaRef as Ref<any[]>,\n      handleFormValues,\n    })\n\n    createFormContext({\n      resetAction: resetFields,\n      submitAction: handleSubmit,\n    })\n\n    watch(\n      () => unref(getProps).model,\n      () => {\n        const { model } = unref(getProps)\n        if (!model) return\n        setFieldsValue(model)\n      },\n      {\n        immediate: true,\n      }\n    )\n\n    watch(\n      () => unref(getProps).schemas,\n      (schemas) => {\n        resetSchema(schemas ?? [])\n      }\n    )\n\n    watch(\n      () => getSchema.value,\n      (schema) => {\n        nextTick(() => {\n          //  Solve the problem of modal adaptive height calculation when the form is placed in the modal\n          modalFn?.redoModalHeight?.()\n        })\n        if (unref(isInitedDefaultRef)) return\n\n        if (schema?.length) {\n          initDefault()\n          isInitedDefaultRef.value = true\n        }\n      }\n    )\n\n    async function setProps(formProps: Partial<FormProps>): Promise<void> {\n      propsRef.value = deepMerge(unref(propsRef) || {}, formProps)\n    }\n\n    function setFormModel(key: string, value: any) {\n      formModel[key] = value\n      const { validateTrigger } = unref(getBindValue)\n      if (!validateTrigger || validateTrigger === 'change')\n        validateFields([key]).catch((_) => {\n          // eslint-disable-next-line no-console\n          // console.warn(_)\n        })\n    }\n\n    function handleEnterPress(e: KeyboardEvent) {\n      const { autoSubmitOnEnter } = unref(getProps)\n      if (!autoSubmitOnEnter) return\n      if (e.key === 'Enter' && e.target && e.target instanceof HTMLElement) {\n        const target: HTMLElement = e.target as HTMLElement\n        if (target && target.tagName && target.tagName.toUpperCase() == 'INPUT') handleSubmit()\n      }\n    }\n\n    const formActionType: Partial<FormActionType> = {\n      getFieldsValue,\n      setFieldsValue,\n      resetFields,\n      updateSchema,\n      resetSchema,\n      setProps,\n      removeSchemaByFiled,\n      appendSchemaByField,\n      clearValidate,\n      validateFields,\n      validate,\n      submit: handleSubmit,\n      scrollToField,\n    }\n\n    onMounted(() => {\n      initDefault()\n      emit('register', formActionType)\n    })\n\n    return {\n      getBindValue,\n      handleToggleAdvanced,\n      handleEnterPress,\n      formModel,\n      defaultValueRef,\n      advanceState,\n      getRow,\n      getProps,\n      formElRef,\n      getSchema,\n      formActionType: formActionType as any,\n      setFormModel,\n      getFormClass,\n      getFormActionBindProps: computed((): Recordable => ({ ...getProps.value, ...advanceState })),\n      ...formActionType,\n    }\n  },\n})\n</script>\n<template>\n  <Form\n    v-bind=\"getBindValue\"\n    ref=\"formElRef\"\n    :class=\"getFormClass\"\n    :model=\"formModel\"\n    @keypress.enter=\"handleEnterPress\"\n  >\n    <Row v-bind=\"getRow\">\n      <!-- :style=\"{ 'flex-direction': getProps.layout === 'vertical' ? 'column' : 'initial' }\" -->\n      <slot name=\"formHeader\" />\n      <template v-for=\"schema in getSchema\" :key=\"schema.field\">\n        <FormItem\n          :table-action=\"tableAction\"\n          :form-action-type=\"formActionType\"\n          :schema=\"schema\"\n          :form-props=\"getProps\"\n          :all-default-values=\"defaultValueRef\"\n          :form-model=\"formModel\"\n          :set-form-model=\"setFormModel\"\n        >\n          <template v-for=\"item in Object.keys($slots)\" #[item]=\"data\">\n            <slot :name=\"item\" v-bind=\"data || {}\" />\n          </template>\n        </FormItem>\n      </template>\n\n      <FormAction v-bind=\"getFormActionBindProps\" @toggle-advanced=\"handleToggleAdvanced\">\n        <template\n          v-for=\"item in ['resetBefore', 'submitBefore', 'advanceBefore', 'advanceAfter']\"\n          #[item]=\"data\"\n        >\n          <slot :name=\"item\" v-bind=\"data || {}\" />\n        </template>\n      </FormAction>\n      <slot name=\"formFooter\" />\n    </Row>\n  </Form>\n</template>\n"],"names":["Form","_resolveComponent","_openBlock","_createBlock","_mergeProps","_createElementBlock","_Fragment","_renderList","_createSlots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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"}