pro-design-vue 1.2.11 → 1.2.13

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.
Files changed (81) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +101 -24
  3. package/dist/index.full.min.js +8 -8
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +8 -8
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +101 -24
  8. package/es/components/form/src/components/FormList.d.ts +28 -1
  9. package/es/components/form/src/components/FormListContainer.d.ts +28 -1
  10. package/es/components/form/src/components/FormListItem.d.ts +39 -1
  11. package/es/components/form/src/context/FormContext.d.ts +2 -0
  12. package/es/components/table/src/components/InteralTable.vue.d.ts +1 -1
  13. package/es/components/table/src/components/PaginationConfig.d.ts +4 -0
  14. package/es/index.d.ts +4 -0
  15. package/es/packages/components/config-provider/src/config-provider-container.vue2.mjs +1 -0
  16. package/es/packages/components/config-provider/src/config-provider-container.vue2.mjs.map +1 -1
  17. package/es/packages/components/form/src/base/BaseForm.mjs +8 -0
  18. package/es/packages/components/form/src/base/BaseForm.mjs.map +1 -1
  19. package/es/packages/components/form/src/components/FormItem.mjs +7 -3
  20. package/es/packages/components/form/src/components/FormItem.mjs.map +1 -1
  21. package/es/packages/components/form/src/components/FormItems.mjs +1 -1
  22. package/es/packages/components/form/src/components/FormItems.mjs.map +1 -1
  23. package/es/packages/components/form/src/components/FormList.mjs +15 -0
  24. package/es/packages/components/form/src/components/FormList.mjs.map +1 -1
  25. package/es/packages/components/form/src/components/FormListContainer.mjs +16 -0
  26. package/es/packages/components/form/src/components/FormListContainer.mjs.map +1 -1
  27. package/es/packages/components/form/src/components/FormListItem.mjs +24 -1
  28. package/es/packages/components/form/src/components/FormListItem.mjs.map +1 -1
  29. package/es/packages/components/form/src/context/FormContext.mjs.map +1 -1
  30. package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
  31. package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs +2 -2
  32. package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
  33. package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
  34. package/es/packages/components/table/src/components/InteralTable.vue2.mjs +10 -2
  35. package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
  36. package/es/packages/components/table/src/components/Table.mjs +6 -5
  37. package/es/packages/components/table/src/components/Table.mjs.map +1 -1
  38. package/es/packages/components/table/src/hooks/useFetchData.mjs +9 -8
  39. package/es/packages/components/table/src/hooks/useFetchData.mjs.map +1 -1
  40. package/es/version.d.ts +1 -1
  41. package/es/version.mjs +1 -1
  42. package/es/version.mjs.map +1 -1
  43. package/lib/components/form/src/components/FormList.d.ts +28 -1
  44. package/lib/components/form/src/components/FormListContainer.d.ts +28 -1
  45. package/lib/components/form/src/components/FormListItem.d.ts +39 -1
  46. package/lib/components/form/src/context/FormContext.d.ts +2 -0
  47. package/lib/components/table/src/components/InteralTable.vue.d.ts +1 -1
  48. package/lib/components/table/src/components/PaginationConfig.d.ts +4 -0
  49. package/lib/index.d.ts +4 -0
  50. package/lib/packages/components/config-provider/src/config-provider-container.vue2.js +1 -0
  51. package/lib/packages/components/config-provider/src/config-provider-container.vue2.js.map +1 -1
  52. package/lib/packages/components/form/src/base/BaseForm.js +8 -0
  53. package/lib/packages/components/form/src/base/BaseForm.js.map +1 -1
  54. package/lib/packages/components/form/src/components/FormItem.js +7 -3
  55. package/lib/packages/components/form/src/components/FormItem.js.map +1 -1
  56. package/lib/packages/components/form/src/components/FormItems.js +1 -1
  57. package/lib/packages/components/form/src/components/FormItems.js.map +1 -1
  58. package/lib/packages/components/form/src/components/FormList.js +15 -0
  59. package/lib/packages/components/form/src/components/FormList.js.map +1 -1
  60. package/lib/packages/components/form/src/components/FormListContainer.js +16 -0
  61. package/lib/packages/components/form/src/components/FormListContainer.js.map +1 -1
  62. package/lib/packages/components/form/src/components/FormListItem.js +24 -1
  63. package/lib/packages/components/form/src/components/FormListItem.js.map +1 -1
  64. package/lib/packages/components/form/src/context/FormContext.js.map +1 -1
  65. package/lib/packages/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
  66. package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js +2 -2
  67. package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
  68. package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
  69. package/lib/packages/components/table/src/components/InteralTable.vue2.js +10 -2
  70. package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
  71. package/lib/packages/components/table/src/components/Table.js +6 -5
  72. package/lib/packages/components/table/src/components/Table.js.map +1 -1
  73. package/lib/packages/components/table/src/hooks/useFetchData.js +9 -8
  74. package/lib/packages/components/table/src/hooks/useFetchData.js.map +1 -1
  75. package/lib/version.d.ts +1 -1
  76. package/lib/version.js +1 -1
  77. package/lib/version.js.map +1 -1
  78. package/package.json +1 -1
  79. package/theme-chalk/index.css +1 -1
  80. package/theme-chalk/pro-form.css +1 -1
  81. package/theme-chalk/src/form.less +11 -0
@@ -1 +1 @@
1
- {"version":3,"file":"FormListContainer.js","sources":["../../../../../../../../packages/components/form/src/components/FormListContainer.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 10:36:49\n * @LastEditors: shen\n * @LastEditTime: 2025-10-07 13:17:41\n * @Description:\n */\nimport type { ButtonProps } from 'ant-design-vue'\nimport type { PropType, VNode } from 'vue'\nimport type { Entity, ProFormItemType } from '../type'\n\nimport { computed, defineComponent, ref, shallowRef, watch } from 'vue'\nimport { Form, Button } from 'ant-design-vue'\nimport { PlusOutlined } from '@ant-design/icons-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useFieldValue } from '../hooks/useFieldValue'\nimport { RenderVNode, cloneDeep, isEqual, omit, runFunction } from '@pro-design-vue/utils'\n\nimport FormListItem from './FormListItem'\n\nexport interface ListOperations {\n add: (defaultValue: Entity, index?: number) => Promise<boolean>\n remove: (index: number | number[]) => Promise<boolean>\n}\nexport default defineComponent({\n name: 'FormListContainer',\n inheritAttrs: false,\n props: {\n name: {\n type: [String, Array] as PropType<ProFormItemType['name']>,\n default: undefined,\n },\n originName: {\n type: [String, Array] as PropType<ProFormItemType['name']>,\n default: undefined,\n },\n initialValue: {\n type: Object as PropType<ProFormItemType['initialValue']>,\n default: undefined,\n },\n title: {\n type: [String, Object, Function] as PropType<ProFormItemType['title']>,\n default: undefined,\n },\n tooltip: {\n type: [String, Boolean],\n default: undefined,\n },\n readonly: {\n type: Boolean,\n default: undefined,\n },\n rowProps: {\n type: Object as PropType<ProFormItemType['rowProps']>,\n default: undefined,\n },\n convertValue: {\n type: Function as PropType<ProFormItemType['convertValue']>,\n default: undefined,\n },\n transform: {\n type: Function as PropType<ProFormItemType['transform']>,\n default: undefined,\n },\n items: {\n type: [Array, Function] as PropType<ProFormItemType['children']>,\n default: undefined,\n },\n min: {\n type: Number,\n default: undefined,\n },\n max: {\n type: Number,\n default: undefined,\n },\n alwaysShowItemLabel: {\n type: Boolean,\n default: undefined,\n },\n creatorRecord: {\n type: [Object, Function] as PropType<Entity | (() => Entity)>,\n default: undefined,\n },\n creatorButtonProps: {\n type: [Object, Boolean] as PropType<\n | false\n | (ButtonProps & {\n creatorButtonText?: string\n position?: 'top' | 'bottom'\n })\n >,\n default: undefined,\n },\n copyIconProps: {\n type: [Object, String, Boolean] as PropType<\n false | { icon?: string | VNode; tooltipText?: string }\n >,\n default: undefined,\n },\n deleteIconProps: {\n type: [Object, String, Boolean] as PropType<\n false | { icon?: string | VNode; tooltipText?: string }\n >,\n default: undefined,\n },\n actionGuard: {\n type: Object as PropType<{\n beforeAddRow?: (\n creatorRecord: Entity,\n index?: number,\n count?: number,\n ) => boolean | Promise<boolean>\n beforeRemoveRow?: (index: number | number[], count: number) => boolean | Promise<boolean>\n }>,\n default: undefined,\n },\n onAfterAdd: {\n type: Function as PropType<\n (creatorRecord: Entity, insertIndex: number, count: number) => void\n >,\n default: undefined,\n },\n onAfterRemove: {\n type: Function as PropType<(deleteIndex: number | number[], count: number) => void>,\n default: undefined,\n },\n },\n emits: ['after-add', 'after-remvoe'],\n setup(props, { slots }) {\n const loading = ref(false)\n const listValues = ref<Entity[]>([])\n const { prefixCls } = useInjectForm()\n const keyRef = shallowRef<{ keys: number[]; id: number }>({\n keys: [],\n id: 0,\n })\n const { fieldValue, onValueChange } = useFieldValue<any>({\n namePath: computed(() => props.name!),\n initialValue: props.initialValue,\n convertValue: props.convertValue,\n transform: props.transform,\n })\n const formItemContext = Form.useInjectFormItemContext()\n const count = computed(() => fieldValue.value?.length ?? 0)\n\n const action: ListOperations = {\n add: async (defaultValue: Entity, index?: number) => {\n if (props.actionGuard?.beforeAddRow) {\n const success = await props.actionGuard?.beforeAddRow(defaultValue, index, count.value)\n if (!success) {\n return false\n }\n }\n const newValue: Entity[] = cloneDeep(fieldValue.value ?? [])\n if (index !== undefined && index >= 0 && index <= newValue.length) {\n keyRef.value.keys = [\n ...keyRef.value.keys.slice(0, index),\n keyRef.value.id,\n ...keyRef.value.keys.slice(index),\n ]\n onValueChange(\n cloneDeep([...newValue.slice(0, index), defaultValue, ...newValue.slice(index)]),\n )\n formItemContext.onFieldChange()\n } else {\n keyRef.value.keys = [...keyRef.value.keys, keyRef.value.id]\n onValueChange(cloneDeep([...newValue, defaultValue]))\n formItemContext.onFieldChange()\n }\n keyRef.value.id += 1\n Promise.resolve().then(() => {\n props.onAfterAdd?.(defaultValue, index!, count.value)\n })\n return true\n },\n remove: async (index: number | number[]) => {\n if (props.actionGuard?.beforeRemoveRow) {\n const success = await props.actionGuard?.beforeRemoveRow(index, count.value)\n if (!success) {\n return false\n }\n }\n const newValue: Entity[] = cloneDeep(fieldValue.value ?? [])\n const indexSet = new Set(Array.isArray(index) ? index : [index])\n\n if (indexSet.size <= 0) {\n return false\n }\n keyRef.value.keys = keyRef.value.keys.filter((_, keysIndex) => !indexSet.has(keysIndex))\n const value = newValue.filter((_, valueIndex) => !indexSet.has(valueIndex))\n onValueChange(value)\n formItemContext.onFieldChange()\n Promise.resolve().then(() => {\n props.onAfterRemove?.(index, count.value)\n })\n return true\n },\n }\n\n const onAdd = async () => {\n if (props.creatorButtonProps !== false) {\n loading.value = true\n let index = count.value\n if (props.creatorButtonProps?.position === 'top') index = 0\n await action.add(cloneDeep(runFunction(props.creatorRecord) || {}), index)\n loading.value = false\n }\n }\n\n const onRemove = async (index: number) => {\n await action.remove(index)\n }\n\n const onCopy = async (index: number) => {\n await action.add(cloneDeep(fieldValue.value[index]), count.value + 1)\n }\n\n watch(\n fieldValue,\n () => {\n if (!isEqual(listValues.value, fieldValue.value)) {\n listValues.value = cloneDeep(fieldValue.value ?? [])\n }\n },\n {\n immediate: true,\n },\n )\n const creatorButton = computed(() => {\n if (props.readonly || props.creatorButtonProps === false || count.value === props.max)\n return null\n const { position = 'bottom', creatorButtonText = '添加一行数据' } =\n props.creatorButtonProps ?? {}\n const {\n block = true,\n type = 'dashed',\n ...restProps\n } = omit(props.creatorButtonProps ?? {}, ['position', 'creatorButtonText'])\n const defaultDom = (\n <Button\n class={`${prefixCls}-list-creator-button-${position}`}\n type={type}\n block={block}\n icon={<PlusOutlined />}\n {...restProps}\n loading={loading.value}\n onClick={onAdd}\n >\n {creatorButtonText}\n </Button>\n )\n if (slots.creator) {\n return (\n <RenderVNode\n vnode={slots.creator}\n props={{ defaultDom, add: action.add, count: count.value }}\n />\n )\n }\n return defaultDom\n })\n\n return () => {\n if (props.readonly && !listValues.value?.length) {\n listValues.value = [{}]\n }\n return (\n <div\n style=\"width: max-content; max-width: 100%; min-width: 100%; \"\n class={{\n [`${prefixCls}-list-container`]: true,\n [`${prefixCls}-list-empty`]: (fieldValue.value ?? [])?.length == 0,\n }}\n >\n {props.creatorButtonProps !== false &&\n props.creatorButtonProps?.position === 'top' &&\n creatorButton.value}\n {(listValues.value ?? []).map((record, index) => {\n let key = keyRef.value.keys[index]\n if (key === undefined) {\n keyRef.value.keys[index] = keyRef.value.id\n key = keyRef.value.keys[index]\n keyRef.value.id += 1\n }\n return (\n <FormListItem\n key={key}\n fieldKey={key}\n originName={props.originName}\n index={index}\n items={props.items as any}\n rowProps={props.rowProps}\n min={props.min}\n max={props.max}\n count={count.value}\n record={record}\n alwaysShowItemLabel={props.alwaysShowItemLabel}\n copyIconProps={props.copyIconProps}\n deleteIconProps={props.deleteIconProps}\n action={action}\n readonly={props.readonly}\n v-slots={{\n action: slots.action,\n item: slots.item,\n }}\n onRemove={onRemove}\n onCopy={onCopy}\n />\n )\n })}\n {props.creatorButtonProps !== false &&\n (props.creatorButtonProps?.position === 'bottom' ||\n props.creatorButtonProps?.position === undefined) &&\n creatorButton.value}\n </div>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","type","String","Array","default","undefined","originName","initialValue","title","Function","tooltip","Boolean","readonly","rowProps","convertValue","transform","items","min","Number","max","alwaysShowItemLabel","creatorRecord","creatorButtonProps","copyIconProps","deleteIconProps","actionGuard","onAfterAdd","onAfterRemove","emits","setup","slots","loading","ref","listValues","prefixCls","useInjectForm","keyRef","shallowRef","keys","id","fieldValue","onValueChange","useFieldValue","namePath","computed","formItemContext","Form","useInjectFormItemContext","count","value","length","action","add","defaultValue","index","beforeAddRow","success","newValue","cloneDeep","slice","onFieldChange","Promise","resolve","then","_a","remove","beforeRemoveRow","indexSet","Set","isArray","size","filter","_","keysIndex","has","valueIndex","onAdd","position","runFunction","onRemove","onCopy","watch","isEqual","immediate","creatorButton","creatorButtonText","block","restProps","omit","defaultDom","_createVNode","Button","_mergeProps","PlusOutlined","creator","RenderVNode","map","record","key","FormListItem","item"],"mappings":";;;;;;;;;;;;;;;AAkByC,SAAAA,QAAAC,CAAAA,EAAA;AAAA,EAAA,OAAA,OAAAA,CAAAA,KAAA,UAAA,IAAAC,MAAAA,CAAAC,SAAAA,CAAAC,QAAAA,CAAAC,IAAAA,CAAAJ,CAAA,CAAA,KAAA,iBAAA,IAAA,CAAAK,WAAAA,CAAAL,CAAA,CAAA;AAAA;AAMzC,4DAA+B;AAAA,EAC7BM,IAAAA,EAAM,mBAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdC,KAAAA,EAAO;AAAA,IACLF,IAAAA,EAAM;AAAA,MACJG,IAAAA,EAAM,CAACC,MAAAA,EAAQC,KAAK,CAAA;AAAA,MACpBC,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAC,UAAAA,EAAY;AAAA,MACVL,IAAAA,EAAM,CAACC,MAAAA,EAAQC,KAAK,CAAA;AAAA,MACpBC,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAE,YAAAA,EAAc;AAAA,MACZN,IAAAA,EAAMR,MAAAA;AAAAA,MACNW,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAG,KAAAA,EAAO;AAAA,MACLP,IAAAA,EAAM,CAACC,MAAAA,EAAQT,MAAAA,EAAQgB,QAAQ,CAAA;AAAA,MAC/BL,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAK,OAAAA,EAAS;AAAA,MACPT,IAAAA,EAAM,CAACC,MAAAA,EAAQS,OAAO,CAAA;AAAA,MACtBP,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAO,QAAAA,EAAU;AAAA,MACRX,IAAAA,EAAMU,OAAAA;AAAAA,MACNP,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAQ,QAAAA,EAAU;AAAA,MACRZ,IAAAA,EAAMR,MAAAA;AAAAA,MACNW,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAS,YAAAA,EAAc;AAAA,MACZb,IAAAA,EAAMQ,QAAAA;AAAAA,MACNL,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAU,SAAAA,EAAW;AAAA,MACTd,IAAAA,EAAMQ,QAAAA;AAAAA,MACNL,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAW,KAAAA,EAAO;AAAA,MACLf,IAAAA,EAAM,CAACE,KAAAA,EAAOM,QAAQ,CAAA;AAAA,MACtBL,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAY,GAAAA,EAAK;AAAA,MACHhB,IAAAA,EAAMiB,MAAAA;AAAAA,MACNd,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAc,GAAAA,EAAK;AAAA,MACHlB,IAAAA,EAAMiB,MAAAA;AAAAA,MACNd,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAe,mBAAAA,EAAqB;AAAA,MACnBnB,IAAAA,EAAMU,OAAAA;AAAAA,MACNP,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAgB,aAAAA,EAAe;AAAA,MACbpB,IAAAA,EAAM,CAACR,MAAAA,EAAQgB,QAAQ,CAAA;AAAA,MACvBL,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAiB,kBAAAA,EAAoB;AAAA,MAClBrB,IAAAA,EAAM,CAACR,MAAAA,EAAQkB,OAAO,CAAA;AAAA,MAOtBP,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAkB,aAAAA,EAAe;AAAA,MACbtB,IAAAA,EAAM,CAACR,MAAAA,EAAQS,MAAAA,EAAQS,OAAO,CAAA;AAAA,MAG9BP,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAmB,eAAAA,EAAiB;AAAA,MACfvB,IAAAA,EAAM,CAACR,MAAAA,EAAQS,MAAAA,EAAQS,OAAO,CAAA;AAAA,MAG9BP,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAoB,WAAAA,EAAa;AAAA,MACXxB,IAAAA,EAAMR,MAAAA;AAAAA,MAQNW,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAqB,UAAAA,EAAY;AAAA,MACVzB,IAAAA,EAAMQ,QAAAA;AAAAA,MAGNL,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAsB,aAAAA,EAAe;AAAA,MACb1B,IAAAA,EAAMQ,QAAAA;AAAAA,MACNL,OAAAA,EAASC;AAAAA;AACX,GACF;AAAA,EACAuB,KAAAA,EAAO,CAAC,WAAA,EAAa,cAAc,CAAA;AAAA,EACnCC,MAAM7B,KAAAA,EAAO;AAAA,IAAE8B;AAAAA,GAAM,EAAG;AACtB,IAAA,MAAMC,OAAAA,GAAUC,QAAI,KAAK,CAAA;AACzB,IAAA,MAAMC,UAAAA,GAAaD,OAAAA,CAAc,EAAE,CAAA;AACnC,IAAA,MAAM;AAAA,MAAEE;AAAAA,QAAcC,yBAAAA,EAAc;AACpC,IAAA,MAAMC,SAASC,cAAAA,CAA2C;AAAA,MACxDC,MAAM,EAAA;AAAA,MACNC,EAAAA,EAAI;AAAA,KACL,CAAA;AACD,IAAA,MAAM;AAAA,MAAEC,UAAAA;AAAAA,MAAYC;AAAAA,QAAkBC,2BAAAA,CAAmB;AAAA,MACvDC,QAAAA,EAAUC,YAAAA,CAAS,MAAM5C,KAAAA,CAAMF,IAAK,CAAA;AAAA,MACpCS,cAAcP,KAAAA,CAAMO,YAAAA;AAAAA,MACpBO,cAAcd,KAAAA,CAAMc,YAAAA;AAAAA,MACpBC,WAAWf,KAAAA,CAAMe;AAAAA,KAClB,CAAA;AACD,IAAA,MAAM8B,eAAAA,GAAkBC,kBAAKC,wBAAAA,EAAyB;AACtD,IAAA,MAAMC,KAAAA,GAAQJ,aAAS,MAAA;AAhJ3B,MAAA,IAAA,EAAA,EAAA,EAAA;AAgJiCJ,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,UAAAA,CAAWS,KAAAA,KAAXT,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAkBU,MAAAA,KAAlBV,IAAAA,GAAAA,EAAAA,GAA4B,CAAA;AAAA,IAAA,CAAC,CAAA;AAE1D,IAAA,MAAMW,MAAAA,GAAyB;AAAA,MAC7BC,GAAAA,EAAK,OAAOC,YAAAA,EAAsBC,KAAAA,KAAmB;AAnJ3D,QAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAoJQ,QAAA,IAAA,CAAItD,EAAAA,GAAAA,KAAAA,CAAMyB,WAAAA,KAANzB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAmBuD,YAAAA,EAAc;AACnC,UAAA,MAAMC,OAAAA,GAAU,QAAMxD,EAAAA,GAAAA,KAAAA,CAAMyB,WAAAA,KAANzB,mBAAmBuD,YAAAA,CAAaF,YAAAA,EAAcC,OAAON,KAAAA,CAAMC,KAAAA,CAAAA,CAAAA;AACjF,UAAA,IAAI,CAACO,OAAAA,EAAS;AACZ,YAAA,OAAO,KAAA;AAAA,UACT;AAAA,QACF;AACA,QAAA,MAAMC,WAAqBC,uBAAAA,CAAAA,CAAUlB,EAAAA,GAAAA,UAAAA,CAAWS,KAAAA,KAAXT,IAAAA,GAAAA,EAAAA,GAAoB,EAAE,CAAA;AAC3D,QAAA,IAAIc,UAAUjD,MAAAA,IAAaiD,KAAAA,IAAS,CAAA,IAAKA,KAAAA,IAASG,SAASP,MAAAA,EAAQ;AACjEd,UAAAA,MAAAA,CAAOa,KAAAA,CAAMX,OAAO,CAClB,GAAGF,OAAOa,KAAAA,CAAMX,IAAAA,CAAKqB,MAAM,CAAA,EAAGL,KAAK,GACnClB,MAAAA,CAAOa,KAAAA,CAAMV,IACb,GAAGH,MAAAA,CAAOa,MAAMX,IAAAA,CAAKqB,KAAAA,CAAML,KAAK,CAAC,CAAA;AAEnCb,UAAAA,aAAAA,CACEiB,uBAAAA,CAAU,CAAC,GAAGD,QAAAA,CAASE,MAAM,CAAA,EAAGL,KAAK,CAAA,EAAGD,YAAAA,EAAc,GAAGI,QAAAA,CAASE,KAAAA,CAAML,KAAK,CAAC,CAAC,CACjF,CAAA;AACAT,UAAAA,eAAAA,CAAgBe,aAAAA,EAAc;AAAA,QAChC,CAAA,MAAO;AACLxB,UAAAA,MAAAA,CAAOa,KAAAA,CAAMX,OAAO,CAAC,GAAGF,OAAOa,KAAAA,CAAMX,IAAAA,EAAMF,MAAAA,CAAOa,KAAAA,CAAMV,EAAE,CAAA;AAC1DE,UAAAA,aAAAA,CAAciB,wBAAU,CAAC,GAAGD,QAAAA,EAAUJ,YAAY,CAAC,CAAC,CAAA;AACpDR,UAAAA,eAAAA,CAAgBe,aAAAA,EAAc;AAAA,QAChC;AACAxB,QAAAA,MAAAA,CAAOa,MAAMV,EAAAA,IAAM,CAAA;AACnBsB,QAAAA,OAAAA,CAAQC,OAAAA,EAAQ,CAAEC,IAAAA,CAAK,MAAM;AA3KrC,UAAA,IAAAC,GAAAA;AA4KUhE,UAAAA,CAAAA,GAAAA,GAAAA,MAAM0B,UAAAA,KAAN1B,IAAAA,GAAAA,MAAAA,GAAAA,IAAAA,IAAAA,CAAAA,KAAAA,EAAmBqD,YAAAA,EAAcC,OAAQN,KAAAA,CAAMC,KAAAA,CAAAA;AAAAA,QACjD,CAAC,CAAA;AACD,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA,MACAgB,MAAAA,EAAQ,OAAOX,KAAAA,KAA6B;AAhLlD,QAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAiLQ,QAAA,IAAA,CAAItD,EAAAA,GAAAA,KAAAA,CAAMyB,WAAAA,KAANzB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAmBkE,eAAAA,EAAiB;AACtC,UAAA,MAAMV,UAAU,OAAA,CAAMxD,EAAAA,GAAAA,KAAAA,CAAMyB,gBAANzB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAmBkE,eAAAA,CAAgBZ,OAAON,KAAAA,CAAMC,KAAAA,CAAAA,CAAAA;AACtE,UAAA,IAAI,CAACO,OAAAA,EAAS;AACZ,YAAA,OAAO,KAAA;AAAA,UACT;AAAA,QACF;AACA,QAAA,MAAMC,WAAqBC,uBAAAA,CAAAA,CAAUlB,EAAAA,GAAAA,UAAAA,CAAWS,KAAAA,KAAXT,IAAAA,GAAAA,EAAAA,GAAoB,EAAE,CAAA;AAC3D,QAAA,MAAM2B,QAAAA,GAAW,IAAIC,GAAAA,CAAIjE,KAAAA,CAAMkE,OAAAA,CAAQf,KAAK,CAAA,GAAIA,KAAAA,GAAQ,CAACA,KAAK,CAAC,CAAA;AAE/D,QAAA,IAAIa,QAAAA,CAASG,QAAQ,CAAA,EAAG;AACtB,UAAA,OAAO,KAAA;AAAA,QACT;AACAlC,QAAAA,MAAAA,CAAOa,KAAAA,CAAMX,IAAAA,GAAOF,MAAAA,CAAOa,KAAAA,CAAMX,IAAAA,CAAKiC,MAAAA,CAAO,CAACC,CAAAA,EAAGC,SAAAA,KAAc,CAACN,QAAAA,CAASO,GAAAA,CAAID,SAAS,CAAC,CAAA;AACvF,QAAA,MAAMxB,KAAAA,GAAQQ,QAAAA,CAASc,MAAAA,CAAO,CAACC,CAAAA,EAAGG,eAAe,CAACR,QAAAA,CAASO,GAAAA,CAAIC,UAAU,CAAC,CAAA;AAC1ElC,QAAAA,aAAAA,CAAcQ,KAAK,CAAA;AACnBJ,QAAAA,eAAAA,CAAgBe,aAAAA,EAAc;AAC9BC,QAAAA,OAAAA,CAAQC,OAAAA,EAAQ,CAAEC,IAAAA,CAAK,MAAM;AAjMrC,UAAA,IAAAC,GAAAA;AAkMUhE,UAAAA,CAAAA,MAAAA,KAAAA,CAAM2B,aAAAA,KAAN3B,gBAAAA,GAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EAAsBsD,OAAON,KAAAA,CAAMC,KAAAA,CAAAA;AAAAA,QACrC,CAAC,CAAA;AACD,QAAA,OAAO,IAAA;AAAA,MACT;AAAA,KACF;AAEA,IAAA,MAAM2B,QAAQ,YAAY;AAxM9B,MAAA,IAAA,EAAA;AAyMM,MAAA,IAAI5E,KAAAA,CAAMsB,uBAAuB,KAAA,EAAO;AACtCS,QAAAA,OAAAA,CAAQkB,KAAAA,GAAQ,IAAA;AAChB,QAAA,IAAIK,QAAQN,KAAAA,CAAMC,KAAAA;AAClB,QAAA,IAAA,CAAA,CAAIjD,EAAAA,GAAAA,KAAAA,CAAMsB,kBAAAA,KAANtB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAA0B6E,QAAAA,MAAa,OAAOvB,KAAAA,GAAQ,CAAA;AAC1D,QAAA,MAAMH,MAAAA,CAAOC,GAAAA,CAAIM,uBAAAA,CAAUoB,uBAAAA,CAAY9E,KAAAA,CAAMqB,aAAa,CAAA,IAAK,EAAE,CAAA,EAAGiC,KAAK,CAAA;AACzEvB,QAAAA,OAAAA,CAAQkB,KAAAA,GAAQ,KAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAEA,IAAA,MAAM8B,QAAAA,GAAW,OAAOzB,KAAAA,KAAkB;AACxC,MAAA,MAAMH,MAAAA,CAAOc,OAAOX,KAAK,CAAA;AAAA,IAC3B,CAAA;AAEA,IAAA,MAAM0B,MAAAA,GAAS,OAAO1B,KAAAA,KAAkB;AACtC,MAAA,MAAMH,MAAAA,CAAOC,GAAAA,CAAIM,uBAAAA,CAAUlB,UAAAA,CAAWS,KAAAA,CAAMK,KAAK,CAAC,CAAA,EAAGN,KAAAA,CAAMC,KAAAA,GAAQ,CAAC,CAAA;AAAA,IACtE,CAAA;AAEAgC,IAAAA,SAAAA,CACEzC,YACA,MAAM;AA5NZ,MAAA,IAAA,EAAA;AA6NQ,MAAA,IAAI,CAAC0C,qBAAAA,CAAQjD,UAAAA,CAAWgB,KAAAA,EAAOT,UAAAA,CAAWS,KAAK,CAAA,EAAG;AAChDhB,QAAAA,UAAAA,CAAWgB,QAAQS,uBAAAA,CAAAA,CAAUlB,EAAAA,GAAAA,UAAAA,CAAWS,KAAAA,KAAXT,IAAAA,GAAAA,EAAAA,GAAoB,EAAE,CAAA;AAAA,MACrD;AAAA,IACF,CAAA,EACA;AAAA,MACE2C,SAAAA,EAAW;AAAA,KAEf,CAAA;AACA,IAAA,MAAMC,aAAAA,GAAgBxC,aAAS,MAAM;AArOzC,MAAA,IAAA,EAAA,EAAA,EAAA;AAsOM,MAAA,IAAI5C,KAAAA,CAAMY,YAAYZ,KAAAA,CAAMsB,kBAAAA,KAAuB,SAAS0B,KAAAA,CAAMC,KAAAA,KAAUjD,KAAAA,CAAMmB,GAAAA,EAChF,OAAO,IAAA;AACT,MAAA,MAAM;AAAA,QAAE0D,QAAAA,GAAW,QAAA;AAAA,QAAUQ,iBAAAA,GAAoB;AAAA,OAAS,GAAA,CACxDrF,EAAAA,GAAAA,KAAAA,CAAMsB,kBAAAA,KAANtB,IAAAA,GAAAA,EAAAA,GAA4B,EAAC;AAC/B,MAAA,MAAM;AAAA,QACJsF,KAAAA,GAAQ,IAAA;AAAA,QACRrF,IAAAA,GAAO,QAAA;AAAA,QACP,GAAGsF;AAAAA,OACL,GAAIC,SAAAA,CAAAA,CAAKxF,EAAAA,GAAAA,KAAAA,CAAMsB,kBAAAA,KAANtB,IAAAA,GAAAA,EAAAA,GAA4B,EAAC,EAAG,CAAC,UAAA,EAAY,mBAAmB,CAAC,CAAA;AAC1E,MAAA,MAAMyF,UAAAA,GAAUC,eAAAA,CAAAC,mBAAAA,EAAAC,cAAAA,CAAA;AAAA,QAAA,OAAA,EAEL,CAAA,EAAG1D,SAAS,CAAA,qBAAA,EAAwB2C,QAAQ,CAAA,CAAA;AAAA,QAAE,MAAA,EAC/C5E,IAAAA;AAAAA,QAAI,OAAA,EACHqF,KAAAA;AAAAA,QAAK,MAAA,EAAAI,eAAAA,CAAAG,iBAAAA,EAAA,IAAA,EAAA,IAAA;AAAA,SAERN,SAAAA,EAAS;AAAA,QAAA,WACJxD,OAAAA,CAAQkB,KAAAA;AAAAA,QAAK,SAAA,EACb2B;AAAAA,OAAK,CAAA,EAAArF,OAAAA,CAEb8F,iBAAiB,IAAjBA,iBAAAA,GAAiB;AAAA,QAAAjF,OAAAA,EAAAA,MAAA,CAAjBiF,iBAAiB;AAAA,OAAA,CAAA;AAGtB,MAAA,IAAIvD,MAAMgE,OAAAA,EAAS;AACjB,QAAA,OAAAJ,gBAAAK,uBAAAA,EAAA;AAAA,UAAA,SAEWjE,KAAAA,CAAMgE,OAAAA;AAAAA,UAAO,OAAA,EACb;AAAA,YAAEL,UAAAA;AAAAA,YAAYrC,KAAKD,MAAAA,CAAOC,GAAAA;AAAAA,YAAKJ,OAAOA,KAAAA,CAAMC;AAAAA;AAAM,WAAC,IAAA,CAAA;AAAA,MAGhE;AACA,MAAA,OAAOwC,UAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,OAAO,MAAM;AAvQjB,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAwQM,MAAA,IAAIzF,MAAMY,QAAAA,IAAY,EAAA,CAACqB,EAAAA,GAAAA,UAAAA,CAAWgB,KAAAA,KAAXhB,mBAAkBiB,MAAAA,CAAAA,EAAQ;AAC/CjB,QAAAA,UAAAA,CAAWgB,KAAAA,GAAQ,CAAC,EAAE,CAAA;AAAA,MACxB;AACA,MAAA,OAAAyC,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,wDAAA;AAAA,QAAA,OAAA,EAGW;AAAA,UACL,CAAC,CAAA,EAAGxD,SAAS,CAAA,eAAA,CAAiB,GAAG,IAAA;AAAA,UACjC,CAAC,CAAA,EAAGA,SAAS,CAAA,WAAA,CAAa,GAAA,CAAA,CAAIM,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,UAAAA,CAAWS,KAAAA,KAAXT,IAAAA,GAAAA,EAAAA,GAAoB,EAAA,KAApBA,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAyBU,MAAAA,KAAU;AAAA;AACnE,OAAC,EAAA,CAEAlD,KAAAA,CAAMsB,kBAAAA,KAAuB,WAC5BtB,EAAAA,GAAAA,KAAAA,CAAMsB,kBAAAA,KAANtB,mBAA0B6E,QAAAA,MAAa,KAAA,IACvCO,cAAcnC,KAAAA,EAAAA,CAAAA,CACdhB,EAAAA,GAAAA,UAAAA,CAAWgB,UAAXhB,IAAAA,GAAAA,EAAAA,GAAoB,IAAI+D,GAAAA,CAAI,CAACC,QAAQ3C,KAAAA,KAAU;AAC/C,QAAA,IAAI4C,GAAAA,GAAM9D,MAAAA,CAAOa,KAAAA,CAAMX,IAAAA,CAAKgB,KAAK,CAAA;AACjC,QAAA,IAAI4C,QAAQ7F,MAAAA,EAAW;AACrB+B,UAAAA,MAAAA,CAAOa,KAAAA,CAAMX,IAAAA,CAAKgB,KAAK,CAAA,GAAIlB,OAAOa,KAAAA,CAAMV,EAAAA;AACxC2D,UAAAA,GAAAA,GAAM9D,MAAAA,CAAOa,KAAAA,CAAMX,IAAAA,CAAKgB,KAAK,CAAA;AAC7BlB,UAAAA,MAAAA,CAAOa,MAAMV,EAAAA,IAAM,CAAA;AAAA,QACrB;AACA,QAAA,OAAAmD,gBAAAS,oBAAAA,EAAA;AAAA,UAAA,KAAA,EAESD,GAAAA;AAAAA,UAAG,UAAA,EACEA,GAAAA;AAAAA,UAAG,cACDlG,KAAAA,CAAMM,UAAAA;AAAAA,UAAU,OAAA,EACrBgD,KAAAA;AAAAA,UAAK,SACLtD,KAAAA,CAAMgB,KAAAA;AAAAA,UAAK,YACRhB,KAAAA,CAAMa,QAAAA;AAAAA,UAAQ,OACnBb,KAAAA,CAAMiB,GAAAA;AAAAA,UAAG,OACTjB,KAAAA,CAAMmB,GAAAA;AAAAA,UAAG,SACP6B,KAAAA,CAAMC,KAAAA;AAAAA,UAAK,QAAA,EACVgD,MAAAA;AAAAA,UAAM,uBACOjG,KAAAA,CAAMoB,mBAAAA;AAAAA,UAAmB,iBAC/BpB,KAAAA,CAAMuB,aAAAA;AAAAA,UAAa,mBACjBvB,KAAAA,CAAMwB,eAAAA;AAAAA,UAAe,QAAA,EAC9B2B,MAAAA;AAAAA,UAAM,YACJnD,KAAAA,CAAMY,QAAAA;AAAAA,UAAQ,UAAA,EAKdmE,QAAAA;AAAAA,UAAQ,QAAA,EACVC;AAAAA,SAAM,EALL;AAAA,UACP7B,QAAQrB,KAAAA,CAAMqB,MAAAA;AAAAA,UACdiD,MAAMtE,KAAAA,CAAMsE;AAAAA,SACb,CAAA;AAAA,MAKP,CAAC,CAAA,EACApG,KAAAA,CAAMsB,kBAAAA,KAAuB,KAAA,KAAA,CAAA,CAC3BtB,WAAMsB,kBAAAA,KAANtB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAA0B6E,QAAAA,MAAa,QAAA,IAAA,CAAA,CACtC7E,WAAMsB,kBAAAA,KAANtB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAA0B6E,cAAaxE,MAAAA,CAAAA,IACzC+E,aAAAA,CAAcnC,KAAK,CAAA,CAAA;AAAA,IAG3B,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"FormListContainer.js","sources":["../../../../../../../../packages/components/form/src/components/FormListContainer.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 10:36:49\n * @LastEditors: shen\n * @LastEditTime: 2025-10-22 11:05:56\n * @Description:\n */\nimport type { ButtonProps } from 'ant-design-vue'\nimport type { CSSProperties, PropType, VNode } from 'vue'\nimport type { Entity, ProFormItemType } from '../type'\n\nimport { computed, defineComponent, ref, shallowRef, watch } from 'vue'\nimport { Form, Button } from 'ant-design-vue'\nimport { PlusOutlined } from '@ant-design/icons-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useFieldValue } from '../hooks/useFieldValue'\nimport { RenderVNode, cloneDeep, isEqual, omit, runFunction } from '@pro-design-vue/utils'\n\nimport FormListItem from './FormListItem'\n\nexport interface ListOperations {\n add: (defaultValue: Entity, index?: number) => Promise<boolean>\n remove: (index: number | number[]) => Promise<boolean>\n}\nexport default defineComponent({\n name: 'FormListContainer',\n inheritAttrs: false,\n props: {\n name: {\n type: [String, Array] as PropType<ProFormItemType['name']>,\n default: undefined,\n },\n originName: {\n type: [String, Array] as PropType<ProFormItemType['name']>,\n default: undefined,\n },\n initialValue: {\n type: Object as PropType<ProFormItemType['initialValue']>,\n default: undefined,\n },\n title: {\n type: [String, Object, Function] as PropType<ProFormItemType['title']>,\n default: undefined,\n },\n tooltip: {\n type: [String, Boolean],\n default: undefined,\n },\n readonly: {\n type: Boolean,\n default: undefined,\n },\n rowProps: {\n type: Object as PropType<ProFormItemType['rowProps']>,\n default: undefined,\n },\n convertValue: {\n type: Function as PropType<ProFormItemType['convertValue']>,\n default: undefined,\n },\n transform: {\n type: Function as PropType<ProFormItemType['transform']>,\n default: undefined,\n },\n items: {\n type: [Array, Function] as PropType<ProFormItemType['children']>,\n default: undefined,\n },\n min: {\n type: Number,\n default: undefined,\n },\n max: {\n type: Number,\n default: undefined,\n },\n alwaysShowItemLabel: {\n type: Boolean,\n default: undefined,\n },\n alwaysShowRowTitle: {\n type: Boolean,\n default: undefined,\n },\n rowTitle: {\n type: String,\n default: undefined,\n },\n rowTitleStyle: {\n type: Object as PropType<CSSProperties>,\n default: undefined,\n },\n creatorRecord: {\n type: [Object, Function] as PropType<Entity | (() => Entity)>,\n default: undefined,\n },\n creatorButtonProps: {\n type: [Object, Boolean] as PropType<\n | false\n | (ButtonProps & {\n creatorButtonText?: string\n position?: 'top' | 'bottom'\n })\n >,\n default: undefined,\n },\n copyIconProps: {\n type: [Object, String, Boolean] as PropType<\n false | { icon?: string | VNode; tooltipText?: string }\n >,\n default: undefined,\n },\n deleteIconProps: {\n type: [Object, String, Boolean] as PropType<\n false | { icon?: string | VNode; tooltipText?: string }\n >,\n default: undefined,\n },\n actionGuard: {\n type: Object as PropType<{\n beforeAddRow?: (\n creatorRecord: Entity,\n index?: number,\n count?: number,\n ) => boolean | Promise<boolean>\n beforeRemoveRow?: (index: number | number[], count: number) => boolean | Promise<boolean>\n }>,\n default: undefined,\n },\n onAfterAdd: {\n type: Function as PropType<\n (creatorRecord: Entity, insertIndex: number, count: number) => void\n >,\n default: undefined,\n },\n onAfterRemove: {\n type: Function as PropType<(deleteIndex: number | number[], count: number) => void>,\n default: undefined,\n },\n },\n emits: ['after-add', 'after-remvoe'],\n setup(props, { slots }) {\n const loading = ref(false)\n const listValues = ref<Entity[]>([])\n const { prefixCls } = useInjectForm()\n const keyRef = shallowRef<{ keys: number[]; id: number }>({\n keys: [],\n id: 0,\n })\n const { fieldValue, onValueChange } = useFieldValue<any>({\n namePath: computed(() => props.name!),\n initialValue: props.initialValue,\n convertValue: props.convertValue,\n transform: props.transform,\n })\n const formItemContext = Form.useInjectFormItemContext()\n const count = computed(() => fieldValue.value?.length ?? 0)\n\n const action: ListOperations = {\n add: async (defaultValue: Entity, index?: number) => {\n if (props.actionGuard?.beforeAddRow) {\n const success = await props.actionGuard?.beforeAddRow(defaultValue, index, count.value)\n if (!success) {\n return false\n }\n }\n const newValue: Entity[] = cloneDeep(fieldValue.value ?? [])\n if (index !== undefined && index >= 0 && index <= newValue.length) {\n keyRef.value.keys = [\n ...keyRef.value.keys.slice(0, index),\n keyRef.value.id,\n ...keyRef.value.keys.slice(index),\n ]\n onValueChange(\n cloneDeep([...newValue.slice(0, index), defaultValue, ...newValue.slice(index)]),\n )\n formItemContext.onFieldChange()\n } else {\n keyRef.value.keys = [...keyRef.value.keys, keyRef.value.id]\n onValueChange(cloneDeep([...newValue, defaultValue]))\n formItemContext.onFieldChange()\n }\n keyRef.value.id += 1\n Promise.resolve().then(() => {\n props.onAfterAdd?.(defaultValue, index!, count.value)\n })\n return true\n },\n remove: async (index: number | number[]) => {\n if (props.actionGuard?.beforeRemoveRow) {\n const success = await props.actionGuard?.beforeRemoveRow(index, count.value)\n if (!success) {\n return false\n }\n }\n const newValue: Entity[] = cloneDeep(fieldValue.value ?? [])\n const indexSet = new Set(Array.isArray(index) ? index : [index])\n\n if (indexSet.size <= 0) {\n return false\n }\n keyRef.value.keys = keyRef.value.keys.filter((_, keysIndex) => !indexSet.has(keysIndex))\n const value = newValue.filter((_, valueIndex) => !indexSet.has(valueIndex))\n onValueChange(value)\n formItemContext.onFieldChange()\n Promise.resolve().then(() => {\n props.onAfterRemove?.(index, count.value)\n })\n return true\n },\n }\n\n const onAdd = async () => {\n if (props.creatorButtonProps !== false) {\n loading.value = true\n let index = count.value\n if (props.creatorButtonProps?.position === 'top') index = 0\n await action.add(cloneDeep(runFunction(props.creatorRecord) || {}), index)\n loading.value = false\n }\n }\n\n const onRemove = async (index: number) => {\n await action.remove(index)\n }\n\n const onCopy = async (index: number) => {\n await action.add(cloneDeep(fieldValue.value[index]), count.value + 1)\n }\n\n watch(\n fieldValue,\n () => {\n if (!isEqual(listValues.value, fieldValue.value)) {\n listValues.value = cloneDeep(fieldValue.value ?? [])\n }\n },\n {\n immediate: true,\n },\n )\n const creatorButton = computed(() => {\n if (props.readonly || props.creatorButtonProps === false || count.value === props.max)\n return null\n const { position = 'bottom', creatorButtonText = '添加一行数据' } =\n props.creatorButtonProps ?? {}\n const {\n block = true,\n type = 'dashed',\n ...restProps\n } = omit(props.creatorButtonProps ?? {}, ['position', 'creatorButtonText'])\n const defaultDom = (\n <Button\n class={`${prefixCls}-list-creator-button-${position}`}\n type={type}\n block={block}\n icon={<PlusOutlined />}\n {...restProps}\n loading={loading.value}\n onClick={onAdd}\n >\n {creatorButtonText}\n </Button>\n )\n if (slots.creator) {\n return (\n <RenderVNode\n vnode={slots.creator}\n props={{ defaultDom, add: action.add, count: count.value }}\n />\n )\n }\n return defaultDom\n })\n\n return () => {\n if (props.readonly && !listValues.value?.length) {\n listValues.value = [{}]\n }\n return (\n <div\n style=\"width: max-content; max-width: 100%; min-width: 100%; \"\n class={{\n [`${prefixCls}-list-container`]: true,\n [`${prefixCls}-list-empty`]: (fieldValue.value ?? [])?.length == 0,\n }}\n >\n {props.creatorButtonProps !== false &&\n props.creatorButtonProps?.position === 'top' &&\n creatorButton.value}\n {(listValues.value ?? []).map((record, index) => {\n let key = keyRef.value.keys[index]\n if (key === undefined) {\n keyRef.value.keys[index] = keyRef.value.id\n key = keyRef.value.keys[index]\n keyRef.value.id += 1\n }\n return (\n <FormListItem\n key={key}\n fieldKey={key}\n originName={props.originName}\n index={index}\n items={props.items as any}\n rowProps={props.rowProps}\n min={props.min}\n max={props.max}\n count={count.value}\n record={record}\n title={props.title}\n rowTitle={props.rowTitle}\n rowTitleStyle={props.rowTitleStyle}\n alwaysShowItemLabel={props.alwaysShowItemLabel}\n alwaysShowRowTitle={props.alwaysShowRowTitle}\n copyIconProps={props.copyIconProps}\n deleteIconProps={props.deleteIconProps}\n action={action}\n readonly={props.readonly}\n v-slots={{\n action: slots.action,\n item: slots.item,\n }}\n onRemove={onRemove}\n onCopy={onCopy}\n />\n )\n })}\n {props.creatorButtonProps !== false &&\n (props.creatorButtonProps?.position === 'bottom' ||\n props.creatorButtonProps?.position === undefined) &&\n creatorButton.value}\n </div>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","type","String","Array","default","undefined","originName","initialValue","title","Function","tooltip","Boolean","readonly","rowProps","convertValue","transform","items","min","Number","max","alwaysShowItemLabel","alwaysShowRowTitle","rowTitle","rowTitleStyle","creatorRecord","creatorButtonProps","copyIconProps","deleteIconProps","actionGuard","onAfterAdd","onAfterRemove","emits","setup","slots","loading","ref","listValues","prefixCls","useInjectForm","keyRef","shallowRef","keys","id","fieldValue","onValueChange","useFieldValue","namePath","computed","formItemContext","Form","useInjectFormItemContext","count","value","length","action","add","defaultValue","index","beforeAddRow","success","newValue","cloneDeep","slice","onFieldChange","Promise","resolve","then","_a","remove","beforeRemoveRow","indexSet","Set","isArray","size","filter","_","keysIndex","has","valueIndex","onAdd","position","runFunction","onRemove","onCopy","watch","isEqual","immediate","creatorButton","creatorButtonText","block","restProps","omit","defaultDom","_createVNode","Button","_mergeProps","PlusOutlined","creator","RenderVNode","map","record","key","FormListItem","item"],"mappings":"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"}
@@ -34,6 +34,10 @@ var FormListItem = /* @__PURE__ */ vue.defineComponent({
34
34
  type: Number,
35
35
  default: 0
36
36
  },
37
+ title: {
38
+ type: [String, Object, Function],
39
+ default: void 0
40
+ },
37
41
  items: {
38
42
  type: Array,
39
43
  default: () => []
@@ -58,6 +62,18 @@ var FormListItem = /* @__PURE__ */ vue.defineComponent({
58
62
  type: Boolean,
59
63
  default: void 0
60
64
  },
65
+ alwaysShowRowTitle: {
66
+ type: Boolean,
67
+ default: void 0
68
+ },
69
+ rowTitle: {
70
+ type: String,
71
+ default: void 0
72
+ },
73
+ rowTitleStyle: {
74
+ type: Object,
75
+ default: void 0
76
+ },
61
77
  count: {
62
78
  type: Number,
63
79
  default: 0
@@ -151,6 +167,7 @@ var FormListItem = /* @__PURE__ */ vue.defineComponent({
151
167
  const fields = (_b = runFunction.runFunction((_a = props.items) != null ? _a : [], formData.value)) != null ? _b : [];
152
168
  return (_c = formatItems == null ? void 0 : formatItems(genListItems(fields))) != null ? _c : [];
153
169
  });
170
+ const showRowTitle = vue.computed(() => props.alwaysShowRowTitle && props.rowTitle);
154
171
  const deleteIcon = vue.computed(() => {
155
172
  var _a;
156
173
  if (props.readonly || props.deleteIconProps === false || props.min === props.count) return null;
@@ -272,9 +289,15 @@ var FormListItem = /* @__PURE__ */ vue.defineComponent({
272
289
  }, null);
273
290
  }
274
291
  return vue.createVNode("div", {
292
+ "class": `${prefixCls}-list-item-wrapper`
293
+ }, [showRowTitle.value && vue.createVNode("div", {
294
+ "class": `${prefixCls}-list-item-title`
295
+ }, [vue.createVNode("div", {
296
+ "style": props.rowTitleStyle
297
+ }, [props.rowTitle, props.index + 1]), actionDom]), vue.createVNode("div", {
275
298
  "class": `${prefixCls}-list-item`,
276
299
  "style": "display: flex; align-items: flex-end;"
277
- }, [itemDom, actionDom]);
300
+ }, [itemDom, !showRowTitle.value && actionDom])]);
278
301
  };
279
302
  }
280
303
  });
@@ -1 +1 @@
1
- {"version":3,"file":"FormListItem.js","sources":["../../../../../../../../packages/components/form/src/components/FormListItem.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 10:36:49\n * @LastEditors: shen\n * @LastEditTime: 2025-07-26 11:51:54\n * @Description:\n */\nimport type { PropType, VNode } from 'vue'\nimport type { Entity, NamePath, ProFormItemType } from '../type'\nimport type { ListOperations } from './FormList'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { CopyOutlined, DeleteOutlined } from '@ant-design/icons-vue'\nimport { Spin, Tooltip } from 'ant-design-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useInjectFormList, useProvideFormList } from '../context/FormListContext'\nimport { ProFieldType } from '../fieldType'\nimport { cloneDeep, RenderVNode, runFunction } from '@pro-design-vue/utils'\n\nimport getSlot from '../utils/getSlot'\nimport covertFormName from '../utils/namePath'\nimport FormRowWrapper from './FormRowWrapper'\nimport FormItems from './FormItems'\n\nconst NOT_ALLOW_FIELD_TYPES = ['formSet', 'divider']\n\nexport default defineComponent({\n name: 'FormListItem',\n inheritAttrs: false,\n props: {\n index: {\n type: Number,\n default: 0,\n },\n originName: {\n type: [String, Array] as PropType<ProFormItemType['name']>,\n default: () => [],\n },\n fieldKey: {\n type: Number,\n default: 0,\n },\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n readonly: {\n type: Boolean,\n default: undefined,\n },\n rowProps: {\n type: Object as PropType<ProFormItemType['rowProps']>,\n default: undefined,\n },\n copyIconProps: {\n type: [Object, Boolean] as PropType<false | { icon?: string | VNode; tooltipText?: string }>,\n default: undefined,\n },\n deleteIconProps: {\n type: [Object, Boolean] as PropType<false | { icon?: string | VNode; tooltipText?: string }>,\n default: undefined,\n },\n alwaysShowItemLabel: {\n type: Boolean,\n default: undefined,\n },\n count: {\n type: Number,\n default: 0,\n },\n min: {\n type: Number,\n default: undefined,\n },\n max: {\n type: Number,\n default: undefined,\n },\n record: {\n type: Object as PropType<Entity>,\n default: undefined,\n },\n action: {\n type: Object as PropType<ListOperations>,\n required: true,\n },\n onRemove: {\n type: Function as PropType<(index: number) => Promise<void>>,\n required: true,\n },\n onCopy: {\n type: Function as PropType<(index: number) => Promise<void>>,\n required: true,\n },\n },\n emits: ['remove', 'copy'],\n setup(props, { slots }) {\n const { formatItems, prefixCls, formData, grid } = useInjectForm()\n const listContext = useInjectFormList()\n const formSlotsContext = useInjectSlots()\n const loadingRemove = ref(false)\n const loadingCopy = ref(false)\n const index = computed(() => props.index)\n const listName = computed<Array<string | number>>(\n () =>\n [listContext.listName?.value, props.originName, index.value]\n .filter((item) => item !== undefined)\n .flat(1) as Array<string | number>,\n )\n\n const listKey = computed(() =>\n [listContext.listKey, covertFormName(props.originName), props.fieldKey]\n .filter((item) => item !== undefined)\n .flat(1)\n .join('_'),\n )\n\n const formatDependencies = (item: ProFormItemType): NamePath[] => {\n const newDependencies: NamePath[] = []\n item.dependencies?.forEach((dep) => {\n const namePath = covertFormName(dep)\n if (namePath) {\n newDependencies.push(\n [...listName.value, namePath].filter((item) => item !== undefined).flat(1) as NamePath,\n )\n }\n })\n return newDependencies\n }\n\n const genListItems = (fields: ProFormItemType[]): ProFormItemType[] => {\n return cloneDeep(fields)\n .filter((item) => !NOT_ALLOW_FIELD_TYPES.includes(item.fieldType ?? ''))\n .map((field) => {\n if (field.fieldType === ProFieldType.GROUP) {\n field.children = genListItems(runFunction(field.children ?? [], formData.value) ?? [])\n return field\n }\n const originName = field.originName ?? field.name\n const originKey = field.originKey ?? field.key\n const namePath = covertFormName(field.name)\n const title = index.value === 0 || props.alwaysShowItemLabel ? field.title : undefined\n const item = {\n ...field,\n title,\n originKey,\n key: `${listKey.value}_${field.key ?? namePath?.join('_')}`,\n originName,\n name: [...(listName?.value ?? []), namePath]\n .filter((item) => item !== undefined)\n .flat(1),\n } as ProFormItemType\n\n if (Array.isArray(field.dependencies) && field.dependencies.length > 0 && field.name) {\n item.dependencies = formatDependencies(item)\n }\n return item\n }) as ProFormItemType[]\n }\n\n const items = computed(() => {\n const fields = runFunction(props.items ?? [], formData.value) ?? []\n return formatItems?.(genListItems(fields)) ?? []\n })\n\n const deleteIcon = computed(() => {\n if (props.readonly || props.deleteIconProps === false || props.min === props.count)\n return null\n const { icon, tooltipText } = props.deleteIconProps ?? {}\n let dom = <DeleteOutlined />\n if (icon) {\n const vnode = getSlot(icon, formSlotsContext)\n dom = <RenderVNode vnode={vnode} props={{ defaultDom: dom }} />\n }\n return (\n <Spin size=\"small\" spinning={loadingRemove.value}>\n <Tooltip title={tooltipText ?? '删除此行'} key=\"delete\">\n <div\n class={`${prefixCls}-list-action-icon ${prefixCls}-list-action-remove`}\n onClick={onRemove}\n >\n {dom}\n </div>\n </Tooltip>\n </Spin>\n )\n })\n\n const copyIcon = computed(() => {\n if (props.readonly || props.copyIconProps === false || props.max === props.count) return null\n const { icon, tooltipText } = props.copyIconProps ?? {}\n let dom = <CopyOutlined />\n if (icon) {\n const vnode = getSlot(icon, formSlotsContext)\n dom = <RenderVNode vnode={vnode} props={{ defaultDom: dom }} />\n }\n return (\n <Spin size=\"small\" spinning={loadingCopy.value}>\n <Tooltip title={tooltipText ?? '复制此行'} key=\"copy\">\n <div\n class={`${prefixCls}-list-action-icon ${prefixCls}-list-action-copy`}\n onClick={onCopy}\n >\n {dom}\n </div>\n </Tooltip>\n </Spin>\n )\n })\n\n const onRemove = async () => {\n loadingRemove.value = true\n await props.onRemove(index.value)\n loadingRemove.value = false\n }\n\n const onCopy = async () => {\n loadingCopy.value = true\n await props.onCopy(index.value)\n loadingCopy.value = false\n }\n\n useProvideFormList({\n isList: true,\n originName: props.originName,\n index,\n fieldKey: props.fieldKey,\n listName: listName,\n listKey: listKey.value,\n rowData: computed(() => props.record!),\n })\n return () => {\n if (!items.value.length) return null\n\n const defaultActionDom = (\n <div class={`${prefixCls}-list-action`}>\n {copyIcon.value}\n {deleteIcon.value}\n </div>\n )\n\n const actionDom = slots.action ? (\n <RenderVNode\n vnode={slots.action}\n props={{\n index: index.value,\n action: props.action,\n defaultDom: defaultActionDom,\n record: props.record ?? {},\n }}\n />\n ) : (\n defaultActionDom\n )\n\n const itemDom = (\n <div\n class={`${prefixCls}-list-item-container`}\n style={{ width: grid?.value ? '100%' : undefined }}\n >\n <FormRowWrapper rowProps={props.rowProps}>\n <FormItems list={items.value}></FormItems>\n </FormRowWrapper>\n </div>\n )\n\n if (slots.item) {\n return (\n <RenderVNode\n vnode={slots.item}\n props={{ listDom: itemDom, actionDom, record: props.record ?? {} }}\n />\n )\n }\n return (\n <div class={`${prefixCls}-list-item`} style=\"display: flex; align-items: flex-end;\">\n {itemDom}\n {actionDom}\n </div>\n )\n }\n },\n})\n"],"names":["NOT_ALLOW_FIELD_TYPES","name","inheritAttrs","props","index","type","Number","default","originName","String","Array","fieldKey","items","readonly","Boolean","undefined","rowProps","Object","copyIconProps","deleteIconProps","alwaysShowItemLabel","count","min","max","record","action","required","onRemove","Function","onCopy","emits","setup","slots","formatItems","prefixCls","formData","grid","useInjectForm","listContext","useInjectFormList","formSlotsContext","useInjectSlots","loadingRemove","ref","loadingCopy","computed","listName","value","filter","item","flat","listKey","covertFormName","join","formatDependencies","newDependencies","dependencies","forEach","dep","namePath","push","genListItems","fields","cloneDeep","includes","fieldType","map","field","ProFieldType","GROUP","children","runFunction","originKey","key","title","isArray","length","deleteIcon","icon","tooltipText","dom","_createVNode","DeleteOutlined","vnode","getSlot","RenderVNode","defaultDom","Spin","Tooltip","copyIcon","CopyOutlined","useProvideFormList","isList","rowData","defaultActionDom","actionDom","itemDom","width","FormRowWrapper","FormItems","listDom"],"mappings":"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"}
1
+ {"version":3,"file":"FormListItem.js","sources":["../../../../../../../../packages/components/form/src/components/FormListItem.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 10:36:49\n * @LastEditors: shen\n * @LastEditTime: 2025-10-22 11:06:14\n * @Description:\n */\nimport type { CSSProperties, PropType, VNode } from 'vue'\nimport type { Entity, NamePath, ProFormItemType } from '../type'\nimport type { ListOperations } from './FormList'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { CopyOutlined, DeleteOutlined } from '@ant-design/icons-vue'\nimport { Spin, Tooltip } from 'ant-design-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useInjectFormList, useProvideFormList } from '../context/FormListContext'\nimport { ProFieldType } from '../fieldType'\nimport { cloneDeep, RenderVNode, runFunction } from '@pro-design-vue/utils'\n\nimport getSlot from '../utils/getSlot'\nimport covertFormName from '../utils/namePath'\nimport FormRowWrapper from './FormRowWrapper'\nimport FormItems from './FormItems'\n\nconst NOT_ALLOW_FIELD_TYPES = ['formSet', 'divider']\n\nexport default defineComponent({\n name: 'FormListItem',\n inheritAttrs: false,\n props: {\n index: {\n type: Number,\n default: 0,\n },\n originName: {\n type: [String, Array] as PropType<ProFormItemType['name']>,\n default: () => [],\n },\n fieldKey: {\n type: Number,\n default: 0,\n },\n title: {\n type: [String, Object, Function] as PropType<ProFormItemType['title']>,\n default: undefined,\n },\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n readonly: {\n type: Boolean,\n default: undefined,\n },\n rowProps: {\n type: Object as PropType<ProFormItemType['rowProps']>,\n default: undefined,\n },\n copyIconProps: {\n type: [Object, Boolean] as PropType<false | { icon?: string | VNode; tooltipText?: string }>,\n default: undefined,\n },\n deleteIconProps: {\n type: [Object, Boolean] as PropType<false | { icon?: string | VNode; tooltipText?: string }>,\n default: undefined,\n },\n alwaysShowItemLabel: {\n type: Boolean,\n default: undefined,\n },\n alwaysShowRowTitle: {\n type: Boolean,\n default: undefined,\n },\n rowTitle: {\n type: String,\n default: undefined,\n },\n rowTitleStyle: {\n type: Object as PropType<CSSProperties>,\n default: undefined,\n },\n count: {\n type: Number,\n default: 0,\n },\n min: {\n type: Number,\n default: undefined,\n },\n max: {\n type: Number,\n default: undefined,\n },\n record: {\n type: Object as PropType<Entity>,\n default: undefined,\n },\n action: {\n type: Object as PropType<ListOperations>,\n required: true,\n },\n onRemove: {\n type: Function as PropType<(index: number) => Promise<void>>,\n required: true,\n },\n onCopy: {\n type: Function as PropType<(index: number) => Promise<void>>,\n required: true,\n },\n },\n emits: ['remove', 'copy'],\n setup(props, { slots }) {\n const { formatItems, prefixCls, formData, grid } = useInjectForm()\n const listContext = useInjectFormList()\n const formSlotsContext = useInjectSlots()\n const loadingRemove = ref(false)\n const loadingCopy = ref(false)\n const index = computed(() => props.index)\n const listName = computed<Array<string | number>>(\n () =>\n [listContext.listName?.value, props.originName, index.value]\n .filter((item) => item !== undefined)\n .flat(1) as Array<string | number>,\n )\n\n const listKey = computed(() =>\n [listContext.listKey, covertFormName(props.originName), props.fieldKey]\n .filter((item) => item !== undefined)\n .flat(1)\n .join('_'),\n )\n\n const formatDependencies = (item: ProFormItemType): NamePath[] => {\n const newDependencies: NamePath[] = []\n item.dependencies?.forEach((dep) => {\n const namePath = covertFormName(dep)\n if (namePath) {\n newDependencies.push(\n [...listName.value, namePath].filter((item) => item !== undefined).flat(1) as NamePath,\n )\n }\n })\n return newDependencies\n }\n\n const genListItems = (fields: ProFormItemType[]): ProFormItemType[] => {\n return cloneDeep(fields)\n .filter((item) => !NOT_ALLOW_FIELD_TYPES.includes(item.fieldType ?? ''))\n .map((field) => {\n if (field.fieldType === ProFieldType.GROUP) {\n field.children = genListItems(runFunction(field.children ?? [], formData.value) ?? [])\n return field\n }\n const originName = field.originName ?? field.name\n const originKey = field.originKey ?? field.key\n const namePath = covertFormName(field.name)\n const title = index.value === 0 || props.alwaysShowItemLabel ? field.title : undefined\n const item = {\n ...field,\n title,\n originKey,\n key: `${listKey.value}_${field.key ?? namePath?.join('_')}`,\n originName,\n name: [...(listName?.value ?? []), namePath]\n .filter((item) => item !== undefined)\n .flat(1),\n } as ProFormItemType\n\n if (Array.isArray(field.dependencies) && field.dependencies.length > 0 && field.name) {\n item.dependencies = formatDependencies(item)\n }\n return item\n }) as ProFormItemType[]\n }\n\n const items = computed(() => {\n const fields = runFunction(props.items ?? [], formData.value) ?? []\n return formatItems?.(genListItems(fields)) ?? []\n })\n\n const showRowTitle = computed(() => props.alwaysShowRowTitle && props.rowTitle)\n\n const deleteIcon = computed(() => {\n if (props.readonly || props.deleteIconProps === false || props.min === props.count)\n return null\n const { icon, tooltipText } = props.deleteIconProps ?? {}\n let dom = <DeleteOutlined />\n if (icon) {\n const vnode = getSlot(icon, formSlotsContext)\n dom = <RenderVNode vnode={vnode} props={{ defaultDom: dom }} />\n }\n return (\n <Spin size=\"small\" spinning={loadingRemove.value}>\n <Tooltip title={tooltipText ?? '删除此行'} key=\"delete\">\n <div\n class={`${prefixCls}-list-action-icon ${prefixCls}-list-action-remove`}\n onClick={onRemove}\n >\n {dom}\n </div>\n </Tooltip>\n </Spin>\n )\n })\n\n const copyIcon = computed(() => {\n if (props.readonly || props.copyIconProps === false || props.max === props.count) return null\n const { icon, tooltipText } = props.copyIconProps ?? {}\n let dom = <CopyOutlined />\n if (icon) {\n const vnode = getSlot(icon, formSlotsContext)\n dom = <RenderVNode vnode={vnode} props={{ defaultDom: dom }} />\n }\n return (\n <Spin size=\"small\" spinning={loadingCopy.value}>\n <Tooltip title={tooltipText ?? '复制此行'} key=\"copy\">\n <div\n class={`${prefixCls}-list-action-icon ${prefixCls}-list-action-copy`}\n onClick={onCopy}\n >\n {dom}\n </div>\n </Tooltip>\n </Spin>\n )\n })\n\n const onRemove = async () => {\n loadingRemove.value = true\n await props.onRemove(index.value)\n loadingRemove.value = false\n }\n\n const onCopy = async () => {\n loadingCopy.value = true\n await props.onCopy(index.value)\n loadingCopy.value = false\n }\n\n useProvideFormList({\n isList: true,\n originName: props.originName,\n index,\n fieldKey: props.fieldKey,\n listName: listName,\n listKey: listKey.value,\n rowData: computed(() => props.record!),\n })\n return () => {\n if (!items.value.length) return null\n\n const defaultActionDom = (\n <div class={`${prefixCls}-list-action`}>\n {copyIcon.value}\n {deleteIcon.value}\n </div>\n )\n\n const actionDom = slots.action ? (\n <RenderVNode\n vnode={slots.action}\n props={{\n index: index.value,\n action: props.action,\n defaultDom: defaultActionDom,\n record: props.record ?? {},\n }}\n />\n ) : (\n defaultActionDom\n )\n\n const itemDom = (\n <div\n class={`${prefixCls}-list-item-container`}\n style={{ width: grid?.value ? '100%' : undefined }}\n >\n <FormRowWrapper rowProps={props.rowProps}>\n <FormItems list={items.value}></FormItems>\n </FormRowWrapper>\n </div>\n )\n\n if (slots.item) {\n return (\n <RenderVNode\n vnode={slots.item}\n props={{ listDom: itemDom, actionDom, record: props.record ?? {} }}\n />\n )\n }\n return (\n <div class={`${prefixCls}-list-item-wrapper`}>\n {showRowTitle.value && (\n <div class={`${prefixCls}-list-item-title`}>\n <div style={props.rowTitleStyle}>\n {props.rowTitle}\n {props.index + 1}\n </div>\n {actionDom}\n </div>\n )}\n <div class={`${prefixCls}-list-item`} style=\"display: flex; align-items: flex-end;\">\n {itemDom}\n {!showRowTitle.value && actionDom}\n </div>\n </div>\n )\n }\n },\n})\n"],"names":["NOT_ALLOW_FIELD_TYPES","name","inheritAttrs","props","index","type","Number","default","originName","String","Array","fieldKey","title","Object","Function","undefined","items","readonly","Boolean","rowProps","copyIconProps","deleteIconProps","alwaysShowItemLabel","alwaysShowRowTitle","rowTitle","rowTitleStyle","count","min","max","record","action","required","onRemove","onCopy","emits","setup","slots","formatItems","prefixCls","formData","grid","useInjectForm","listContext","useInjectFormList","formSlotsContext","useInjectSlots","loadingRemove","ref","loadingCopy","computed","listName","value","filter","item","flat","listKey","covertFormName","join","formatDependencies","newDependencies","dependencies","forEach","dep","namePath","push","genListItems","fields","cloneDeep","includes","fieldType","map","field","ProFieldType","GROUP","children","runFunction","originKey","key","isArray","length","showRowTitle","deleteIcon","icon","tooltipText","dom","_createVNode","DeleteOutlined","vnode","getSlot","RenderVNode","defaultDom","Spin","Tooltip","copyIcon","CopyOutlined","useProvideFormList","isList","rowData","defaultActionDom","actionDom","itemDom","width","FormRowWrapper","FormItems","listDom"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormContext.js","sources":["../../../../../../../../packages/components/form/src/context/FormContext.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-06-08 20:07:35\n * @LastEditors: shen\n * @LastEditTime: 2025-10-10 10:24:26\n * @Description:\n */\n\nimport type { InjectionKey, ComputedRef, ShallowRef, Ref } from 'vue'\nimport type { RowProps, ColProps } from 'ant-design-vue'\nimport type {\n ProFormItemType,\n Entity,\n ProFormActionType,\n ReadonlyProps,\n Theme,\n KeyboardEventHandler,\n} from '../type'\nimport type { Linkage } from '../hooks/useLinkage'\n\nimport { inject, provide } from 'vue'\n\nexport interface FormContextProps extends Linkage {\n action: ProFormActionType\n formKey: Ref<string>\n prefixCls?: string\n mountedRef: Ref<boolean>\n initialValues?: ShallowRef<Entity>\n formData: Ref<Entity>\n hasInitial: Ref<boolean>\n theme: ComputedRef<Theme>\n customUi: ComputedRef<boolean>\n grid?: ComputedRef<boolean>\n readonly?: ComputedRef<boolean>\n readonlyProps?: ComputedRef<ReadonlyProps | undefined>\n rowProps?: ComputedRef<RowProps>\n colProps?: ComputedRef<ColProps>\n gutter?: ComputedRef<number>\n disabled?: ComputedRef<boolean>\n onPressEnter?: KeyboardEventHandler\n formatItems?: (items: ProFormItemType[]) => ProFormItemType[]\n}\nexport const FormContextKey: InjectionKey<FormContextProps> = Symbol('FormContext')\n\nexport const useProvideForm = (props: FormContextProps) => {\n provide(FormContextKey, props)\n}\n\nexport const useInjectForm = () => {\n return inject(FormContextKey, {} as FormContextProps)\n}\n"],"names":["provide","inject"],"mappings":";;;;AA0CO,MAAM,cAAA,GAAiD,OAAO,aAAa;AAE3E,MAAM,cAAA,GAAiB,CAAC,KAAA,KAA4B;AACzD,EAAAA,WAAA,CAAQ,gBAAgB,KAAK,CAAA;AAC/B;AAEO,MAAM,gBAAgB,MAAM;AACjC,EAAA,OAAOC,UAAA,CAAO,cAAA,EAAgB,EAAsB,CAAA;AACtD;;;;;;"}
1
+ {"version":3,"file":"FormContext.js","sources":["../../../../../../../../packages/components/form/src/context/FormContext.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-06-08 20:07:35\n * @LastEditors: shen\n * @LastEditTime: 2025-10-22 10:29:11\n * @Description:\n */\n\nimport type { InjectionKey, ComputedRef, ShallowRef, Ref } from 'vue'\nimport type { RowProps, ColProps } from 'ant-design-vue'\nimport type {\n ProFormItemType,\n Entity,\n ProFormActionType,\n ReadonlyProps,\n Theme,\n KeyboardEventHandler,\n} from '../type'\nimport type { Linkage } from '../hooks/useLinkage'\n\nimport { inject, provide } from 'vue'\n\nexport interface FormContextProps extends Linkage {\n action: ProFormActionType\n formKey: Ref<string>\n prefixCls?: string\n mountedRef: Ref<boolean>\n initialValues?: ShallowRef<Entity>\n formData: Ref<Entity>\n hasInitial: Ref<boolean>\n theme: ComputedRef<Theme>\n customUi: ComputedRef<boolean>\n grid?: ComputedRef<boolean>\n readonly?: ComputedRef<boolean>\n readonlyProps?: ComputedRef<ReadonlyProps | undefined>\n rowProps?: ComputedRef<RowProps>\n colProps?: ComputedRef<ColProps>\n labelCol?: ComputedRef<ColProps>\n wrapperCol?: ComputedRef<ColProps>\n gutter?: ComputedRef<number>\n disabled?: ComputedRef<boolean>\n onPressEnter?: KeyboardEventHandler\n formatItems?: (items: ProFormItemType[]) => ProFormItemType[]\n}\nexport const FormContextKey: InjectionKey<FormContextProps> = Symbol('FormContext')\n\nexport const useProvideForm = (props: FormContextProps) => {\n provide(FormContextKey, props)\n}\n\nexport const useInjectForm = () => {\n return inject(FormContextKey, {} as FormContextProps)\n}\n"],"names":["provide","inject"],"mappings":";;;;AA4CO,MAAM,cAAA,GAAiD,OAAO,aAAa;AAE3E,MAAM,cAAA,GAAiB,CAAC,KAAA,KAA4B;AACzD,EAAAA,WAAA,CAAQ,gBAAgB,KAAK,CAAA;AAC/B;AAEO,MAAM,gBAAgB,MAAM;AACjC,EAAA,OAAOC,UAAA,CAAO,cAAA,EAAgB,EAAsB,CAAA;AACtD;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BodyRow.vue.js","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyRow.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-08 21:59:48\n * @LastEditors: shen\n * @LastEditTime: 2025-10-12 13:49:34\n * @Description:\n-->\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n onBeforeUnmount,\n computed,\n nextTick,\n watchEffect,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext'\nimport { ExpandColumnKey } from '../../hooks/useColumns'\nimport { RenderSlot } from '../../utils/renderVNode'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { useCellSelection } from '../../hooks/useCellSelection'\nimport { useCellKeyboard } from '../../hooks/useCellKeyboard'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport eagerComputed from '../../utils/eagerComputed'\nimport classNames from '../../utils/classNames'\nimport BodyCell from './BodyCell'\nimport ExpandedRow from './ExpandedRow.vue'\nimport BodyExtraCell from './BodyExtraCell.vue'\nimport ExpandIcon from '../ExpandIcon.vue'\n\nimport type { CSSProperties, PropType } from 'vue'\nimport type { RowClassName, RowType, Key } from '../interface'\n\nlet uniIdCount = 0\nexport default defineComponent({\n name: 'ProTableBodyRow',\n components: {\n ExpandIcon,\n BodyCell,\n ExpandedRow,\n BodyExtraCell,\n RenderSlot,\n },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n isExpandRow: Boolean as PropType<boolean>,\n record: { type: Object },\n type: { type: String as PropType<RowType> },\n rowKey: { type: [Number, String] as PropType<Key>, required: true },\n supportExpand: Boolean,\n pos: Number as PropType<number>,\n rowIndex: Number as PropType<number>,\n flattenRowIndex: Number,\n indent: Number as PropType<number>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n getRowClassName: { type: Function as PropType<RowClassName<any>> },\n },\n setup(props) {\n const rowUniId = 'row_uni_id_' + uniIdCount++\n const tableContext = useInjectTable()\n const rowInstance = getCurrentInstance()\n const { table } = useProConfigInject()\n const { editCellKeys, closeEditor, openEditor } = useEditInject()\n\n let isUnmount = false\n const bodyRow = ref()\n\n const { onCellMousedown, onCellMousemove, onCellClick } = useCellSelection()\n const { onCellKeydown } = useCellKeyboard()\n\n const calMaxHeight = () => {\n if (isUnmount) return\n let rowHeight = 0\n let autoCells: HTMLDivElement[] = []\n if (bodyRow.value) {\n autoCells = bodyRow.value.querySelectorAll('div[data-cell-auto=true]')\n }\n autoCells.forEach((autoCell: HTMLDivElement) => {\n const { offsetWidth, offsetHeight } = autoCell\n let autoCellHeight = offsetWidth ? offsetHeight : 0\n const parentStyle = getComputedStyle(autoCell.parentNode as Element)\n autoCellHeight +=\n parseFloat(parentStyle.getPropertyValue('border-top-width')) +\n parseFloat(parentStyle.getPropertyValue('border-bottom-width'))\n rowHeight = rowHeight > autoCellHeight ? rowHeight : autoCellHeight\n })\n if (autoCells.length) {\n tableContext.addRowHeight(rowUniId, props.rowKey!, rowHeight)\n } else {\n tableContext.removeRowHeight(rowUniId)\n }\n }\n\n watch(\n () => props.rowKey,\n () => {\n calMaxHeight()\n },\n { flush: 'post' },\n )\n\n const resizeObserver: ResizeObserver = new ResizeObserver(() => {\n calMaxHeight()\n })\n\n const { columns, columnStartIndex } = useInjectBodyRows()\n const mergedColumns = computed(() =>\n (props.type === 'center'\n ? tableContext.centerRowColumnsMap.value.get(props.rowKey)\n : columns.value)!.filter((item) => !!item),\n )\n\n const { tooltipOpen, leftPopupContainer, centerPopupContainer, rightPopupContainer } =\n useInjectBody()\n const { handleCellBlur, handleCellHover, hoverRowKey, hoverColumnKey, rowHover } =\n useInjectHover()\n\n const popupContainer = computed(() =>\n props.type === 'left'\n ? leftPopupContainer.value\n : props.type === 'center'\n ? centerPopupContainer.value\n : props.type === 'right'\n ? rightPopupContainer.value\n : null,\n )\n\n const isDragging = eagerComputed(() => tableContext.draggingRowKey.value === props.rowKey)\n const isRowHover = eagerComputed(() => hoverRowKey.value === props.rowKey)\n\n watch(\n [isRowHover, bodyRow],\n () => {\n bodyRow.value &&\n rowHover.value &&\n (isRowHover.value\n ? addClass(bodyRow.value, `${props.prefixCls}-row-hover`)\n : removeClass(bodyRow.value, `${props.prefixCls}-row-hover`))\n },\n { immediate: true, flush: 'post' },\n )\n\n const mergedTooltipOpen = eagerComputed(() => tooltipOpen.value && isRowHover.value)\n\n let timer: any\n onBeforeUnmount(() => {\n isUnmount = true\n resizeObserver.disconnect()\n clearTimeout(timer)\n tableContext.removeRowHeight(rowUniId)\n })\n\n const hasMultiRowSpanInfo = eagerComputed(() => {\n return !tableContext.hasMultiRowSpanInfo.value[props.rowKey!]\n })\n\n const customRowProps = computed(() => {\n return tableContext.props.customRow?.(props.record!, props.rowIndex)\n })\n\n const rowSelectionType = computed(() => {\n return tableContext.props.rowSelection?.type\n })\n\n const isExpanded = ref(false)\n const expandedRowKeys = computed(() => tableContext.expandedRowKeys.value)\n const expanded = eagerComputed(() => expandedRowKeys.value.has?.(props.rowKey!))\n const expandIconColumnIndex = computed(() => tableContext.expandIconColumnIndex.value || 0)\n const indentSize = computed(() => tableContext.indentSize.value)\n\n watchEffect(() => {\n if (expanded.value) {\n isExpanded.value = true\n }\n })\n\n const rowExpandable = computed(\n () =>\n tableContext.expandType.value === 'row' &&\n tableContext.props.rowExpandable?.(props.record!),\n )\n\n const nestExpandable = computed(() => tableContext.expandType.value === 'nest')\n\n const hasNestChildren = computed(\n () =>\n !!(\n tableContext.childrenColumnName.value &&\n props.record?.[tableContext.childrenColumnName.value]\n ),\n )\n const mergedExpandable = computed(() => rowExpandable.value || nestExpandable.value)\n\n const onInternalTriggerExpand = (record: any, event: any) => {\n tableContext.onTriggerExpand(record, props.rowKey!, event)\n }\n\n const mergedRowHeights = computed(() => tableContext.mergedRowHeights.value)\n\n const height = eagerComputed(() => mergedRowHeights.value[props.rowKey!])\n const cellHeight = eagerComputed(() => tableContext.rowHeights.value[props.rowKey!])\n\n const isSelected = computed(() => {\n const highlightSelectRow =\n tableContext.props.highlightSelectRow ?? table?.value?.highlightSelectRow\n return (\n highlightSelectRow && tableContext.selection.derivedSelectedKeySet.value.has(props.rowKey!)\n )\n })\n\n const rowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n const isEven = rowIndex! % 2 == 0\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-row-level-${indent}`]: true,\n [`${prefixCls}-row-hover`]: isRowHover.value && rowHover.value,\n [`${prefixCls}-row-dragging`]: isDragging.value,\n [`${prefixCls}-row-dragging-insert-target`]:\n tableContext.insertToRowKey.value === props.rowKey,\n [`${prefixCls}-row-odd`]: !isEven,\n [`${prefixCls}-row-even`]: isEven,\n [`${prefixCls}-no-height`]: !height.value,\n [`${prefixCls}-row-selected`]: isSelected.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandRowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-expanded-row`]: true,\n [`${prefixCls}-expanded-row-level-${indent! + 1}`]: true,\n [`${prefixCls}-no-height`]: !height.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandColumnWidth = eagerComputed(() => {\n return tableContext.allCellProps.value[props.rowKey!]?.[ExpandColumnKey]?.props?.style?.width\n })\n\n const rowStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {\n opacity: 1,\n [`--${props.prefixCls}-row-bg`]: `var(--${props.prefixCls}-row-bg-${props.rowKey}, var(--${props.prefixCls}-bg))`,\n }\n if (hasMultiRowSpanInfo.value) {\n style.transform = `translateY(${props.pos}px)`\n } else {\n style.top = `${props.pos}px`\n }\n if (height.value !== undefined) {\n style.height = `${height.value}px`\n } else {\n style.height = `${tableContext.baseHeight.value}px`\n }\n if (props.isExpandRow && columnStartIndex.value === 0) {\n style.width = expandColumnWidth.value\n style.minWidth = '100%'\n }\n return style\n })\n\n watch(\n () => ({ ...rowStyle.value }),\n (newStyle, oldStyle = {}) => {\n if (tableContext.animateRows.value && !tableContext.useAnimate.value) {\n if (\n newStyle.top !== oldStyle.top ||\n newStyle.height !== oldStyle.height ||\n newStyle.transform !== oldStyle.transform\n ) {\n nextTick(() => {\n clearTimeout(timer)\n if (rowInstance?.vnode.el && rowInstance.vnode.el.style) {\n rowInstance.vnode.el.style.transition = 'none'\n timer = setTimeout(() => {\n if (rowInstance?.vnode?.el?.style) {\n rowInstance.vnode.el.style.transition = null\n }\n }, 100)\n }\n })\n }\n }\n },\n { immediate: true },\n )\n\n useProvideBodyRow({\n top: computed(() => props.pos!),\n height: computed(() =>\n height.value !== undefined ? height.value : tableContext.baseHeight.value,\n ),\n rowKey: computed(() => props.rowKey),\n })\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-position-absolute`]: true,\n }))\n\n return {\n rowClass,\n rowStyle,\n cellClass,\n tableContext,\n mergedRowHeights,\n handleCellBlur,\n handleCellHover,\n handleClick: (event: any) => {\n const expandRowByClick =\n tableContext.props.expandRowByClick ?? table?.value?.expandRowByClick\n expandRowByClick && mergedExpandable.value && onInternalTriggerExpand(props.record, event)\n },\n rowSelectionType,\n nestExpandable,\n hasNestChildren,\n mergedExpandable,\n expandIconColumnIndex,\n indentSize,\n expanded,\n onInternalTriggerExpand,\n customRowProps,\n expandColumnKey: ExpandColumnKey,\n expandRowClass,\n mergedColumns,\n height,\n cellHeight,\n columnStartIndex,\n resizeObserver,\n calMaxHeight,\n bodyRow,\n hoverRowKey,\n hoverColumnKey,\n xVirtual: eagerComputed(() => tableContext.xVirtual.value),\n getPopupContainer: () => popupContainer.value!,\n editCellKeys,\n closeEditor,\n openEditor,\n mergedTooltipOpen,\n onCellMousedown,\n onCellKeydown,\n onCellMousemove,\n onCellClick,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isExpandRow\">\n <div\n v-if=\"columnStartIndex === 0\"\n ref=\"bodyRow\"\n :data-row-key=\"rowKey\"\n :class=\"expandRowClass\"\n :style=\"rowStyle\"\n role=\"row\"\n >\n <ExpandedRow\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n />\n </div>\n </template>\n <div\n v-else\n v-bind=\"customRowProps\"\n ref=\"bodyRow\"\n :class=\"rowClass\"\n :style=\"rowStyle\"\n :data-row-key=\"rowKey\"\n role=\"row\"\n @click=\"handleClick\"\n >\n <RenderSlot>\n <template v-for=\"(column, index) in mergedColumns\" :key=\"column && column.columnKey\">\n <BodyExtraCell\n v-if=\"column && column.__Internal__Column__\"\n :prefix-cls=\"prefixCls\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex!\"\n :type=\"type\"\n :column=\"mergedColumns?.[index]\"\n :expanded=\"expanded\"\n :support-expand=\"mergedExpandable\"\n :record=\"record\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @mouseleave=\"handleCellBlur\"\n />\n <BodyCell\n v-else-if=\"column\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n @mousedown=\"onCellMousedown\"\n @mousemove=\"onCellMousemove\"\n @keydown=\"onCellKeydown\"\n @click=\"onCellClick\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyCell>\n </template>\n </RenderSlot>\n <div v-if=\"type !== 'center'\" :class=\"`${prefixCls}-cell-shadow-${type}`\"></div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_Fragment","_normalizeClass","_normalizeStyle","_createVNode","_mergeProps","_withCtx","_renderList","_createBlock","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"BodyRow.vue.js","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyRow.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-08 21:59:48\n * @LastEditors: shen\n * @LastEditTime: 2025-10-20 15:34:32\n * @Description:\n-->\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n onBeforeUnmount,\n computed,\n nextTick,\n watchEffect,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext'\nimport { ExpandColumnKey } from '../../hooks/useColumns'\nimport { RenderSlot } from '../../utils/renderVNode'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { useCellSelection } from '../../hooks/useCellSelection'\nimport { useCellKeyboard } from '../../hooks/useCellKeyboard'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport eagerComputed from '../../utils/eagerComputed'\nimport classNames from '../../utils/classNames'\nimport BodyCell from './BodyCell'\nimport ExpandedRow from './ExpandedRow.vue'\nimport BodyExtraCell from './BodyExtraCell.vue'\nimport ExpandIcon from '../ExpandIcon.vue'\n\nimport type { CSSProperties, PropType } from 'vue'\nimport type { RowClassName, RowType, Key } from '../interface'\n\nlet uniIdCount = 0\nexport default defineComponent({\n name: 'ProTableBodyRow',\n components: {\n ExpandIcon,\n BodyCell,\n ExpandedRow,\n BodyExtraCell,\n RenderSlot,\n },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n isExpandRow: Boolean as PropType<boolean>,\n record: { type: Object },\n type: { type: String as PropType<RowType> },\n rowKey: { type: [Number, String] as PropType<Key>, required: true },\n supportExpand: Boolean,\n pos: Number as PropType<number>,\n rowIndex: Number as PropType<number>,\n flattenRowIndex: Number,\n indent: Number as PropType<number>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n getRowClassName: { type: Function as PropType<RowClassName<any>> },\n },\n setup(props) {\n const rowUniId = 'row_uni_id_' + uniIdCount++\n const tableContext = useInjectTable()\n const rowInstance = getCurrentInstance()\n const { table } = useProConfigInject()\n const { editCellKeys, closeEditor, openEditor } = useEditInject()\n\n let isUnmount = false\n const bodyRow = ref()\n\n const { onCellMousedown, onCellMousemove, onCellClick } = useCellSelection()\n const { onCellKeydown } = useCellKeyboard()\n\n const calMaxHeight = () => {\n if (isUnmount) return\n let rowHeight = 0\n let autoCells: HTMLDivElement[] = []\n if (bodyRow.value) {\n autoCells = bodyRow.value.querySelectorAll('div[data-cell-auto=true]')\n }\n autoCells.forEach((autoCell: HTMLDivElement) => {\n const { offsetWidth, offsetHeight } = autoCell\n let autoCellHeight = offsetWidth ? offsetHeight : 0\n const parentStyle = getComputedStyle(autoCell.parentNode as Element)\n autoCellHeight +=\n parseFloat(parentStyle.getPropertyValue('border-top-width')) +\n parseFloat(parentStyle.getPropertyValue('border-bottom-width'))\n rowHeight = rowHeight > autoCellHeight ? rowHeight : autoCellHeight\n })\n if (autoCells.length) {\n tableContext.addRowHeight(rowUniId, props.rowKey!, rowHeight)\n } else {\n tableContext.removeRowHeight(rowUniId)\n }\n }\n\n watch(\n () => props.rowKey,\n () => {\n calMaxHeight()\n },\n { flush: 'post' },\n )\n\n const resizeObserver: ResizeObserver = new ResizeObserver(() => {\n calMaxHeight()\n })\n\n const { columns, columnStartIndex } = useInjectBodyRows()\n const mergedColumns = computed(() =>\n (props.type === 'center'\n ? tableContext.centerRowColumnsMap.value.get(props.rowKey)\n : columns.value)!.filter((item) => !!item),\n )\n\n const { tooltipOpen, leftPopupContainer, centerPopupContainer, rightPopupContainer } =\n useInjectBody()\n const { handleCellBlur, handleCellHover, hoverRowKey, hoverColumnKey, rowHover } =\n useInjectHover()\n\n const popupContainer = computed(() =>\n props.type === 'left'\n ? leftPopupContainer.value\n : props.type === 'center'\n ? centerPopupContainer.value\n : props.type === 'right'\n ? rightPopupContainer.value\n : null,\n )\n\n const isDragging = eagerComputed(() => tableContext.draggingRowKey.value === props.rowKey)\n const isRowHover = eagerComputed(() => hoverRowKey.value === props.rowKey)\n\n watch(\n [isRowHover, bodyRow],\n () => {\n bodyRow.value &&\n rowHover.value &&\n (isRowHover.value\n ? addClass(bodyRow.value, `${props.prefixCls}-row-hover`)\n : removeClass(bodyRow.value, `${props.prefixCls}-row-hover`))\n },\n { immediate: true, flush: 'post' },\n )\n\n const mergedTooltipOpen = eagerComputed(() => tooltipOpen.value && isRowHover.value)\n\n let timer: any\n onBeforeUnmount(() => {\n isUnmount = true\n resizeObserver.disconnect()\n clearTimeout(timer)\n tableContext.removeRowHeight(rowUniId)\n })\n\n const hasMultiRowSpanInfo = eagerComputed(() => {\n return !tableContext.hasMultiRowSpanInfo.value[props.rowKey!]\n })\n\n const customRowProps = computed(() => {\n return tableContext.props.customRow?.(props.record!, props.rowIndex)\n })\n\n const rowSelectionType = computed(() => {\n return tableContext.props.rowSelection?.type\n })\n\n const isExpanded = ref(false)\n const expandedRowKeys = computed(() => tableContext.expandedRowKeys.value)\n const expanded = eagerComputed(() => expandedRowKeys.value.has?.(props.rowKey!))\n const expandIconColumnIndex = computed(() => tableContext.expandIconColumnIndex.value || 0)\n const indentSize = computed(() => tableContext.indentSize.value)\n\n watchEffect(() => {\n if (expanded.value) {\n isExpanded.value = true\n }\n })\n\n const rowExpandable = computed(\n () =>\n tableContext.expandType.value === 'row' &&\n tableContext.props.rowExpandable?.(props.record!),\n )\n\n const nestExpandable = computed(() => tableContext.expandType.value === 'nest')\n\n const hasNestChildren = computed(\n () =>\n !!(\n tableContext.childrenColumnName.value &&\n props.record?.[tableContext.childrenColumnName.value]?.length\n ),\n )\n const mergedExpandable = computed(() => rowExpandable.value || nestExpandable.value)\n\n const onInternalTriggerExpand = (record: any, event: any) => {\n tableContext.onTriggerExpand(record, props.rowKey!, event)\n }\n\n const mergedRowHeights = computed(() => tableContext.mergedRowHeights.value)\n\n const height = eagerComputed(() => mergedRowHeights.value[props.rowKey!])\n const cellHeight = eagerComputed(() => tableContext.rowHeights.value[props.rowKey!])\n\n const isSelected = computed(() => {\n const highlightSelectRow =\n tableContext.props.highlightSelectRow ?? table?.value?.highlightSelectRow\n return (\n highlightSelectRow && tableContext.selection.derivedSelectedKeySet.value.has(props.rowKey!)\n )\n })\n\n const rowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n const isEven = rowIndex! % 2 == 0\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-row-level-${indent}`]: true,\n [`${prefixCls}-row-hover`]: isRowHover.value && rowHover.value,\n [`${prefixCls}-row-dragging`]: isDragging.value,\n [`${prefixCls}-row-dragging-insert-target`]:\n tableContext.insertToRowKey.value === props.rowKey,\n [`${prefixCls}-row-odd`]: !isEven,\n [`${prefixCls}-row-even`]: isEven,\n [`${prefixCls}-no-height`]: !height.value,\n [`${prefixCls}-row-selected`]: isSelected.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandRowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-expanded-row`]: true,\n [`${prefixCls}-expanded-row-level-${indent! + 1}`]: true,\n [`${prefixCls}-no-height`]: !height.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandColumnWidth = eagerComputed(() => {\n return tableContext.allCellProps.value[props.rowKey!]?.[ExpandColumnKey]?.props?.style?.width\n })\n\n const rowStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {\n opacity: 1,\n [`--${props.prefixCls}-row-bg`]: `var(--${props.prefixCls}-row-bg-${props.rowKey}, var(--${props.prefixCls}-bg))`,\n }\n if (hasMultiRowSpanInfo.value) {\n style.transform = `translateY(${props.pos}px)`\n } else {\n style.top = `${props.pos}px`\n }\n if (height.value !== undefined) {\n style.height = `${height.value}px`\n } else {\n style.height = `${tableContext.baseHeight.value}px`\n }\n if (props.isExpandRow && columnStartIndex.value === 0) {\n style.width = expandColumnWidth.value\n style.minWidth = '100%'\n }\n return style\n })\n\n watch(\n () => ({ ...rowStyle.value }),\n (newStyle, oldStyle = {}) => {\n if (tableContext.animateRows.value && !tableContext.useAnimate.value) {\n if (\n newStyle.top !== oldStyle.top ||\n newStyle.height !== oldStyle.height ||\n newStyle.transform !== oldStyle.transform\n ) {\n nextTick(() => {\n clearTimeout(timer)\n if (rowInstance?.vnode.el && rowInstance.vnode.el.style) {\n rowInstance.vnode.el.style.transition = 'none'\n timer = setTimeout(() => {\n if (rowInstance?.vnode?.el?.style) {\n rowInstance.vnode.el.style.transition = null\n }\n }, 100)\n }\n })\n }\n }\n },\n { immediate: true },\n )\n\n useProvideBodyRow({\n top: computed(() => props.pos!),\n height: computed(() =>\n height.value !== undefined ? height.value : tableContext.baseHeight.value,\n ),\n rowKey: computed(() => props.rowKey),\n })\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-position-absolute`]: true,\n }))\n\n return {\n rowClass,\n rowStyle,\n cellClass,\n tableContext,\n mergedRowHeights,\n handleCellBlur,\n handleCellHover,\n handleClick: (event: any) => {\n const expandRowByClick =\n tableContext.props.expandRowByClick ?? table?.value?.expandRowByClick\n expandRowByClick && mergedExpandable.value && onInternalTriggerExpand(props.record, event)\n },\n rowSelectionType,\n nestExpandable,\n hasNestChildren,\n mergedExpandable,\n expandIconColumnIndex,\n indentSize,\n expanded,\n onInternalTriggerExpand,\n customRowProps,\n expandColumnKey: ExpandColumnKey,\n expandRowClass,\n mergedColumns,\n height,\n cellHeight,\n columnStartIndex,\n resizeObserver,\n calMaxHeight,\n bodyRow,\n hoverRowKey,\n hoverColumnKey,\n xVirtual: eagerComputed(() => tableContext.xVirtual.value),\n getPopupContainer: () => popupContainer.value!,\n editCellKeys,\n closeEditor,\n openEditor,\n mergedTooltipOpen,\n onCellMousedown,\n onCellKeydown,\n onCellMousemove,\n onCellClick,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isExpandRow\">\n <div\n v-if=\"columnStartIndex === 0\"\n ref=\"bodyRow\"\n :data-row-key=\"rowKey\"\n :class=\"expandRowClass\"\n :style=\"rowStyle\"\n role=\"row\"\n >\n <ExpandedRow\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n />\n </div>\n </template>\n <div\n v-else\n v-bind=\"customRowProps\"\n ref=\"bodyRow\"\n :class=\"rowClass\"\n :style=\"rowStyle\"\n :data-row-key=\"rowKey\"\n role=\"row\"\n @click=\"handleClick\"\n >\n <RenderSlot>\n <template v-for=\"(column, index) in mergedColumns\" :key=\"column && column.columnKey\">\n <BodyExtraCell\n v-if=\"column && column.__Internal__Column__\"\n :prefix-cls=\"prefixCls\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex!\"\n :type=\"type\"\n :column=\"mergedColumns?.[index]\"\n :expanded=\"expanded\"\n :support-expand=\"mergedExpandable\"\n :record=\"record\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @mouseleave=\"handleCellBlur\"\n />\n <BodyCell\n v-else-if=\"column\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n @mousedown=\"onCellMousedown\"\n @mousemove=\"onCellMousemove\"\n @keydown=\"onCellKeydown\"\n @click=\"onCellClick\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyCell>\n </template>\n </RenderSlot>\n <div v-if=\"type !== 'center'\" :class=\"`${prefixCls}-cell-shadow-${type}`\"></div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_Fragment","_normalizeClass","_normalizeStyle","_createVNode","_mergeProps","_withCtx","_renderList","_createBlock","_createElementVNode"],"mappings":"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"}
@@ -146,8 +146,8 @@ var _sfc_main = vue.defineComponent({
146
146
  const nestExpandable = vue.computed(() => tableContext.expandType.value === "nest");
147
147
  const hasNestChildren = vue.computed(
148
148
  () => {
149
- var _a;
150
- return !!(tableContext.childrenColumnName.value && ((_a = props.record) == null ? void 0 : _a[tableContext.childrenColumnName.value]));
149
+ var _a, _b;
150
+ return !!(tableContext.childrenColumnName.value && ((_b = (_a = props.record) == null ? void 0 : _a[tableContext.childrenColumnName.value]) == null ? void 0 : _b.length));
151
151
  }
152
152
  );
153
153
  const mergedExpandable = vue.computed(() => rowExpandable.value || nestExpandable.value);
@@ -1 +1 @@
1
- {"version":3,"file":"BodyRow.vue2.js","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyRow.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-08 21:59:48\n * @LastEditors: shen\n * @LastEditTime: 2025-10-12 13:49:34\n * @Description:\n-->\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n onBeforeUnmount,\n computed,\n nextTick,\n watchEffect,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext'\nimport { ExpandColumnKey } from '../../hooks/useColumns'\nimport { RenderSlot } from '../../utils/renderVNode'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { useCellSelection } from '../../hooks/useCellSelection'\nimport { useCellKeyboard } from '../../hooks/useCellKeyboard'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport eagerComputed from '../../utils/eagerComputed'\nimport classNames from '../../utils/classNames'\nimport BodyCell from './BodyCell'\nimport ExpandedRow from './ExpandedRow.vue'\nimport BodyExtraCell from './BodyExtraCell.vue'\nimport ExpandIcon from '../ExpandIcon.vue'\n\nimport type { CSSProperties, PropType } from 'vue'\nimport type { RowClassName, RowType, Key } from '../interface'\n\nlet uniIdCount = 0\nexport default defineComponent({\n name: 'ProTableBodyRow',\n components: {\n ExpandIcon,\n BodyCell,\n ExpandedRow,\n BodyExtraCell,\n RenderSlot,\n },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n isExpandRow: Boolean as PropType<boolean>,\n record: { type: Object },\n type: { type: String as PropType<RowType> },\n rowKey: { type: [Number, String] as PropType<Key>, required: true },\n supportExpand: Boolean,\n pos: Number as PropType<number>,\n rowIndex: Number as PropType<number>,\n flattenRowIndex: Number,\n indent: Number as PropType<number>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n getRowClassName: { type: Function as PropType<RowClassName<any>> },\n },\n setup(props) {\n const rowUniId = 'row_uni_id_' + uniIdCount++\n const tableContext = useInjectTable()\n const rowInstance = getCurrentInstance()\n const { table } = useProConfigInject()\n const { editCellKeys, closeEditor, openEditor } = useEditInject()\n\n let isUnmount = false\n const bodyRow = ref()\n\n const { onCellMousedown, onCellMousemove, onCellClick } = useCellSelection()\n const { onCellKeydown } = useCellKeyboard()\n\n const calMaxHeight = () => {\n if (isUnmount) return\n let rowHeight = 0\n let autoCells: HTMLDivElement[] = []\n if (bodyRow.value) {\n autoCells = bodyRow.value.querySelectorAll('div[data-cell-auto=true]')\n }\n autoCells.forEach((autoCell: HTMLDivElement) => {\n const { offsetWidth, offsetHeight } = autoCell\n let autoCellHeight = offsetWidth ? offsetHeight : 0\n const parentStyle = getComputedStyle(autoCell.parentNode as Element)\n autoCellHeight +=\n parseFloat(parentStyle.getPropertyValue('border-top-width')) +\n parseFloat(parentStyle.getPropertyValue('border-bottom-width'))\n rowHeight = rowHeight > autoCellHeight ? rowHeight : autoCellHeight\n })\n if (autoCells.length) {\n tableContext.addRowHeight(rowUniId, props.rowKey!, rowHeight)\n } else {\n tableContext.removeRowHeight(rowUniId)\n }\n }\n\n watch(\n () => props.rowKey,\n () => {\n calMaxHeight()\n },\n { flush: 'post' },\n )\n\n const resizeObserver: ResizeObserver = new ResizeObserver(() => {\n calMaxHeight()\n })\n\n const { columns, columnStartIndex } = useInjectBodyRows()\n const mergedColumns = computed(() =>\n (props.type === 'center'\n ? tableContext.centerRowColumnsMap.value.get(props.rowKey)\n : columns.value)!.filter((item) => !!item),\n )\n\n const { tooltipOpen, leftPopupContainer, centerPopupContainer, rightPopupContainer } =\n useInjectBody()\n const { handleCellBlur, handleCellHover, hoverRowKey, hoverColumnKey, rowHover } =\n useInjectHover()\n\n const popupContainer = computed(() =>\n props.type === 'left'\n ? leftPopupContainer.value\n : props.type === 'center'\n ? centerPopupContainer.value\n : props.type === 'right'\n ? rightPopupContainer.value\n : null,\n )\n\n const isDragging = eagerComputed(() => tableContext.draggingRowKey.value === props.rowKey)\n const isRowHover = eagerComputed(() => hoverRowKey.value === props.rowKey)\n\n watch(\n [isRowHover, bodyRow],\n () => {\n bodyRow.value &&\n rowHover.value &&\n (isRowHover.value\n ? addClass(bodyRow.value, `${props.prefixCls}-row-hover`)\n : removeClass(bodyRow.value, `${props.prefixCls}-row-hover`))\n },\n { immediate: true, flush: 'post' },\n )\n\n const mergedTooltipOpen = eagerComputed(() => tooltipOpen.value && isRowHover.value)\n\n let timer: any\n onBeforeUnmount(() => {\n isUnmount = true\n resizeObserver.disconnect()\n clearTimeout(timer)\n tableContext.removeRowHeight(rowUniId)\n })\n\n const hasMultiRowSpanInfo = eagerComputed(() => {\n return !tableContext.hasMultiRowSpanInfo.value[props.rowKey!]\n })\n\n const customRowProps = computed(() => {\n return tableContext.props.customRow?.(props.record!, props.rowIndex)\n })\n\n const rowSelectionType = computed(() => {\n return tableContext.props.rowSelection?.type\n })\n\n const isExpanded = ref(false)\n const expandedRowKeys = computed(() => tableContext.expandedRowKeys.value)\n const expanded = eagerComputed(() => expandedRowKeys.value.has?.(props.rowKey!))\n const expandIconColumnIndex = computed(() => tableContext.expandIconColumnIndex.value || 0)\n const indentSize = computed(() => tableContext.indentSize.value)\n\n watchEffect(() => {\n if (expanded.value) {\n isExpanded.value = true\n }\n })\n\n const rowExpandable = computed(\n () =>\n tableContext.expandType.value === 'row' &&\n tableContext.props.rowExpandable?.(props.record!),\n )\n\n const nestExpandable = computed(() => tableContext.expandType.value === 'nest')\n\n const hasNestChildren = computed(\n () =>\n !!(\n tableContext.childrenColumnName.value &&\n props.record?.[tableContext.childrenColumnName.value]\n ),\n )\n const mergedExpandable = computed(() => rowExpandable.value || nestExpandable.value)\n\n const onInternalTriggerExpand = (record: any, event: any) => {\n tableContext.onTriggerExpand(record, props.rowKey!, event)\n }\n\n const mergedRowHeights = computed(() => tableContext.mergedRowHeights.value)\n\n const height = eagerComputed(() => mergedRowHeights.value[props.rowKey!])\n const cellHeight = eagerComputed(() => tableContext.rowHeights.value[props.rowKey!])\n\n const isSelected = computed(() => {\n const highlightSelectRow =\n tableContext.props.highlightSelectRow ?? table?.value?.highlightSelectRow\n return (\n highlightSelectRow && tableContext.selection.derivedSelectedKeySet.value.has(props.rowKey!)\n )\n })\n\n const rowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n const isEven = rowIndex! % 2 == 0\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-row-level-${indent}`]: true,\n [`${prefixCls}-row-hover`]: isRowHover.value && rowHover.value,\n [`${prefixCls}-row-dragging`]: isDragging.value,\n [`${prefixCls}-row-dragging-insert-target`]:\n tableContext.insertToRowKey.value === props.rowKey,\n [`${prefixCls}-row-odd`]: !isEven,\n [`${prefixCls}-row-even`]: isEven,\n [`${prefixCls}-no-height`]: !height.value,\n [`${prefixCls}-row-selected`]: isSelected.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandRowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-expanded-row`]: true,\n [`${prefixCls}-expanded-row-level-${indent! + 1}`]: true,\n [`${prefixCls}-no-height`]: !height.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandColumnWidth = eagerComputed(() => {\n return tableContext.allCellProps.value[props.rowKey!]?.[ExpandColumnKey]?.props?.style?.width\n })\n\n const rowStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {\n opacity: 1,\n [`--${props.prefixCls}-row-bg`]: `var(--${props.prefixCls}-row-bg-${props.rowKey}, var(--${props.prefixCls}-bg))`,\n }\n if (hasMultiRowSpanInfo.value) {\n style.transform = `translateY(${props.pos}px)`\n } else {\n style.top = `${props.pos}px`\n }\n if (height.value !== undefined) {\n style.height = `${height.value}px`\n } else {\n style.height = `${tableContext.baseHeight.value}px`\n }\n if (props.isExpandRow && columnStartIndex.value === 0) {\n style.width = expandColumnWidth.value\n style.minWidth = '100%'\n }\n return style\n })\n\n watch(\n () => ({ ...rowStyle.value }),\n (newStyle, oldStyle = {}) => {\n if (tableContext.animateRows.value && !tableContext.useAnimate.value) {\n if (\n newStyle.top !== oldStyle.top ||\n newStyle.height !== oldStyle.height ||\n newStyle.transform !== oldStyle.transform\n ) {\n nextTick(() => {\n clearTimeout(timer)\n if (rowInstance?.vnode.el && rowInstance.vnode.el.style) {\n rowInstance.vnode.el.style.transition = 'none'\n timer = setTimeout(() => {\n if (rowInstance?.vnode?.el?.style) {\n rowInstance.vnode.el.style.transition = null\n }\n }, 100)\n }\n })\n }\n }\n },\n { immediate: true },\n )\n\n useProvideBodyRow({\n top: computed(() => props.pos!),\n height: computed(() =>\n height.value !== undefined ? height.value : tableContext.baseHeight.value,\n ),\n rowKey: computed(() => props.rowKey),\n })\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-position-absolute`]: true,\n }))\n\n return {\n rowClass,\n rowStyle,\n cellClass,\n tableContext,\n mergedRowHeights,\n handleCellBlur,\n handleCellHover,\n handleClick: (event: any) => {\n const expandRowByClick =\n tableContext.props.expandRowByClick ?? table?.value?.expandRowByClick\n expandRowByClick && mergedExpandable.value && onInternalTriggerExpand(props.record, event)\n },\n rowSelectionType,\n nestExpandable,\n hasNestChildren,\n mergedExpandable,\n expandIconColumnIndex,\n indentSize,\n expanded,\n onInternalTriggerExpand,\n customRowProps,\n expandColumnKey: ExpandColumnKey,\n expandRowClass,\n mergedColumns,\n height,\n cellHeight,\n columnStartIndex,\n resizeObserver,\n calMaxHeight,\n bodyRow,\n hoverRowKey,\n hoverColumnKey,\n xVirtual: eagerComputed(() => tableContext.xVirtual.value),\n getPopupContainer: () => popupContainer.value!,\n editCellKeys,\n closeEditor,\n openEditor,\n mergedTooltipOpen,\n onCellMousedown,\n onCellKeydown,\n onCellMousemove,\n onCellClick,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isExpandRow\">\n <div\n v-if=\"columnStartIndex === 0\"\n ref=\"bodyRow\"\n :data-row-key=\"rowKey\"\n :class=\"expandRowClass\"\n :style=\"rowStyle\"\n role=\"row\"\n >\n <ExpandedRow\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n />\n </div>\n </template>\n <div\n v-else\n v-bind=\"customRowProps\"\n ref=\"bodyRow\"\n :class=\"rowClass\"\n :style=\"rowStyle\"\n :data-row-key=\"rowKey\"\n role=\"row\"\n @click=\"handleClick\"\n >\n <RenderSlot>\n <template v-for=\"(column, index) in mergedColumns\" :key=\"column && column.columnKey\">\n <BodyExtraCell\n v-if=\"column && column.__Internal__Column__\"\n :prefix-cls=\"prefixCls\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex!\"\n :type=\"type\"\n :column=\"mergedColumns?.[index]\"\n :expanded=\"expanded\"\n :support-expand=\"mergedExpandable\"\n :record=\"record\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @mouseleave=\"handleCellBlur\"\n />\n <BodyCell\n v-else-if=\"column\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n @mousedown=\"onCellMousedown\"\n @mousemove=\"onCellMousemove\"\n @keydown=\"onCellKeydown\"\n @click=\"onCellClick\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyCell>\n </template>\n </RenderSlot>\n <div v-if=\"type !== 'center'\" :class=\"`${prefixCls}-cell-shadow-${type}`\"></div>\n </div>\n</template>\n"],"names":["defineComponent","ExpandIcon","BodyCell","ExpandedRow","BodyExtraCell","RenderSlot","useInjectTable","getCurrentInstance","useProConfigInject","useEditInject","ref","useCellSelection","useCellKeyboard","watch","useInjectBodyRows","computed","useInjectBody","useInjectHover","eagerComputed","addClass","removeClass","onBeforeUnmount","watchEffect","classNames","ExpandColumnKey","nextTick","useProvideBodyRow"],"mappings":"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"}
1
+ {"version":3,"file":"BodyRow.vue2.js","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyRow.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-08 21:59:48\n * @LastEditors: shen\n * @LastEditTime: 2025-10-20 15:34:32\n * @Description:\n-->\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n onBeforeUnmount,\n computed,\n nextTick,\n watchEffect,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext'\nimport { ExpandColumnKey } from '../../hooks/useColumns'\nimport { RenderSlot } from '../../utils/renderVNode'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { useCellSelection } from '../../hooks/useCellSelection'\nimport { useCellKeyboard } from '../../hooks/useCellKeyboard'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport eagerComputed from '../../utils/eagerComputed'\nimport classNames from '../../utils/classNames'\nimport BodyCell from './BodyCell'\nimport ExpandedRow from './ExpandedRow.vue'\nimport BodyExtraCell from './BodyExtraCell.vue'\nimport ExpandIcon from '../ExpandIcon.vue'\n\nimport type { CSSProperties, PropType } from 'vue'\nimport type { RowClassName, RowType, Key } from '../interface'\n\nlet uniIdCount = 0\nexport default defineComponent({\n name: 'ProTableBodyRow',\n components: {\n ExpandIcon,\n BodyCell,\n ExpandedRow,\n BodyExtraCell,\n RenderSlot,\n },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n isExpandRow: Boolean as PropType<boolean>,\n record: { type: Object },\n type: { type: String as PropType<RowType> },\n rowKey: { type: [Number, String] as PropType<Key>, required: true },\n supportExpand: Boolean,\n pos: Number as PropType<number>,\n rowIndex: Number as PropType<number>,\n flattenRowIndex: Number,\n indent: Number as PropType<number>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n getRowClassName: { type: Function as PropType<RowClassName<any>> },\n },\n setup(props) {\n const rowUniId = 'row_uni_id_' + uniIdCount++\n const tableContext = useInjectTable()\n const rowInstance = getCurrentInstance()\n const { table } = useProConfigInject()\n const { editCellKeys, closeEditor, openEditor } = useEditInject()\n\n let isUnmount = false\n const bodyRow = ref()\n\n const { onCellMousedown, onCellMousemove, onCellClick } = useCellSelection()\n const { onCellKeydown } = useCellKeyboard()\n\n const calMaxHeight = () => {\n if (isUnmount) return\n let rowHeight = 0\n let autoCells: HTMLDivElement[] = []\n if (bodyRow.value) {\n autoCells = bodyRow.value.querySelectorAll('div[data-cell-auto=true]')\n }\n autoCells.forEach((autoCell: HTMLDivElement) => {\n const { offsetWidth, offsetHeight } = autoCell\n let autoCellHeight = offsetWidth ? offsetHeight : 0\n const parentStyle = getComputedStyle(autoCell.parentNode as Element)\n autoCellHeight +=\n parseFloat(parentStyle.getPropertyValue('border-top-width')) +\n parseFloat(parentStyle.getPropertyValue('border-bottom-width'))\n rowHeight = rowHeight > autoCellHeight ? rowHeight : autoCellHeight\n })\n if (autoCells.length) {\n tableContext.addRowHeight(rowUniId, props.rowKey!, rowHeight)\n } else {\n tableContext.removeRowHeight(rowUniId)\n }\n }\n\n watch(\n () => props.rowKey,\n () => {\n calMaxHeight()\n },\n { flush: 'post' },\n )\n\n const resizeObserver: ResizeObserver = new ResizeObserver(() => {\n calMaxHeight()\n })\n\n const { columns, columnStartIndex } = useInjectBodyRows()\n const mergedColumns = computed(() =>\n (props.type === 'center'\n ? tableContext.centerRowColumnsMap.value.get(props.rowKey)\n : columns.value)!.filter((item) => !!item),\n )\n\n const { tooltipOpen, leftPopupContainer, centerPopupContainer, rightPopupContainer } =\n useInjectBody()\n const { handleCellBlur, handleCellHover, hoverRowKey, hoverColumnKey, rowHover } =\n useInjectHover()\n\n const popupContainer = computed(() =>\n props.type === 'left'\n ? leftPopupContainer.value\n : props.type === 'center'\n ? centerPopupContainer.value\n : props.type === 'right'\n ? rightPopupContainer.value\n : null,\n )\n\n const isDragging = eagerComputed(() => tableContext.draggingRowKey.value === props.rowKey)\n const isRowHover = eagerComputed(() => hoverRowKey.value === props.rowKey)\n\n watch(\n [isRowHover, bodyRow],\n () => {\n bodyRow.value &&\n rowHover.value &&\n (isRowHover.value\n ? addClass(bodyRow.value, `${props.prefixCls}-row-hover`)\n : removeClass(bodyRow.value, `${props.prefixCls}-row-hover`))\n },\n { immediate: true, flush: 'post' },\n )\n\n const mergedTooltipOpen = eagerComputed(() => tooltipOpen.value && isRowHover.value)\n\n let timer: any\n onBeforeUnmount(() => {\n isUnmount = true\n resizeObserver.disconnect()\n clearTimeout(timer)\n tableContext.removeRowHeight(rowUniId)\n })\n\n const hasMultiRowSpanInfo = eagerComputed(() => {\n return !tableContext.hasMultiRowSpanInfo.value[props.rowKey!]\n })\n\n const customRowProps = computed(() => {\n return tableContext.props.customRow?.(props.record!, props.rowIndex)\n })\n\n const rowSelectionType = computed(() => {\n return tableContext.props.rowSelection?.type\n })\n\n const isExpanded = ref(false)\n const expandedRowKeys = computed(() => tableContext.expandedRowKeys.value)\n const expanded = eagerComputed(() => expandedRowKeys.value.has?.(props.rowKey!))\n const expandIconColumnIndex = computed(() => tableContext.expandIconColumnIndex.value || 0)\n const indentSize = computed(() => tableContext.indentSize.value)\n\n watchEffect(() => {\n if (expanded.value) {\n isExpanded.value = true\n }\n })\n\n const rowExpandable = computed(\n () =>\n tableContext.expandType.value === 'row' &&\n tableContext.props.rowExpandable?.(props.record!),\n )\n\n const nestExpandable = computed(() => tableContext.expandType.value === 'nest')\n\n const hasNestChildren = computed(\n () =>\n !!(\n tableContext.childrenColumnName.value &&\n props.record?.[tableContext.childrenColumnName.value]?.length\n ),\n )\n const mergedExpandable = computed(() => rowExpandable.value || nestExpandable.value)\n\n const onInternalTriggerExpand = (record: any, event: any) => {\n tableContext.onTriggerExpand(record, props.rowKey!, event)\n }\n\n const mergedRowHeights = computed(() => tableContext.mergedRowHeights.value)\n\n const height = eagerComputed(() => mergedRowHeights.value[props.rowKey!])\n const cellHeight = eagerComputed(() => tableContext.rowHeights.value[props.rowKey!])\n\n const isSelected = computed(() => {\n const highlightSelectRow =\n tableContext.props.highlightSelectRow ?? table?.value?.highlightSelectRow\n return (\n highlightSelectRow && tableContext.selection.derivedSelectedKeySet.value.has(props.rowKey!)\n )\n })\n\n const rowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n const isEven = rowIndex! % 2 == 0\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-row-level-${indent}`]: true,\n [`${prefixCls}-row-hover`]: isRowHover.value && rowHover.value,\n [`${prefixCls}-row-dragging`]: isDragging.value,\n [`${prefixCls}-row-dragging-insert-target`]:\n tableContext.insertToRowKey.value === props.rowKey,\n [`${prefixCls}-row-odd`]: !isEven,\n [`${prefixCls}-row-even`]: isEven,\n [`${prefixCls}-no-height`]: !height.value,\n [`${prefixCls}-row-selected`]: isSelected.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandRowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-expanded-row`]: true,\n [`${prefixCls}-expanded-row-level-${indent! + 1}`]: true,\n [`${prefixCls}-no-height`]: !height.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandColumnWidth = eagerComputed(() => {\n return tableContext.allCellProps.value[props.rowKey!]?.[ExpandColumnKey]?.props?.style?.width\n })\n\n const rowStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {\n opacity: 1,\n [`--${props.prefixCls}-row-bg`]: `var(--${props.prefixCls}-row-bg-${props.rowKey}, var(--${props.prefixCls}-bg))`,\n }\n if (hasMultiRowSpanInfo.value) {\n style.transform = `translateY(${props.pos}px)`\n } else {\n style.top = `${props.pos}px`\n }\n if (height.value !== undefined) {\n style.height = `${height.value}px`\n } else {\n style.height = `${tableContext.baseHeight.value}px`\n }\n if (props.isExpandRow && columnStartIndex.value === 0) {\n style.width = expandColumnWidth.value\n style.minWidth = '100%'\n }\n return style\n })\n\n watch(\n () => ({ ...rowStyle.value }),\n (newStyle, oldStyle = {}) => {\n if (tableContext.animateRows.value && !tableContext.useAnimate.value) {\n if (\n newStyle.top !== oldStyle.top ||\n newStyle.height !== oldStyle.height ||\n newStyle.transform !== oldStyle.transform\n ) {\n nextTick(() => {\n clearTimeout(timer)\n if (rowInstance?.vnode.el && rowInstance.vnode.el.style) {\n rowInstance.vnode.el.style.transition = 'none'\n timer = setTimeout(() => {\n if (rowInstance?.vnode?.el?.style) {\n rowInstance.vnode.el.style.transition = null\n }\n }, 100)\n }\n })\n }\n }\n },\n { immediate: true },\n )\n\n useProvideBodyRow({\n top: computed(() => props.pos!),\n height: computed(() =>\n height.value !== undefined ? height.value : tableContext.baseHeight.value,\n ),\n rowKey: computed(() => props.rowKey),\n })\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-position-absolute`]: true,\n }))\n\n return {\n rowClass,\n rowStyle,\n cellClass,\n tableContext,\n mergedRowHeights,\n handleCellBlur,\n handleCellHover,\n handleClick: (event: any) => {\n const expandRowByClick =\n tableContext.props.expandRowByClick ?? table?.value?.expandRowByClick\n expandRowByClick && mergedExpandable.value && onInternalTriggerExpand(props.record, event)\n },\n rowSelectionType,\n nestExpandable,\n hasNestChildren,\n mergedExpandable,\n expandIconColumnIndex,\n indentSize,\n expanded,\n onInternalTriggerExpand,\n customRowProps,\n expandColumnKey: ExpandColumnKey,\n expandRowClass,\n mergedColumns,\n height,\n cellHeight,\n columnStartIndex,\n resizeObserver,\n calMaxHeight,\n bodyRow,\n hoverRowKey,\n hoverColumnKey,\n xVirtual: eagerComputed(() => tableContext.xVirtual.value),\n getPopupContainer: () => popupContainer.value!,\n editCellKeys,\n closeEditor,\n openEditor,\n mergedTooltipOpen,\n onCellMousedown,\n onCellKeydown,\n onCellMousemove,\n onCellClick,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isExpandRow\">\n <div\n v-if=\"columnStartIndex === 0\"\n ref=\"bodyRow\"\n :data-row-key=\"rowKey\"\n :class=\"expandRowClass\"\n :style=\"rowStyle\"\n role=\"row\"\n >\n <ExpandedRow\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n />\n </div>\n </template>\n <div\n v-else\n v-bind=\"customRowProps\"\n ref=\"bodyRow\"\n :class=\"rowClass\"\n :style=\"rowStyle\"\n :data-row-key=\"rowKey\"\n role=\"row\"\n @click=\"handleClick\"\n >\n <RenderSlot>\n <template v-for=\"(column, index) in mergedColumns\" :key=\"column && column.columnKey\">\n <BodyExtraCell\n v-if=\"column && column.__Internal__Column__\"\n :prefix-cls=\"prefixCls\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex!\"\n :type=\"type\"\n :column=\"mergedColumns?.[index]\"\n :expanded=\"expanded\"\n :support-expand=\"mergedExpandable\"\n :record=\"record\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @mouseleave=\"handleCellBlur\"\n />\n <BodyCell\n v-else-if=\"column\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n @mousedown=\"onCellMousedown\"\n @mousemove=\"onCellMousemove\"\n @keydown=\"onCellKeydown\"\n @click=\"onCellClick\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyCell>\n </template>\n </RenderSlot>\n <div v-if=\"type !== 'center'\" :class=\"`${prefixCls}-cell-shadow-${type}`\"></div>\n </div>\n</template>\n"],"names":["defineComponent","ExpandIcon","BodyCell","ExpandedRow","BodyExtraCell","RenderSlot","useInjectTable","getCurrentInstance","useProConfigInject","useEditInject","ref","useCellSelection","useCellKeyboard","watch","useInjectBodyRows","computed","useInjectBody","useInjectHover","eagerComputed","addClass","removeClass","onBeforeUnmount","watchEffect","classNames","ExpandColumnKey","nextTick","useProvideBodyRow"],"mappings":"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"}