pro-design-vue 1.0.0-rc.8 → 1.0.0-rc.9
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.full.js +143 -41
- 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 +143 -41
- package/es/components/form/src/base/BaseForm.mjs +11 -8
- package/es/components/form/src/base/BaseForm.mjs.map +1 -1
- package/es/components/form/src/hooks/useAction.d.ts +1 -0
- package/es/components/form/src/hooks/useAction.mjs +117 -11
- package/es/components/form/src/hooks/useAction.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/type.d.ts +5 -5
- package/es/index.d.ts +5 -5
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/form/src/base/BaseForm.js +10 -7
- package/lib/components/form/src/base/BaseForm.js.map +1 -1
- package/lib/components/form/src/hooks/useAction.d.ts +1 -0
- package/lib/components/form/src/hooks/useAction.js +116 -9
- package/lib/components/form/src/hooks/useAction.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/type.d.ts +5 -5
- package/lib/index.d.ts +5 -5
- 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
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryFilter.mjs","sources":["../../../../../../../packages/components/form/src/layouts/QueryFilter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-02 17:20:35\n * @Description:\n */\nimport { ref, computed, defineComponent, watch, useTemplateRef } from 'vue'\nimport { queryFilterProps } from '../props'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { isBrowser, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { ProFieldType } from '../fieldType'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport BaseForm from '../base/BaseForm'\n\nimport type { ProFormActionType, ProFormItemType, SpanConfig } from '../type'\nimport type { FormItemProps, FormProps } from 'ant-design-vue'\n\nconst CONFIG_SPAN_BREAKPOINTS = {\n xs: 513,\n sm: 513,\n md: 785,\n lg: 992,\n xl: 1057,\n xxl: Infinity,\n}\n/** 配置表单列变化的容器宽度断点 */\nconst BREAKPOINTS = {\n vertical: [\n // [breakpoint, cols, layout]\n [513, 1, 'vertical'],\n [785, 2, 'vertical'],\n [1057, 3, 'vertical'],\n [Infinity, 4, 'vertical'],\n ],\n default: [\n [513, 1, 'vertical'],\n [701, 2, 'vertical'],\n [1062, 3, 'horizontal'],\n [1352, 3, 'horizontal'],\n [Infinity, 4, 'horizontal'],\n ],\n}\n\n/**\n * 合并用户和默认的配置\n *\n * @param layout\n * @param width\n */\nconst getSpanConfig = (\n layout: FormProps['layout'] = 'horizontal',\n width: number,\n span?: SpanConfig,\n): { span: number; layout: FormProps['layout'] } => {\n if (span && typeof span === 'number') {\n return {\n span,\n layout,\n }\n }\n\n const spanConfig: (string | number)[][] = span\n ? ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].map((key) => [\n CONFIG_SPAN_BREAKPOINTS[key as 'xs'],\n 24 / (span as any)[key as 'sm'],\n 'horizontal',\n ])\n : BREAKPOINTS[(layout as 'default') || 'default']\n const breakPoint = (spanConfig || BREAKPOINTS.default).find(\n (item) => width < (item[0] as number) + 16, // 16 = 2 * (ant-row -8px margin)\n )\n if (!breakPoint) {\n return {\n span: 8,\n layout: 'horizontal',\n }\n }\n return {\n span: 24 / (breakPoint[1] as number),\n layout: breakPoint?.[2] as 'horizontal',\n }\n}\n\nconst flatMapItems = (items: ProFormItemType[], ignoreRules?: boolean): ProFormItemType[] => {\n return items?.flatMap((item: any) => {\n if (item.fieldType === ProFieldType.GROUP && !item.title) {\n return item.props.children\n }\n if (ignoreRules) {\n return {\n ...item,\n rules: [],\n formItemProps: {\n ...item.formItemProps,\n rules: [],\n },\n }\n }\n return item\n })\n}\n\nconst defaultWidth = isBrowser() ? document?.body?.clientWidth : 1024\nexport default defineComponent({\n name: 'ProQueryFilter',\n inheritAttrs: false,\n props: {\n ...queryFilterProps(),\n },\n emits: ['collapse', 'resize'],\n setup(props, { slots, emit, expose, attrs }) {\n // totalSpan 统计控件占的位置,计算 offset 保证查询按钮在最后一列\n const totalSpan = ref(0)\n // totalSize 统计控件占的份数\n const totalSize = ref(0)\n // for split compute\n const currentSpan = ref(0)\n const intl = useIntl()\n const prefixCls = usePrefixCls('query-filter')\n const wrapEl = useTemplateRef<HTMLDivElement>('wrapper')\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const processedList = ref<ProFormItemType[]>([])\n const [width, setWidth] = useMergedState(defaultWidth)\n const formExpose = useFormExpose(formRef)\n useResizeObserver(wrapEl, (entries) => {\n const entry = entries[0]\n const { width: newWidth, height } = entry?.contentRect || ({} as DOMRectReadOnly)\n if (width.value !== newWidth && newWidth > 17) {\n setWidth(newWidth)\n }\n emit('resize', newWidth, height)\n })\n\n const spanSize = computed(() => getSpanConfig(props.layout, width.value + 16, props.span))\n\n const showLength = computed(() => {\n if (props.defaultFormItemsNumber !== undefined) {\n return props.defaultFormItemsNumber\n }\n if (props.defaultColsNumber !== undefined) {\n const oneRowControlsNumber = 24 / spanSize.value.span - 1\n return props.defaultColsNumber > oneRowControlsNumber\n ? oneRowControlsNumber\n : props.defaultColsNumber\n }\n return Math.max(1, 24 / spanSize.value.span - 1)\n })\n\n const hiddenNum = computed(\n () => props.showHiddenNum && processedList.value.filter((item) => item.hidden).length,\n )\n\n const needCollapse = computed(() => {\n if (totalSpan.value < 24 || totalSize.value <= showLength.value) {\n return false\n }\n return true\n })\n\n const offset = computed(() => {\n const offsetSpan = (currentSpan.value % 24) + spanSize.value.span\n if (offsetSpan > 24) {\n return 24 - spanSize.value.span\n }\n return 24 - offsetSpan\n })\n\n /** 计算最大宽度防止溢出换行 */\n const formItemFixStyle = computed<FormItemProps | undefined>(() => {\n if (props.labelWidth && spanSize.value.layout !== 'vertical' && props.labelWidth !== 'auto') {\n return {\n labelCol: {\n flex: `0 0 ${props.labelWidth}px`,\n },\n wrapperCol: {\n style: {\n maxWidth: `calc(100% - ${props.labelWidth}px)`,\n },\n },\n style: {\n flexWrap: 'nowrap',\n },\n }\n }\n return undefined\n })\n\n const [collapsed, setCollapsed] = useMergedState<boolean | undefined>(\n () => props.defaultCollapsed,\n {\n value: computed(() => props.collapsed),\n onChange: (val) => {\n emit('collapse', val)\n },\n },\n )\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'defaultCollapsed',\n 'collapsed',\n 'grid',\n 'showLoading',\n 'defaultColsNumber',\n 'searchGutter',\n // 'onFinish',\n 'submitOnLoading',\n 'preserve',\n 'submitter',\n 'ignoreRules',\n 'searchText',\n 'resetText',\n 'labelWidth',\n 'layout',\n 'items',\n 'gridSubmitter',\n 'rowProps',\n 'defaultFormItemsNumber',\n 'showHiddenNum',\n 'ignoreRules',\n 'onCollapse',\n 'onReset',\n ]),\n ),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n style: {\n justifyContent: 'flex-end',\n },\n reverse: true,\n searchConfig: {\n submitText: props.searchText || intl.getMessage('form.search', '搜索'),\n resetText: props.resetText || intl.getMessage('form.reset', '重置'),\n },\n colProps: {\n span: spanSize.value.span,\n offset: offset.value,\n },\n },\n props.submitter,\n )\n })\n\n watch(\n [spanSize, collapsed, () => props.items],\n () => {\n let firstRowFull = false\n currentSpan.value = 0\n totalSize.value = 0\n totalSpan.value = 0\n if (props.items?.length) {\n processedList.value = flatMapItems(props.items, props.ignoreRules).map((item, index) => {\n // 如果 formItem 自己配置了 hidden,默认使用它自己的\n const colSize = item.colSize ?? 1\n const colSpan = Math.min(spanSize.value.span * (colSize || 1), 24)\n // 计算总的 totalSpan 长度\n totalSpan.value += colSpan\n // 计算总的 colSize 长度\n totalSize.value += colSize\n\n if (index === 0) {\n firstRowFull = colSpan === 24 && !item.hidden\n }\n\n const hidden: boolean | undefined =\n item.hidden ||\n // 如果收起了\n (collapsed.value &&\n (firstRowFull ||\n // 如果 超过显示长度 且 总长度超过了 24\n totalSize.value > showLength.value) &&\n !!index)\n\n if (hidden) {\n if (!props.preserve) {\n return {\n ...item,\n colProps: { span: 0 },\n hidden: true,\n }\n }\n return {\n ...item,\n colProps: { span: colSpan },\n hidden: true,\n }\n }\n\n if (24 - (currentSpan.value % 24) < colSpan) {\n // 如果当前行空余位置放不下,那么折行\n totalSpan.value += 24 - (currentSpan.value % 24)\n currentSpan.value += 24 - (currentSpan.value % 24)\n }\n\n currentSpan.value += colSpan\n return {\n ...item,\n hidden,\n formItemProps: formItemFixStyle.value,\n colProps: {\n span: colSpan,\n },\n }\n })\n } else {\n processedList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <div class={`${prefixCls}-wrap`} ref=\"wrapper\" {...attrs}>\n <BaseForm\n ref={formRef}\n class={prefixCls}\n {...formProps.value}\n grid\n gridSubmitter\n rowProps={{\n gutter: props.searchGutter,\n justify: 'start',\n class: `${prefixCls}-row`,\n }}\n submitOnLoading={false}\n submitter={submitterConfig.value}\n items={processedList.value}\n layout={spanSize.value.layout}\n v-slots={{\n ...slots,\n submitter: ({ defaultDoms }) => {\n return (\n <>\n {defaultDoms}\n {needCollapse.value !== false && (\n <a\n class={`${prefixCls}-collapse-button`}\n onClick={() => setCollapsed(!collapsed.value)}\n >\n {collapsed.value\n ? intl.getMessage('form.collapsed', '展开')\n : intl.getMessage('form.expand', '收起')}\n {!!hiddenNum.value && `(${hiddenNum.value})`}\n <DownOutlined\n style={{\n marginInlineStart: '0.5em',\n transition: '0.3s all',\n transform: `rotate(${collapsed.value ? 0 : 0.5}turn)`,\n }}\n />\n </a>\n )}\n </>\n )\n },\n }}\n onReset={(values) => {\n if (props.resetOnSubmit) {\n formRef.value?.submit()\n }\n props.onReset?.(values)\n }}\n />\n </div>\n )\n },\n})\n"],"names":["CONFIG_SPAN_BREAKPOINTS","xs","sm","md","lg","xl","xxl","Infinity","BREAKPOINTS","vertical","default","getSpanConfig","layout","width","span","spanConfig","map","key","breakPoint","find","item","flatMapItems","items","ignoreRules","flatMap","fieldType","ProFieldType","GROUP","title","props","children","rules","formItemProps","defaultWidth","isBrowser","document","body","clientWidth","name","inheritAttrs","queryFilterProps","emits","setup","slots","emit","expose","attrs","totalSpan","ref","totalSize","currentSpan","intl","useIntl","prefixCls","usePrefixCls","wrapEl","useTemplateRef","formRef","processedList","setWidth","useMergedState","formExpose","useFormExpose","useResizeObserver","entries","entry","newWidth","height","contentRect","value","spanSize","computed","showLength","defaultFormItemsNumber","undefined","defaultColsNumber","oneRowControlsNumber","Math","max","hiddenNum","showHiddenNum","filter","hidden","length","needCollapse","offset","offsetSpan","formItemFixStyle","labelWidth","labelCol","flex","wrapperCol","style","maxWidth","flexWrap","collapsed","setCollapsed","defaultCollapsed","onChange","val","formProps","omitUndefined","omit","submitterConfig","submitter","merge","justifyContent","reverse","searchConfig","submitText","searchText","getMessage","resetText","colProps","watch","_a","firstRowFull","index","colSize","colSpan","min","preserve","immediate","_createVNode","_mergeProps","BaseForm","gutter","searchGutter","justify","class","values","resetOnSubmit","submit","onReset","defaultDoms","_Fragment","onClick","DownOutlined","marginInlineStart","transition","transform"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"QueryFilter.mjs","sources":["../../../../../../../packages/components/form/src/layouts/QueryFilter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-21 23:26:49\n * @Description:\n */\nimport { ref, computed, defineComponent, watch, useTemplateRef } from 'vue'\nimport { queryFilterProps } from '../props'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { isBrowser, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { ProFieldType } from '../fieldType'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport BaseForm from '../base/BaseForm'\n\nimport type { ProFormActionType, ProFormItemType, SpanConfig } from '../type'\nimport type { FormItemProps, FormProps } from 'ant-design-vue'\n\nconst CONFIG_SPAN_BREAKPOINTS = {\n xs: 513,\n sm: 513,\n md: 785,\n lg: 992,\n xl: 1057,\n xxl: Infinity,\n}\n/** 配置表单列变化的容器宽度断点 */\nconst BREAKPOINTS = {\n vertical: [\n // [breakpoint, cols, layout]\n [513, 1, 'vertical'],\n [785, 2, 'vertical'],\n [1057, 3, 'vertical'],\n [Infinity, 4, 'vertical'],\n ],\n default: [\n [513, 1, 'vertical'],\n [701, 2, 'vertical'],\n [1062, 3, 'horizontal'],\n [1352, 3, 'horizontal'],\n [Infinity, 4, 'horizontal'],\n ],\n}\n\n/**\n * 合并用户和默认的配置\n *\n * @param layout\n * @param width\n */\nconst getSpanConfig = (\n layout: FormProps['layout'] = 'horizontal',\n width: number,\n span?: SpanConfig,\n): { span: number; layout: FormProps['layout'] } => {\n if (span && typeof span === 'number') {\n return {\n span,\n layout,\n }\n }\n\n const spanConfig: (string | number)[][] = span\n ? ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].map((key) => [\n CONFIG_SPAN_BREAKPOINTS[key as 'xs'],\n 24 / (span as any)[key as 'sm'],\n 'horizontal',\n ])\n : BREAKPOINTS[(layout as 'default') || 'default']\n const breakPoint = (spanConfig || BREAKPOINTS.default).find(\n (item) => width < (item[0] as number) + 16, // 16 = 2 * (ant-row -8px margin)\n )\n if (!breakPoint) {\n return {\n span: 8,\n layout: 'horizontal',\n }\n }\n return {\n span: 24 / (breakPoint[1] as number),\n layout: breakPoint?.[2] as 'horizontal',\n }\n}\n\nconst flatMapItems = (items: ProFormItemType[], ignoreRules?: boolean): ProFormItemType[] => {\n return items?.flatMap((item: any) => {\n if (item.fieldType === ProFieldType.GROUP && !item.title) {\n return item.props.children\n }\n if (ignoreRules) {\n return {\n ...item,\n rules: [],\n formItemProps: {\n ...item.formItemProps,\n rules: [],\n },\n }\n }\n return item\n })\n}\n\nconst defaultWidth = isBrowser() ? document?.body?.clientWidth : 1024\nexport default defineComponent({\n name: 'ProQueryFilter',\n inheritAttrs: false,\n props: {\n ...queryFilterProps(),\n },\n emits: ['collapse', 'resize'],\n setup(props, { slots, emit, expose, attrs }) {\n // totalSpan 统计控件占的位置,计算 offset 保证查询按钮在最后一列\n const totalSpan = ref(0)\n // totalSize 统计控件占的份数\n const totalSize = ref(0)\n // for split compute\n const currentSpan = ref(0)\n const intl = useIntl()\n const prefixCls = usePrefixCls('query-filter')\n const wrapEl = useTemplateRef<HTMLDivElement>('wrapper')\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const processedList = ref<ProFormItemType[]>([])\n const [width, setWidth] = useMergedState(defaultWidth)\n const formExpose = useFormExpose(formRef)\n useResizeObserver(wrapEl, (entries) => {\n const entry = entries[0]\n const { width: newWidth, height } = entry?.contentRect || ({} as DOMRectReadOnly)\n if (width.value !== newWidth && newWidth > 17) {\n setWidth(newWidth)\n }\n emit('resize', newWidth, height)\n })\n\n const spanSize = computed(() => getSpanConfig(props.layout, width.value + 16, props.span))\n\n const showLength = computed(() => {\n if (props.defaultFormItemsNumber !== undefined) {\n return props.defaultFormItemsNumber\n }\n if (props.defaultColsNumber !== undefined) {\n const oneRowControlsNumber = 24 / spanSize.value.span - 1\n return props.defaultColsNumber > oneRowControlsNumber\n ? oneRowControlsNumber\n : props.defaultColsNumber\n }\n return Math.max(1, 24 / spanSize.value.span - 1)\n })\n\n const hiddenNum = computed(\n () => props.showHiddenNum && processedList.value.filter((item) => item.hidden).length,\n )\n\n const needCollapse = computed(() => {\n if (totalSpan.value < 24 || totalSize.value <= showLength.value) {\n return false\n }\n return true\n })\n\n const offset = computed(() => {\n const offsetSpan = (currentSpan.value % 24) + spanSize.value.span\n if (offsetSpan > 24) {\n return 24 - spanSize.value.span\n }\n return 24 - offsetSpan\n })\n\n /** 计算最大宽度防止溢出换行 */\n const formItemFixStyle = computed<FormItemProps | undefined>(() => {\n if (props.labelWidth && spanSize.value.layout !== 'vertical' && props.labelWidth !== 'auto') {\n return {\n labelCol: {\n flex: `0 0 ${props.labelWidth}px`,\n },\n wrapperCol: {\n style: {\n maxWidth: `calc(100% - ${props.labelWidth}px)`,\n },\n },\n style: {\n flexWrap: 'nowrap',\n },\n }\n }\n return undefined\n })\n\n const [collapsed, setCollapsed] = useMergedState<boolean | undefined>(\n () => props.defaultCollapsed,\n {\n value: computed(() => props.collapsed),\n onChange: (val) => {\n emit('collapse', val)\n },\n },\n )\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'defaultCollapsed',\n 'collapsed',\n 'grid',\n 'showLoading',\n 'defaultColsNumber',\n 'searchGutter',\n // 'onFinish',\n 'submitOnLoading',\n 'preserve',\n 'submitter',\n 'ignoreRules',\n 'searchText',\n 'resetText',\n 'labelWidth',\n 'layout',\n 'items',\n 'gridSubmitter',\n 'rowProps',\n 'defaultFormItemsNumber',\n 'showHiddenNum',\n 'ignoreRules',\n 'onCollapse',\n 'onReset',\n ]),\n ),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n style: {\n justifyContent: 'flex-end',\n },\n reverse: true,\n searchConfig: {\n submitText: props.searchText || intl.getMessage('form.search', '搜索'),\n resetText: props.resetText || intl.getMessage('form.reset', '重置'),\n },\n colProps: {\n span: spanSize.value.span,\n offset: offset.value,\n },\n },\n props.submitter,\n )\n })\n\n watch(\n [spanSize, collapsed, () => props.items],\n () => {\n let firstRowFull = false\n currentSpan.value = 0\n totalSize.value = 0\n totalSpan.value = 0\n if (props.items?.length) {\n processedList.value = flatMapItems(props.items, props.ignoreRules).map((item, index) => {\n // 如果 formItem 自己配置了 hidden,默认使用它自己的\n const colSize = item.colSize ?? 1\n const colSpan = Math.min(spanSize.value.span * (colSize || 1), 24)\n // 计算总的 totalSpan 长度\n totalSpan.value += colSpan\n // 计算总的 colSize 长度\n totalSize.value += colSize\n\n if (index === 0) {\n firstRowFull = colSpan === 24 && !item.hidden\n }\n\n const hidden: boolean | undefined =\n item.hidden ||\n // 如果收起了\n (props.submitter !== false &&\n collapsed.value &&\n (firstRowFull ||\n // 如果 超过显示长度 且 总长度超过了 24\n totalSize.value > showLength.value) &&\n !!index)\n\n if (hidden) {\n if (!props.preserve) {\n return {\n ...item,\n colProps: { span: 0 },\n hidden: true,\n }\n }\n return {\n ...item,\n colProps: { span: colSpan },\n hidden: true,\n }\n }\n\n if (24 - (currentSpan.value % 24) < colSpan) {\n // 如果当前行空余位置放不下,那么折行\n totalSpan.value += 24 - (currentSpan.value % 24)\n currentSpan.value += 24 - (currentSpan.value % 24)\n }\n\n currentSpan.value += colSpan\n return {\n ...item,\n hidden,\n formItemProps: formItemFixStyle.value,\n colProps: {\n span: colSpan,\n },\n }\n })\n } else {\n processedList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <div class={`${prefixCls}-wrap`} ref=\"wrapper\" {...attrs}>\n <BaseForm\n ref={formRef}\n class={prefixCls}\n {...formProps.value}\n grid\n gridSubmitter\n rowProps={{\n gutter: props.searchGutter,\n justify: 'start',\n class: `${prefixCls}-row`,\n }}\n showLoading={false}\n submitter={submitterConfig.value}\n items={processedList.value}\n layout={spanSize.value.layout}\n v-slots={{\n ...slots,\n submitter: ({ defaultDoms }) => {\n return (\n <>\n {defaultDoms}\n {needCollapse.value !== false && (\n <a\n class={`${prefixCls}-collapse-button`}\n onClick={() => setCollapsed(!collapsed.value)}\n >\n {collapsed.value\n ? intl.getMessage('form.collapsed', '展开')\n : intl.getMessage('form.expand', '收起')}\n {!!hiddenNum.value && `(${hiddenNum.value})`}\n <DownOutlined\n style={{\n marginInlineStart: '0.5em',\n transition: '0.3s all',\n transform: `rotate(${collapsed.value ? 0 : 0.5}turn)`,\n }}\n />\n </a>\n )}\n </>\n )\n },\n }}\n onReset={(values) => {\n if (props.resetOnSubmit) {\n formRef.value?.submit()\n }\n props.onReset?.(values)\n }}\n />\n </div>\n )\n },\n})\n"],"names":["CONFIG_SPAN_BREAKPOINTS","xs","sm","md","lg","xl","xxl","Infinity","BREAKPOINTS","vertical","default","getSpanConfig","layout","width","span","spanConfig","map","key","breakPoint","find","item","flatMapItems","items","ignoreRules","flatMap","fieldType","ProFieldType","GROUP","title","props","children","rules","formItemProps","defaultWidth","isBrowser","document","body","clientWidth","name","inheritAttrs","queryFilterProps","emits","setup","slots","emit","expose","attrs","totalSpan","ref","totalSize","currentSpan","intl","useIntl","prefixCls","usePrefixCls","wrapEl","useTemplateRef","formRef","processedList","setWidth","useMergedState","formExpose","useFormExpose","useResizeObserver","entries","entry","newWidth","height","contentRect","value","spanSize","computed","showLength","defaultFormItemsNumber","undefined","defaultColsNumber","oneRowControlsNumber","Math","max","hiddenNum","showHiddenNum","filter","hidden","length","needCollapse","offset","offsetSpan","formItemFixStyle","labelWidth","labelCol","flex","wrapperCol","style","maxWidth","flexWrap","collapsed","setCollapsed","defaultCollapsed","onChange","val","formProps","omitUndefined","omit","submitterConfig","submitter","merge","justifyContent","reverse","searchConfig","submitText","searchText","getMessage","resetText","colProps","watch","_a","firstRowFull","index","colSize","colSpan","min","preserve","immediate","_createVNode","_mergeProps","BaseForm","gutter","searchGutter","justify","class","values","resetOnSubmit","submit","onReset","defaultDoms","_Fragment","onClick","DownOutlined","marginInlineStart","transition","transform"],"mappings":"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"}
|
@@ -188,13 +188,13 @@ export type ProFormActionType<T = Entity> = {
|
|
188
188
|
/** @name 获取对应字段名的值 */
|
189
189
|
getFieldValue: (name: NamePath) => any;
|
190
190
|
/** @name 获取一组字段名对应的值,会按照对应结构返回。默认返回现存字段值,当调用getFieldsValue(true)时返回所有值 */
|
191
|
-
getFieldsValue: (nameList?: true | NamePath[]) => Partial<T
|
191
|
+
getFieldsValue: (nameList?: true | NamePath[]) => Partial<T> | undefined;
|
192
192
|
/** @name 获取被SForm格式化后的单个数据 */
|
193
|
-
getFieldFormatValue: (name: NamePath) => T;
|
193
|
+
getFieldFormatValue: (name: NamePath) => T | undefined;
|
194
194
|
/** @name 获取被SForm格式化后的单个数据,包含他的name */
|
195
|
-
getFieldFormatValueObject: (name: NamePath) => T;
|
195
|
+
getFieldFormatValueObject: (name: NamePath) => T | undefined;
|
196
196
|
/** @name 验字段后返回格式化之后的所有数据 */
|
197
|
-
validateFieldsReturnFormatValue: (nameList?: NamePath[]) => Promise<any
|
197
|
+
validateFieldsReturnFormatValue: (nameList?: NamePath[]) => Promise<any> | undefined;
|
198
198
|
/** @name 设置表单的值,如果你不希望传入对象被修改,请克隆后传入 */
|
199
199
|
setFieldValue: (name: NamePath, value: any) => void;
|
200
200
|
/** @name 设置表单的值 */
|
@@ -206,7 +206,7 @@ export type ProFormActionType<T = Entity> = {
|
|
206
206
|
/** @name 移除表单项的校验结果。传入待移除的表单项的name属性或者name组成的数组,如不传则移除整个表单的校验结果 */
|
207
207
|
clearValidate: (name?: NamePath) => void;
|
208
208
|
/** @name 触发表单验证 */
|
209
|
-
validateFields: (nameList?: NamePath[]) => Promise<T
|
209
|
+
validateFields: (nameList?: NamePath[]) => Promise<T> | undefined;
|
210
210
|
/** @name 重置所有字段到initialValues */
|
211
211
|
reset: () => void;
|
212
212
|
/** @name 提交表单,与点击submit按钮效果相同 */
|
package/es/index.d.ts
CHANGED
@@ -6010,13 +6010,13 @@ export declare type ProFormActionType<T = Entity> = {
|
|
6010
6010
|
/** @name 获取对应字段名的值 */
|
6011
6011
|
getFieldValue: (name: NamePath) => any;
|
6012
6012
|
/** @name 获取一组字段名对应的值,会按照对应结构返回。默认返回现存字段值,当调用getFieldsValue(true)时返回所有值 */
|
6013
|
-
getFieldsValue: (nameList?: true | NamePath[]) => Partial<T
|
6013
|
+
getFieldsValue: (nameList?: true | NamePath[]) => Partial<T> | undefined;
|
6014
6014
|
/** @name 获取被SForm格式化后的单个数据 */
|
6015
|
-
getFieldFormatValue: (name: NamePath) => T;
|
6015
|
+
getFieldFormatValue: (name: NamePath) => T | undefined;
|
6016
6016
|
/** @name 获取被SForm格式化后的单个数据,包含他的name */
|
6017
|
-
getFieldFormatValueObject: (name: NamePath) => T;
|
6017
|
+
getFieldFormatValueObject: (name: NamePath) => T | undefined;
|
6018
6018
|
/** @name 验字段后返回格式化之后的所有数据 */
|
6019
|
-
validateFieldsReturnFormatValue: (nameList?: NamePath[]) => Promise<any
|
6019
|
+
validateFieldsReturnFormatValue: (nameList?: NamePath[]) => Promise<any> | undefined;
|
6020
6020
|
/** @name 设置表单的值,如果你不希望传入对象被修改,请克隆后传入 */
|
6021
6021
|
setFieldValue: (name: NamePath, value: any) => void;
|
6022
6022
|
/** @name 设置表单的值 */
|
@@ -6028,7 +6028,7 @@ export declare type ProFormActionType<T = Entity> = {
|
|
6028
6028
|
/** @name 移除表单项的校验结果。传入待移除的表单项的name属性或者name组成的数组,如不传则移除整个表单的校验结果 */
|
6029
6029
|
clearValidate: (name?: NamePath) => void;
|
6030
6030
|
/** @name 触发表单验证 */
|
6031
|
-
validateFields: (nameList?: NamePath[]) => Promise<T
|
6031
|
+
validateFields: (nameList?: NamePath[]) => Promise<T> | undefined;
|
6032
6032
|
/** @name 重置所有字段到initialValues */
|
6033
6033
|
reset: () => void;
|
6034
6034
|
/** @name 提交表单,与点击submit按钮效果相同 */
|
package/es/version.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export declare const version = "1.0.0-rc.
|
1
|
+
export declare const version = "1.0.0-rc.9";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.0.0-rc.
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.0.0-rc.9'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
|
@@ -113,21 +113,21 @@ var BaseForm = /* @__PURE__ */ vue.defineComponent({
|
|
113
113
|
});
|
114
114
|
const onValuesChange = lodashUnified.debounce(() => {
|
115
115
|
var _a;
|
116
|
-
(_a = props.onValuesChange) == null ? void 0 : _a.call(props, lodashUnified.cloneDeep(formData.value));
|
116
|
+
(_a = props.onValuesChange) == null ? void 0 : _a.call(props, useAction.transformKeySubmitValue(lodashUnified.cloneDeep(formData.value), props.omitNil));
|
117
117
|
}, 200);
|
118
118
|
const onFinish = async () => {
|
119
119
|
if (!props.onFinish) return;
|
120
|
-
if (props.
|
120
|
+
if (props.submitOnLoading) {
|
121
121
|
if (loading.value) return;
|
122
122
|
setloading(true);
|
123
123
|
}
|
124
124
|
try {
|
125
|
-
const finalValues = lodashUnified.cloneDeep(formData.value);
|
125
|
+
const finalValues = useAction.transformKeySubmitValue(lodashUnified.cloneDeep(formData.value), props.omitNil);
|
126
126
|
await props.onFinish(finalValues);
|
127
127
|
} catch (error) {
|
128
128
|
console.log("\u{1F680} ~ onFinish ~ error:", error);
|
129
129
|
} finally {
|
130
|
-
if (props.
|
130
|
+
if (props.submitOnLoading) {
|
131
131
|
setloading(false);
|
132
132
|
}
|
133
133
|
}
|
@@ -193,8 +193,11 @@ var BaseForm = /* @__PURE__ */ vue.defineComponent({
|
|
193
193
|
var _a, _b, _c;
|
194
194
|
mountedRef.value = true;
|
195
195
|
requestFormCacheId += 1;
|
196
|
-
const finalValues = (_b = (_a = formRef.value) == null ? void 0 : _a.getFieldsValue) == null ? void 0 : _b.call(_a, true);
|
197
|
-
(
|
196
|
+
const finalValues = (_c = (_b = (_a = formRef.value) == null ? void 0 : _a.getFieldsValue) == null ? void 0 : _b.call(_a, true)) != null ? _c : {};
|
197
|
+
Promise.resolve().then(() => {
|
198
|
+
var _a2;
|
199
|
+
(_a2 = props.onInit) == null ? void 0 : _a2.call(props, useAction.transformKeySubmitValue(finalValues, props.omitNil), action);
|
200
|
+
});
|
198
201
|
});
|
199
202
|
FormContext.useProvideForm({
|
200
203
|
...linkage,
|
@@ -241,7 +244,7 @@ var BaseForm = /* @__PURE__ */ vue.defineComponent({
|
|
241
244
|
"style": attrs.style
|
242
245
|
}), {
|
243
246
|
default: () => [vue.createVNode(antDesignVue.Spin, {
|
244
|
-
"spinning": requestLoading.value ||
|
247
|
+
"spinning": props.showLoading && (requestLoading.value || loading.value)
|
245
248
|
}, {
|
246
249
|
default: () => [vue.createVNode(FormRowWrapper.default, null, {
|
247
250
|
default: () => [vue.createVNode(FormItems.default, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BaseForm.js","sources":["../../../../../../../packages/components/form/src/base/BaseForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-27 12:04:01\n * @LastEditors: shen\n * @LastEditTime: 2025-08-31 22:27:50\n * @Description:\n */\nimport type { ColProps, FormInstance } from 'ant-design-vue'\nimport type { Entity, ProFormItemType, ProFormPropsType, SubmitterProps } from '../type'\n\nimport { ref, computed, watch, onMounted, defineComponent, Teleport } from 'vue'\nimport { Col, Form, FormItem, Spin } from 'ant-design-vue'\nimport { cloneDeep, debounce, isEqual, isObject, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { baseFormProps } from '../props'\nimport { useProvideForm } from '../context/FormContext'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { useInitialValues } from '../hooks/useInitialValues'\nimport { useLinkage } from '../hooks/useLinkage'\nimport { useAction } from '../hooks/useAction'\nimport covertFormName from '../utils/namePath'\nimport FormSlotsContextProvider from '../context/FormSlotsContext'\nimport FormRowWrapper from '../components/FormRowWrapper'\nimport FormItems from '../components/FormItems'\nimport FormSubmitter from '../components/FormSubmitter'\n\nlet requestFormCacheId = 0\n\nexport default defineComponent({\n name: 'BaseForm',\n inheritAttrs: false,\n props: {\n ...baseFormProps(),\n },\n setup(props, { slots, expose, attrs }) {\n // const loading = ref(false)\n const mountedRef = ref(false)\n const formRef = ref<FormInstance>()\n const prefixCls = usePrefixCls('form')\n const formData = ref<Entity>({})\n const formItems = ref<ProFormItemType[]>([])\n const formKey = computed(() => {\n return props.formKey ?? requestFormCacheId.toString()\n })\n\n const [loading, setloading] = useMergedState<boolean | undefined>(false, {\n value: computed(() => props.loading),\n onChange: (val) => {\n props.onLoadingChange?.(val!)\n },\n })\n\n const formClass = computed(() => ({\n [prefixCls]: true,\n [`${attrs.class ?? ''}`]: true,\n }))\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'colProps',\n 'submitter',\n 'loading',\n 'showLoading',\n 'omitNil',\n 'grid',\n 'theme',\n 'customUi',\n 'gridSubmitter',\n 'requestAbort',\n 'isKeyPressSubmit',\n 'formKey',\n 'initialValues',\n 'rowProps',\n 'dateFormatter',\n 'params',\n 'readonly',\n 'readonlyProps',\n 'items',\n 'request',\n 'submitOnLoading',\n 'onLoadingChange',\n 'onFinish',\n 'onValuesChange',\n ]),\n ),\n layout: props.layout ?? 'vertical',\n }\n })\n\n const formatItems = (items: ProFormItemType[]): ProFormItemType[] => {\n return items\n .filter((originItem) => {\n return !originItem.hidden\n })\n .sort((a, b) => {\n if (b.order || a.order) {\n return (b.order ?? 0) - (a.order ?? 0)\n }\n return 0\n })\n .map((originItem, index) => {\n const name = covertFormName(originItem.name)\n const key = originItem.key ?? (name ? (name ?? []).join('_') : index)\n return omitUndefined<ProFormItemType>({\n ...originItem,\n originName: originItem.originName ?? originItem.name,\n name,\n key,\n })\n })\n .filter((field) => {\n return Boolean(field)\n })\n }\n\n watch(\n () => props.items,\n () => {\n formItems.value = formatItems(props.items ?? [])\n },\n {\n immediate: true,\n },\n )\n\n // watch(loading, () => {\n // props.onLoadingChange?.(loading.value)\n // })\n\n // watch(\n // () => props.loading,\n // (newVal) => {\n // loading.value = newVal\n // },\n // )\n\n const { initialValues, hasInitial, requestLoading } = useInitialValues(\n props as ProFormPropsType,\n )\n\n watch(\n initialValues,\n (newValues, oldValues) => {\n if (!isEqual(newValues, oldValues)) {\n formData.value = cloneDeep(newValues)\n if (!props.request || props.requestAbort) {\n Promise.resolve().then(() => {\n hasInitial.value = false\n })\n }\n }\n },\n {\n immediate: true,\n },\n )\n const onValuesChange = debounce(() => {\n props.onValuesChange?.(cloneDeep(formData.value))\n }, 200)\n\n const onFinish = async () => {\n if (!props.onFinish) return\n if (props.showLoading) {\n if (loading.value) return\n // loading.value = true\n setloading(true)\n }\n\n try {\n const finalValues = cloneDeep(formData.value)\n await props.onFinish(finalValues)\n } catch (error) {\n console.log('🚀 ~ onFinish ~ error:', error)\n } finally {\n if (props.showLoading) {\n // loading.value = false\n setloading(false)\n }\n }\n }\n\n watch(\n formData,\n () => {\n if (!hasInitial.value) {\n onValuesChange()\n }\n },\n {\n deep: true,\n },\n )\n\n const linkage = useLinkage()\n const action = useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n onFinish,\n onReset: props.onReset,\n onFinishFailed: props.onFinishFailed,\n })\n\n const submitterProps = computed<SubmitterProps>(() =>\n typeof props.submitter === 'boolean' || !props.submitter\n ? {}\n : omit(props.submitter, ['colProps']),\n )\n\n const submitterColProps = computed<ColProps>(() => {\n if (props.submitter === false || props.readonly) return {}\n if (props.gridSubmitter) {\n if (isObject(props.submitter) && isObject(props.submitter.colProps)) {\n return { ...props.submitter.colProps }\n }\n }\n return { span: 24 } as ColProps\n })\n\n const submitterNode = computed(() => {\n if (props.submitter === false || props.readonly) return undefined\n const submitButtonProps =\n submitterProps.value.submitButtonProps === false\n ? false\n : {\n loading: loading.value,\n ...submitterProps.value.submitButtonProps,\n }\n const resetButtonProps =\n submitterProps.value.resetButtonProps === false\n ? false\n : {\n disabled: loading.value,\n ...submitterProps.value.resetButtonProps,\n }\n const dom = (\n <FormSubmitter\n key=\"submitter\"\n {...submitterProps.value}\n submitButtonProps={submitButtonProps}\n resetButtonProps={resetButtonProps}\n />\n )\n if (submitterProps.value.teleport) {\n return <Teleport to={submitterProps.value.teleport}>{dom}</Teleport>\n }\n return dom\n })\n\n onMounted(() => {\n mountedRef.value = true\n requestFormCacheId += 1\n const finalValues = formRef.value?.getFieldsValue?.(true)\n props.onInit?.(finalValues, action)\n })\n\n useProvideForm({\n ...linkage,\n action,\n formKey,\n mountedRef,\n prefixCls,\n initialValues,\n formData,\n hasInitial,\n theme: computed(() => props.theme),\n customUi: computed(() => props.customUi),\n grid: computed(() => props.grid),\n disabled: computed(() => props.disabled),\n readonly: computed(() => props.readonly),\n readonlyProps: computed(() => props.readonlyProps),\n rowProps: computed(() => props.rowProps ?? { gutter: 16 }),\n colProps: computed(() => props.colProps ?? { xs: 24 }),\n formatItems,\n })\n\n expose({\n ...action,\n })\n return () => (\n <FormSlotsContextProvider value={{ ...slots }}>\n <Form\n ref={formRef}\n {...formProps.value}\n class={formClass.value}\n model={formData.value}\n style={attrs.style}\n >\n <Spin spinning={requestLoading.value || (props.submitOnLoading && loading.value)}>\n <FormRowWrapper>\n <FormItems list={formItems.value} />\n {props.gridSubmitter && props.submitter !== false && (\n <Col {...submitterColProps.value}>\n <FormItem label=\" \" colon={false} class={`${prefixCls}-submitter-form-item`}>\n {submitterNode.value}\n </FormItem>\n </Col>\n )}\n </FormRowWrapper>\n {!props.gridSubmitter && submitterNode.value}\n </Spin>\n </Form>\n </FormSlotsContextProvider>\n )\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","requestFormCacheId","name","inheritAttrs","props","baseFormProps","setup","slots","expose","attrs","mountedRef","ref","formRef","prefixCls","usePrefixCls","formData","formItems","formKey","computed","loading","setloading","useMergedState","value","onChange","val","onLoadingChange","formClass","class","formProps","omitUndefined","omit","layout","formatItems","items","filter","originItem","hidden","sort","a","b","order","map","index","covertFormName","key","join","originName","field","Boolean","watch","immediate","initialValues","hasInitial","requestLoading","useInitialValues","newValues","oldValues","isEqual","cloneDeep","request","requestAbort","Promise","resolve","then","onValuesChange","debounce","onFinish","showLoading","finalValues","error","console","log","deep","linkage","useLinkage","action","useAction","onReset","onFinishFailed","submitterProps","submitter","submitterColProps","readonly","gridSubmitter","isObject","colProps","span","submitterNode","undefined","submitButtonProps","resetButtonProps","disabled","dom","_createVNode","FormSubmitter","_mergeProps","teleport","Teleport","default","onMounted","getFieldsValue","onInit","useProvideForm","theme","customUi","grid","readonlyProps","rowProps","gutter","xs","FormSlotsContextProvider","Form","style","Spin","submitOnLoading","FormRowWrapper","FormItems","Col","FormItem"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"BaseForm.js","sources":["../../../../../../../packages/components/form/src/base/BaseForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-27 12:04:01\n * @LastEditors: shen\n * @LastEditTime: 2025-09-21 18:08:35\n * @Description:\n */\nimport type { ColProps, FormInstance } from 'ant-design-vue'\nimport type { Entity, ProFormItemType, ProFormPropsType, SubmitterProps } from '../type'\n\nimport { ref, computed, watch, onMounted, defineComponent, Teleport } from 'vue'\nimport { Col, Form, FormItem, Spin } from 'ant-design-vue'\nimport { cloneDeep, debounce, isEqual, isObject, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { baseFormProps } from '../props'\nimport { useProvideForm } from '../context/FormContext'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { useInitialValues } from '../hooks/useInitialValues'\nimport { useLinkage } from '../hooks/useLinkage'\nimport { transformKeySubmitValue, useAction } from '../hooks/useAction'\nimport covertFormName from '../utils/namePath'\nimport FormSlotsContextProvider from '../context/FormSlotsContext'\nimport FormRowWrapper from '../components/FormRowWrapper'\nimport FormItems from '../components/FormItems'\nimport FormSubmitter from '../components/FormSubmitter'\n\nlet requestFormCacheId = 0\n\nexport default defineComponent({\n name: 'BaseForm',\n inheritAttrs: false,\n props: {\n ...baseFormProps(),\n },\n setup(props, { slots, expose, attrs }) {\n // const loading = ref(false)\n const mountedRef = ref(false)\n const formRef = ref<FormInstance>()\n const prefixCls = usePrefixCls('form')\n const formData = ref<Entity>({})\n const formItems = ref<ProFormItemType[]>([])\n const formKey = computed(() => {\n return props.formKey ?? requestFormCacheId.toString()\n })\n\n const [loading, setloading] = useMergedState<boolean | undefined>(false, {\n value: computed(() => props.loading),\n onChange: (val) => {\n props.onLoadingChange?.(val!)\n },\n })\n\n const formClass = computed(() => ({\n [prefixCls]: true,\n [`${attrs.class ?? ''}`]: true,\n }))\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'colProps',\n 'submitter',\n 'loading',\n 'showLoading',\n 'omitNil',\n 'grid',\n 'theme',\n 'customUi',\n 'gridSubmitter',\n 'requestAbort',\n 'isKeyPressSubmit',\n 'formKey',\n 'initialValues',\n 'rowProps',\n 'dateFormatter',\n 'params',\n 'readonly',\n 'readonlyProps',\n 'items',\n 'request',\n 'submitOnLoading',\n 'onLoadingChange',\n 'onFinish',\n 'onValuesChange',\n ]),\n ),\n layout: props.layout ?? 'vertical',\n }\n })\n\n const formatItems = (items: ProFormItemType[]): ProFormItemType[] => {\n return items\n .filter((originItem) => {\n return !originItem.hidden\n })\n .sort((a, b) => {\n if (b.order || a.order) {\n return (b.order ?? 0) - (a.order ?? 0)\n }\n return 0\n })\n .map((originItem, index) => {\n const name = covertFormName(originItem.name)\n const key = originItem.key ?? (name ? (name ?? []).join('_') : index)\n return omitUndefined<ProFormItemType>({\n ...originItem,\n originName: originItem.originName ?? originItem.name,\n name,\n key,\n })\n })\n .filter((field) => {\n return Boolean(field)\n })\n }\n\n watch(\n () => props.items,\n () => {\n formItems.value = formatItems(props.items ?? [])\n },\n {\n immediate: true,\n },\n )\n\n // watch(loading, () => {\n // props.onLoadingChange?.(loading.value)\n // })\n\n // watch(\n // () => props.loading,\n // (newVal) => {\n // loading.value = newVal\n // },\n // )\n\n const { initialValues, hasInitial, requestLoading } = useInitialValues(\n props as ProFormPropsType,\n )\n\n watch(\n initialValues,\n (newValues, oldValues) => {\n if (!isEqual(newValues, oldValues)) {\n formData.value = cloneDeep(newValues)\n if (!props.request || props.requestAbort) {\n Promise.resolve().then(() => {\n hasInitial.value = false\n })\n }\n }\n },\n {\n immediate: true,\n },\n )\n const onValuesChange = debounce(() => {\n props.onValuesChange?.(transformKeySubmitValue(cloneDeep(formData.value), props.omitNil))\n }, 200)\n\n const onFinish = async () => {\n if (!props.onFinish) return\n if (props.submitOnLoading) {\n if (loading.value) return\n setloading(true)\n }\n\n try {\n const finalValues = transformKeySubmitValue(cloneDeep(formData.value), props.omitNil)\n await props.onFinish(finalValues)\n } catch (error) {\n console.log('🚀 ~ onFinish ~ error:', error)\n } finally {\n if (props.submitOnLoading) {\n setloading(false)\n }\n }\n }\n\n watch(\n formData,\n () => {\n if (!hasInitial.value) {\n onValuesChange()\n }\n },\n {\n deep: true,\n },\n )\n\n const linkage = useLinkage()\n const action = useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n onFinish,\n onReset: props.onReset,\n onFinishFailed: props.onFinishFailed,\n })\n\n const submitterProps = computed<SubmitterProps>(() =>\n typeof props.submitter === 'boolean' || !props.submitter\n ? {}\n : omit(props.submitter, ['colProps']),\n )\n\n const submitterColProps = computed<ColProps>(() => {\n if (props.submitter === false || props.readonly) return {}\n if (props.gridSubmitter) {\n if (isObject(props.submitter) && isObject(props.submitter.colProps)) {\n return { ...props.submitter.colProps }\n }\n }\n return { span: 24 } as ColProps\n })\n\n const submitterNode = computed(() => {\n if (props.submitter === false || props.readonly) return undefined\n const submitButtonProps =\n submitterProps.value.submitButtonProps === false\n ? false\n : {\n loading: loading.value,\n ...submitterProps.value.submitButtonProps,\n }\n const resetButtonProps =\n submitterProps.value.resetButtonProps === false\n ? false\n : {\n disabled: loading.value,\n ...submitterProps.value.resetButtonProps,\n }\n const dom = (\n <FormSubmitter\n key=\"submitter\"\n {...submitterProps.value}\n submitButtonProps={submitButtonProps}\n resetButtonProps={resetButtonProps}\n />\n )\n if (submitterProps.value.teleport) {\n return <Teleport to={submitterProps.value.teleport}>{dom}</Teleport>\n }\n return dom\n })\n\n onMounted(() => {\n mountedRef.value = true\n requestFormCacheId += 1\n const finalValues = formRef.value?.getFieldsValue?.(true) ?? {}\n Promise.resolve().then(() => {\n props.onInit?.(transformKeySubmitValue(finalValues, props.omitNil), action)\n })\n })\n\n useProvideForm({\n ...linkage,\n action,\n formKey,\n mountedRef,\n prefixCls,\n initialValues,\n formData,\n hasInitial,\n theme: computed(() => props.theme),\n customUi: computed(() => props.customUi),\n grid: computed(() => props.grid),\n disabled: computed(() => props.disabled),\n readonly: computed(() => props.readonly),\n readonlyProps: computed(() => props.readonlyProps),\n rowProps: computed(() => props.rowProps ?? { gutter: 16 }),\n colProps: computed(() => props.colProps ?? { xs: 24 }),\n formatItems,\n })\n\n expose({\n ...action,\n })\n return () => (\n <FormSlotsContextProvider value={{ ...slots }}>\n <Form\n ref={formRef}\n {...formProps.value}\n class={formClass.value}\n model={formData.value}\n style={attrs.style}\n >\n <Spin spinning={props.showLoading && (requestLoading.value || loading.value)}>\n <FormRowWrapper>\n <FormItems list={formItems.value} />\n {props.gridSubmitter && props.submitter !== false && (\n <Col {...submitterColProps.value}>\n <FormItem label=\" \" colon={false} class={`${prefixCls}-submitter-form-item`}>\n {submitterNode.value}\n </FormItem>\n </Col>\n )}\n </FormRowWrapper>\n {!props.gridSubmitter && submitterNode.value}\n </Spin>\n </Form>\n </FormSlotsContextProvider>\n )\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","requestFormCacheId","name","inheritAttrs","props","baseFormProps","setup","slots","expose","attrs","mountedRef","ref","formRef","prefixCls","usePrefixCls","formData","formItems","formKey","computed","loading","setloading","useMergedState","value","onChange","val","onLoadingChange","formClass","class","formProps","omitUndefined","omit","layout","formatItems","items","filter","originItem","hidden","sort","a","b","order","map","index","covertFormName","key","join","originName","field","Boolean","watch","immediate","initialValues","hasInitial","requestLoading","useInitialValues","newValues","oldValues","isEqual","cloneDeep","request","requestAbort","Promise","resolve","then","onValuesChange","debounce","transformKeySubmitValue","omitNil","onFinish","submitOnLoading","finalValues","error","console","log","deep","linkage","useLinkage","action","useAction","onReset","onFinishFailed","submitterProps","submitter","submitterColProps","readonly","gridSubmitter","isObject","colProps","span","submitterNode","undefined","submitButtonProps","resetButtonProps","disabled","dom","_createVNode","FormSubmitter","_mergeProps","teleport","Teleport","default","onMounted","getFieldsValue","_a","onInit","useProvideForm","theme","customUi","grid","readonlyProps","rowProps","gutter","xs","FormSlotsContextProvider","Form","style","Spin","showLoading","FormRowWrapper","FormItems","Col","FormItem"],"mappings":"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"}
|
@@ -2,6 +2,7 @@ import type { Ref, ShallowRef } from 'vue';
|
|
2
2
|
import type { ProFormActionType, Entity } 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;
|
5
6
|
export declare function useAction({ props, formRef, formData, initialValues, hasInitial, onFinish, onReset, onFinishFailed, }: {
|
6
7
|
props: ProFormProps;
|
7
8
|
formRef: Ref<FormInstance | undefined>;
|
@@ -1,13 +1,119 @@
|
|
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, 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
|
+
const transformForArray = (transformList, subItemValue) => {
|
38
|
+
if (!Array.isArray(transformList)) return entityKey;
|
39
|
+
transformList.forEach((transform2, idx) => {
|
40
|
+
if (!transform2) return;
|
41
|
+
const subTransformItem = subItemValue == null ? void 0 : subItemValue[idx];
|
42
|
+
if (typeof transform2 === "function") {
|
43
|
+
subItemValue[idx] = transform2(subItemValue, entityKey, tempValues);
|
44
|
+
}
|
45
|
+
if (typeof transform2 === "object" && !Array.isArray(transform2)) {
|
46
|
+
Object.keys(transform2).forEach((transformArrayItem) => {
|
47
|
+
const subTransformItemValue = subTransformItem == null ? void 0 : subTransformItem[transformArrayItem];
|
48
|
+
if (typeof transform2[transformArrayItem] === "function" && subTransformItemValue) {
|
49
|
+
const res = transform2[transformArrayItem](
|
50
|
+
subTransformItem[transformArrayItem],
|
51
|
+
entityKey,
|
52
|
+
tempValues
|
53
|
+
);
|
54
|
+
subTransformItem[transformArrayItem] = typeof res === "object" ? res[transformArrayItem] : res;
|
55
|
+
} else if (typeof transform2[transformArrayItem] === "object" && Array.isArray(transform2[transformArrayItem]) && subTransformItemValue) {
|
56
|
+
transformForArray(transform2[transformArrayItem], subTransformItemValue);
|
57
|
+
}
|
58
|
+
});
|
59
|
+
}
|
60
|
+
if (typeof transform2 === "object" && Array.isArray(transform2) && subTransformItem) {
|
61
|
+
transformForArray(transform2, subTransformItem);
|
62
|
+
}
|
63
|
+
});
|
64
|
+
return entityKey;
|
65
|
+
};
|
66
|
+
const key = parentsKey ? [parentsKey, entityKey].flat(1) : [entityKey].flat(1);
|
67
|
+
const itemValue = tempValues[entityKey];
|
68
|
+
const transformFunction = lodashUnified.get(values, key);
|
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, key);
|
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;
|
11
117
|
};
|
12
118
|
function useAction({
|
13
119
|
props,
|
@@ -43,20 +149,20 @@ function useAction({
|
|
43
149
|
if (!namePath$1) throw new Error("name is require");
|
44
150
|
const value = lodashUnified.get(formData.value, namePath$1);
|
45
151
|
const obj = lodashUnified.set({}, namePath$1, value);
|
46
|
-
return lodashUnified.get(
|
152
|
+
return lodashUnified.get(transformKeySubmitValue(obj, props.omitNil), namePath$1);
|
47
153
|
};
|
48
154
|
const getFieldFormatValueObject = (name) => {
|
49
155
|
const namePath$1 = namePath.default(name);
|
50
156
|
if (!namePath$1) throw new Error("name is require");
|
51
157
|
const value = lodashUnified.get(formData.value, namePath$1);
|
52
158
|
const obj = lodashUnified.set({}, namePath$1, value);
|
53
|
-
return
|
159
|
+
return transformKeySubmitValue(obj, props.omitNil);
|
54
160
|
};
|
55
161
|
const validateFieldsReturnFormatValue = async (nameList) => {
|
56
162
|
var _a;
|
57
163
|
if (!Array.isArray(nameList) && nameList) throw new Error("nameList must be array");
|
58
164
|
const values = await ((_a = formRef.value) == null ? void 0 : _a.validateFields(nameList));
|
59
|
-
const transformedKey =
|
165
|
+
const transformedKey = transformKeySubmitValue(values, props.omitNil);
|
60
166
|
return transformedKey != null ? transformedKey : {};
|
61
167
|
};
|
62
168
|
const setFieldValue = (name, value) => {
|
@@ -85,7 +191,7 @@ function useAction({
|
|
85
191
|
formData.value = lodashUnified.cloneDeep(initialValues.value);
|
86
192
|
Promise.resolve().then(() => {
|
87
193
|
hasInitial.value = false;
|
88
|
-
onReset == null ? void 0 : onReset(formData.value);
|
194
|
+
onReset == null ? void 0 : onReset(transformKeySubmitValue(formData.value, props.omitNil));
|
89
195
|
});
|
90
196
|
};
|
91
197
|
const resetField = (name) => {
|
@@ -141,5 +247,6 @@ function useAction({
|
|
141
247
|
};
|
142
248
|
}
|
143
249
|
|
250
|
+
exports.transformKeySubmitValue = transformKeySubmitValue;
|
144
251
|
exports.useAction = useAction;
|
145
252
|
//# 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-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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"}
|