pro-design-vue 1.0.0-rc.9 → 1.0.0
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/dist/index.css +1 -1
- package/dist/index.full.js +375 -206
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +375 -206
- package/es/components/drawer/src/drawer.vue2.mjs +1 -1
- package/es/components/drawer/src/drawer.vue2.mjs.map +1 -1
- package/es/components/form/src/Form.d.ts +1 -1
- package/es/components/form/src/base/BaseForm.d.ts +1 -1
- package/es/components/form/src/base/BaseForm.mjs +16 -11
- package/es/components/form/src/base/BaseForm.mjs.map +1 -1
- package/es/components/form/src/base/StepForm.d.ts +1 -1
- package/es/components/form/src/components/FormColWrapper.d.ts +9 -0
- package/es/components/form/src/components/FormColWrapper.mjs +9 -1
- package/es/components/form/src/components/FormColWrapper.mjs.map +1 -1
- package/es/components/form/src/components/FormGroup.d.ts +6 -4
- package/es/components/form/src/components/FormGroup.mjs +1 -1
- package/es/components/form/src/components/FormGroup.mjs.map +1 -1
- package/es/components/form/src/components/FormItem.d.ts +9 -0
- package/es/components/form/src/components/FormItem.mjs +32 -24
- package/es/components/form/src/components/FormItem.mjs.map +1 -1
- package/es/components/form/src/components/FormItems.mjs +2 -1
- package/es/components/form/src/components/FormItems.mjs.map +1 -1
- package/es/components/form/src/components/FormList.d.ts +6 -4
- package/es/components/form/src/components/FormList.mjs +1 -1
- package/es/components/form/src/components/FormList.mjs.map +1 -1
- package/es/components/form/src/components/FormListContainer.d.ts +6 -4
- package/es/components/form/src/components/FormListContainer.mjs +1 -1
- package/es/components/form/src/components/FormListContainer.mjs.map +1 -1
- package/es/components/form/src/components/FormSet.d.ts +6 -4
- package/es/components/form/src/components/FormSet.mjs +1 -1
- package/es/components/form/src/components/FormSet.mjs.map +1 -1
- package/es/components/form/src/components/FormSubmitter.d.ts +2 -2
- package/es/components/form/src/components/FormSubmitter.mjs +25 -7
- package/es/components/form/src/components/FormSubmitter.mjs.map +1 -1
- package/es/components/form/src/components/FormTitle.d.ts +6 -4
- package/es/components/form/src/components/FormTitle.mjs +11 -6
- package/es/components/form/src/components/FormTitle.mjs.map +1 -1
- package/es/components/form/src/hooks/useAction.d.ts +5 -3
- package/es/components/form/src/hooks/useAction.mjs +30 -11
- package/es/components/form/src/hooks/useAction.mjs.map +1 -1
- package/es/components/form/src/hooks/useFieldValue.d.ts +1 -1
- package/es/components/form/src/hooks/useFieldValue.mjs +11 -15
- package/es/components/form/src/hooks/useFieldValue.mjs.map +1 -1
- package/es/components/form/src/layouts/DrawerForm.d.ts +1 -1
- package/es/components/form/src/layouts/ModalForm.d.ts +1 -1
- package/es/components/form/src/layouts/QueryFilter.d.ts +1 -1
- package/es/components/form/src/layouts/QueryFilter.mjs +14 -4
- package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
- package/es/components/form/src/layouts/StepsForm.d.ts +1 -1
- package/es/components/form/src/layouts/StepsForm.mjs +8 -8
- package/es/components/form/src/layouts/StepsForm.mjs.map +1 -1
- package/es/components/form/src/type.d.ts +24 -11
- package/es/components/form/src/utils/transformer.d.ts +3 -0
- package/es/components/form/src/utils/transformer.mjs +24 -0
- package/es/components/form/src/utils/transformer.mjs.map +1 -0
- package/es/components/modal/src/modal.vue2.mjs +1 -1
- package/es/components/modal/src/modal.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue2.mjs +1 -2
- package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyCell.mjs +2 -2
- package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyRow.vue2.mjs +3 -3
- package/es/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Drag/RowHandler.vue.mjs.map +1 -1
- package/es/components/table/src/components/Drag/RowHandler.vue2.mjs +17 -16
- package/es/components/table/src/components/Drag/RowHandler.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs +19 -7
- package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs +1 -0
- package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderExtraCell.vue.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs +1 -0
- package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue.d.ts +21 -0
- package/es/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue2.mjs +11 -5
- package/es/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Table.d.ts +25 -4
- package/es/components/table/src/components/Table.mjs +48 -14
- package/es/components/table/src/components/Table.mjs.map +1 -1
- package/es/components/table/src/components/ToolBar/ToolBar.vue.mjs +25 -6
- package/es/components/table/src/components/ToolBar/ToolBar.vue.mjs.map +1 -1
- package/es/components/table/src/components/ToolBar/ToolBar.vue2.mjs.map +1 -1
- package/es/components/table/src/components/interface.d.ts +33 -5
- package/es/components/table/src/components/interface.mjs +10 -1
- package/es/components/table/src/components/interface.mjs.map +1 -1
- package/es/components/table/src/hooks/useCellProps.mjs +3 -1
- package/es/components/table/src/hooks/useCellProps.mjs.map +1 -1
- package/es/components/table/src/hooks/useContainer.mjs +1 -1
- package/es/components/table/src/hooks/useContainer.mjs.map +1 -1
- package/es/components/table/src/hooks/useFetchData.mjs +13 -18
- package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
- package/es/components/table/src/hooks/useHover.d.ts +3 -0
- package/es/components/table/src/hooks/useHover.mjs +3 -1
- package/es/components/table/src/hooks/useHover.mjs.map +1 -1
- package/es/components/table/src/hooks/usePagination.d.ts +1 -0
- package/es/components/table/src/hooks/usePagination.mjs +7 -2
- package/es/components/table/src/hooks/usePagination.mjs.map +1 -1
- package/es/components/table/src/utils/genProColumnToColumn.mjs +5 -4
- package/es/components/table/src/utils/genProColumnToColumn.mjs.map +1 -1
- package/es/components/table/src/utils/util.d.ts +1 -1
- package/es/components/table/src/utils/util.mjs +1 -1
- package/es/components/table/src/utils/util.mjs.map +1 -1
- package/es/index.d.ts +65 -21
- package/es/utils/validate.d.ts +1 -1
- package/es/utils/validate.mjs +1 -1
- package/es/utils/validate.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/drawer/src/drawer.vue2.js +1 -1
- package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
- package/lib/components/form/src/Form.d.ts +1 -1
- package/lib/components/form/src/base/BaseForm.d.ts +1 -1
- package/lib/components/form/src/base/BaseForm.js +14 -9
- package/lib/components/form/src/base/BaseForm.js.map +1 -1
- package/lib/components/form/src/base/StepForm.d.ts +1 -1
- package/lib/components/form/src/components/FormColWrapper.d.ts +9 -0
- package/lib/components/form/src/components/FormColWrapper.js +9 -1
- package/lib/components/form/src/components/FormColWrapper.js.map +1 -1
- package/lib/components/form/src/components/FormGroup.d.ts +6 -4
- package/lib/components/form/src/components/FormGroup.js +1 -1
- package/lib/components/form/src/components/FormGroup.js.map +1 -1
- package/lib/components/form/src/components/FormItem.d.ts +9 -0
- package/lib/components/form/src/components/FormItem.js +32 -24
- package/lib/components/form/src/components/FormItem.js.map +1 -1
- package/lib/components/form/src/components/FormItems.js +2 -1
- package/lib/components/form/src/components/FormItems.js.map +1 -1
- package/lib/components/form/src/components/FormList.d.ts +6 -4
- package/lib/components/form/src/components/FormList.js +1 -1
- package/lib/components/form/src/components/FormList.js.map +1 -1
- package/lib/components/form/src/components/FormListContainer.d.ts +6 -4
- package/lib/components/form/src/components/FormListContainer.js +1 -1
- package/lib/components/form/src/components/FormListContainer.js.map +1 -1
- package/lib/components/form/src/components/FormSet.d.ts +6 -4
- package/lib/components/form/src/components/FormSet.js +1 -1
- package/lib/components/form/src/components/FormSet.js.map +1 -1
- package/lib/components/form/src/components/FormSubmitter.d.ts +2 -2
- package/lib/components/form/src/components/FormSubmitter.js +25 -7
- package/lib/components/form/src/components/FormSubmitter.js.map +1 -1
- package/lib/components/form/src/components/FormTitle.d.ts +6 -4
- package/lib/components/form/src/components/FormTitle.js +11 -6
- package/lib/components/form/src/components/FormTitle.js.map +1 -1
- package/lib/components/form/src/hooks/useAction.d.ts +5 -3
- package/lib/components/form/src/hooks/useAction.js +29 -9
- package/lib/components/form/src/hooks/useAction.js.map +1 -1
- package/lib/components/form/src/hooks/useFieldValue.d.ts +1 -1
- package/lib/components/form/src/hooks/useFieldValue.js +11 -15
- package/lib/components/form/src/hooks/useFieldValue.js.map +1 -1
- package/lib/components/form/src/layouts/DrawerForm.d.ts +1 -1
- package/lib/components/form/src/layouts/ModalForm.d.ts +1 -1
- package/lib/components/form/src/layouts/QueryFilter.d.ts +1 -1
- package/lib/components/form/src/layouts/QueryFilter.js +14 -4
- package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
- package/lib/components/form/src/layouts/StepsForm.d.ts +1 -1
- package/lib/components/form/src/layouts/StepsForm.js +8 -8
- package/lib/components/form/src/layouts/StepsForm.js.map +1 -1
- package/lib/components/form/src/type.d.ts +24 -11
- package/lib/components/form/src/utils/transformer.d.ts +3 -0
- package/lib/components/form/src/utils/transformer.js +28 -0
- package/lib/components/form/src/utils/transformer.js.map +1 -0
- package/lib/components/modal/src/modal.vue2.js +1 -1
- package/lib/components/modal/src/modal.vue2.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue2.js +1 -2
- package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyCell.js +2 -2
- package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyRow.vue2.js +3 -3
- package/lib/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
- package/lib/components/table/src/components/Drag/RowHandler.vue.js.map +1 -1
- package/lib/components/table/src/components/Drag/RowHandler.vue2.js +17 -16
- package/lib/components/table/src/components/Drag/RowHandler.vue2.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js +18 -6
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js +1 -0
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js +1 -0
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue.d.ts +21 -0
- package/lib/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue2.js +12 -6
- package/lib/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/components/table/src/components/Table.d.ts +25 -4
- package/lib/components/table/src/components/Table.js +47 -13
- package/lib/components/table/src/components/Table.js.map +1 -1
- package/lib/components/table/src/components/ToolBar/ToolBar.vue.js +24 -5
- package/lib/components/table/src/components/ToolBar/ToolBar.vue.js.map +1 -1
- package/lib/components/table/src/components/ToolBar/ToolBar.vue2.js.map +1 -1
- package/lib/components/table/src/components/interface.d.ts +33 -5
- package/lib/components/table/src/components/interface.js +10 -1
- package/lib/components/table/src/components/interface.js.map +1 -1
- package/lib/components/table/src/hooks/useCellProps.js +3 -1
- package/lib/components/table/src/hooks/useCellProps.js.map +1 -1
- package/lib/components/table/src/hooks/useContainer.js +1 -1
- package/lib/components/table/src/hooks/useContainer.js.map +1 -1
- package/lib/components/table/src/hooks/useFetchData.js +13 -18
- package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
- package/lib/components/table/src/hooks/useHover.d.ts +3 -0
- package/lib/components/table/src/hooks/useHover.js +2 -0
- package/lib/components/table/src/hooks/useHover.js.map +1 -1
- package/lib/components/table/src/hooks/usePagination.d.ts +1 -0
- package/lib/components/table/src/hooks/usePagination.js +7 -1
- package/lib/components/table/src/hooks/usePagination.js.map +1 -1
- package/lib/components/table/src/utils/genProColumnToColumn.js +5 -4
- package/lib/components/table/src/utils/genProColumnToColumn.js.map +1 -1
- package/lib/components/table/src/utils/util.d.ts +1 -1
- package/lib/components/table/src/utils/util.js +1 -1
- package/lib/components/table/src/utils/util.js.map +1 -1
- package/lib/index.d.ts +65 -21
- package/lib/utils/validate.d.ts +1 -1
- package/lib/utils/validate.js +1 -1
- package/lib/utils/validate.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/css-var.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/pro-form.css +1 -1
- package/theme-chalk/src/css-var.less +154 -677
- package/theme-chalk/src/form.less +5 -0
- package/theme-chalk/src/table/alert.less +1 -0
- package/theme-chalk/src/table/table.less +3 -3
- package/theme-chalk/src/common/css-var.less +0 -914
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FormSet.js","sources":["../../../../../../../packages/components/form/src/components/FormSet.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 10:36:49\n * @LastEditors: shen\n * @LastEditTime: 2025-07-26 11:52:13\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormItemType } from '../type'\n\nimport { computed, defineComponent, watch } from 'vue'\nimport { Form } from 'ant-design-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useFieldValue } from '../hooks/useFieldValue'\nimport { get, isEqual, omitUndefined, pickKeys, runFunction } from '@pro-design-vue/utils'\nimport FormRowWrapper from './FormRowWrapper'\nimport FormColWrapper from './FormColWrapper'\nimport FormItems from './FormItems'\nimport FormTitle from './FormTitle'\n\nconst NOT_ALLOW_FIELD_TYPES = ['formList', 'formSet', 'group', 'divider']\n\nconst ALL_ANTD_PROP_KEYS = [\n 'autoLink',\n 'colon',\n 'hasFeedback',\n 'labelAlign',\n 'labelCol',\n 'required',\n 'validateFirst',\n 'validateStatus',\n 'validateTrigger',\n 'wrapperCol',\n 'required',\n]\n\nexport default defineComponent({\n name: 'FormSet',\n inheritAttrs: false,\n props: {\n name: {\n type: [String, Array] as PropType<ProFormItemType['name']>,\n default: undefined,\n },\n initialValue: {\n type: Object as PropType<ProFormItemType['initialValue']>,\n default: undefined,\n },\n title: {\n type: [String, Object, Function] as PropType<ProFormItemType['title']>,\n default: undefined,\n },\n tooltip: {\n type: String,\n default: undefined,\n },\n colProps: {\n type: Object as PropType<ProFormItemType['colProps']>,\n default: undefined,\n },\n rowProps: {\n type: Object as PropType<ProFormItemType['rowProps']>,\n default: undefined,\n },\n spaceProps: {\n type: Object as PropType<ProFormItemType['spaceProps']>,\n default: () => ({}),\n },\n formItemProps: {\n type: [Object, Function] as PropType<ProFormItemType['formItemProps']>,\n default: undefined,\n },\n convertValue: {\n type: Function as PropType<ProFormItemType['convertValue']>,\n default: undefined,\n },\n transform: {\n type: Function as PropType<ProFormItemType['transform']>,\n default: undefined,\n },\n items: {\n type: [Array, Function] as PropType<ProFormItemType['children']>,\n default: undefined,\n },\n },\n setup(props) {\n const { formatItems, formData } = useInjectForm()\n\n const { fieldValue, onValueChange } = useFieldValue<any>({\n namePath: computed(() => props.name!),\n initialValue: props.initialValue,\n convertValue: props.convertValue,\n transform: props.transform,\n })\n\n const formItemProps = computed(() => runFunction(props.formItemProps, formData.value) ?? {})\n const restItemProps = computed(() =>\n omitUndefined({\n ...pickKeys(formItemProps.value, ALL_ANTD_PROP_KEYS),\n }),\n )\n\n const items = computed(() => {\n let children: ProFormItemType[] = runFunction(props.items ?? [], formData.value) ?? []\n if (Array.isArray(props.initialValue) && props.initialValue.length) {\n children = children\n .filter((item) => !NOT_ALLOW_FIELD_TYPES.includes(item.fieldType ?? ''))\n .map((child, index) => {\n if (typeof child.initialValue === 'undefined') {\n child.initialValue = props.initialValue[index]\n }\n return child\n })\n }\n return formatItems?.(children) ?? []\n })\n const childNames = computed(() => items.value.map((item) => item.name))\n\n const childValues = computed(() => {\n const values: any[] = []\n if (Array.isArray(childNames.value) && childNames.value.length) {\n childNames.value.forEach((namePath, index) => {\n values[index] = get(formData.value, namePath!)\n })\n }\n return values\n })\n const slotsGetter = computed(() => {\n const temp = {}\n if (props.title) {\n temp['label'] = () => <FormTitle title={props.title} tooltip={props.tooltip} />\n }\n return temp\n })\n\n watch(childValues, () => {\n if (!isEqual(childValues.value, fieldValue.value)) {\n onValueChange(childValues.value)\n }\n })\n return () => {\n if (!props.name?.length || !items.value.length) return null\n return (\n <FormColWrapper colProps={props.colProps}>\n <Form.Item {...restItemProps.value} v-slots={slotsGetter.value}>\n <FormRowWrapper rowProps={props.rowProps}>\n <FormItems\n list={items.value}\n type=\"space\"\n spaceProps={{ size: [8, 0], ...(props.spaceProps ?? {}) }}\n ></FormItems>\n </FormRowWrapper>\n </Form.Item>\n </FormColWrapper>\n )\n }\n },\n})\n"],"names":["NOT_ALLOW_FIELD_TYPES","ALL_ANTD_PROP_KEYS","name","inheritAttrs","props","type","String","Array","default","undefined","initialValue","Object","title","Function","tooltip","colProps","rowProps","spaceProps","formItemProps","convertValue","transform","items","setup","formatItems","formData","useInjectForm","fieldValue","onValueChange","useFieldValue","namePath","computed","runFunction","value","restItemProps","omitUndefined","pickKeys","children","isArray","length","filter","item","_a","includes","fieldType","map","child","index","childNames","childValues","values","forEach","get","slotsGetter","temp","_createVNode","FormTitle","watch","isEqual","FormColWrapper","Form","Item","FormRowWrapper","FormItems","size"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"FormSet.js","sources":["../../../../../../../packages/components/form/src/components/FormSet.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 10:36:49\n * @LastEditors: shen\n * @LastEditTime: 2025-10-07 13:17:07\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormItemType } from '../type'\n\nimport { computed, defineComponent, watch } from 'vue'\nimport { Form } from 'ant-design-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useFieldValue } from '../hooks/useFieldValue'\nimport { get, isEqual, omitUndefined, pickKeys, runFunction } from '@pro-design-vue/utils'\nimport FormRowWrapper from './FormRowWrapper'\nimport FormColWrapper from './FormColWrapper'\nimport FormItems from './FormItems'\nimport FormTitle from './FormTitle'\n\nconst NOT_ALLOW_FIELD_TYPES = ['formList', 'formSet', 'group', 'divider']\n\nconst ALL_ANTD_PROP_KEYS = [\n 'autoLink',\n 'colon',\n 'hasFeedback',\n 'labelAlign',\n 'labelCol',\n 'required',\n 'validateFirst',\n 'validateStatus',\n 'validateTrigger',\n 'wrapperCol',\n 'required',\n]\n\nexport default defineComponent({\n name: 'FormSet',\n inheritAttrs: false,\n props: {\n name: {\n type: [String, Array] as PropType<ProFormItemType['name']>,\n default: undefined,\n },\n initialValue: {\n type: Object as PropType<ProFormItemType['initialValue']>,\n default: undefined,\n },\n title: {\n type: [String, Object, Function] as PropType<ProFormItemType['title']>,\n default: undefined,\n },\n tooltip: {\n type: [String, Boolean],\n default: undefined,\n },\n colProps: {\n type: Object as PropType<ProFormItemType['colProps']>,\n default: undefined,\n },\n rowProps: {\n type: Object as PropType<ProFormItemType['rowProps']>,\n default: undefined,\n },\n spaceProps: {\n type: Object as PropType<ProFormItemType['spaceProps']>,\n default: () => ({}),\n },\n formItemProps: {\n type: [Object, Function] as PropType<ProFormItemType['formItemProps']>,\n default: undefined,\n },\n convertValue: {\n type: Function as PropType<ProFormItemType['convertValue']>,\n default: undefined,\n },\n transform: {\n type: Function as PropType<ProFormItemType['transform']>,\n default: undefined,\n },\n items: {\n type: [Array, Function] as PropType<ProFormItemType['children']>,\n default: undefined,\n },\n },\n setup(props) {\n const { formatItems, formData } = useInjectForm()\n\n const { fieldValue, onValueChange } = useFieldValue<any>({\n namePath: computed(() => props.name!),\n initialValue: props.initialValue,\n convertValue: props.convertValue,\n transform: props.transform,\n })\n\n const formItemProps = computed(() => runFunction(props.formItemProps, formData.value) ?? {})\n const restItemProps = computed(() =>\n omitUndefined({\n ...pickKeys(formItemProps.value, ALL_ANTD_PROP_KEYS),\n }),\n )\n\n const items = computed(() => {\n let children: ProFormItemType[] = runFunction(props.items ?? [], formData.value) ?? []\n if (Array.isArray(props.initialValue) && props.initialValue.length) {\n children = children\n .filter((item) => !NOT_ALLOW_FIELD_TYPES.includes(item.fieldType ?? ''))\n .map((child, index) => {\n if (typeof child.initialValue === 'undefined') {\n child.initialValue = props.initialValue[index]\n }\n return child\n })\n }\n return formatItems?.(children) ?? []\n })\n const childNames = computed(() => items.value.map((item) => item.name))\n\n const childValues = computed(() => {\n const values: any[] = []\n if (Array.isArray(childNames.value) && childNames.value.length) {\n childNames.value.forEach((namePath, index) => {\n values[index] = get(formData.value, namePath!)\n })\n }\n return values\n })\n const slotsGetter = computed(() => {\n const temp = {}\n if (props.title) {\n temp['label'] = () => <FormTitle title={props.title} tooltip={props.tooltip} />\n }\n return temp\n })\n\n watch(childValues, () => {\n if (!isEqual(childValues.value, fieldValue.value)) {\n onValueChange(childValues.value)\n }\n })\n return () => {\n if (!props.name?.length || !items.value.length) return null\n return (\n <FormColWrapper colProps={props.colProps}>\n <Form.Item {...restItemProps.value} v-slots={slotsGetter.value}>\n <FormRowWrapper rowProps={props.rowProps}>\n <FormItems\n list={items.value}\n type=\"space\"\n spaceProps={{ size: [8, 0], ...(props.spaceProps ?? {}) }}\n ></FormItems>\n </FormRowWrapper>\n </Form.Item>\n </FormColWrapper>\n )\n }\n },\n})\n"],"names":["NOT_ALLOW_FIELD_TYPES","ALL_ANTD_PROP_KEYS","name","inheritAttrs","props","type","String","Array","default","undefined","initialValue","Object","title","Function","tooltip","Boolean","colProps","rowProps","spaceProps","formItemProps","convertValue","transform","items","setup","formatItems","formData","useInjectForm","fieldValue","onValueChange","useFieldValue","namePath","computed","runFunction","value","restItemProps","omitUndefined","pickKeys","children","isArray","length","filter","item","_a","includes","fieldType","map","child","index","childNames","childValues","values","forEach","get","slotsGetter","temp","_createVNode","FormTitle","watch","isEqual","FormColWrapper","Form","Item","FormRowWrapper","FormItems","size"],"mappings":"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"}
|
@@ -69,8 +69,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
69
69
|
}>> & Readonly<{}>, {
|
70
70
|
reverse: boolean;
|
71
71
|
loading: boolean;
|
72
|
-
onReset: ((
|
73
|
-
onSubmit: ((
|
72
|
+
onReset: ((formData: import("pro-design-vue").Entity, action?: import("pro-design-vue").ProFormActionType) => Promise<boolean | void> | boolean | void) | undefined;
|
73
|
+
onSubmit: ((formData: import("pro-design-vue").Entity, action?: import("pro-design-vue").ProFormActionType) => Promise<boolean | void> | boolean | void) | undefined;
|
74
74
|
render: false | ((paramer: {
|
75
75
|
props: SubmitterProps & {
|
76
76
|
submit: () => void;
|
@@ -55,15 +55,33 @@ var FormSubmitter = /* @__PURE__ */ vue.defineComponent({
|
|
55
55
|
action
|
56
56
|
} = FormContext.useInjectForm();
|
57
57
|
const formSlotsContext = FormSlotsContext.useInjectSlots();
|
58
|
-
const submit = () => {
|
58
|
+
const submit = async () => {
|
59
59
|
var _a;
|
60
|
-
|
61
|
-
|
60
|
+
if (!props.onSubmit) {
|
61
|
+
action.submit();
|
62
|
+
return;
|
63
|
+
}
|
64
|
+
const values = action.getFieldsValue();
|
65
|
+
const response = (_a = props.onSubmit) == null ? void 0 : _a.call(props, values, action);
|
66
|
+
const result = await response;
|
67
|
+
if (result) {
|
68
|
+
action.submit();
|
69
|
+
}
|
70
|
+
return result;
|
62
71
|
};
|
63
|
-
const reset = () => {
|
64
|
-
var _a
|
65
|
-
(
|
66
|
-
|
72
|
+
const reset = async () => {
|
73
|
+
var _a;
|
74
|
+
if (!props.onReset) {
|
75
|
+
action.reset();
|
76
|
+
return;
|
77
|
+
}
|
78
|
+
const values = action.getFieldsValue();
|
79
|
+
const response = (_a = props.onReset) == null ? void 0 : _a.call(props, values, action);
|
80
|
+
const result = await response;
|
81
|
+
if (result) {
|
82
|
+
action.reset();
|
83
|
+
}
|
84
|
+
return result;
|
67
85
|
};
|
68
86
|
const resetButton = vue.computed(() => {
|
69
87
|
const {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FormSubmitter.js","sources":["../../../../../../../packages/components/form/src/components/FormSubmitter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-27 12:25:01\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
1
|
+
{"version":3,"file":"FormSubmitter.js","sources":["../../../../../../../packages/components/form/src/components/FormSubmitter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-27 12:25:01\n * @LastEditors: shen\n * @LastEditTime: 2025-09-26 09:33:40\n * @Description:\n */\nimport type { CSSProperties, PropType } from 'vue'\nimport type { SubmitterProps } from '../type'\n\nimport { computed, defineComponent } from 'vue'\nimport { Button } from 'ant-design-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { omit } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n name: 'FormSubmitter',\n inheritAttrs: false,\n props: {\n loading: {\n type: Boolean,\n default: undefined,\n },\n reverse: {\n type: Boolean,\n default: undefined,\n },\n onSubmit: {\n type: Function as PropType<SubmitterProps['onSubmit']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<SubmitterProps['onReset']>,\n default: undefined,\n },\n searchConfig: {\n type: Object as PropType<SubmitterProps['searchConfig']>,\n default: undefined,\n },\n submitButtonProps: {\n type: [Object, Boolean] as PropType<SubmitterProps['submitButtonProps']>,\n default: undefined,\n },\n resetButtonProps: {\n type: [Object, Boolean] as PropType<SubmitterProps['resetButtonProps']>,\n default: undefined,\n },\n render: {\n type: [Function, Boolean] as PropType<SubmitterProps['render']>,\n default: undefined,\n },\n },\n setup(props, { attrs }) {\n const { action } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n\n const submit = async () => {\n if (!props.onSubmit) {\n action.submit()\n return\n }\n const values = action.getFieldsValue()\n const response = props.onSubmit?.(values!, action)\n const result = await response\n if (result) {\n action.submit()\n }\n return result\n }\n\n const reset = async () => {\n if (!props.onReset) {\n action.reset()\n return\n }\n const values = action.getFieldsValue()\n const response = props.onReset?.(values!, action)\n const result = await response\n if (result) {\n action.reset()\n }\n return result\n }\n const resetButton = computed(() => {\n const { searchConfig = {}, resetButtonProps = {} } = props\n if (resetButtonProps === false) {\n return null\n }\n const { resetText = '重置' } = searchConfig\n return (\n <Button\n {...omit(resetButtonProps, ['preventDefault', 'onClick'])}\n key=\"reset\"\n onClick={(e) => {\n if (!resetButtonProps.preventDefault) {\n reset()\n }\n ;(resetButtonProps as any).onClick?.(e)\n }}\n >\n {resetText}\n </Button>\n )\n })\n\n const submitButton = computed(() => {\n const { searchConfig = {}, submitButtonProps = {} } = props\n if (submitButtonProps === false) {\n return null\n }\n const { submitText = '提交' } = searchConfig\n return (\n <Button\n type=\"primary\"\n {...omit(submitButtonProps || {}, ['preventDefault', 'onClick'])}\n key=\"submit\"\n onClick={(e) => {\n if (!submitButtonProps.preventDefault) {\n submit()\n }\n ;(submitButtonProps as any).onClick?.(e)\n }}\n >\n {submitText}\n </Button>\n )\n })\n return () => {\n if (props.render === false) {\n return null\n }\n const { render = formSlotsContext['submitter'] } = props\n const dom = props.reverse ? (\n <>\n {resetButton.value}\n {submitButton.value}\n </>\n ) : (\n <>\n {submitButton.value}\n {resetButton.value}\n </>\n )\n\n const renderDom = render\n ? render({ props: { ...props, submit, reset }, action, defaultDoms: dom })\n : dom\n\n return (\n <div\n style={{\n display: 'flex',\n gap: '8px',\n alignItems: 'center',\n ...(attrs.style as CSSProperties),\n }}\n class={attrs.class}\n >\n {renderDom}\n </div>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","loading","type","Boolean","default","undefined","reverse","onSubmit","Function","onReset","searchConfig","submitButtonProps","resetButtonProps","render","setup","attrs","action","useInjectForm","formSlotsContext","useInjectSlots","submit","values","getFieldsValue","response","result","reset","resetButton","computed","resetText","_createVNode","Button","_mergeProps","omit","e","preventDefault","onClick","submitButton","submitText","dom","_Fragment","value","renderDom","defaultDoms","display","gap","alignItems","style","class"],"mappings":"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"}
|
@@ -6,7 +6,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6
6
|
default: undefined;
|
7
7
|
};
|
8
8
|
tooltip: {
|
9
|
-
type: StringConstructor;
|
9
|
+
type: (BooleanConstructor | StringConstructor)[];
|
10
10
|
default: string;
|
11
11
|
};
|
12
12
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
@@ -15,11 +15,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
15
15
|
default: undefined;
|
16
16
|
};
|
17
17
|
tooltip: {
|
18
|
-
type: StringConstructor;
|
18
|
+
type: (BooleanConstructor | StringConstructor)[];
|
19
19
|
default: string;
|
20
20
|
};
|
21
21
|
}>> & Readonly<{}>, {
|
22
|
-
title: import("pro-design-vue").ProVNode | ((
|
23
|
-
|
22
|
+
title: import("pro-design-vue").ProVNode | ((params: {
|
23
|
+
formData: import("pro-design-vue").Entity;
|
24
|
+
}) => import("pro-design-vue").ProVNode);
|
25
|
+
tooltip: string | boolean;
|
24
26
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
25
27
|
export default _default;
|
@@ -19,7 +19,7 @@ var FormTitle = /* @__PURE__ */ vue.defineComponent({
|
|
19
19
|
default: void 0
|
20
20
|
},
|
21
21
|
tooltip: {
|
22
|
-
type: String,
|
22
|
+
type: [String, Boolean],
|
23
23
|
default: ""
|
24
24
|
}
|
25
25
|
},
|
@@ -37,12 +37,17 @@ var FormTitle = /* @__PURE__ */ vue.defineComponent({
|
|
37
37
|
"props": {
|
38
38
|
formData: formData.value
|
39
39
|
}
|
40
|
-
}, null)]), props.tooltip && vue.createVNode(antDesignVue.Tooltip, {
|
41
|
-
"title": props.tooltip
|
42
|
-
}, {
|
40
|
+
}, null)]), props.tooltip && vue.createVNode(antDesignVue.Tooltip, null, {
|
43
41
|
default: () => [vue.createVNode(Icon.QuestionCircleOutlined, {
|
44
|
-
"class": `${prefixCls}-item-tooltip
|
45
|
-
|
42
|
+
"class": `${prefixCls}-item-tooltip`,
|
43
|
+
"style": "margin-right: 3px"
|
44
|
+
}, null)],
|
45
|
+
title: () => props.tooltip === true ? vue.createVNode(renderVnode.RenderVNode, {
|
46
|
+
"vnode": title.value,
|
47
|
+
"props": {
|
48
|
+
formData: formData.value
|
49
|
+
}
|
50
|
+
}, null) : props.tooltip
|
46
51
|
})]);
|
47
52
|
}
|
48
53
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FormTitle.js","sources":["../../../../../../../packages/components/form/src/components/FormTitle.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 13:00:22\n * @LastEditors: shen\n * @LastEditTime: 2025-07
|
1
|
+
{"version":3,"file":"FormTitle.js","sources":["../../../../../../../packages/components/form/src/components/FormTitle.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 13:00:22\n * @LastEditors: shen\n * @LastEditTime: 2025-10-07 11:54:30\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormItemType } from '../type'\n\nimport { defineComponent, computed } from 'vue'\nimport { Tooltip } from 'ant-design-vue'\nimport { QuestionCircleOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useInjectForm } from '../context/FormContext'\nimport { RenderVNode } from '@pro-design-vue/utils'\n\nimport getSlot from '../utils/getSlot'\n\nexport default defineComponent({\n name: 'FormTitle',\n inheritAttrs: false,\n props: {\n title: {\n type: [String, Object, Function] as PropType<ProFormItemType['title']>,\n default: undefined,\n },\n tooltip: {\n type: [String, Boolean],\n default: '',\n },\n },\n setup(props) {\n const formSlotsContext = useInjectSlots()\n const { prefixCls, formData } = useInjectForm()\n const title = computed(() => getSlot(props.title, formSlotsContext))\n return () => (\n <>\n {title.value && (\n <span class={`${prefixCls}-item-title-text`}>\n <RenderVNode vnode={title.value} props={{ formData: formData.value }} />\n </span>\n )}\n {props.tooltip && (\n <Tooltip\n v-slots={{\n title: () =>\n props.tooltip === true ? (\n <RenderVNode vnode={title.value} props={{ formData: formData.value }} />\n ) : (\n props.tooltip\n ),\n }}\n >\n <QuestionCircleOutlined class={`${prefixCls}-item-tooltip`} style=\"margin-right: 3px\" />\n </Tooltip>\n )}\n </>\n )\n },\n})\n"],"names":["name","inheritAttrs","props","title","type","String","Object","Function","default","undefined","tooltip","Boolean","setup","formSlotsContext","useInjectSlots","prefixCls","formData","useInjectForm","computed","getSlot","_createVNode","_Fragment","value","RenderVNode","Tooltip","QuestionCircleOutlined"],"mappings":";;;;;;;;;;;;AAmBA,oDAA+B;AAAA,EAC7BA,IAAAA,EAAM,WAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdC,KAAAA,EAAO;AAAA,IACLC,KAAAA,EAAO;AAAA,MACLC,IAAAA,EAAM,CAACC,MAAAA,EAAQC,MAAAA,EAAQC,QAAQ,CAAA;AAAA,MAC/BC,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAC,OAAAA,EAAS;AAAA,MACPN,IAAAA,EAAM,CAACC,MAAAA,EAAQM,OAAO,CAAA;AAAA,MACtBH,OAAAA,EAAS;AAAA;AACX,GACF;AAAA,EACAI,MAAMV,KAAAA,EAAO;AACX,IAAA,MAAMW,mBAAmBC,+BAAAA,EAAe;AACxC,IAAA,MAAM;AAAA,MAAEC,SAAAA;AAAAA,MAAWC;AAAAA,QAAaC,yBAAAA,EAAc;AAC9C,IAAA,MAAMd,QAAQe,YAAAA,CAAS,MAAMC,gBAAQjB,KAAAA,CAAMC,KAAAA,EAAOU,gBAAgB,CAAC,CAAA;AACnE,IAAA,OAAO,MAAAO,gBAAAC,YAAAA,SAEFlB,KAAAA,CAAMmB,KAAAA,IAAKF,gBAAA,MAAA,EAAA;AAAA,MAAA,OAAA,EACG,GAAGL,SAAS,CAAA,gBAAA;AAAA,KAAkB,EAAA,CAAAK,eAAAA,CAAAG,uBAAAA,EAAA;AAAA,MAAA,SACrBpB,KAAAA,CAAMmB,KAAAA;AAAAA,MAAK,OAAA,EAAS;AAAA,QAAEN,UAAUA,QAAAA,CAASM;AAAAA;AAAM,KAAC,EAAA,IAAA,CAAA,CAAA,GAGvEpB,KAAAA,CAAMQ,OAAAA,IAAOU,eAAAA,CAAAI,oBAAAA,EAAA,IAAA,EAAA;AAAA,MAAAhB,OAAAA,EAAAA,MAAA,CAAAY,eAAAA,CAAAK,2BAAAA,EAAA;AAAA,QAAA,OAAA,EAWqB,GAAGV,SAAS,CAAA,aAAA,CAAA;AAAA,QAAe,OAAA,EAAA;AAAA,OAAA,EAAA,IAAA,CAAA,CAAA;AAAA,MARxDZ,OAAOA,MACLD,KAAAA,CAAMQ,OAAAA,KAAY,IAAA,GAAIU,gBAAAG,uBAAAA,EAAA;AAAA,QAAA,SACApB,KAAAA,CAAMmB,KAAAA;AAAAA,QAAK,OAAA,EAAS;AAAA,UAAEN,UAAUA,QAAAA,CAASM;AAAAA;AAAM,OAAC,EAAA,IAAA,CAAA,GAEpEpB,KAAAA,CAAMQ;AAAAA,KACP,CAKR,CAAA,CAAA;AAAA,EAGP;AACF,CAAC,CAAA;;;;"}
|
@@ -1,14 +1,16 @@
|
|
1
1
|
import type { Ref, ShallowRef } from 'vue';
|
2
|
-
import type { ProFormActionType, Entity } from '../type';
|
2
|
+
import type { ProFormActionType, Entity, TransformerMapType } from '../type';
|
3
3
|
import type { ProFormProps } from '../props';
|
4
4
|
import type { FormInstance } from 'ant-design-vue';
|
5
|
-
export declare const transformKeySubmitValue: <T extends object = any>(values: T, paramsOmitNil?: boolean) => T;
|
6
|
-
export declare
|
5
|
+
export declare const transformKeySubmitValue: <T extends object = any>(values: T, transformerMap: TransformerMapType, paramsOmitNil?: boolean) => T;
|
6
|
+
export declare const convertKeyInitialValue: <T extends object = any>(values: T, transformerMap: TransformerMapType) => any;
|
7
|
+
export declare function useAction({ props, formRef, formData, initialValues, hasInitial, transformerMap, onFinish, onReset, onFinishFailed, }: {
|
7
8
|
props: ProFormProps;
|
8
9
|
formRef: Ref<FormInstance | undefined>;
|
9
10
|
formData: Ref<Entity>;
|
10
11
|
initialValues: ShallowRef<Entity>;
|
11
12
|
hasInitial: Ref<boolean>;
|
13
|
+
transformerMap: ShallowRef<TransformerMapType>;
|
12
14
|
onFinish: ProFormProps['onFinish'];
|
13
15
|
onReset: ProFormProps['onReset'];
|
14
16
|
onFinishFailed: ProFormProps['onFinishFailed'];
|
@@ -18,7 +18,7 @@ function isPlainObj(itemValue) {
|
|
18
18
|
if (Array.isArray(itemValue)) return false;
|
19
19
|
return true;
|
20
20
|
}
|
21
|
-
const transformKeySubmitValue = (values, paramsOmitNil) => {
|
21
|
+
const transformKeySubmitValue = (values, transformerMap, paramsOmitNil) => {
|
22
22
|
if (Object.keys(values).length < 1) {
|
23
23
|
return values;
|
24
24
|
}
|
@@ -34,6 +34,7 @@ const transformKeySubmitValue = (values, paramsOmitNil) => {
|
|
34
34
|
return result;
|
35
35
|
}
|
36
36
|
Object.keys(tempValues).forEach((entityKey) => {
|
37
|
+
var _a;
|
37
38
|
const transformForArray = (transformList, subItemValue) => {
|
38
39
|
if (!Array.isArray(transformList)) return entityKey;
|
39
40
|
transformList.forEach((transform2, idx) => {
|
@@ -63,9 +64,8 @@ const transformKeySubmitValue = (values, paramsOmitNil) => {
|
|
63
64
|
});
|
64
65
|
return entityKey;
|
65
66
|
};
|
66
|
-
const key = parentsKey ? [parentsKey, entityKey].flat(1) : [entityKey].flat(1);
|
67
67
|
const itemValue = tempValues[entityKey];
|
68
|
-
const transformFunction =
|
68
|
+
const transformFunction = (_a = transformerMap.get(entityKey)) == null ? void 0 : _a.transform;
|
69
69
|
const transform = () => {
|
70
70
|
let tempKey, transformedResult, isTransformedResultPrimitive = false;
|
71
71
|
if (typeof transformFunction === "function") {
|
@@ -101,7 +101,7 @@ const transformKeySubmitValue = (values, paramsOmitNil) => {
|
|
101
101
|
}
|
102
102
|
if (typeof window === "undefined") return;
|
103
103
|
if (isPlainObj(itemValue)) {
|
104
|
-
const genValues = gen(itemValue
|
104
|
+
const genValues = gen(itemValue);
|
105
105
|
if (Object.keys(genValues).length < 1) {
|
106
106
|
return;
|
107
107
|
}
|
@@ -115,12 +115,31 @@ const transformKeySubmitValue = (values, paramsOmitNil) => {
|
|
115
115
|
finalValues = Array.isArray(values) && Array.isArray(finalValues) ? [...gen(values)] : lodashUnified.merge({}, gen(values), finalValues);
|
116
116
|
return finalValues;
|
117
117
|
};
|
118
|
+
const convertKeyInitialValue = (values, transformerMap) => {
|
119
|
+
if (Object.keys(values).length < 1) {
|
120
|
+
return values;
|
121
|
+
}
|
122
|
+
const finalValues = {};
|
123
|
+
Object.keys(values).forEach((entityKey) => {
|
124
|
+
var _a;
|
125
|
+
const itemValue = values[entityKey];
|
126
|
+
const convertValueFunction = (_a = transformerMap.get(entityKey)) == null ? void 0 : _a.convertValue;
|
127
|
+
if (typeof convertValueFunction === "function") {
|
128
|
+
const convertResult = convertValueFunction == null ? void 0 : convertValueFunction(itemValue, entityKey);
|
129
|
+
finalValues[entityKey] = convertResult;
|
130
|
+
} else {
|
131
|
+
finalValues[entityKey] = itemValue;
|
132
|
+
}
|
133
|
+
});
|
134
|
+
return finalValues;
|
135
|
+
};
|
118
136
|
function useAction({
|
119
137
|
props,
|
120
138
|
formRef,
|
121
139
|
formData,
|
122
140
|
initialValues,
|
123
141
|
hasInitial,
|
142
|
+
transformerMap,
|
124
143
|
onFinish,
|
125
144
|
onReset,
|
126
145
|
onFinishFailed
|
@@ -149,20 +168,20 @@ function useAction({
|
|
149
168
|
if (!namePath$1) throw new Error("name is require");
|
150
169
|
const value = lodashUnified.get(formData.value, namePath$1);
|
151
170
|
const obj = lodashUnified.set({}, namePath$1, value);
|
152
|
-
return lodashUnified.get(transformKeySubmitValue(obj, props.omitNil), namePath$1);
|
171
|
+
return lodashUnified.get(transformKeySubmitValue(obj, transformerMap.value, props.omitNil), namePath$1);
|
153
172
|
};
|
154
173
|
const getFieldFormatValueObject = (name) => {
|
155
174
|
const namePath$1 = namePath.default(name);
|
156
175
|
if (!namePath$1) throw new Error("name is require");
|
157
176
|
const value = lodashUnified.get(formData.value, namePath$1);
|
158
177
|
const obj = lodashUnified.set({}, namePath$1, value);
|
159
|
-
return transformKeySubmitValue(obj, props.omitNil);
|
178
|
+
return transformKeySubmitValue(obj, transformerMap.value, props.omitNil);
|
160
179
|
};
|
161
180
|
const validateFieldsReturnFormatValue = async (nameList) => {
|
162
181
|
var _a;
|
163
182
|
if (!Array.isArray(nameList) && nameList) throw new Error("nameList must be array");
|
164
183
|
const values = await ((_a = formRef.value) == null ? void 0 : _a.validateFields(nameList));
|
165
|
-
const transformedKey = transformKeySubmitValue(values, props.omitNil);
|
184
|
+
const transformedKey = transformKeySubmitValue(values, transformerMap.value, props.omitNil);
|
166
185
|
return transformedKey != null ? transformedKey : {};
|
167
186
|
};
|
168
187
|
const setFieldValue = (name, value) => {
|
@@ -188,10 +207,10 @@ function useAction({
|
|
188
207
|
var _a;
|
189
208
|
hasInitial.value = true;
|
190
209
|
(_a = formRef.value) == null ? void 0 : _a.clearValidate();
|
191
|
-
formData.value = lodashUnified.cloneDeep(initialValues.value);
|
210
|
+
formData.value = lodashUnified.cloneDeep(convertKeyInitialValue(initialValues.value, transformerMap.value));
|
192
211
|
Promise.resolve().then(() => {
|
193
212
|
hasInitial.value = false;
|
194
|
-
onReset == null ? void 0 : onReset(transformKeySubmitValue(formData.value, props.omitNil));
|
213
|
+
onReset == null ? void 0 : onReset(transformKeySubmitValue(formData.value, transformerMap.value, props.omitNil));
|
195
214
|
});
|
196
215
|
};
|
197
216
|
const resetField = (name) => {
|
@@ -247,6 +266,7 @@ function useAction({
|
|
247
266
|
};
|
248
267
|
}
|
249
268
|
|
269
|
+
exports.convertKeyInitialValue = convertKeyInitialValue;
|
250
270
|
exports.transformKeySubmitValue = transformKeySubmitValue;
|
251
271
|
exports.useAction = useAction;
|
252
272
|
//# sourceMappingURL=useAction.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useAction.js","sources":["../../../../../../../packages/components/form/src/hooks/useAction.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-23 20:07:22\n * @LastEditors: shen\n * @LastEditTime: 2025-09-21 17:55:39\n * @Description:\n */\n\nimport type { Ref, ShallowRef } from 'vue'\nimport type { ProFormActionType, NamePath, Entity } from '../type'\nimport type { ProFormProps } from '../props'\nimport type { FormInstance } from 'ant-design-vue'\nimport { cloneDeep, get, isObject, merge, set, isNil, isValidElement } from '@pro-design-vue/utils'\nimport covertFormName from '../utils/namePath'\n\n/**\n * 暂时还不支持 Set和 Map 结构 判断是不是一个能遍历的对象\n *\n * @param itemValue\n * @returns Boolean\n */\nfunction isPlainObj(itemValue: any) {\n if (typeof itemValue !== 'object') return false\n\n /** Null 也要处理,不然omit空会失效 */\n if (itemValue === null) return true\n\n if (isValidElement(itemValue)) return false\n if (itemValue.constructor === RegExp) return false\n if (itemValue instanceof Map) return false\n if (itemValue instanceof Set) return false\n if (itemValue instanceof HTMLElement) return false\n if (itemValue instanceof Blob) return false\n if (itemValue instanceof File) return false\n if (Array.isArray(itemValue)) return false\n return true\n}\n\nexport const transformKeySubmitValue = <T extends object = any>(\n values: T,\n paramsOmitNil?: boolean,\n) => {\n if (Object.keys(values).length < 1) {\n return values\n }\n\n if (typeof window === 'undefined') return values\n // 如果 value 是 string | null | Array | Blob类型 其中之一,直接返回\n // 形如 {key: [File, File]} 的表单字段当进行第二次递归时会导致其直接越过 typeof value !== 'object'\n if (typeof values !== 'object' || isNil(values) || values instanceof Blob) {\n return values\n }\n let finalValues: any = Array.isArray(values) ? [] : ({} as T)\n\n const gen = (tempValues: T, parentsKey?: NamePath) => {\n const isArrayValues = Array.isArray(tempValues)\n let result = isArrayValues ? ([] as any) : ({} as T)\n if (tempValues == null || tempValues === undefined) {\n return result\n }\n\n Object.keys(tempValues).forEach((entityKey) => {\n const transformForArray = (transformList: any, subItemValue: any) => {\n if (!Array.isArray(transformList)) return entityKey\n transformList.forEach((transform: Function | Record<string, any> | any[], idx: number) => {\n // 如果不存在直接返回\n if (!transform) return\n\n const subTransformItem = subItemValue?.[idx]\n\n // 如果是个方法,把key设置为方法的返回值\n if (typeof transform === 'function') {\n subItemValue[idx] = transform(subItemValue, entityKey, tempValues)\n }\n if (typeof transform === 'object' && !Array.isArray(transform)) {\n Object.keys(transform).forEach((transformArrayItem) => {\n const subTransformItemValue = subTransformItem?.[transformArrayItem]\n if (typeof transform[transformArrayItem] === 'function' && subTransformItemValue) {\n const res = transform[transformArrayItem](\n subTransformItem[transformArrayItem],\n entityKey,\n tempValues,\n )\n subTransformItem[transformArrayItem] =\n typeof res === 'object' ? res[transformArrayItem] : res\n } else if (\n typeof transform[transformArrayItem] === 'object' &&\n Array.isArray(transform[transformArrayItem]) &&\n subTransformItemValue\n ) {\n transformForArray(transform[transformArrayItem], subTransformItemValue)\n }\n })\n }\n if (typeof transform === 'object' && Array.isArray(transform) && subTransformItem) {\n transformForArray(transform, subTransformItem)\n }\n })\n return entityKey\n }\n const key = parentsKey ? [parentsKey, entityKey].flat(1) : [entityKey].flat(1)\n const itemValue = (tempValues as any)[entityKey]\n\n const transformFunction = get(values, key as (number | string)[])\n\n const transform = () => {\n let tempKey,\n transformedResult,\n isTransformedResultPrimitive = false\n\n /**\n * 先判断是否是方法,是的话执行后拿到值,如果是基本类型,则认为是直接 transform 为新的值,\n * 如果返回是 Object 则认为是 transform 为新的 {newKey: newValue}\n */\n if (typeof transformFunction === 'function') {\n transformedResult = transformFunction?.(itemValue, entityKey, tempValues)\n const typeOfResult = typeof transformedResult\n if (typeOfResult !== 'object' && typeOfResult !== 'undefined') {\n tempKey = entityKey\n isTransformedResultPrimitive = true\n } else {\n tempKey = transformedResult\n }\n } else {\n tempKey = transformForArray(transformFunction, itemValue)\n }\n\n // { [key:string]:any } 数组也能通过编译\n if (Array.isArray(tempKey)) {\n result = set(result, tempKey, itemValue)\n return\n }\n if (typeof tempKey === 'object' && !Array.isArray(finalValues)) {\n finalValues = merge(finalValues, tempKey)\n } else if (typeof tempKey === 'object' && Array.isArray(finalValues)) {\n result = { ...result, ...tempKey }\n } else if (tempKey !== null || tempKey !== undefined) {\n result = set(\n result,\n [tempKey],\n isTransformedResultPrimitive ? transformedResult : itemValue,\n )\n }\n }\n\n /** 如果存在转化器提前渲染一下 */\n if (transformFunction && typeof transformFunction === 'function') {\n transform()\n }\n\n if (typeof window === 'undefined') return\n if (isPlainObj(itemValue)) {\n const genValues = gen(itemValue, key)\n if (Object.keys(genValues).length < 1) {\n return\n }\n result = set(result, [entityKey], genValues)\n return\n }\n transform()\n })\n return paramsOmitNil ? result : tempValues\n }\n\n finalValues =\n Array.isArray(values) && Array.isArray(finalValues)\n ? [...gen(values)]\n : merge({}, gen(values), finalValues)\n\n return finalValues as T\n}\n\nexport function useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n onFinish,\n onReset,\n onFinishFailed,\n}: {\n props: ProFormProps\n formRef: Ref<FormInstance | undefined>\n formData: Ref<Entity>\n initialValues: ShallowRef<Entity>\n hasInitial: Ref<boolean>\n onFinish: ProFormProps['onFinish']\n onReset: ProFormProps['onReset']\n onFinishFailed: ProFormProps['onFinishFailed']\n}): ProFormActionType {\n const getFieldValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n return get(formData.value, namePath)\n }\n const getFieldsValue = (nameList?: true | NamePath[]) => {\n if (nameList === true || nameList === undefined) {\n return cloneDeep(formData.value)\n }\n const obj: any = {}\n nameList.forEach((name) => {\n const namePath = covertFormName(name)\n const value = get(formData.value, namePath!)\n if (value !== undefined) {\n set(obj, namePath!, value)\n }\n })\n return obj\n }\n const getFieldFormatValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return get(transformKeySubmitValue(obj, props.omitNil!), namePath)\n }\n\n const getFieldFormatValueObject = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return transformKeySubmitValue(obj, props.omitNil!)\n }\n\n const validateFieldsReturnFormatValue = async (nameList?: NamePath[]) => {\n if (!Array.isArray(nameList) && nameList) throw new Error('nameList must be array')\n\n const values = await formRef.value?.validateFields(nameList)\n const transformedKey = transformKeySubmitValue(values!, props.omitNil!)\n return transformedKey ?? {}\n }\n\n const setFieldValue = (name: NamePath, value: any) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n set(formData.value, namePath, value)\n }\n\n const setFieldsValue = (values: Entity, isMerge: boolean = true) => {\n if (!values) throw new Error('values is require')\n if (isMerge) {\n formData.value = merge({}, formData.value, values)\n } else {\n formData.value = cloneDeep(values)\n }\n }\n const resetInitialValues = (values: Entity) => {\n if (!values) throw new Error('values is require')\n if (!isObject(values)) throw new Error('values must be object')\n hasInitial.value = true\n initialValues.value = cloneDeep(values)\n }\n\n const reset = () => {\n hasInitial.value = true\n formRef.value?.clearValidate()\n formData.value = cloneDeep(initialValues.value)\n Promise.resolve().then(() => {\n hasInitial.value = false\n onReset?.(transformKeySubmitValue(formData.value, props.omitNil))\n })\n }\n\n const resetField = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n formRef.value?.clearValidate(name)\n set(formData.value, name, cloneDeep(get(initialValues.value, name)))\n }\n\n const clearValidate = (name?: NamePath) => {\n formRef.value?.clearValidate(name)\n }\n\n const validateFields = (nameList?: NamePath[]) => {\n return new Promise((resolve, reject) => {\n formRef.value\n ?.validateFields(nameList)\n .then((values) => {\n resolve({ ...formData.value, ...values })\n })\n .catch((e) => {\n reject(e)\n })\n }) as Promise<Entity>\n }\n\n const submit = () => {\n validateFields()\n .then((values) => {\n if (onFinish) {\n try {\n onFinish(values)\n } catch (err) {\n console.error(err)\n }\n }\n })\n .catch((e) => {\n if (onFinishFailed) {\n onFinishFailed(e)\n }\n })\n }\n\n return {\n getFieldValue,\n getFieldsValue,\n resetInitialValues,\n getFieldFormatValue,\n getFieldFormatValueObject,\n validateFieldsReturnFormatValue,\n setFieldValue,\n setFieldsValue,\n resetField,\n clearValidate,\n validateFields,\n reset,\n submit,\n }\n}\n"],"names":["isValidElement","isNil","transform","get","set","merge","namePath","covertFormName","cloneDeep","isObject"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useAction.js","sources":["../../../../../../../packages/components/form/src/hooks/useAction.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-23 20:07:22\n * @LastEditors: shen\n * @LastEditTime: 2025-09-22 16:11:16\n * @Description:\n */\n\nimport type { Ref, ShallowRef } from 'vue'\nimport type { ProFormActionType, NamePath, Entity, TransformerMapType } from '../type'\nimport type { ProFormProps } from '../props'\nimport type { FormInstance } from 'ant-design-vue'\nimport { cloneDeep, get, isObject, merge, set, isNil, isValidElement } from '@pro-design-vue/utils'\nimport covertFormName from '../utils/namePath'\n\n/**\n * 暂时还不支持 Set和 Map 结构 判断是不是一个能遍历的对象\n *\n * @param itemValue\n * @returns Boolean\n */\nfunction isPlainObj(itemValue: any) {\n if (typeof itemValue !== 'object') return false\n\n /** Null 也要处理,不然omit空会失效 */\n if (itemValue === null) return true\n\n if (isValidElement(itemValue)) return false\n if (itemValue.constructor === RegExp) return false\n if (itemValue instanceof Map) return false\n if (itemValue instanceof Set) return false\n if (itemValue instanceof HTMLElement) return false\n if (itemValue instanceof Blob) return false\n if (itemValue instanceof File) return false\n if (Array.isArray(itemValue)) return false\n return true\n}\n\nexport const transformKeySubmitValue = <T extends object = any>(\n values: T,\n transformerMap: TransformerMapType,\n paramsOmitNil?: boolean,\n) => {\n if (Object.keys(values).length < 1) {\n return values\n }\n\n if (typeof window === 'undefined') return values\n // 如果 value 是 string | null | Array | Blob类型 其中之一,直接返回\n // 形如 {key: [File, File]} 的表单字段当进行第二次递归时会导致其直接越过 typeof value !== 'object'\n if (typeof values !== 'object' || isNil(values) || values instanceof Blob) {\n return values\n }\n let finalValues: any = Array.isArray(values) ? [] : ({} as T)\n\n const gen = (tempValues: T, parentsKey?: NamePath) => {\n const isArrayValues = Array.isArray(tempValues)\n let result = isArrayValues ? ([] as any) : ({} as T)\n if (tempValues == null || tempValues === undefined) {\n return result\n }\n\n Object.keys(tempValues).forEach((entityKey) => {\n const transformForArray = (transformList: any, subItemValue: any) => {\n if (!Array.isArray(transformList)) return entityKey\n transformList.forEach((transform: Function | Record<string, any> | any[], idx: number) => {\n // 如果不存在直接返回\n if (!transform) return\n\n const subTransformItem = subItemValue?.[idx]\n\n // 如果是个方法,把key设置为方法的返回值\n if (typeof transform === 'function') {\n subItemValue[idx] = transform(subItemValue, entityKey, tempValues)\n }\n if (typeof transform === 'object' && !Array.isArray(transform)) {\n Object.keys(transform).forEach((transformArrayItem) => {\n const subTransformItemValue = subTransformItem?.[transformArrayItem]\n if (typeof transform[transformArrayItem] === 'function' && subTransformItemValue) {\n const res = transform[transformArrayItem](\n subTransformItem[transformArrayItem],\n entityKey,\n tempValues,\n )\n subTransformItem[transformArrayItem] =\n typeof res === 'object' ? res[transformArrayItem] : res\n } else if (\n typeof transform[transformArrayItem] === 'object' &&\n Array.isArray(transform[transformArrayItem]) &&\n subTransformItemValue\n ) {\n transformForArray(transform[transformArrayItem], subTransformItemValue)\n }\n })\n }\n if (typeof transform === 'object' && Array.isArray(transform) && subTransformItem) {\n transformForArray(transform, subTransformItem)\n }\n })\n return entityKey\n }\n const key = parentsKey ? [parentsKey, entityKey].flat(1) : [entityKey].flat(1)\n const itemValue = (tempValues as any)[entityKey]\n const transformFunction = transformerMap.get(entityKey)?.transform\n\n const transform = () => {\n let tempKey,\n transformedResult,\n isTransformedResultPrimitive = false\n\n /**\n * 先判断是否是方法,是的话执行后拿到值,如果是基本类型,则认为是直接 transform 为新的值,\n * 如果返回是 Object 则认为是 transform 为新的 {newKey: newValue}\n */\n if (typeof transformFunction === 'function') {\n transformedResult = transformFunction?.(itemValue, entityKey, tempValues)\n const typeOfResult = typeof transformedResult\n if (typeOfResult !== 'object' && typeOfResult !== 'undefined') {\n tempKey = entityKey\n isTransformedResultPrimitive = true\n } else {\n tempKey = transformedResult\n }\n } else {\n tempKey = transformForArray(transformFunction, itemValue)\n }\n\n // { [key:string]:any } 数组也能通过编译\n if (Array.isArray(tempKey)) {\n result = set(result, tempKey, itemValue)\n return\n }\n if (typeof tempKey === 'object' && !Array.isArray(finalValues)) {\n finalValues = merge(finalValues, tempKey)\n } else if (typeof tempKey === 'object' && Array.isArray(finalValues)) {\n result = { ...result, ...tempKey }\n } else if (tempKey !== null || tempKey !== undefined) {\n result = set(\n result,\n [tempKey],\n isTransformedResultPrimitive ? transformedResult : itemValue,\n )\n }\n }\n\n /** 如果存在转化器提前渲染一下 */\n if (transformFunction && typeof transformFunction === 'function') {\n transform()\n }\n\n if (typeof window === 'undefined') return\n if (isPlainObj(itemValue)) {\n const genValues = gen(itemValue, key)\n if (Object.keys(genValues).length < 1) {\n return\n }\n result = set(result, [entityKey], genValues)\n return\n }\n transform()\n })\n return paramsOmitNil ? result : tempValues\n }\n\n finalValues =\n Array.isArray(values) && Array.isArray(finalValues)\n ? [...gen(values)]\n : merge({}, gen(values), finalValues)\n\n return finalValues as T\n}\n\nexport const convertKeyInitialValue = <T extends object = any>(\n values: T,\n transformerMap: TransformerMapType,\n) => {\n if (Object.keys(values).length < 1) {\n return values\n }\n\n const finalValues: any = {} as T\n Object.keys(values).forEach((entityKey) => {\n const itemValue = (values as any)[entityKey]\n const convertValueFunction = transformerMap.get(entityKey)?.convertValue\n if (typeof convertValueFunction === 'function') {\n const convertResult = convertValueFunction?.(itemValue, entityKey)\n finalValues[entityKey] = convertResult\n } else {\n finalValues[entityKey] = itemValue\n }\n })\n\n return finalValues\n}\n\nexport function useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n transformerMap,\n onFinish,\n onReset,\n onFinishFailed,\n}: {\n props: ProFormProps\n formRef: Ref<FormInstance | undefined>\n formData: Ref<Entity>\n initialValues: ShallowRef<Entity>\n hasInitial: Ref<boolean>\n transformerMap: ShallowRef<TransformerMapType>\n onFinish: ProFormProps['onFinish']\n onReset: ProFormProps['onReset']\n onFinishFailed: ProFormProps['onFinishFailed']\n}): ProFormActionType {\n const getFieldValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n return get(formData.value, namePath)\n }\n const getFieldsValue = (nameList?: true | NamePath[]) => {\n if (nameList === true || nameList === undefined) {\n return cloneDeep(formData.value)\n }\n const obj: any = {}\n nameList.forEach((name) => {\n const namePath = covertFormName(name)\n const value = get(formData.value, namePath!)\n if (value !== undefined) {\n set(obj, namePath!, value)\n }\n })\n return obj\n }\n const getFieldFormatValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return get(transformKeySubmitValue(obj, transformerMap.value, props.omitNil!), namePath)\n }\n\n const getFieldFormatValueObject = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return transformKeySubmitValue(obj, transformerMap.value, props.omitNil!)\n }\n\n const validateFieldsReturnFormatValue = async (nameList?: NamePath[]) => {\n if (!Array.isArray(nameList) && nameList) throw new Error('nameList must be array')\n\n const values = await formRef.value?.validateFields(nameList)\n const transformedKey = transformKeySubmitValue(values!, transformerMap.value, props.omitNil!)\n return transformedKey ?? {}\n }\n\n const setFieldValue = (name: NamePath, value: any) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n set(formData.value, namePath, value)\n }\n\n const setFieldsValue = (values: Entity, isMerge: boolean = true) => {\n if (!values) throw new Error('values is require')\n if (isMerge) {\n formData.value = merge({}, formData.value, values)\n } else {\n formData.value = cloneDeep(values)\n }\n }\n const resetInitialValues = (values: Entity) => {\n if (!values) throw new Error('values is require')\n if (!isObject(values)) throw new Error('values must be object')\n hasInitial.value = true\n initialValues.value = cloneDeep(values)\n }\n\n const reset = () => {\n hasInitial.value = true\n formRef.value?.clearValidate()\n formData.value = cloneDeep(convertKeyInitialValue(initialValues.value, transformerMap.value))\n Promise.resolve().then(() => {\n hasInitial.value = false\n onReset?.(transformKeySubmitValue(formData.value, transformerMap.value, props.omitNil))\n })\n }\n\n const resetField = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n formRef.value?.clearValidate(name)\n set(formData.value, name, cloneDeep(get(initialValues.value, name)))\n }\n\n const clearValidate = (name?: NamePath) => {\n formRef.value?.clearValidate(name)\n }\n\n const validateFields = (nameList?: NamePath[]) => {\n return new Promise((resolve, reject) => {\n formRef.value\n ?.validateFields(nameList)\n .then((values) => {\n resolve({ ...formData.value, ...values })\n })\n .catch((e) => {\n reject(e)\n })\n }) as Promise<Entity>\n }\n\n const submit = () => {\n validateFields()\n .then((values) => {\n if (onFinish) {\n try {\n onFinish(values)\n } catch (err) {\n console.error(err)\n }\n }\n })\n .catch((e) => {\n if (onFinishFailed) {\n onFinishFailed(e)\n }\n })\n }\n\n return {\n getFieldValue,\n getFieldsValue,\n resetInitialValues,\n getFieldFormatValue,\n getFieldFormatValueObject,\n validateFieldsReturnFormatValue,\n setFieldValue,\n setFieldsValue,\n resetField,\n clearValidate,\n validateFields,\n reset,\n submit,\n }\n}\n"],"names":["isValidElement","isNil","transform","set","merge","namePath","covertFormName","get","cloneDeep","isObject"],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { ComputedRef, Ref } from 'vue';
|
2
2
|
import type { NamePath, SearchConvertKeyFn, SearchTransformKeyFn } from '../type';
|
3
|
-
export declare function useFieldValue<T>({ namePath, initialValue, convertValue,
|
3
|
+
export declare function useFieldValue<T>({ namePath, initialValue, convertValue, }: {
|
4
4
|
isList?: boolean;
|
5
5
|
namePath: ComputedRef<NamePath>;
|
6
6
|
initialValue?: any;
|
@@ -7,25 +7,18 @@ var lodashUnified = require('lodash-unified');
|
|
7
7
|
function useFieldValue({
|
8
8
|
namePath,
|
9
9
|
initialValue,
|
10
|
-
convertValue
|
11
|
-
transform
|
10
|
+
convertValue
|
12
11
|
}) {
|
13
12
|
const fieldValue = vue.shallowRef();
|
14
|
-
const { formData, initialValues
|
13
|
+
const { formData, initialValues } = FormContext.useInjectForm();
|
15
14
|
const modelValue = vue.computed(() => lodashUnified.get(formData.value, namePath.value));
|
16
15
|
const onValueChange = (value) => {
|
17
|
-
lodashUnified.set(
|
18
|
-
formData.value,
|
19
|
-
namePath.value,
|
20
|
-
transform ? transform(value, namePath.value, formData.value) : value
|
21
|
-
);
|
16
|
+
lodashUnified.set(formData.value, namePath.value, value);
|
22
17
|
};
|
23
18
|
vue.watch(
|
24
19
|
modelValue,
|
25
20
|
(newValue) => {
|
26
|
-
fieldValue.value = lodashUnified.cloneDeep(
|
27
|
-
convertValue ? convertValue(newValue, namePath.value) : newValue
|
28
|
-
);
|
21
|
+
fieldValue.value = lodashUnified.cloneDeep(newValue);
|
29
22
|
},
|
30
23
|
{
|
31
24
|
immediate: true,
|
@@ -34,11 +27,14 @@ function useFieldValue({
|
|
34
27
|
);
|
35
28
|
const initFieldInitialValue = () => {
|
36
29
|
var _a;
|
37
|
-
if (
|
38
|
-
|
30
|
+
if (
|
31
|
+
// !mountedRef.value &&
|
32
|
+
typeof modelValue.value === "undefined" && typeof initialValue !== "undefined"
|
33
|
+
) {
|
34
|
+
const value = convertValue ? convertValue(initialValue, namePath.value) : initialValue;
|
39
35
|
lodashUnified.set(formData.value, namePath.value, lodashUnified.cloneDeep(value));
|
40
|
-
lodashUnified.set((_a = initialValues == null ? void 0 : initialValues.value) != null ? _a : {}, namePath.value, lodashUnified.cloneDeep(
|
41
|
-
fieldValue.value =
|
36
|
+
lodashUnified.set((_a = initialValues == null ? void 0 : initialValues.value) != null ? _a : {}, namePath.value, lodashUnified.cloneDeep(initialValue));
|
37
|
+
fieldValue.value = value;
|
42
38
|
}
|
43
39
|
};
|
44
40
|
initFieldInitialValue();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useFieldValue.js","sources":["../../../../../../../packages/components/form/src/hooks/useFieldValue.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-06-10 15:44:38\n * @LastEditors: shen\n * @LastEditTime: 2025-09-
|
1
|
+
{"version":3,"file":"useFieldValue.js","sources":["../../../../../../../packages/components/form/src/hooks/useFieldValue.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-06-10 15:44:38\n * @LastEditors: shen\n * @LastEditTime: 2025-09-22 16:14:20\n * @Description:\n */\nimport type { ComputedRef, Ref } from 'vue'\nimport type { NamePath, SearchConvertKeyFn, SearchTransformKeyFn } from '../type'\n\nimport { computed, shallowRef, watch } from 'vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { cloneDeep, set, get } from '@pro-design-vue/utils'\n\nexport function useFieldValue<T>({\n namePath,\n initialValue,\n convertValue,\n}: {\n isList?: boolean\n namePath: ComputedRef<NamePath>\n initialValue?: any\n convertValue?: SearchConvertKeyFn\n transform?: SearchTransformKeyFn\n}): {\n fieldValue: Ref<T | undefined>\n onValueChange: (value: T) => void\n} {\n const fieldValue = shallowRef<T | undefined>()\n\n const { formData, initialValues } = useInjectForm()\n\n const modelValue = computed(() => get(formData.value, namePath.value) as T)\n\n const onValueChange = (value: T) => {\n set(formData.value, namePath.value, value)\n }\n\n watch(\n modelValue,\n (newValue) => {\n fieldValue.value = cloneDeep(newValue)\n },\n {\n immediate: true,\n deep: true,\n },\n )\n\n const initFieldInitialValue = () => {\n if (\n // !mountedRef.value &&\n typeof modelValue.value === 'undefined' &&\n typeof initialValue !== 'undefined'\n ) {\n const value = convertValue ? (convertValue(initialValue, namePath.value) as T) : initialValue\n set(formData.value, namePath.value, cloneDeep(value))\n set(initialValues?.value ?? {}, namePath.value, cloneDeep(initialValue))\n fieldValue.value = value\n }\n }\n initFieldInitialValue()\n\n return {\n fieldValue,\n onValueChange,\n }\n}\n"],"names":["shallowRef","useInjectForm","computed","get","set","watch","cloneDeep"],"mappings":";;;;;;AAcO,SAAS,aAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,EASE;AACA,EAAA,MAAM,aAAaA,cAAA,EAA0B;AAE7C,EAAA,MAAM,EAAE,QAAA,EAAU,aAAA,EAAc,GAAIC,yBAAA,EAAc;AAElD,EAAA,MAAM,UAAA,GAAaC,aAAS,MAAMC,iBAAA,CAAI,SAAS,KAAA,EAAO,QAAA,CAAS,KAAK,CAAM,CAAA;AAE1E,EAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAa;AAClC,IAAAC,iBAAA,CAAI,QAAA,CAAS,KAAA,EAAO,QAAA,CAAS,KAAA,EAAO,KAAK,CAAA;AAAA,EAC3C,CAAA;AAEA,EAAAC,SAAA;AAAA,IACE,UAAA;AAAA,IACA,CAAC,QAAA,KAAa;AACZ,MAAA,UAAA,CAAW,KAAA,GAAQC,wBAAU,QAAQ,CAAA;AAAA,IACvC,CAAA;AAAA,IACA;AAAA,MACE,SAAA,EAAW,IAAA;AAAA,MACX,IAAA,EAAM;AAAA;AACR,GACF;AAEA,EAAA,MAAM,wBAAwB,MAAM;AAjDtC,IAAA,IAAA,EAAA;AAkDI,IAAA;AAAA;AAAA,MAEE,OAAO,UAAA,CAAW,KAAA,KAAU,WAAA,IAC5B,OAAO,YAAA,KAAiB;AAAA,MACxB;AACA,MAAA,MAAM,QAAQ,YAAA,GAAgB,YAAA,CAAa,YAAA,EAAc,QAAA,CAAS,KAAK,CAAA,GAAU,YAAA;AACjF,MAAAF,iBAAA,CAAI,SAAS,KAAA,EAAO,QAAA,CAAS,KAAA,EAAOE,uBAAA,CAAU,KAAK,CAAC,CAAA;AACpD,MAAAF,iBAAA,CAAA,CAAI,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,UAAf,IAAA,GAAA,EAAA,GAAwB,IAAI,QAAA,CAAS,KAAA,EAAOE,uBAAA,CAAU,YAAY,CAAC,CAAA;AACvE,MAAA,UAAA,CAAW,KAAA,GAAQ,KAAA;AAAA,IACrB;AAAA,EACF,CAAA;AACA,EAAA,qBAAA,EAAsB;AAEtB,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
@@ -346,7 +346,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
346
346
|
validateTrigger: string | string[] | undefined;
|
347
347
|
grid: boolean;
|
348
348
|
dateFormatter: false | "string" | "number" | ((value: import("dayjs").Dayjs, fieldType: `${import("pro-design-vue").ProFieldType}`) => string | number) | undefined;
|
349
|
-
submitter: false | import("pro-design-vue").SubmitterProps<
|
349
|
+
submitter: false | import("pro-design-vue").SubmitterProps<import("pro-design-vue").Entity> | undefined;
|
350
350
|
showLoading: boolean;
|
351
351
|
submitOnLoading: boolean;
|
352
352
|
gridSubmitter: boolean;
|
@@ -336,7 +336,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
336
336
|
validateTrigger: string | string[] | undefined;
|
337
337
|
grid: boolean;
|
338
338
|
dateFormatter: false | "string" | "number" | ((value: import("dayjs").Dayjs, fieldType: `${import("pro-design-vue").ProFieldType}`) => string | number) | undefined;
|
339
|
-
submitter: false | import("pro-design-vue").SubmitterProps<
|
339
|
+
submitter: false | import("pro-design-vue").SubmitterProps<import("pro-design-vue").Entity> | undefined;
|
340
340
|
showLoading: boolean;
|
341
341
|
submitOnLoading: boolean;
|
342
342
|
gridSubmitter: boolean;
|
@@ -346,7 +346,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
346
346
|
validateTrigger: string | string[] | undefined;
|
347
347
|
grid: boolean;
|
348
348
|
dateFormatter: false | "string" | "number" | ((value: import("dayjs").Dayjs, fieldType: `${ProFieldType}`) => string | number) | undefined;
|
349
|
-
submitter: false | import("pro-design-vue").SubmitterProps<
|
349
|
+
submitter: false | import("pro-design-vue").SubmitterProps<import("pro-design-vue").Entity> | undefined;
|
350
350
|
showLoading: boolean;
|
351
351
|
submitOnLoading: boolean;
|
352
352
|
gridSubmitter: boolean;
|