pro-design-vue 1.0.0-rc.1 → 1.0.0-rc.11
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 +326 -138
- 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 +327 -139
- package/es/components/counter/src/counter.vue.d.ts +2 -4
- package/es/components/counter/src/counter.vue2.mjs +2 -4
- package/es/components/counter/src/counter.vue2.mjs.map +1 -1
- package/es/components/form/src/base/BaseForm.mjs +19 -12
- package/es/components/form/src/base/BaseForm.mjs.map +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 +12 -12
- 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 +13 -3
- 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 +12 -12
- package/es/components/form/src/components/FormListContainer.d.ts +12 -12
- package/es/components/form/src/components/FormListItem.d.ts +12 -12
- package/es/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/es/components/form/src/components/FormSet.d.ts +12 -12
- package/es/components/form/src/hooks/useAction.d.ts +5 -2
- package/es/components/form/src/hooks/useAction.mjs +137 -12
- 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.mjs +8 -12
- package/es/components/form/src/layouts/DrawerForm.mjs.map +1 -1
- package/es/components/form/src/layouts/ModalForm.mjs +8 -12
- package/es/components/form/src/layouts/ModalForm.mjs.map +1 -1
- package/es/components/form/src/layouts/QueryFilter.mjs +2 -2
- package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
- package/es/components/form/src/layouts/StepsForm.mjs +5 -1
- package/es/components/form/src/layouts/StepsForm.mjs.map +1 -1
- package/es/components/form/src/type.d.ts +11 -7
- 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/layout/src/components/layout-sidebar.vue.d.ts +5 -0
- package/es/components/layout/src/components/layout-sidebar.vue2.mjs +4 -3
- package/es/components/layout/src/components/layout-sidebar.vue2.mjs.map +1 -1
- package/es/components/layout/src/layout.vue.d.ts +1 -0
- package/es/components/layout/src/layout.vue2.mjs +3 -1
- package/es/components/layout/src/layout.vue2.mjs.map +1 -1
- package/es/components/layout/src/typing.d.ts +5 -0
- package/es/components/table/src/components/Body/Body.vue.d.ts +1 -0
- package/es/components/table/src/components/Body/Body.vue.mjs +14 -18
- package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue2.mjs +11 -2
- package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyCell.mjs +10 -1
- package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
- package/es/components/table/src/components/Form/Form.d.ts +10 -7
- package/es/components/table/src/components/Form/Form.mjs +8 -40
- package/es/components/table/src/components/Form/Form.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs +1 -1
- package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue.d.ts +1 -0
- package/es/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue2.mjs +3 -0
- package/es/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Table.mjs +29 -4
- package/es/components/table/src/components/Table.mjs.map +1 -1
- package/es/components/table/src/components/interface.d.ts +1 -0
- package/es/components/table/src/components/interface.mjs.map +1 -1
- package/es/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
- package/es/components/table/src/utils/flatColumnsHandle.mjs +18 -0
- package/es/components/table/src/utils/flatColumnsHandle.mjs.map +1 -0
- package/es/index.d.ts +20 -11
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/counter/src/counter.vue.d.ts +2 -4
- package/lib/components/counter/src/counter.vue2.js +2 -4
- package/lib/components/counter/src/counter.vue2.js.map +1 -1
- package/lib/components/form/src/base/BaseForm.js +17 -10
- package/lib/components/form/src/base/BaseForm.js.map +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 +12 -12
- 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 +13 -3
- 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 +12 -12
- package/lib/components/form/src/components/FormListContainer.d.ts +12 -12
- package/lib/components/form/src/components/FormListItem.d.ts +12 -12
- package/lib/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/lib/components/form/src/components/FormSet.d.ts +12 -12
- package/lib/components/form/src/hooks/useAction.d.ts +5 -2
- package/lib/components/form/src/hooks/useAction.js +137 -10
- 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.js +8 -12
- package/lib/components/form/src/layouts/DrawerForm.js.map +1 -1
- package/lib/components/form/src/layouts/ModalForm.js +8 -12
- package/lib/components/form/src/layouts/ModalForm.js.map +1 -1
- package/lib/components/form/src/layouts/QueryFilter.js +2 -2
- package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
- package/lib/components/form/src/layouts/StepsForm.js +5 -1
- package/lib/components/form/src/layouts/StepsForm.js.map +1 -1
- package/lib/components/form/src/type.d.ts +11 -7
- 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/layout/src/components/layout-sidebar.vue.d.ts +5 -0
- package/lib/components/layout/src/components/layout-sidebar.vue2.js +4 -3
- package/lib/components/layout/src/components/layout-sidebar.vue2.js.map +1 -1
- package/lib/components/layout/src/layout.vue.d.ts +1 -0
- package/lib/components/layout/src/layout.vue2.js +3 -1
- package/lib/components/layout/src/layout.vue2.js.map +1 -1
- package/lib/components/layout/src/typing.d.ts +5 -0
- package/lib/components/table/src/components/Body/Body.vue.d.ts +1 -0
- package/lib/components/table/src/components/Body/Body.vue.js +13 -17
- package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue2.js +11 -2
- package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyCell.js +9 -0
- package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
- package/lib/components/table/src/components/Form/Form.d.ts +10 -7
- package/lib/components/table/src/components/Form/Form.js +8 -40
- package/lib/components/table/src/components/Form/Form.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js +1 -1
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue.d.ts +1 -0
- package/lib/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue2.js +3 -0
- package/lib/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/components/table/src/components/Table.js +29 -4
- package/lib/components/table/src/components/Table.js.map +1 -1
- package/lib/components/table/src/components/interface.d.ts +1 -0
- package/lib/components/table/src/components/interface.js.map +1 -1
- package/lib/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
- package/lib/components/table/src/utils/flatColumnsHandle.js +20 -0
- package/lib/components/table/src/utils/flatColumnsHandle.js.map +1 -0
- package/lib/index.d.ts +20 -11
- 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/index.css +1 -1
- package/theme-chalk/src/index.less +1 -1
- package/theme-chalk/src/table/table.less +2 -2
- package/theme-chalk/pro-table.css +0 -1
- package/theme-chalk/src/table.less +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FormItems.js","sources":["../../../../../../../packages/components/form/src/components/FormItems.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 16:52:17\n * @LastEditors: shen\n * @LastEditTime: 2025-09-01 13:45:48\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormItemType } from '../type'\n\nimport { computed, defineAsyncComponent, defineComponent } from 'vue'\nimport { Space } from 'ant-design-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { ProFieldType } from '../fieldType'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { omitUndefined, pickKeys, RenderVNode } from '@pro-design-vue/utils'\n\nimport getSlot from '../utils/getSlot'\n// import FormGroup from './FormGroup'\n// import FormSet from './FormSet'\n// import FormList from './FormList'\n// import FormItem from './FormItem'\n\nconst FormGroup = defineAsyncComponent(() => import('./FormGroup'))\nconst FormSet = defineAsyncComponent(() => import('./FormSet'))\nconst FormList = defineAsyncComponent(() => import('./FormList'))\nconst FormItem = defineAsyncComponent(() => import('./FormItem'))\n\nconst LIST_PROP_KEYS = [\n 'min',\n 'max',\n 'isValidateList',\n 'emptyListMessage',\n 'creatorRecord',\n 'creatorButtonProps',\n 'alwaysShowItemLabel',\n 'actionGuard',\n 'copyIconProps',\n 'deleteIconProps',\n 'onAfterAdd',\n 'onAfterRemove',\n]\n\nconst LIST_SLOT_NAMES = ['action', 'creator', 'item']\n\nexport default defineComponent({\n name: 'FormItems',\n inheritAttrs: false,\n props: {\n list: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n type: {\n type: String as PropType<'space' | ''>,\n default: '',\n },\n grid: {\n type: Boolean,\n default: undefined,\n },\n spaceProps: {\n type: Object as PropType<ProFormItemType['spaceProps']>,\n default: () => {\n return { size: [32, 0], wrap: true }\n },\n },\n },\n setup(props) {\n const { grid, allHiddenKeys } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const mergeGrid = computed(() => props.grid ?? grid?.value)\n const getItemsDom = computed(() => {\n return props.list\n .filter((item) => !allHiddenKeys.value.includes(item.key as string))\n .map((item) => {\n if (item.fieldType === ProFieldType.GROUP) {\n return (\n <FormGroup\n key={item.key}\n items={item.children}\n title={item.title}\n tooltip={item.tooltip}\n colProps={item.colProps}\n rowProps={item.rowProps}\n spaceProps={item.spaceProps}\n grid={item.grid}\n item={item}\n formItemProps={item.formItemProps}\n />\n )\n }\n if (item.fieldType === ProFieldType.FORM_SET) {\n return (\n <FormSet\n key={item.key}\n name={item.name}\n items={item.children}\n title={item.title}\n tooltip={item.tooltip}\n colProps={item.colProps}\n rowProps={item.rowProps}\n spaceProps={item.spaceProps}\n formItemProps={item.formItemProps}\n initialValue={item.initialValue}\n convertValue={item.convertValue}\n transform={item.transform}\n />\n )\n }\n if (item.fieldType === ProFieldType.FORM_LIST) {\n const fieldProps = omitUndefined(pickKeys(item.fieldProps ?? {}, LIST_PROP_KEYS))\n const slotsGetter = {}\n LIST_SLOT_NAMES.forEach((name) => {\n const slot = getSlot(item.fieldProps?.[`${name}Render`], formSlotsContext)\n if (slot) {\n slotsGetter[name] = (args) => <RenderVNode vnode={slot} props={args} />\n }\n })\n return (\n <FormList\n key={item.key}\n name={item.name}\n originName={item.originName}\n items={item.children}\n title={item.title}\n tooltip={item.tooltip}\n rules={item.rules}\n colProps={item.colProps}\n rowProps={item.rowProps}\n formItemProps={item.formItemProps}\n initialValue={item.initialValue}\n convertValue={item.convertValue}\n transform={item.transform}\n {...fieldProps}\n v-slots={{ ...slotsGetter }}\n />\n )\n }\n return <FormItem key={item.key} item={item} />\n })\n })\n\n return () => {\n if (props.type === 'space' && !mergeGrid?.value) {\n return (\n <Space {...props.spaceProps} align=\"start\">\n {getItemsDom.value}\n </Space>\n )\n }\n return getItemsDom.value\n }\n },\n})\n"],"names":["FormGroup","defineAsyncComponent","FormSet","FormList","FormItem","LIST_PROP_KEYS","LIST_SLOT_NAMES","name","inheritAttrs","props","list","type","Array","default","String","grid","Boolean","undefined","spaceProps","Object","size","wrap","setup","allHiddenKeys","useInjectForm","formSlotsContext","useInjectSlots","mergeGrid","computed","value","getItemsDom","filter","item","includes","key","map","fieldType","ProFieldType","GROUP","_createVNode","children","title","tooltip","colProps","rowProps","formItemProps","FORM_SET","initialValue","convertValue","transform","FORM_LIST","fieldProps","omitUndefined","pickKeys","slotsGetter","forEach","_a","slot","getSlot","args","RenderVNode","_mergeProps","originName","rules","Space"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"FormItems.js","sources":["../../../../../../../packages/components/form/src/components/FormItems.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 16:52:17\n * @LastEditors: shen\n * @LastEditTime: 2025-09-22 13:41:34\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormItemType } from '../type'\n\nimport { computed, defineAsyncComponent, defineComponent } from 'vue'\nimport { Space } from 'ant-design-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { ProFieldType } from '../fieldType'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { omitUndefined, pickKeys, RenderVNode } from '@pro-design-vue/utils'\n\nimport getSlot from '../utils/getSlot'\n// import FormGroup from './FormGroup'\n// import FormSet from './FormSet'\n// import FormList from './FormList'\n// import FormItem from './FormItem'\n\nconst FormGroup = defineAsyncComponent(() => import('./FormGroup'))\nconst FormSet = defineAsyncComponent(() => import('./FormSet'))\nconst FormList = defineAsyncComponent(() => import('./FormList'))\nconst FormItem = defineAsyncComponent(() => import('./FormItem'))\n\nconst LIST_PROP_KEYS = [\n 'min',\n 'max',\n 'isValidateList',\n 'emptyListMessage',\n 'creatorRecord',\n 'creatorButtonProps',\n 'alwaysShowItemLabel',\n 'actionGuard',\n 'copyIconProps',\n 'deleteIconProps',\n 'onAfterAdd',\n 'onAfterRemove',\n]\n\nconst LIST_SLOT_NAMES = ['action', 'creator', 'item']\n\nexport default defineComponent({\n name: 'FormItems',\n inheritAttrs: false,\n props: {\n list: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n type: {\n type: String as PropType<'space' | ''>,\n default: '',\n },\n grid: {\n type: Boolean,\n default: undefined,\n },\n spaceProps: {\n type: Object as PropType<ProFormItemType['spaceProps']>,\n default: () => {\n return { size: [32, 0], wrap: true }\n },\n },\n },\n setup(props) {\n const { grid, allHiddenKeys } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const mergeGrid = computed(() => props.grid ?? grid?.value)\n const getItemsDom = computed(() => {\n return props.list\n .filter((item) => !allHiddenKeys.value.includes(item.key as string))\n .map((item) => {\n if (item.fieldType === ProFieldType.GROUP) {\n return (\n <FormGroup\n key={item.key}\n items={item.children}\n title={item.title}\n tooltip={item.tooltip}\n colProps={item.colProps}\n rowProps={item.rowProps}\n spaceProps={item.spaceProps}\n grid={item.grid}\n item={item}\n formItemProps={item.formItemProps}\n />\n )\n }\n if (item.fieldType === ProFieldType.FORM_SET) {\n return (\n <FormSet\n key={item.key}\n name={item.name}\n items={item.children}\n title={item.title}\n tooltip={item.tooltip}\n colProps={item.colProps}\n rowProps={item.rowProps}\n spaceProps={item.spaceProps}\n formItemProps={item.formItemProps}\n initialValue={item.initialValue}\n convertValue={item.convertValue}\n transform={item.transform}\n />\n )\n }\n if (item.fieldType === ProFieldType.FORM_LIST) {\n const fieldProps = omitUndefined(pickKeys(item.fieldProps ?? {}, LIST_PROP_KEYS))\n const slotsGetter = {}\n LIST_SLOT_NAMES.forEach((name) => {\n const slot = getSlot(item.fieldProps?.[`${name}Render`], formSlotsContext)\n if (slot) {\n slotsGetter[name] = (args) => <RenderVNode vnode={slot} props={args} />\n }\n })\n return (\n <FormList\n key={item.key}\n name={item.name}\n originName={item.originName}\n items={item.children}\n title={item.title}\n tooltip={item.tooltip}\n rules={item.rules}\n colProps={item.colProps}\n rowProps={item.rowProps}\n formItemProps={item.formItemProps}\n initialValue={item.initialValue}\n convertValue={item.convertValue}\n transform={item.transform}\n {...fieldProps}\n v-slots={{ ...slotsGetter }}\n />\n )\n }\n return <FormItem key={item.key} item={item} grid={mergeGrid.value} />\n })\n })\n\n return () => {\n if (props.type === 'space' && !mergeGrid?.value) {\n return (\n <Space {...props.spaceProps} align=\"start\">\n {getItemsDom.value}\n </Space>\n )\n }\n return getItemsDom.value\n }\n },\n})\n"],"names":["FormGroup","defineAsyncComponent","FormSet","FormList","FormItem","LIST_PROP_KEYS","LIST_SLOT_NAMES","name","inheritAttrs","props","list","type","Array","default","String","grid","Boolean","undefined","spaceProps","Object","size","wrap","setup","allHiddenKeys","useInjectForm","formSlotsContext","useInjectSlots","mergeGrid","computed","value","getItemsDom","filter","item","includes","key","map","fieldType","ProFieldType","GROUP","_createVNode","children","title","tooltip","colProps","rowProps","formItemProps","FORM_SET","initialValue","convertValue","transform","FORM_LIST","fieldProps","omitUndefined","pickKeys","slotsGetter","forEach","_a","slot","getSlot","args","RenderVNode","_mergeProps","originName","rules","Space"],"mappings":"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"}
|
@@ -263,20 +263,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
263
263
|
};
|
264
264
|
justify: {
|
265
265
|
type: import("vue").PropType<"center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
266
|
-
sm?: "
|
267
|
-
md?: "
|
268
|
-
lg?: "
|
269
|
-
xl?: "
|
270
|
-
xs?: "
|
271
|
-
xxl?: "
|
266
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
267
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
268
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
269
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
270
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
271
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
272
272
|
}>;
|
273
273
|
default: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
274
|
-
sm?: "
|
275
|
-
md?: "
|
276
|
-
lg?: "
|
277
|
-
xl?: "
|
278
|
-
xs?: "
|
279
|
-
xxl?: "
|
274
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
275
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
276
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
277
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
278
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
279
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
280
280
|
};
|
281
281
|
};
|
282
282
|
prefixCls: StringConstructor;
|
@@ -222,20 +222,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
222
222
|
};
|
223
223
|
justify: {
|
224
224
|
type: import("vue").PropType<"center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
225
|
-
sm?: "
|
226
|
-
md?: "
|
227
|
-
lg?: "
|
228
|
-
xl?: "
|
229
|
-
xs?: "
|
230
|
-
xxl?: "
|
225
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
226
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
227
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
228
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
229
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
230
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
231
231
|
}>;
|
232
232
|
default: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
233
|
-
sm?: "
|
234
|
-
md?: "
|
235
|
-
lg?: "
|
236
|
-
xl?: "
|
237
|
-
xs?: "
|
238
|
-
xxl?: "
|
233
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
234
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
235
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
236
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
237
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
238
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
239
239
|
};
|
240
240
|
};
|
241
241
|
prefixCls: StringConstructor;
|
@@ -171,20 +171,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
171
171
|
};
|
172
172
|
justify: {
|
173
173
|
type: import("vue").PropType<"center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
174
|
-
sm?: "
|
175
|
-
md?: "
|
176
|
-
lg?: "
|
177
|
-
xl?: "
|
178
|
-
xs?: "
|
179
|
-
xxl?: "
|
174
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
175
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
176
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
177
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
178
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
179
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
180
180
|
}>;
|
181
181
|
default: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
182
|
-
sm?: "
|
183
|
-
md?: "
|
184
|
-
lg?: "
|
185
|
-
xl?: "
|
186
|
-
xs?: "
|
187
|
-
xxl?: "
|
182
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
183
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
184
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
185
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
186
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
187
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
188
188
|
};
|
189
189
|
};
|
190
190
|
prefixCls: StringConstructor;
|
@@ -42,20 +42,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
42
42
|
};
|
43
43
|
justify: {
|
44
44
|
type: import("vue").PropType<"center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
45
|
-
sm?: "
|
46
|
-
md?: "
|
47
|
-
lg?: "
|
48
|
-
xl?: "
|
49
|
-
xs?: "
|
50
|
-
xxl?: "
|
45
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
46
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
47
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
48
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
49
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
50
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
51
51
|
}>;
|
52
52
|
default: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
53
|
-
sm?: "
|
54
|
-
md?: "
|
55
|
-
lg?: "
|
56
|
-
xl?: "
|
57
|
-
xs?: "
|
58
|
-
xxl?: "
|
53
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
54
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
55
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
56
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
57
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
58
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
59
59
|
};
|
60
60
|
};
|
61
61
|
prefixCls: StringConstructor;
|
@@ -116,20 +116,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
116
116
|
};
|
117
117
|
justify: {
|
118
118
|
type: import("vue").PropType<"center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
119
|
-
sm?: "
|
120
|
-
md?: "
|
121
|
-
lg?: "
|
122
|
-
xl?: "
|
123
|
-
xs?: "
|
124
|
-
xxl?: "
|
119
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
120
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
121
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
122
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
123
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
124
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
125
125
|
}>;
|
126
126
|
default: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
127
|
-
sm?: "
|
128
|
-
md?: "
|
129
|
-
lg?: "
|
130
|
-
xl?: "
|
131
|
-
xs?: "
|
132
|
-
xxl?: "
|
127
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
128
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
129
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
130
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
131
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
132
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
133
133
|
};
|
134
134
|
};
|
135
135
|
prefixCls: StringConstructor;
|
@@ -1,13 +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
|
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, }: {
|
6
8
|
props: ProFormProps;
|
7
9
|
formRef: Ref<FormInstance | undefined>;
|
8
10
|
formData: Ref<Entity>;
|
9
11
|
initialValues: ShallowRef<Entity>;
|
10
12
|
hasInitial: Ref<boolean>;
|
13
|
+
transformerMap: ShallowRef<TransformerMapType>;
|
11
14
|
onFinish: ProFormProps['onFinish'];
|
12
15
|
onReset: ProFormProps['onReset'];
|
13
16
|
onFinishFailed: ProFormProps['onFinishFailed'];
|
@@ -1,13 +1,137 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
3
|
var namePath = require('../utils/namePath.js');
|
4
|
-
var
|
4
|
+
var cloneElement = require('../../../../utils/clone-element.js');
|
5
5
|
var validate = require('../../../../utils/validate.js');
|
6
|
+
var lodashUnified = require('lodash-unified');
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
return
|
8
|
+
function isPlainObj(itemValue) {
|
9
|
+
if (typeof itemValue !== "object") return false;
|
10
|
+
if (itemValue === null) return true;
|
11
|
+
if (cloneElement.isValidElement(itemValue)) return false;
|
12
|
+
if (itemValue.constructor === RegExp) return false;
|
13
|
+
if (itemValue instanceof Map) return false;
|
14
|
+
if (itemValue instanceof Set) return false;
|
15
|
+
if (itemValue instanceof HTMLElement) return false;
|
16
|
+
if (itemValue instanceof Blob) return false;
|
17
|
+
if (itemValue instanceof File) return false;
|
18
|
+
if (Array.isArray(itemValue)) return false;
|
19
|
+
return true;
|
20
|
+
}
|
21
|
+
const transformKeySubmitValue = (values, transformerMap, paramsOmitNil) => {
|
22
|
+
if (Object.keys(values).length < 1) {
|
23
|
+
return values;
|
24
|
+
}
|
25
|
+
if (typeof window === "undefined") return values;
|
26
|
+
if (typeof values !== "object" || validate.isNil(values) || values instanceof Blob) {
|
27
|
+
return values;
|
28
|
+
}
|
29
|
+
let finalValues = Array.isArray(values) ? [] : {};
|
30
|
+
const gen = (tempValues, parentsKey) => {
|
31
|
+
const isArrayValues = Array.isArray(tempValues);
|
32
|
+
let result = isArrayValues ? [] : {};
|
33
|
+
if (tempValues == null || tempValues === void 0) {
|
34
|
+
return result;
|
35
|
+
}
|
36
|
+
Object.keys(tempValues).forEach((entityKey) => {
|
37
|
+
var _a;
|
38
|
+
const transformForArray = (transformList, subItemValue) => {
|
39
|
+
if (!Array.isArray(transformList)) return entityKey;
|
40
|
+
transformList.forEach((transform2, idx) => {
|
41
|
+
if (!transform2) return;
|
42
|
+
const subTransformItem = subItemValue == null ? void 0 : subItemValue[idx];
|
43
|
+
if (typeof transform2 === "function") {
|
44
|
+
subItemValue[idx] = transform2(subItemValue, entityKey, tempValues);
|
45
|
+
}
|
46
|
+
if (typeof transform2 === "object" && !Array.isArray(transform2)) {
|
47
|
+
Object.keys(transform2).forEach((transformArrayItem) => {
|
48
|
+
const subTransformItemValue = subTransformItem == null ? void 0 : subTransformItem[transformArrayItem];
|
49
|
+
if (typeof transform2[transformArrayItem] === "function" && subTransformItemValue) {
|
50
|
+
const res = transform2[transformArrayItem](
|
51
|
+
subTransformItem[transformArrayItem],
|
52
|
+
entityKey,
|
53
|
+
tempValues
|
54
|
+
);
|
55
|
+
subTransformItem[transformArrayItem] = typeof res === "object" ? res[transformArrayItem] : res;
|
56
|
+
} else if (typeof transform2[transformArrayItem] === "object" && Array.isArray(transform2[transformArrayItem]) && subTransformItemValue) {
|
57
|
+
transformForArray(transform2[transformArrayItem], subTransformItemValue);
|
58
|
+
}
|
59
|
+
});
|
60
|
+
}
|
61
|
+
if (typeof transform2 === "object" && Array.isArray(transform2) && subTransformItem) {
|
62
|
+
transformForArray(transform2, subTransformItem);
|
63
|
+
}
|
64
|
+
});
|
65
|
+
return entityKey;
|
66
|
+
};
|
67
|
+
const itemValue = tempValues[entityKey];
|
68
|
+
const transformFunction = (_a = transformerMap.get(entityKey)) == null ? void 0 : _a.transform;
|
69
|
+
const transform = () => {
|
70
|
+
let tempKey, transformedResult, isTransformedResultPrimitive = false;
|
71
|
+
if (typeof transformFunction === "function") {
|
72
|
+
transformedResult = transformFunction == null ? void 0 : transformFunction(itemValue, entityKey, tempValues);
|
73
|
+
const typeOfResult = typeof transformedResult;
|
74
|
+
if (typeOfResult !== "object" && typeOfResult !== "undefined") {
|
75
|
+
tempKey = entityKey;
|
76
|
+
isTransformedResultPrimitive = true;
|
77
|
+
} else {
|
78
|
+
tempKey = transformedResult;
|
79
|
+
}
|
80
|
+
} else {
|
81
|
+
tempKey = transformForArray(transformFunction, itemValue);
|
82
|
+
}
|
83
|
+
if (Array.isArray(tempKey)) {
|
84
|
+
result = lodashUnified.set(result, tempKey, itemValue);
|
85
|
+
return;
|
86
|
+
}
|
87
|
+
if (typeof tempKey === "object" && !Array.isArray(finalValues)) {
|
88
|
+
finalValues = lodashUnified.merge(finalValues, tempKey);
|
89
|
+
} else if (typeof tempKey === "object" && Array.isArray(finalValues)) {
|
90
|
+
result = { ...result, ...tempKey };
|
91
|
+
} else if (tempKey !== null || tempKey !== void 0) {
|
92
|
+
result = lodashUnified.set(
|
93
|
+
result,
|
94
|
+
[tempKey],
|
95
|
+
isTransformedResultPrimitive ? transformedResult : itemValue
|
96
|
+
);
|
97
|
+
}
|
98
|
+
};
|
99
|
+
if (transformFunction && typeof transformFunction === "function") {
|
100
|
+
transform();
|
101
|
+
}
|
102
|
+
if (typeof window === "undefined") return;
|
103
|
+
if (isPlainObj(itemValue)) {
|
104
|
+
const genValues = gen(itemValue);
|
105
|
+
if (Object.keys(genValues).length < 1) {
|
106
|
+
return;
|
107
|
+
}
|
108
|
+
result = lodashUnified.set(result, [entityKey], genValues);
|
109
|
+
return;
|
110
|
+
}
|
111
|
+
transform();
|
112
|
+
});
|
113
|
+
return paramsOmitNil ? result : tempValues;
|
114
|
+
};
|
115
|
+
finalValues = Array.isArray(values) && Array.isArray(finalValues) ? [...gen(values)] : lodashUnified.merge({}, gen(values), finalValues);
|
116
|
+
return finalValues;
|
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;
|
11
135
|
};
|
12
136
|
function useAction({
|
13
137
|
props,
|
@@ -15,6 +139,7 @@ function useAction({
|
|
15
139
|
formData,
|
16
140
|
initialValues,
|
17
141
|
hasInitial,
|
142
|
+
transformerMap,
|
18
143
|
onFinish,
|
19
144
|
onReset,
|
20
145
|
onFinishFailed
|
@@ -43,20 +168,20 @@ function useAction({
|
|
43
168
|
if (!namePath$1) throw new Error("name is require");
|
44
169
|
const value = lodashUnified.get(formData.value, namePath$1);
|
45
170
|
const obj = lodashUnified.set({}, namePath$1, value);
|
46
|
-
return lodashUnified.get(
|
171
|
+
return lodashUnified.get(transformKeySubmitValue(obj, transformerMap.value, props.omitNil), namePath$1);
|
47
172
|
};
|
48
173
|
const getFieldFormatValueObject = (name) => {
|
49
174
|
const namePath$1 = namePath.default(name);
|
50
175
|
if (!namePath$1) throw new Error("name is require");
|
51
176
|
const value = lodashUnified.get(formData.value, namePath$1);
|
52
177
|
const obj = lodashUnified.set({}, namePath$1, value);
|
53
|
-
return
|
178
|
+
return transformKeySubmitValue(obj, transformerMap.value, props.omitNil);
|
54
179
|
};
|
55
180
|
const validateFieldsReturnFormatValue = async (nameList) => {
|
56
181
|
var _a;
|
57
182
|
if (!Array.isArray(nameList) && nameList) throw new Error("nameList must be array");
|
58
183
|
const values = await ((_a = formRef.value) == null ? void 0 : _a.validateFields(nameList));
|
59
|
-
const transformedKey =
|
184
|
+
const transformedKey = transformKeySubmitValue(values, transformerMap.value, props.omitNil);
|
60
185
|
return transformedKey != null ? transformedKey : {};
|
61
186
|
};
|
62
187
|
const setFieldValue = (name, value) => {
|
@@ -82,10 +207,10 @@ function useAction({
|
|
82
207
|
var _a;
|
83
208
|
hasInitial.value = true;
|
84
209
|
(_a = formRef.value) == null ? void 0 : _a.clearValidate();
|
85
|
-
formData.value = lodashUnified.cloneDeep(initialValues.value);
|
210
|
+
formData.value = lodashUnified.cloneDeep(convertKeyInitialValue(initialValues.value, transformerMap.value));
|
86
211
|
Promise.resolve().then(() => {
|
87
212
|
hasInitial.value = false;
|
88
|
-
onReset == null ? void 0 : onReset(formData.value);
|
213
|
+
onReset == null ? void 0 : onReset(transformKeySubmitValue(formData.value, transformerMap.value, props.omitNil));
|
89
214
|
});
|
90
215
|
};
|
91
216
|
const resetField = (name) => {
|
@@ -141,5 +266,7 @@ function useAction({
|
|
141
266
|
};
|
142
267
|
}
|
143
268
|
|
269
|
+
exports.convertKeyInitialValue = convertKeyInitialValue;
|
270
|
+
exports.transformKeySubmitValue = transformKeySubmitValue;
|
144
271
|
exports.useAction = useAction;
|
145
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-07-26 12:01:35\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 } from '@pro-design-vue/utils'\nimport covertFormName from '../utils/namePath'\n\nconst transformKey = (values: any, paramsOmitNil: boolean, parentKey?: NamePath) => {\n console.log('🚀 ~ transformKey ~ parentKey:', parentKey)\n console.log('🚀 ~ transformKey ~ paramsOmitNil:', paramsOmitNil)\n return values\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 = {}\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(transformKey(obj, props.omitNil!, namePath), 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 transformKey(obj, props.omitNil!, namePath)\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 = transformKey(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?.(formData.value)\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":["namePath","covertFormName","get","cloneDeep","set","merge","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();
|