pro-design-vue 1.3.27 → 1.3.29

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.
@@ -1 +1 @@
1
- {"version":3,"file":"FormItem.js","sources":["../../../../../../../../packages/components/form/src/components/FormItem.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 16:56:49\n * @LastEditors: shen\n * @LastEditTime: 2025-11-25 14:46:07\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormItemType } from '../type'\n\nimport { defineComponent, computed, watch, ref } from 'vue'\nimport { Form } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useInjectForm } from '../context/FormContext'\nimport { useFieldValue } from '../hooks/useFieldValue'\nimport { useInjectFormList } from '../context/FormListContext'\nimport { fieldComponentMap } from '../fieldMap'\nimport {\n get,\n isEqual,\n isNumber,\n merge,\n omitUndefined,\n pickKeys,\n RenderVNode,\n runFunction,\n set,\n} from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport FormColWrapper from './FormColWrapper'\nimport FormTitle from './FormTitle'\nimport covertFormName from '../utils/namePath'\nimport fieldPropsMap from '../utils/fieldPropsMap'\nimport fieldWidthSizeMap from '../utils/fieldWidthSizeMap'\n\nconst ALL_ANTD_PROP_KEYS = [\n 'autoLink',\n 'colon',\n 'hasFeedback',\n 'labelAlign',\n 'labelCol',\n 'htmlFor',\n 'required',\n 'validateFirst',\n 'validateStatus',\n 'validateTrigger',\n 'wrapperCol',\n 'rules',\n 'style',\n 'class',\n]\n\nconst IGNORE_WIDTH_VALUE_TYPE = ['switch', 'radioButton', 'radio', 'rate']\nconst SLOT_NAMES = ['extra', 'help']\n\nexport default defineComponent({\n name: 'FormItem',\n inheritAttrs: false,\n props: {\n item: {\n type: Object as PropType<ProFormItemType>,\n default: () => ({}),\n },\n grid: {\n type: Boolean,\n default: undefined,\n },\n },\n setup(props) {\n const {\n grid,\n action,\n formKey,\n prefixCls,\n formData,\n readonly,\n readonlyProps,\n disabledKeys,\n hiddenKeys,\n allDisabledKeys,\n labelCol,\n wrapperCol,\n onPressEnter,\n updateHiddenKeys,\n updateDisabledKeys,\n } = useInjectForm()\n const { isList, listKey, listName, rowData } = useInjectFormList()\n const formSlotsContext = useInjectSlots()\n const { fieldValue, onValueChange } = useFieldValue<any>({\n isList,\n namePath: computed(() => props.item.name!),\n initialValue: props.item.initialValue,\n convertValue: props.item.convertValue,\n transform: props.item.transform,\n })\n const fieldRef = ref()\n const mergeGrid = computed(() => props.grid ?? grid?.value)\n const fieldType = computed(() => props.item.fieldType ?? 'text')\n const mergeReadonly = computed(() =>\n runFunction(props.item.readonly ?? readonly?.value, formData.value, rowData?.value),\n )\n const mergeReadonlyProps = computed(() =>\n merge({}, readonlyProps?.value, props.item.readonlyProps),\n )\n const linkageDisabledKeys = computed(() => disabledKeys.value.map((key) => key.split(':')[1]))\n const linkageHiddenKeys = computed(() => hiddenKeys.value.map((key) => key.split(':')[1]))\n const isIgnoreWidth = computed(\n () => props.item.ignoreWidth ?? IGNORE_WIDTH_VALUE_TYPE.includes(fieldType.value),\n )\n const formItemProps = computed(\n () => runFunction(props.item.formItemProps, formData.value, rowData?.value) ?? {},\n )\n const restItemProps = computed(() =>\n omitUndefined({\n ...pickKeys(formItemProps.value, ALL_ANTD_PROP_KEYS),\n labelCol: formItemProps.value?.labelCol ?? labelCol?.value,\n wrapperCol: formItemProps.value?.wrapperCol ?? wrapperCol?.value,\n name: mergeReadonly.value ? undefined : props.item.name,\n htmlFor: mergeReadonly.value\n ? undefined\n : (formItemProps.value?.htmlFor ?? `form-${formKey.value ?? ''}-${props.item.key}`),\n rules: mergeReadonly.value\n ? undefined\n : runFunction(\n props.item.rules ?? formItemProps.value.rules,\n formData.value,\n action,\n rowData?.value,\n ),\n }),\n )\n\n const clearOnChange = (newValue: any) => {\n const { clear } = props.item.linkage ?? {}\n if (clear) {\n const clearNamePaths = runFunction(clear, newValue, formData.value, rowData?.value) ?? []\n if (clearNamePaths.length > 0) {\n clearNamePaths.forEach((namePath) => {\n const path = isList\n ? [...(listName?.value ?? [])!, ...covertFormName(namePath)!]\n .filter((item) => item !== undefined)\n .flat(1)\n : covertFormName(namePath)\n const value = get(formData.value, path!)\n if (typeof value !== 'undefined') {\n set(formData.value, path!, undefined)\n }\n })\n }\n }\n }\n\n const fieldProps = computed(() => {\n const baseProps = runFunction(props.item.fieldProps ?? {}, formData.value, rowData?.value)\n const mergeProps = {\n ...baseProps,\n id: baseProps?.id ?? `form-${formKey.value ?? ''}-${props.item.key}`,\n disabled:\n (runFunction(\n props.item.disabled ?? baseProps?.disabled,\n formData.value,\n rowData?.value,\n ) ?? allDisabledKeys.value.includes(props.item.key as string))\n ? true\n : undefined,\n placeholder: props.item.placeholder ?? baseProps?.placeholder,\n options: props.item.options ?? baseProps?.options ?? baseProps?.treeData,\n allowClear: props.item.allowClear ?? baseProps?.allowClear ?? true,\n }\n\n return omitUndefined({\n valueEnum: props.item.valueEnum,\n dependencies: props.item.dependencies,\n readonly: mergeReadonly.value,\n readonlyProps: mergeReadonlyProps.value,\n request: props.item.request,\n params: props.item.params,\n onChange: (value: any, ...args) => {\n clearOnChange(value)\n onValueChange(value)\n props.item.onChange?.(value, ...args, action)\n },\n ...(fieldPropsMap[fieldType.value]\n ? pickKeys(mergeProps, fieldPropsMap[fieldType.value]!)\n : mergeProps),\n })\n })\n\n const fieldStyle = computed(() => {\n const baseProps = runFunction(props.item.fieldProps ?? {}, formData.value, rowData?.value)\n const newStyle = {\n ...baseProps?.style,\n }\n\n if (props.item.width && !fieldWidthSizeMap[props.item.width]) {\n newStyle.width = isNumber(props.item.width) ? props.item.width + 'px' : props.item.width\n } else if (mergeGrid?.value) {\n newStyle.maxWidth = '100%'\n newStyle.width = '100%'\n }\n\n if (isIgnoreWidth.value) Reflect.deleteProperty(newStyle, 'width')\n\n return omitUndefined(newStyle)\n })\n\n const fieldClassName = computed(() => {\n const isSizeEnum = props.item.width && fieldWidthSizeMap[props.item.width]\n const className = {\n [`${prefixCls}-field`]: !!isSizeEnum,\n [`${prefixCls}-field-${props.item.width}`]: isSizeEnum && !isIgnoreWidth.value,\n }\n if (props.item.className) {\n className[props.item.className] = true\n }\n return className\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(formItemProps.value[name], formSlotsContext)\n if (slot) {\n temp[name] = () => (\n <RenderVNode\n vnode={slot}\n props={{ formData: formData.value, rowData: rowData?.value }}\n />\n )\n }\n })\n if (props.item.title) {\n const extraRender = getSlot(props.item.extra?.label, formSlotsContext)\n temp['label'] = () => (\n <>\n <div class={`${prefixCls}-item-title`} style={formItemProps.value.titleStyles}>\n <FormTitle\n title={props.item.title}\n tooltip={props.item.tooltip}\n readonly={mergeReadonly.value}\n />\n </div>\n <div class={`${prefixCls}-item-title-extra`}>\n <RenderVNode\n vnode={extraRender}\n props={{ formData: formData.value, rowData: rowData?.value }}\n />\n </div>\n </>\n )\n }\n return temp\n })\n\n watch(\n fieldValue,\n (newValue) => {\n const { linkage } = props.item\n if (linkage) {\n const { hidden, disabled } = linkage\n if (hidden) {\n const hiddenKeys = runFunction(hidden, newValue, formData.value, rowData?.value) ?? []\n if (!isEqual(hiddenKeys, linkageHiddenKeys.value)) {\n updateHiddenKeys(\n props.item.key as string,\n isList ? hiddenKeys.map((key) => `${listKey}_${key}`) : hiddenKeys,\n )\n }\n }\n\n if (disabled) {\n const disabledKeys =\n runFunction(disabled, newValue, formData.value, rowData?.value) ?? []\n if (!isEqual(disabledKeys, linkageDisabledKeys.value)) {\n updateDisabledKeys(\n props.item.key as string,\n isList ? disabledKeys.map((key) => `${listKey}_${key}`) : disabledKeys,\n )\n }\n }\n }\n },\n {\n immediate: true,\n },\n )\n\n watch(fieldRef, () => {\n props.item.onInit?.(fieldRef.value)\n })\n\n watch(mergeReadonly, () => {\n if (mergeReadonly.value) {\n action.clearValidate(props.item.name)\n }\n })\n\n watch(\n () => restItemProps.value?.rules,\n () => {\n action.clearValidate(props.item.name)\n },\n )\n\n return () => {\n const renderFormItem = getSlot(props.item.renderFormItem, formSlotsContext)\n const extraRender = getSlot(props.item.extra?.item, formSlotsContext)\n const FieldComponent = fieldComponentMap[fieldType.value] ?? fieldComponentMap['text']\n let defaultDom = (\n <FieldComponent\n ref={fieldRef}\n value={fieldValue.value}\n {...fieldProps.value}\n style={fieldStyle.value}\n class={fieldClassName.value}\n onPressEnter={onPressEnter}\n />\n )\n if (renderFormItem) {\n defaultDom = (\n <RenderVNode\n vnode={renderFormItem}\n props={{\n value: fieldValue.value,\n onChange: fieldProps.value.onChange,\n defaultDom,\n formData: formData.value,\n rowData: rowData?.value,\n action,\n listName: listName?.value,\n name: props.item.name,\n }}\n />\n )\n }\n\n if (extraRender) {\n defaultDom = (\n <div style=\"display: flex; flex-direction: row; justify-content: flex-start; align-items: center;\">\n {defaultDom}\n <div style=\"margin-inline-start: 5px; flex-shrink: 0;\">\n <RenderVNode\n vnode={extraRender}\n props={{\n formData: formData.value,\n listName: listName?.value,\n name: props.item.name,\n rowData: rowData?.value,\n }}\n />\n </div>\n </div>\n )\n }\n\n const formItemDom = (\n <Form.Item {...restItemProps.value} v-slots={slotsGetter.value}>\n {defaultDom}\n </Form.Item>\n )\n\n const render = getSlot(props.item.render, formSlotsContext)\n return (\n <FormColWrapper colProps={props.item.colProps} grid={mergeGrid.value}>\n {render ? (\n <RenderVNode\n vnode={render}\n props={{\n formData: formData.value,\n defaultDom: formItemDom,\n rowData: rowData?.value,\n }}\n />\n ) : (\n formItemDom\n )}\n </FormColWrapper>\n )\n }\n },\n})\n"],"names":["ALL_ANTD_PROP_KEYS","IGNORE_WIDTH_VALUE_TYPE","SLOT_NAMES","name","inheritAttrs","props","item","type","Object","default","grid","Boolean","undefined","setup","action","formKey","prefixCls","formData","readonly","readonlyProps","disabledKeys","hiddenKeys","allDisabledKeys","labelCol","wrapperCol","onPressEnter","updateHiddenKeys","updateDisabledKeys","useInjectForm","isList","listKey","listName","rowData","useInjectFormList","formSlotsContext","useInjectSlots","fieldValue","onValueChange","useFieldValue","namePath","computed","initialValue","convertValue","transform","fieldRef","ref","mergeGrid","value","fieldType","mergeReadonly","runFunction","mergeReadonlyProps","merge","linkageDisabledKeys","map","key","split","linkageHiddenKeys","isIgnoreWidth","ignoreWidth","includes","formItemProps","restItemProps","omitUndefined","pickKeys","htmlFor","rules","clearOnChange","newValue","clear","linkage","clearNamePaths","length","forEach","_a","path","covertFormName","filter","flat","get","set","fieldProps","baseProps","mergeProps","id","disabled","placeholder","options","treeData","allowClear","valueEnum","dependencies","request","params","onChange","args","_b","fieldPropsMap","fieldStyle","newStyle","style","width","fieldWidthSizeMap","isNumber","maxWidth","Reflect","deleteProperty","fieldClassName","isSizeEnum","className","slotsGetter","temp","slot","getSlot","_createVNode","RenderVNode","title","extraRender","extra","label","_Fragment","titleStyles","FormTitle","tooltip","watch","hidden","isEqual","immediate","onInit","clearValidate","renderFormItem","FieldComponent","fieldComponentMap","defaultDom","_mergeProps","formItemDom","Form","Item","render","FormColWrapper","colProps"],"mappings":"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"}
1
+ {"version":3,"file":"FormItem.js","sources":["../../../../../../../../packages/components/form/src/components/FormItem.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 16:56:49\n * @LastEditors: shen\n * @LastEditTime: 2025-12-09 14:15:51\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormItemType } from '../type'\n\nimport { defineComponent, computed, watch, ref } from 'vue'\nimport { Form } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useInjectForm } from '../context/FormContext'\nimport { useFieldValue } from '../hooks/useFieldValue'\nimport { useInjectFormList } from '../context/FormListContext'\nimport { fieldComponentMap } from '../fieldMap'\nimport {\n get,\n isEqual,\n isNumber,\n merge,\n omitUndefined,\n pickKeys,\n RenderVNode,\n runFunction,\n set,\n} from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport FormColWrapper from './FormColWrapper'\nimport FormTitle from './FormTitle'\nimport covertFormName from '../utils/namePath'\nimport fieldPropsMap from '../utils/fieldPropsMap'\nimport fieldWidthSizeMap from '../utils/fieldWidthSizeMap'\n\nconst ALL_ANTD_PROP_KEYS = [\n 'autoLink',\n 'colon',\n 'hasFeedback',\n 'labelAlign',\n 'labelCol',\n 'htmlFor',\n 'required',\n 'validateFirst',\n 'validateStatus',\n 'validateTrigger',\n 'wrapperCol',\n 'rules',\n 'style',\n 'class',\n]\n\nconst IGNORE_WIDTH_VALUE_TYPE = ['switch', 'radioButton', 'radio', 'rate']\nconst SLOT_NAMES = ['extra', 'help']\n\nexport default defineComponent({\n name: 'FormItem',\n inheritAttrs: false,\n props: {\n item: {\n type: Object as PropType<ProFormItemType>,\n default: () => ({}),\n },\n grid: {\n type: Boolean,\n default: undefined,\n },\n },\n setup(props) {\n const {\n grid,\n action,\n formKey,\n prefixCls,\n formData,\n readonly,\n readonlyProps,\n disabledKeys,\n hiddenKeys,\n allDisabledKeys,\n labelCol,\n wrapperCol,\n onPressEnter,\n updateHiddenKeys,\n updateDisabledKeys,\n } = useInjectForm()\n const { isList, listKey, listName, rowData } = useInjectFormList()\n const formSlotsContext = useInjectSlots()\n const { fieldValue, onValueChange } = useFieldValue<any>({\n isList,\n namePath: computed(() => props.item.name!),\n initialValue: props.item.initialValue,\n convertValue: props.item.convertValue,\n transform: props.item.transform,\n })\n const fieldRef = ref()\n const mergeGrid = computed(() => props.grid ?? grid?.value)\n const fieldType = computed(() => props.item.fieldType ?? 'text')\n const mergeReadonly = computed(() =>\n runFunction(props.item.readonly ?? readonly?.value, formData.value, rowData?.value),\n )\n const mergeReadonlyProps = computed(() =>\n merge({}, readonlyProps?.value, props.item.readonlyProps),\n )\n const linkageDisabledKeys = computed(() => disabledKeys.value.map((key) => key.split(':')[1]))\n const linkageHiddenKeys = computed(() => hiddenKeys.value.map((key) => key.split(':')[1]))\n const isIgnoreWidth = computed(\n () => props.item.ignoreWidth ?? IGNORE_WIDTH_VALUE_TYPE.includes(fieldType.value),\n )\n const formItemProps = computed(\n () => runFunction(props.item.formItemProps, formData.value, rowData?.value) ?? {},\n )\n const restItemProps = computed(() =>\n omitUndefined({\n ...pickKeys(formItemProps.value, ALL_ANTD_PROP_KEYS),\n labelCol: formItemProps.value?.labelCol ?? labelCol?.value,\n wrapperCol: formItemProps.value?.wrapperCol ?? wrapperCol?.value,\n name: mergeReadonly.value ? undefined : props.item.name,\n htmlFor: mergeReadonly.value\n ? undefined\n : (formItemProps.value?.htmlFor ?? `form-${formKey.value ?? ''}-${props.item.key}`),\n rules: mergeReadonly.value\n ? undefined\n : runFunction(\n props.item.rules ?? formItemProps.value.rules,\n formData.value,\n action,\n rowData?.value,\n ),\n }),\n )\n\n const clearOnChange = (newValue: any) => {\n const { clear } = props.item.linkage ?? {}\n if (clear) {\n const clearNamePaths = runFunction(clear, newValue, formData.value, rowData?.value) ?? []\n if (clearNamePaths.length > 0) {\n clearNamePaths.forEach((namePath) => {\n const path = isList\n ? [...(listName?.value ?? [])!, ...covertFormName(namePath)!]\n .filter((item) => item !== undefined)\n .flat(1)\n : covertFormName(namePath)\n const value = get(formData.value, path!)\n if (typeof value !== 'undefined') {\n set(formData.value, path!, undefined)\n }\n })\n }\n }\n }\n\n const fieldProps = computed(() => {\n const baseProps = runFunction(\n props.item.fieldProps ?? {},\n formData.value,\n action,\n rowData?.value,\n )\n const mergeProps = {\n ...baseProps,\n id: baseProps?.id ?? `form-${formKey.value ?? ''}-${props.item.key}`,\n disabled:\n (runFunction(\n props.item.disabled ?? baseProps?.disabled,\n formData.value,\n rowData?.value,\n ) ?? allDisabledKeys.value.includes(props.item.key as string))\n ? true\n : undefined,\n placeholder: props.item.placeholder ?? baseProps?.placeholder,\n options: props.item.options ?? baseProps?.options ?? baseProps?.treeData,\n allowClear: props.item.allowClear ?? baseProps?.allowClear ?? true,\n }\n\n return omitUndefined({\n valueEnum: props.item.valueEnum,\n dependencies: props.item.dependencies,\n readonly: mergeReadonly.value,\n readonlyProps: mergeReadonlyProps.value,\n request: props.item.request,\n params: props.item.params,\n onChange: (value: any, ...args) => {\n clearOnChange(value)\n onValueChange(value)\n props.item.onChange?.(value, ...args, action)\n },\n ...(fieldPropsMap[fieldType.value]\n ? pickKeys(mergeProps, fieldPropsMap[fieldType.value]!)\n : mergeProps),\n })\n })\n\n const fieldStyle = computed(() => {\n const baseProps = runFunction(props.item.fieldProps ?? {}, formData.value, rowData?.value)\n const newStyle = {\n ...baseProps?.style,\n }\n\n if (props.item.width && !fieldWidthSizeMap[props.item.width]) {\n newStyle.width = isNumber(props.item.width) ? props.item.width + 'px' : props.item.width\n } else if (mergeGrid?.value) {\n newStyle.maxWidth = '100%'\n newStyle.width = '100%'\n }\n\n if (isIgnoreWidth.value) Reflect.deleteProperty(newStyle, 'width')\n\n return omitUndefined(newStyle)\n })\n\n const fieldClassName = computed(() => {\n const isSizeEnum = props.item.width && fieldWidthSizeMap[props.item.width]\n const className = {\n [`${prefixCls}-field`]: !!isSizeEnum,\n [`${prefixCls}-field-${props.item.width}`]: isSizeEnum && !isIgnoreWidth.value,\n }\n if (props.item.className) {\n className[props.item.className] = true\n }\n return className\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(formItemProps.value[name], formSlotsContext)\n if (slot) {\n temp[name] = () => (\n <RenderVNode\n vnode={slot}\n props={{ formData: formData.value, rowData: rowData?.value }}\n />\n )\n }\n })\n if (props.item.title) {\n const extraRender = getSlot(props.item.extra?.label, formSlotsContext)\n temp['label'] = () => (\n <>\n <div class={`${prefixCls}-item-title`} style={formItemProps.value.titleStyles}>\n <FormTitle\n title={props.item.title}\n tooltip={props.item.tooltip}\n readonly={mergeReadonly.value}\n />\n </div>\n <div class={`${prefixCls}-item-title-extra`}>\n <RenderVNode\n vnode={extraRender}\n props={{ formData: formData.value, rowData: rowData?.value }}\n />\n </div>\n </>\n )\n }\n return temp\n })\n\n watch(\n fieldValue,\n (newValue) => {\n const { linkage } = props.item\n if (linkage) {\n const { hidden, disabled } = linkage\n if (hidden) {\n const hiddenKeys = runFunction(hidden, newValue, formData.value, rowData?.value) ?? []\n if (!isEqual(hiddenKeys, linkageHiddenKeys.value)) {\n updateHiddenKeys(\n props.item.key as string,\n isList ? hiddenKeys.map((key) => `${listKey}_${key}`) : hiddenKeys,\n )\n }\n }\n\n if (disabled) {\n const disabledKeys =\n runFunction(disabled, newValue, formData.value, rowData?.value) ?? []\n if (!isEqual(disabledKeys, linkageDisabledKeys.value)) {\n updateDisabledKeys(\n props.item.key as string,\n isList ? disabledKeys.map((key) => `${listKey}_${key}`) : disabledKeys,\n )\n }\n }\n }\n },\n {\n immediate: true,\n },\n )\n\n watch(fieldRef, () => {\n props.item.onInit?.(fieldRef.value)\n })\n\n watch(mergeReadonly, () => {\n if (mergeReadonly.value) {\n action.clearValidate(props.item.name)\n }\n })\n\n watch(\n () => restItemProps.value?.rules,\n () => {\n action.clearValidate(props.item.name)\n },\n )\n\n return () => {\n const renderFormItem = getSlot(props.item.renderFormItem, formSlotsContext)\n const extraRender = getSlot(props.item.extra?.item, formSlotsContext)\n const FieldComponent = fieldComponentMap[fieldType.value] ?? fieldComponentMap['text']\n let defaultDom = (\n <FieldComponent\n ref={fieldRef}\n value={fieldValue.value}\n {...fieldProps.value}\n style={fieldStyle.value}\n class={fieldClassName.value}\n onPressEnter={onPressEnter}\n />\n )\n if (renderFormItem) {\n defaultDom = (\n <RenderVNode\n vnode={renderFormItem}\n props={{\n value: fieldValue.value,\n onChange: fieldProps.value.onChange,\n defaultDom,\n formData: formData.value,\n rowData: rowData?.value,\n action,\n listName: listName?.value,\n name: props.item.name,\n }}\n />\n )\n }\n\n if (extraRender) {\n defaultDom = (\n <div style=\"display: flex; flex-direction: row; justify-content: flex-start; align-items: center;\">\n {defaultDom}\n <div style=\"margin-inline-start: 5px; flex-shrink: 0;\">\n <RenderVNode\n vnode={extraRender}\n props={{\n formData: formData.value,\n listName: listName?.value,\n name: props.item.name,\n rowData: rowData?.value,\n }}\n />\n </div>\n </div>\n )\n }\n\n const formItemDom = (\n <Form.Item {...restItemProps.value} v-slots={slotsGetter.value}>\n {defaultDom}\n </Form.Item>\n )\n\n const render = getSlot(props.item.render, formSlotsContext)\n return (\n <FormColWrapper colProps={props.item.colProps} grid={mergeGrid.value}>\n {render ? (\n <RenderVNode\n vnode={render}\n props={{\n formData: formData.value,\n defaultDom: formItemDom,\n rowData: rowData?.value,\n }}\n />\n ) : (\n formItemDom\n )}\n </FormColWrapper>\n )\n }\n },\n})\n"],"names":["ALL_ANTD_PROP_KEYS","IGNORE_WIDTH_VALUE_TYPE","SLOT_NAMES","name","inheritAttrs","props","item","type","Object","default","grid","Boolean","undefined","setup","action","formKey","prefixCls","formData","readonly","readonlyProps","disabledKeys","hiddenKeys","allDisabledKeys","labelCol","wrapperCol","onPressEnter","updateHiddenKeys","updateDisabledKeys","useInjectForm","isList","listKey","listName","rowData","useInjectFormList","formSlotsContext","useInjectSlots","fieldValue","onValueChange","useFieldValue","namePath","computed","initialValue","convertValue","transform","fieldRef","ref","mergeGrid","value","fieldType","mergeReadonly","runFunction","mergeReadonlyProps","merge","linkageDisabledKeys","map","key","split","linkageHiddenKeys","isIgnoreWidth","ignoreWidth","includes","formItemProps","restItemProps","omitUndefined","pickKeys","htmlFor","rules","clearOnChange","newValue","clear","linkage","clearNamePaths","length","forEach","_a","path","covertFormName","filter","flat","get","set","fieldProps","baseProps","mergeProps","id","disabled","placeholder","options","treeData","allowClear","valueEnum","dependencies","request","params","onChange","args","_b","fieldPropsMap","fieldStyle","newStyle","style","width","fieldWidthSizeMap","isNumber","maxWidth","Reflect","deleteProperty","fieldClassName","isSizeEnum","className","slotsGetter","temp","slot","getSlot","_createVNode","RenderVNode","title","extraRender","extra","label","_Fragment","titleStyles","FormTitle","tooltip","watch","hidden","isEqual","immediate","onInit","clearValidate","renderFormItem","FieldComponent","fieldComponentMap","defaultDom","_mergeProps","formItemDom","Form","Item","render","FormColWrapper","colProps"],"mappings":"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"}
@@ -4,13 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var index = require('../../../../form/index.js');
7
- var antDesignVue = require('ant-design-vue');
8
7
  var util = require('../../utils/util.js');
9
8
  var omit = require('../../../../../utils/omit.js');
10
9
 
11
- function _isSlot(s) {
12
- return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
13
- }
14
10
  var FormRender = /* @__PURE__ */ vue.defineComponent({
15
11
  props: {
16
12
  prefixCls: String,
@@ -60,84 +56,62 @@ var FormRender = /* @__PURE__ */ vue.defineComponent({
60
56
  setup: (props, {
61
57
  slots
62
58
  }) => {
63
- var _a, _b, _c;
64
- const activeTabKey = vue.ref(((_a = props.search) == null ? void 0 : _a.cardProps) !== false ? (_c = (_b = props.search) == null ? void 0 : _b.cardProps) == null ? void 0 : _c.activeTabKey : "");
65
- const cardProps = vue.computed(() => {
66
- var _a2, _b2;
67
- if (!((_a2 = props.search) == null ? void 0 : _a2.cardProps)) {
68
- return {};
69
- }
70
- return (_b2 = props.search) == null ? void 0 : _b2.cardProps;
71
- });
72
59
  const submit = async (values, firstLoad) => {
73
- var _a2, _b2, _c2, _d, _e, _f, _g, _h;
74
- const tabParams = ((_b2 = (_a2 = cardProps.value) == null ? void 0 : _a2.tabList) == null ? void 0 : _b2.length) ? {
75
- [(_d = (_c2 = props.search) == null ? void 0 : _c2.tabName) != null ? _d : "tab"]: cardProps.value.activeTabKey || ((_g = (_f = (_e = cardProps.value) == null ? void 0 : _e.tabList) == null ? void 0 : _f[0]) == null ? void 0 : _g.key)
76
- } : {};
60
+ var _a;
77
61
  const submitParams = omit.omitUndefined(props.beforeSearchSubmit({
78
- ...values,
79
- ...tabParams
62
+ ...values
80
63
  }));
81
- (_h = props.onFormSearchSubmit) == null ? void 0 : _h.call(props, submitParams);
64
+ (_a = props.onFormSearchSubmit) == null ? void 0 : _a.call(props, submitParams);
82
65
  if (props.onSubmit && !firstLoad) {
83
66
  props.onSubmit(submitParams);
84
67
  }
85
68
  };
86
- const onTabChange = (key) => {
87
- var _a2, _b2, _c2, _d, _e;
88
- activeTabKey.value = key;
89
- (_c2 = props.onSearchTabChange) == null ? void 0 : _c2.call(props, {
90
- [(_b2 = (_a2 = props.search) == null ? void 0 : _a2.tabName) != null ? _b2 : "tab"]: key
91
- });
92
- (_e = (_d = cardProps.value) == null ? void 0 : _d.onTabChange) == null ? void 0 : _e.call(_d, key);
93
- };
69
+ const isCard = vue.computed(() => {
70
+ var _a;
71
+ return ((_a = props.search) == null ? void 0 : _a.cardProps) !== false && props.tableShowCard;
72
+ });
73
+ const className = vue.computed(() => ({
74
+ [`${props.prefixCls}-search`]: true,
75
+ [`${props.prefixCls}-card`]: isCard.value,
76
+ [`${props.prefixCls}-card-bordered`]: isCard.value && util.isBordered("search", props.cardBordered)
77
+ }));
94
78
  return () => {
95
- var _a2, _b2, _c2, _d;
96
- const searchDom = vue.createVNode(index.ProQueryFilter, vue.mergeProps({
79
+ var _a, _b;
80
+ return vue.createVNode("div", {
81
+ "class": className.value,
82
+ "style": {
83
+ marginBlockEnd: isCard.value ? "16px" : ""
84
+ }
85
+ }, [vue.createVNode(index.ProQueryFilter, vue.mergeProps({
97
86
  "class": `${props.prefixCls}-form`
98
87
  }, omit.omit(props.search || {}, ["cardProps", "tabName", "items", "loading", "onReset", "onFinish", "onValuesChange", "onInit", "onCollapse"]), {
99
88
  "items": props.items,
100
89
  "loading": props.loading,
101
90
  "style": {
102
- marginBlockEnd: ((_a2 = props.search) == null ? void 0 : _a2.cardProps) !== false && props.tableShowCard ? 0 : "16px",
103
- ...(_b2 = props.search) == null ? void 0 : _b2.style
91
+ marginBlockEnd: ((_a = props.search) == null ? void 0 : _a.cardProps) !== false && props.tableShowCard ? 0 : "16px",
92
+ ...(_b = props.search) == null ? void 0 : _b.style
104
93
  },
105
94
  "onReset": props.onReset,
106
95
  "onFinish": (values) => {
107
- var _a3, _b3;
96
+ var _a2, _b2;
108
97
  submit(values, false);
109
- (_b3 = (_a3 = props.search) == null ? void 0 : _a3.onFinish) == null ? void 0 : _b3.call(_a3, values);
98
+ (_b2 = (_a2 = props.search) == null ? void 0 : _a2.onFinish) == null ? void 0 : _b2.call(_a2, values);
110
99
  },
111
100
  "onValuesChange": (values) => {
112
- var _a3, _b3, _c3;
113
- if (((_a3 = props.search) == null ? void 0 : _a3.submitter) === false) {
101
+ var _a2, _b2, _c;
102
+ if (((_a2 = props.search) == null ? void 0 : _a2.submitter) === false) {
114
103
  submit(values, true);
115
104
  }
116
- (_c3 = (_b3 = props.search) == null ? void 0 : _b3.onValuesChange) == null ? void 0 : _c3.call(_b3, values);
105
+ (_c = (_b2 = props.search) == null ? void 0 : _b2.onValuesChange) == null ? void 0 : _c.call(_b2, values);
117
106
  },
118
107
  "onInit": (values, action) => {
119
- var _a3, _b3, _c3;
108
+ var _a2, _b2, _c;
120
109
  submit(values, true);
121
- (_a3 = props.setFormAction) == null ? void 0 : _a3.call(props, action);
122
- (_c3 = (_b3 = props.search) == null ? void 0 : _b3.onInit) == null ? void 0 : _c3.call(_b3, values, action);
110
+ (_a2 = props.setFormAction) == null ? void 0 : _a2.call(props, action);
111
+ (_c = (_b2 = props.search) == null ? void 0 : _b2.onInit) == null ? void 0 : _c.call(_b2, values, action);
123
112
  },
124
113
  "onCollapse": props.onCollapse
125
- }), slots);
126
- if (((_c2 = props.search) == null ? void 0 : _c2.cardProps) !== false && props.tableShowCard) {
127
- return vue.createVNode(antDesignVue.Card, vue.mergeProps({
128
- "class": `${props.prefixCls}-search`,
129
- "activeTabKey": activeTabKey.value,
130
- "bordered": util.isBordered("search", props.cardBordered),
131
- "style": {
132
- marginBlockEnd: "16px"
133
- }
134
- }, omit.omit((_d = cardProps.value) != null ? _d : {}, ["onTabChange", "activeTabKey"]), {
135
- "onTabChange": onTabChange
136
- }), _isSlot(searchDom) ? searchDom : {
137
- default: () => [searchDom]
138
- });
139
- }
140
- return searchDom;
114
+ }), slots)]);
141
115
  };
142
116
  }
143
117
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sources":["../../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-11-21 11:05:46\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, SearchConfig } from '../interface'\nimport type {\n ProFormActionType,\n ProFormItemType,\n ProQueryFilterProps,\n} from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n tableShowCard: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\n },\n setFormAction: {\n type: Function as PropType<(action: ProFormActionType) => any>,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onCollapse: {\n type: Function as PropType<(val: boolean) => void>,\n default: undefined,\n },\n },\n setup: (props, { slots }) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, [\n 'cardProps',\n 'tabName',\n 'items',\n 'loading',\n 'onReset',\n 'onFinish',\n 'onValuesChange',\n 'onInit',\n 'onCollapse',\n ])}\n items={props.items}\n loading={props.loading}\n style={{\n marginBlockEnd: props.search?.cardProps !== false && props.tableShowCard ? 0 : '16px',\n ...props.search?.style,\n }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n props.search?.onFinish?.(values)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n v-slots={slots}\n onInit={(values, action) => {\n submit(values, true)\n props.setFormAction?.(action)\n props.search?.onInit?.(values, action)\n }}\n onCollapse={props.onCollapse}\n />\n )\n if (props.search?.cardProps !== false && props.tableShowCard) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","prefixCls","String","items","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","tableShowCard","beforeSearchSubmit","Function","searchParams","setFormAction","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","onCollapse","setup","slots","activeTabKey","ref","cardProps","computed","_a","_b","submit","values","firstLoad","_c","tabParams","value","tabList","length","tabName","key","submitParams","omitUndefined","onTabChange","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","style","onFinish","submitter","onValuesChange","onInit","action","Card","isBordered"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","sources":["../../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-12-09 17:34:12\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, SearchConfig } from '../interface'\nimport type {\n ProFormActionType,\n ProFormItemType,\n ProQueryFilterProps,\n} from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n tableShowCard: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\n },\n setFormAction: {\n type: Function as PropType<(action: ProFormActionType) => any>,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onCollapse: {\n type: Function as PropType<(val: boolean) => void>,\n default: undefined,\n },\n },\n setup: (props, { slots }) => {\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const isCard = computed(() => props.search?.cardProps !== false && props.tableShowCard)\n\n const className = computed(() => ({\n [`${props.prefixCls}-search`]: true,\n [`${props.prefixCls}-card`]: isCard.value,\n [`${props.prefixCls}-card-bordered`]:\n isCard.value && isBordered('search', props.cardBordered),\n }))\n\n return () => {\n return (\n <div class={className.value} style={{ marginBlockEnd: isCard.value ? '16px' : '' }}>\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, [\n 'cardProps',\n 'tabName',\n 'items',\n 'loading',\n 'onReset',\n 'onFinish',\n 'onValuesChange',\n 'onInit',\n 'onCollapse',\n ])}\n items={props.items}\n loading={props.loading}\n style={{\n marginBlockEnd: props.search?.cardProps !== false && props.tableShowCard ? 0 : '16px',\n ...props.search?.style,\n }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n props.search?.onFinish?.(values)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n v-slots={slots}\n onInit={(values, action) => {\n submit(values, true)\n props.setFormAction?.(action)\n props.search?.onInit?.(values, action)\n }}\n onCollapse={props.onCollapse}\n />\n </div>\n )\n // if (props.search?.cardProps !== false && props.tableShowCard) {\n // return (\n // <Card\n // class={`${props.prefixCls}-search`}\n // activeTabKey={activeTabKey.value}\n // bordered={isBordered('search', props.cardBordered)}\n // style={{ marginBlockEnd: '16px' }}\n // {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n // onTabChange={onTabChange}\n // >\n // {searchDom}\n // </Card>\n // )\n // }\n // return searchDom\n }\n },\n})\n"],"names":["props","prefixCls","String","items","type","Array","default","search","Object","undefined","cardBordered","Boolean","loading","manual","tableShowCard","beforeSearchSubmit","Function","searchParams","setFormAction","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","onCollapse","setup","slots","submit","values","firstLoad","submitParams","omitUndefined","isCard","computed","cardProps","className","value","isBordered","_createVNode","marginBlockEnd","ProQueryFilter","_mergeProps","omit","style","_a","_b","onFinish","submitter","onValuesChange","onInit","action"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sources":["../../../../../../../../packages/components/table/src/components/Table.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 09:26:05\n * @LastEditors: shen\n * @LastEditTime: 2025-12-02 17:08:47\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref, onMounted, nextTick } from 'vue'\nimport { Card } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls, useState } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { merge, omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { promiseTimeout } from '@vueuse/core'\nimport { isMacOsUserAgent, isIOSUserAgent } from '../utils/browser'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType, ProFormActionType } from '@pro-design-vue/components/form'\nimport type {\n AddLineOptions,\n ColumnsType,\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const tableRef = ref()\n const { table, dark } = useProConfigInject()\n const prefixCls = usePrefixCls('table')\n const isApple = isMacOsUserAgent() || isIOSUserAgent()\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n rowHover: computed(() => props.rowHover ?? table?.value?.rowHover),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n const mergeOptions = computed(() => {\n if (props.options === false) {\n return false\n }\n if (props.options === undefined) {\n return table?.value?.options\n }\n return { ...table?.value?.options, ...props.options }\n })\n\n useProvideLevel()\n\n watch(\n hoverRowKey,\n (newValue, oldValue) => {\n if (counter.rootDomRef.value) {\n counter.rootDomRef.value.style.removeProperty(\n `--${mergedPrefixCls.value}-row-bg-${oldValue}`,\n )\n counter.rootDomRef.value.style.setProperty(\n `--${mergedPrefixCls.value}-row-bg-${newValue}`,\n `hsl(var(--pro-accent))`,\n )\n }\n },\n { flush: 'post' },\n )\n\n const onKeydown = (ev: KeyboardEvent) => {\n ev.stopPropagation()\n emit('keydown', ev)\n }\n\n const fetchData = computed(() => {\n if (!props.request) return undefined\n\n return async (\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => {\n const actionParams = {\n ...(params || {}),\n ...(props.params || {}),\n }\n const response = await props.request!(actionParams, sorters, filter)\n return response as RequestData\n }\n })\n\n const actions = useFetchData(fetchData, props)\n const { dataSource, loading, pagination, pollingLoading, onTableChange, reload, reset } =\n actions\n const mergePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n return pagination.value\n })\n\n const formSubmitLoading = computed(() => {\n if (typeof loading.value === 'boolean') {\n return loading.value\n } else if (typeof loading.value === 'object') {\n return loading.value.spinning\n } else {\n return undefined\n }\n })\n\n const onFormSearchSubmit = (values: any) => {\n // 判断search.onSearch返回值决定是否更新formSearch\n if (mergeOptions.value && mergeOptions.value.search) {\n const { name = 'keyword' } =\n mergeOptions.value.search === true ? {} : mergeOptions.value.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (mergeOptions.value.search as OptionSearchProps)?.onSearch?.(\n actions.keyword.value!,\n )\n\n if (success !== false) {\n actions.setFormSearch({\n ...values,\n [name]: actions.keyword.value,\n })\n return\n }\n }\n\n actions.setFormSearch(values)\n }\n\n const counter = useContainer(props)\n\n // ---------- 列计算相关 start -----------------\n const tableColumn = computed(() => {\n return genProColumnToColumn({\n columns: props.columns,\n counter,\n }).sort(columnSort(counter.columnsMap.value))\n })\n\n watch(\n tableColumn,\n () => {\n if (tableColumn.value && tableColumn.value.length > 0) {\n // 重新生成key的字符串用于排序\n const columnKeys = tableColumn.value.map((item) => genColumnKey(item.key, item.index))\n counter.setSortKeyColumns(columnKeys)\n }\n },\n {\n immediate: true,\n },\n )\n\n /** 需要遍历一下,不然不支持嵌套表格 */\n const columns = computed(() => {\n const loopFilter = (column: any[]): any[] => {\n return column\n .map((item) => {\n // 删掉不应该显示的\n const columnKey = genColumnKey(item.key, item.index)\n const config = counter.columnsMap.value[columnKey]\n if (config && config.show === false) {\n return false\n }\n if (item.children) {\n return {\n ...item,\n children: loopFilter(item.children),\n }\n }\n return item\n })\n .filter(Boolean)\n }\n return loopFilter(tableColumn.value)\n })\n\n const onColumnsChange = (rawColumns, action: 'resize' | 'drag') => {\n const newMap = { ...counter.columnsMap.value }\n const newColumns = rawColumns.map((item) => genColumnKey(item.key, item.index))\n if (action === 'resize') {\n const loopSetWidth = (rawColumns) => {\n rawColumns.forEach((item) => {\n const key = genColumnKey(item.key, item.index)\n const newSetting = { ...newMap[key] }\n if (item.children?.length) {\n loopSetWidth(item.children)\n } else {\n newSetting.width = item.width\n newMap[key] = newSetting\n }\n })\n }\n loopSetWidth(rawColumns)\n } else {\n newColumns.forEach((key, order) => {\n newMap[key] = { ...(newMap[key] || {}), order }\n })\n }\n counter.setColumnsMap(newMap)\n counter.setSortKeyColumns(newColumns)\n props['onUpdate:columns']?.(rawColumns as ColumnsType, action)\n }\n const formItems = computed(() => {\n if (props.search === false) {\n return []\n }\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n const mergeItem = merge(\n {\n ...item,\n\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n item.search,\n )\n return omitKeysAndUndefined(mergeItem, [\n 'dataIndex',\n 'width',\n 'headerTooltip',\n 'search',\n ]) as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey ?? (table?.value?.rowKey || 'id')) as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n } else {\n onCleanSelected()\n }\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined),\n {\n value: computed(\n () =>\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection.selectedRowKeys : undefined),\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = (keys?: Key[]) => {\n let newSelectedRowKeys: Key[] = []\n if (keys?.length) {\n newSelectedRowKeys = selectedRowKeys.value?.filter((key) => !keys.includes(key)) ?? []\n }\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(newSelectedRowKeys, selectedRows.value ?? [])\n }\n props['onUpdate:selectedRowKeys']?.(newSelectedRowKeys, selectedRows.value ?? [])\n setSelectedRowKeys(newSelectedRowKeys)\n }\n\n const setRowSelected = (keys: Key[], rows?: []) => {\n if (keys?.length) {\n if (rows?.length) {\n rows.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n const newKeys = Array.from(new Set([...(selectedRowKeys.value ?? []), ...keys]))\n setSelectedRowKeys(newKeys)\n }\n }\n\n const hideToolbar = computed(\n () =>\n mergeOptions.value === false &&\n !props.title &&\n !slots.title &&\n !slots.toolbar &&\n !slots.searchExtra &&\n !slots.toolbarActions,\n )\n\n /**\n * 是否需要 card 来包裹\n */\n const notNeedCardDom = computed(() => {\n if ((props.search === false || !formItems.value?.length) && props.toolBar === false) {\n return true\n }\n return false\n })\n\n const showTableCard = computed(() => {\n if (counter.hasFullScreen.value) {\n return false\n }\n return props.cardProps !== false && !notNeedCardDom.value\n })\n\n const cardBodyStyle = computed(() => {\n if (!showTableCard.value) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n const [formAction, setFormAction] = useState<ProFormActionType>()\n\n const [mergeShowAlert, setMergeShowAlert] = useMergedState<boolean>(\n !!selectedRowKeys.value?.length,\n {\n value: computed(() => props.showAlert!),\n onChange(val) {\n props['onUpdate:showAlert']?.(val)\n },\n },\n )\n\n watch(selectedRowKeys, (selectedKeys) => {\n if (selectedKeys?.length) {\n setMergeShowAlert(true)\n } else {\n setMergeShowAlert(false)\n }\n })\n\n const tableHeight = ref<number | undefined | string>(props.height)\n const calcTableHeight = async () => {\n if (props.autoHeight || counter.hasFullScreen.value) {\n await nextTick()\n const height =\n window.innerHeight -\n (tableRef.value?.rootRef?.getBoundingClientRect()?.top || 0) -\n (tableRef.value?.paginationRef?.getBoundingClientRect()?.height || 0) -\n (!isApple ? counter.scrollViewportHeight.value : 0)\n\n tableHeight.value =\n typeof props.autoHeight === 'function' && !counter.hasFullScreen.value\n ? props.autoHeight?.(height)\n : height\n } else {\n tableHeight.value = props.height\n }\n }\n\n watch([counter.tableSize, counter.scrollViewportHeight], () => {\n calcTableHeight()\n })\n\n onMounted(async () => {\n await promiseTimeout(0)\n calcTableHeight()\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n tableRef.value?.scrollTo(pos, behavior)\n },\n validateRowData: (recordKey: any) => {\n return tableRef.value?.validateRowData(recordKey)\n },\n validateTableData: () => {\n return tableRef.value?.validateTableData()\n },\n\n addEditRecord: (recordValue?: any, options?: AddLineOptions) => {\n return tableRef.value?.addEditRecord(recordValue, options)\n },\n startEditable: (recordKey: Key, recordValue?: any) => {\n return tableRef.value?.startEditable(recordKey, recordValue)\n },\n cancelEditable: (recordValue?: any, options?: AddLineOptions) => {\n return tableRef.value?.cancelEditable(recordValue, options)\n },\n saveEditable: (recordKey: Key) => {\n return tableRef.value?.saveEditable(recordKey)\n },\n scrollLeft: computed(() => {\n return unref(tableRef.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(tableRef.value?.scrollTop)\n }),\n\n bodyRef: computed(() => {\n return unref(tableRef.value?.bodyRef)\n }),\n rootRef: computed(() => {\n return unref(tableRef.value?.rootRef)\n }),\n paginationRef: computed(() => {\n return unref(tableRef.value?.paginationRef)\n }),\n clearDataSource: () => {\n dataSource.value = []\n },\n cleanSelected: onCleanSelected,\n setSelected: setRowSelected,\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return tableRef.value?.appendCellToSelectedRange(params)\n },\n reload,\n reset,\n calcTableHeight,\n formAction: computed(() => {\n return unref(formAction.value)\n }),\n formSearchSubmit: () => {\n const fieldValues = formAction.value?.getFieldsValue() ?? {}\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...fieldValues,\n })\n },\n getSearchParams: () => {\n return actions.searchParams.value ?? {}\n },\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={mergeOptions.value}\n actionsRef={{\n ...actions,\n fullScreen: () => {\n counter.hasFullScreen.value = !counter.hasFullScreen.value\n calcTableHeight()\n },\n }}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n bottom: slots.toolbarBottom,\n top: slots.toolbarTop,\n }}\n onCleanSelected={onCleanSelected}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n mergeShowAlert.value && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n actionsRef={actions}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions, alert: slots.alert }}\n />\n )}\n <InteralTable\n ref={tableRef}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n height={tableHeight.value}\n virtual={!!props.autoHeight || !!counter.hasFullScreen.value || props.virtual}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n onUpdate:columns={onColumnsChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (showTableCard.value) {\n tableDom = (\n <Card\n bordered={isBordered(\n 'table',\n props.cardBordered ?? table?.value?.cardBordered ?? dark?.value,\n )}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <div\n ref={counter.rootDomRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n {\n [`${mergedPrefixCls.value}-maximize`]: counter.hasFullScreen.value,\n },\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered ?? table?.value?.cardBordered ?? dark?.value}\n search={props.search}\n tableShowCard={showTableCard.value}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n setFormAction={setFormAction}\n manual={props.manual || props.manualRequest}\n v-slots={slots}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n onCollapse={calcTableHeight}\n />\n )}\n {tableDom}\n </div>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","tableRef","ref","table","dark","useProConfigInject","prefixCls","usePrefixCls","isApple","isMacOsUserAgent","isIOSUserAgent","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","_a","_b","value","mergedPrefixCls","mergeOptions","options","undefined","useProvideLevel","watch","newValue","oldValue","counter","rootDomRef","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","formSubmitLoading","spinning","onFormSearchSubmit","values","search","success","onSearch","keyword","setFormSearch","useContainer","tableColumn","genProColumnToColumn","columns","sort","columnSort","columnsMap","length","columnKeys","map","item","genColumnKey","key","index","setSortKeyColumns","immediate","loopFilter","column","columnKey","config","show","children","Boolean","onColumnsChange","rawColumns","action","newMap","newColumns","loopSetWidth","forEach","newSetting","width","order","setColumnsMap","formItems","items","flatColumnsHandle","hideInSearch","mergeItem","merge","tooltip","headerTooltip","dataIndex","omitKeysAndUndefined","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","keys","newSelectedRowKeys","includes","setRowSelected","rows","newKeys","Array","from","Set","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","showTableCard","hasFullScreen","cardProps","cardBodyStyle","padding","paddingBlockEnd","formAction","setFormAction","useState","mergeShowAlert","setMergeShowAlert","showAlert","val","selectedKeys","tableHeight","height","calcTableHeight","autoHeight","nextTick","window","innerHeight","rootRef","getBoundingClientRect","top","paginationRef","scrollViewportHeight","tableSize","onMounted","promiseTimeout","scrollTo","pos","behavior","validateRowData","recordKey","validateTableData","addEditRecord","recordValue","startEditable","cancelEditable","saveEditable","scrollLeft","unref","scrollTop","bodyRef","clearDataSource","cleanSelected","setSelected","appendCellToSelectedRange","formSearchSubmit","fieldValues","getFieldsValue","formSearch","getSearchParams","searchParams","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","fullScreen","newValues","bottom","toolbarBottom","toolbarTop","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","alert","InteralTable","_mergeProps","omit","virtual","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","bordered","theme","class","FormRender","beforeSearchSubmit","manual","manualRequest","onReset","onSubmit"],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sources":["../../../../../../../../packages/components/table/src/components/Table.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 09:26:05\n * @LastEditors: shen\n * @LastEditTime: 2025-12-09 16:55:45\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref, onMounted, nextTick } from 'vue'\nimport { Card } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls, useState } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { merge, omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { promiseTimeout } from '@vueuse/core'\nimport { isMacOsUserAgent, isIOSUserAgent } from '../utils/browser'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType, ProFormActionType } from '@pro-design-vue/components/form'\nimport type {\n AddLineOptions,\n ColumnsType,\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const tableRef = ref()\n const { table, dark } = useProConfigInject()\n const prefixCls = usePrefixCls('table')\n const isApple = isMacOsUserAgent() || isIOSUserAgent()\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n rowHover: computed(() => props.rowHover ?? table?.value?.rowHover),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n const mergeOptions = computed(() => {\n if (props.options === false) {\n return false\n }\n if (props.options === undefined) {\n return table?.value?.options\n }\n return { ...table?.value?.options, ...props.options }\n })\n\n useProvideLevel()\n\n watch(\n hoverRowKey,\n (newValue, oldValue) => {\n if (counter.rootDomRef.value) {\n counter.rootDomRef.value.style.removeProperty(\n `--${mergedPrefixCls.value}-row-bg-${oldValue}`,\n )\n counter.rootDomRef.value.style.setProperty(\n `--${mergedPrefixCls.value}-row-bg-${newValue}`,\n `hsl(var(--pro-accent))`,\n )\n }\n },\n { flush: 'post' },\n )\n\n const onKeydown = (ev: KeyboardEvent) => {\n ev.stopPropagation()\n emit('keydown', ev)\n }\n\n const fetchData = computed(() => {\n if (!props.request) return undefined\n\n return async (\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => {\n const actionParams = {\n ...(params || {}),\n ...(props.params || {}),\n }\n const response = await props.request!(actionParams, sorters, filter)\n return response as RequestData\n }\n })\n\n const actions = useFetchData(fetchData, props)\n const { dataSource, loading, pagination, pollingLoading, onTableChange, reload, reset } =\n actions\n const mergePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n return pagination.value\n })\n\n const formSubmitLoading = computed(() => {\n if (typeof loading.value === 'boolean') {\n return loading.value\n } else if (typeof loading.value === 'object') {\n return loading.value.spinning\n } else {\n return undefined\n }\n })\n\n const onFormSearchSubmit = (values: any) => {\n // 判断search.onSearch返回值决定是否更新formSearch\n if (mergeOptions.value && mergeOptions.value.search) {\n const { name = 'keyword' } =\n mergeOptions.value.search === true ? {} : mergeOptions.value.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (mergeOptions.value.search as OptionSearchProps)?.onSearch?.(\n actions.keyword.value!,\n )\n\n if (success !== false) {\n actions.setFormSearch({\n ...values,\n [name]: actions.keyword.value,\n })\n return\n }\n }\n\n actions.setFormSearch(values)\n }\n\n const counter = useContainer(props)\n\n // ---------- 列计算相关 start -----------------\n const tableColumn = computed(() => {\n return genProColumnToColumn({\n columns: props.columns,\n counter,\n }).sort(columnSort(counter.columnsMap.value))\n })\n\n watch(\n tableColumn,\n () => {\n if (tableColumn.value && tableColumn.value.length > 0) {\n // 重新生成key的字符串用于排序\n const columnKeys = tableColumn.value.map((item) => genColumnKey(item.key, item.index))\n counter.setSortKeyColumns(columnKeys)\n }\n },\n {\n immediate: true,\n },\n )\n\n /** 需要遍历一下,不然不支持嵌套表格 */\n const columns = computed(() => {\n const loopFilter = (column: any[]): any[] => {\n return column\n .map((item) => {\n // 删掉不应该显示的\n const columnKey = genColumnKey(item.key, item.index)\n const config = counter.columnsMap.value[columnKey]\n if (config && config.show === false) {\n return false\n }\n if (item.children) {\n return {\n ...item,\n children: loopFilter(item.children),\n }\n }\n return item\n })\n .filter(Boolean)\n }\n return loopFilter(tableColumn.value)\n })\n\n const onColumnsChange = (rawColumns, action: 'resize' | 'drag') => {\n const newMap = { ...counter.columnsMap.value }\n const newColumns = rawColumns.map((item) => genColumnKey(item.key, item.index))\n if (action === 'resize') {\n const loopSetWidth = (rawColumns) => {\n rawColumns.forEach((item) => {\n const key = genColumnKey(item.key, item.index)\n const newSetting = { ...newMap[key] }\n if (item.children?.length) {\n loopSetWidth(item.children)\n } else {\n newSetting.width = item.width\n newMap[key] = newSetting\n }\n })\n }\n loopSetWidth(rawColumns)\n } else {\n newColumns.forEach((key, order) => {\n newMap[key] = { ...(newMap[key] || {}), order }\n })\n }\n counter.setColumnsMap(newMap)\n counter.setSortKeyColumns(newColumns)\n props['onUpdate:columns']?.(rawColumns as ColumnsType, action)\n }\n const formItems = computed(() => {\n if (props.search === false) {\n return []\n }\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n const mergeItem = merge(\n {\n ...item,\n\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n item.search,\n )\n return omitKeysAndUndefined(mergeItem, [\n 'dataIndex',\n 'width',\n 'headerTooltip',\n 'search',\n ]) as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey ?? (table?.value?.rowKey || 'id')) as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n } else {\n onCleanSelected()\n }\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined),\n {\n value: computed(\n () =>\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection.selectedRowKeys : undefined),\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = (keys?: Key[]) => {\n let newSelectedRowKeys: Key[] = []\n if (keys?.length) {\n newSelectedRowKeys = selectedRowKeys.value?.filter((key) => !keys.includes(key)) ?? []\n }\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(newSelectedRowKeys, selectedRows.value ?? [])\n }\n props['onUpdate:selectedRowKeys']?.(newSelectedRowKeys, selectedRows.value ?? [])\n setSelectedRowKeys(newSelectedRowKeys)\n }\n\n const setRowSelected = (keys: Key[], rows?: []) => {\n if (keys?.length) {\n if (rows?.length) {\n rows.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n const newKeys = Array.from(new Set([...(selectedRowKeys.value ?? []), ...keys]))\n setSelectedRowKeys(newKeys)\n }\n }\n\n const hideToolbar = computed(\n () =>\n mergeOptions.value === false &&\n !props.title &&\n !slots.title &&\n !slots.toolbar &&\n !slots.searchExtra &&\n !slots.toolbarActions,\n )\n\n /**\n * 是否需要 card 来包裹\n */\n const notNeedCardDom = computed(() => {\n if ((props.search === false || !formItems.value?.length) && props.toolBar === false) {\n return true\n }\n return false\n })\n\n const showTableCard = computed(() => {\n if (counter.hasFullScreen.value) {\n return false\n }\n return props.cardProps !== false && !notNeedCardDom.value\n })\n\n const cardBodyStyle = computed(() => {\n if (!showTableCard.value) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n const [formAction, setFormAction] = useState<ProFormActionType>()\n\n const [mergeShowAlert, setMergeShowAlert] = useMergedState<boolean>(\n !!selectedRowKeys.value?.length,\n {\n value: computed(() => props.showAlert!),\n onChange(val) {\n props['onUpdate:showAlert']?.(val)\n },\n },\n )\n\n watch(selectedRowKeys, (selectedKeys) => {\n if (selectedKeys?.length) {\n setMergeShowAlert(true)\n } else {\n setMergeShowAlert(false)\n }\n })\n\n const tableHeight = ref<number | undefined | string>(props.height)\n const calcTableHeight = async () => {\n if (props.autoHeight || counter.hasFullScreen.value) {\n await nextTick()\n const height =\n window.innerHeight -\n (tableRef.value?.rootRef?.getBoundingClientRect()?.top || 0) -\n (tableRef.value?.paginationRef?.getBoundingClientRect()?.height || 0) -\n (!isApple ? counter.scrollViewportHeight.value : 0)\n\n tableHeight.value =\n typeof props.autoHeight === 'function' && !counter.hasFullScreen.value\n ? props.autoHeight?.(height)\n : height\n } else {\n tableHeight.value = props.height\n }\n }\n\n watch([counter.tableSize, counter.scrollViewportHeight], () => {\n calcTableHeight()\n })\n\n onMounted(async () => {\n await promiseTimeout(0)\n calcTableHeight()\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n tableRef.value?.scrollTo(pos, behavior)\n },\n validateRowData: (recordKey: any) => {\n return tableRef.value?.validateRowData(recordKey)\n },\n validateTableData: () => {\n return tableRef.value?.validateTableData()\n },\n\n addEditRecord: (recordValue?: any, options?: AddLineOptions) => {\n return tableRef.value?.addEditRecord(recordValue, options)\n },\n startEditable: (recordKey: Key, recordValue?: any) => {\n return tableRef.value?.startEditable(recordKey, recordValue)\n },\n cancelEditable: (recordValue?: any, options?: AddLineOptions) => {\n return tableRef.value?.cancelEditable(recordValue, options)\n },\n saveEditable: (recordKey: Key) => {\n return tableRef.value?.saveEditable(recordKey)\n },\n scrollLeft: computed(() => {\n return unref(tableRef.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(tableRef.value?.scrollTop)\n }),\n\n bodyRef: computed(() => {\n return unref(tableRef.value?.bodyRef)\n }),\n rootRef: computed(() => {\n return unref(tableRef.value?.rootRef)\n }),\n paginationRef: computed(() => {\n return unref(tableRef.value?.paginationRef)\n }),\n clearDataSource: () => {\n dataSource.value = []\n },\n cleanSelected: onCleanSelected,\n setSelected: setRowSelected,\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return tableRef.value?.appendCellToSelectedRange(params)\n },\n reload,\n reset,\n calcTableHeight,\n formAction: computed(() => {\n return unref(formAction.value)\n }),\n formSearchSubmit: () => {\n const fieldValues = formAction.value?.getFieldsValue() ?? {}\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...fieldValues,\n })\n },\n getSearchParams: () => {\n return actions.searchParams.value ?? {}\n },\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={mergeOptions.value}\n actionsRef={{\n ...actions,\n fullScreen: () => {\n counter.hasFullScreen.value = !counter.hasFullScreen.value\n calcTableHeight()\n },\n }}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n bottom: slots.toolbarBottom,\n top: slots.toolbarTop,\n }}\n onCleanSelected={onCleanSelected}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n mergeShowAlert.value && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n actionsRef={actions}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions, alert: slots.alert }}\n />\n )}\n <InteralTable\n ref={tableRef}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n height={tableHeight.value}\n virtual={!!props.autoHeight || !!counter.hasFullScreen.value || props.virtual}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n onUpdate:columns={onColumnsChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (showTableCard.value) {\n tableDom = (\n <Card\n bordered={isBordered(\n 'table',\n props.cardBordered ?? table?.value?.cardBordered ?? dark?.value,\n )}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <div\n ref={counter.rootDomRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n {\n [`${mergedPrefixCls.value}-maximize`]: counter.hasFullScreen.value,\n },\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered ?? table?.value?.cardBordered ?? dark?.value}\n search={props.search}\n tableShowCard={showTableCard.value}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n setFormAction={setFormAction}\n manual={props.manual || props.manualRequest}\n v-slots={slots}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n onCollapse={calcTableHeight}\n />\n )}\n {tableDom}\n </div>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","tableRef","ref","table","dark","useProConfigInject","prefixCls","usePrefixCls","isApple","isMacOsUserAgent","isIOSUserAgent","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","_a","_b","value","mergedPrefixCls","mergeOptions","options","undefined","useProvideLevel","watch","newValue","oldValue","counter","rootDomRef","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","formSubmitLoading","spinning","onFormSearchSubmit","values","search","success","onSearch","keyword","setFormSearch","useContainer","tableColumn","genProColumnToColumn","columns","sort","columnSort","columnsMap","length","columnKeys","map","item","genColumnKey","key","index","setSortKeyColumns","immediate","loopFilter","column","columnKey","config","show","children","Boolean","onColumnsChange","rawColumns","action","newMap","newColumns","loopSetWidth","forEach","newSetting","width","order","setColumnsMap","formItems","items","flatColumnsHandle","hideInSearch","mergeItem","merge","tooltip","headerTooltip","dataIndex","omitKeysAndUndefined","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","keys","newSelectedRowKeys","includes","setRowSelected","rows","newKeys","Array","from","Set","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","showTableCard","hasFullScreen","cardProps","cardBodyStyle","padding","paddingBlockEnd","formAction","setFormAction","useState","mergeShowAlert","setMergeShowAlert","showAlert","val","selectedKeys","tableHeight","height","calcTableHeight","autoHeight","nextTick","window","innerHeight","rootRef","getBoundingClientRect","top","paginationRef","scrollViewportHeight","tableSize","onMounted","promiseTimeout","scrollTo","pos","behavior","validateRowData","recordKey","validateTableData","addEditRecord","recordValue","startEditable","cancelEditable","saveEditable","scrollLeft","unref","scrollTop","bodyRef","clearDataSource","cleanSelected","setSelected","appendCellToSelectedRange","formSearchSubmit","fieldValues","getFieldsValue","formSearch","getSearchParams","searchParams","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","fullScreen","newValues","bottom","toolbarBottom","toolbarTop","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","alert","InteralTable","_mergeProps","omit","virtual","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","bordered","theme","class","FormRender","beforeSearchSubmit","manual","manualRequest","onReset","onSubmit"],"mappings":"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"}
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "1.3.27";
1
+ export declare const version = "1.3.29";
package/lib/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "1.3.27";
3
+ const version = "1.3.29";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map