pro-design-vue 1.0.0-rc.7 → 1.0.0-rc.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/index.full.js +147 -46
  2. package/dist/index.full.min.js +8 -8
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +147 -46
  7. package/es/components/form/src/base/BaseForm.mjs +11 -8
  8. package/es/components/form/src/base/BaseForm.mjs.map +1 -1
  9. package/es/components/form/src/hooks/useAction.d.ts +1 -0
  10. package/es/components/form/src/hooks/useAction.mjs +117 -11
  11. package/es/components/form/src/hooks/useAction.mjs.map +1 -1
  12. package/es/components/form/src/layouts/DrawerForm.mjs +8 -12
  13. package/es/components/form/src/layouts/DrawerForm.mjs.map +1 -1
  14. package/es/components/form/src/layouts/ModalForm.mjs +8 -12
  15. package/es/components/form/src/layouts/ModalForm.mjs.map +1 -1
  16. package/es/components/form/src/layouts/QueryFilter.mjs +2 -2
  17. package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
  18. package/es/components/form/src/type.d.ts +5 -5
  19. package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
  20. package/es/components/table/src/components/Body/Body.vue2.mjs +4 -5
  21. package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
  22. package/es/index.d.ts +5 -5
  23. package/es/version.d.ts +1 -1
  24. package/es/version.mjs +1 -1
  25. package/es/version.mjs.map +1 -1
  26. package/lib/components/form/src/base/BaseForm.js +10 -7
  27. package/lib/components/form/src/base/BaseForm.js.map +1 -1
  28. package/lib/components/form/src/hooks/useAction.d.ts +1 -0
  29. package/lib/components/form/src/hooks/useAction.js +116 -9
  30. package/lib/components/form/src/hooks/useAction.js.map +1 -1
  31. package/lib/components/form/src/layouts/DrawerForm.js +8 -12
  32. package/lib/components/form/src/layouts/DrawerForm.js.map +1 -1
  33. package/lib/components/form/src/layouts/ModalForm.js +8 -12
  34. package/lib/components/form/src/layouts/ModalForm.js.map +1 -1
  35. package/lib/components/form/src/layouts/QueryFilter.js +2 -2
  36. package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
  37. package/lib/components/form/src/type.d.ts +5 -5
  38. package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
  39. package/lib/components/table/src/components/Body/Body.vue2.js +4 -5
  40. package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
  41. package/lib/index.d.ts +5 -5
  42. package/lib/version.d.ts +1 -1
  43. package/lib/version.js +1 -1
  44. package/lib/version.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"QueryFilter.mjs","sources":["../../../../../../../packages/components/form/src/layouts/QueryFilter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-02 17:20:35\n * @Description:\n */\nimport { ref, computed, defineComponent, watch, useTemplateRef } from 'vue'\nimport { queryFilterProps } from '../props'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { isBrowser, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { ProFieldType } from '../fieldType'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport BaseForm from '../base/BaseForm'\n\nimport type { ProFormActionType, ProFormItemType, SpanConfig } from '../type'\nimport type { FormItemProps, FormProps } from 'ant-design-vue'\n\nconst CONFIG_SPAN_BREAKPOINTS = {\n xs: 513,\n sm: 513,\n md: 785,\n lg: 992,\n xl: 1057,\n xxl: Infinity,\n}\n/** 配置表单列变化的容器宽度断点 */\nconst BREAKPOINTS = {\n vertical: [\n // [breakpoint, cols, layout]\n [513, 1, 'vertical'],\n [785, 2, 'vertical'],\n [1057, 3, 'vertical'],\n [Infinity, 4, 'vertical'],\n ],\n default: [\n [513, 1, 'vertical'],\n [701, 2, 'vertical'],\n [1062, 3, 'horizontal'],\n [1352, 3, 'horizontal'],\n [Infinity, 4, 'horizontal'],\n ],\n}\n\n/**\n * 合并用户和默认的配置\n *\n * @param layout\n * @param width\n */\nconst getSpanConfig = (\n layout: FormProps['layout'] = 'horizontal',\n width: number,\n span?: SpanConfig,\n): { span: number; layout: FormProps['layout'] } => {\n if (span && typeof span === 'number') {\n return {\n span,\n layout,\n }\n }\n\n const spanConfig: (string | number)[][] = span\n ? ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].map((key) => [\n CONFIG_SPAN_BREAKPOINTS[key as 'xs'],\n 24 / (span as any)[key as 'sm'],\n 'horizontal',\n ])\n : BREAKPOINTS[(layout as 'default') || 'default']\n const breakPoint = (spanConfig || BREAKPOINTS.default).find(\n (item) => width < (item[0] as number) + 16, // 16 = 2 * (ant-row -8px margin)\n )\n if (!breakPoint) {\n return {\n span: 8,\n layout: 'horizontal',\n }\n }\n return {\n span: 24 / (breakPoint[1] as number),\n layout: breakPoint?.[2] as 'horizontal',\n }\n}\n\nconst flatMapItems = (items: ProFormItemType[], ignoreRules?: boolean): ProFormItemType[] => {\n return items?.flatMap((item: any) => {\n if (item.fieldType === ProFieldType.GROUP && !item.title) {\n return item.props.children\n }\n if (ignoreRules) {\n return {\n ...item,\n rules: [],\n formItemProps: {\n ...item.formItemProps,\n rules: [],\n },\n }\n }\n return item\n })\n}\n\nconst defaultWidth = isBrowser() ? document?.body?.clientWidth : 1024\nexport default defineComponent({\n name: 'ProQueryFilter',\n inheritAttrs: false,\n props: {\n ...queryFilterProps(),\n },\n emits: ['collapse', 'resize'],\n setup(props, { slots, emit, expose, attrs }) {\n // totalSpan 统计控件占的位置,计算 offset 保证查询按钮在最后一列\n const totalSpan = ref(0)\n // totalSize 统计控件占的份数\n const totalSize = ref(0)\n // for split compute\n const currentSpan = ref(0)\n const intl = useIntl()\n const prefixCls = usePrefixCls('query-filter')\n const wrapEl = useTemplateRef<HTMLDivElement>('wrapper')\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const processedList = ref<ProFormItemType[]>([])\n const [width, setWidth] = useMergedState(defaultWidth)\n const formExpose = useFormExpose(formRef)\n useResizeObserver(wrapEl, (entries) => {\n const entry = entries[0]\n const { width: newWidth, height } = entry?.contentRect || ({} as DOMRectReadOnly)\n if (width.value !== newWidth && newWidth > 17) {\n setWidth(newWidth)\n }\n emit('resize', newWidth, height)\n })\n\n const spanSize = computed(() => getSpanConfig(props.layout, width.value + 16, props.span))\n\n const showLength = computed(() => {\n if (props.defaultFormItemsNumber !== undefined) {\n return props.defaultFormItemsNumber\n }\n if (props.defaultColsNumber !== undefined) {\n const oneRowControlsNumber = 24 / spanSize.value.span - 1\n return props.defaultColsNumber > oneRowControlsNumber\n ? oneRowControlsNumber\n : props.defaultColsNumber\n }\n return Math.max(1, 24 / spanSize.value.span - 1)\n })\n\n const hiddenNum = computed(\n () => props.showHiddenNum && processedList.value.filter((item) => item.hidden).length,\n )\n\n const needCollapse = computed(() => {\n if (totalSpan.value < 24 || totalSize.value <= showLength.value) {\n return false\n }\n return true\n })\n\n const offset = computed(() => {\n const offsetSpan = (currentSpan.value % 24) + spanSize.value.span\n if (offsetSpan > 24) {\n return 24 - spanSize.value.span\n }\n return 24 - offsetSpan\n })\n\n /** 计算最大宽度防止溢出换行 */\n const formItemFixStyle = computed<FormItemProps | undefined>(() => {\n if (props.labelWidth && spanSize.value.layout !== 'vertical' && props.labelWidth !== 'auto') {\n return {\n labelCol: {\n flex: `0 0 ${props.labelWidth}px`,\n },\n wrapperCol: {\n style: {\n maxWidth: `calc(100% - ${props.labelWidth}px)`,\n },\n },\n style: {\n flexWrap: 'nowrap',\n },\n }\n }\n return undefined\n })\n\n const [collapsed, setCollapsed] = useMergedState<boolean | undefined>(\n () => props.defaultCollapsed,\n {\n value: computed(() => props.collapsed),\n onChange: (val) => {\n emit('collapse', val)\n },\n },\n )\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'defaultCollapsed',\n 'collapsed',\n 'grid',\n 'showLoading',\n 'defaultColsNumber',\n 'searchGutter',\n // 'onFinish',\n 'submitOnLoading',\n 'preserve',\n 'submitter',\n 'ignoreRules',\n 'searchText',\n 'resetText',\n 'labelWidth',\n 'layout',\n 'items',\n 'gridSubmitter',\n 'rowProps',\n 'defaultFormItemsNumber',\n 'showHiddenNum',\n 'ignoreRules',\n 'onCollapse',\n 'onReset',\n ]),\n ),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n style: {\n justifyContent: 'flex-end',\n },\n reverse: true,\n searchConfig: {\n submitText: props.searchText || intl.getMessage('form.search', '搜索'),\n resetText: props.resetText || intl.getMessage('form.reset', '重置'),\n },\n colProps: {\n span: spanSize.value.span,\n offset: offset.value,\n },\n },\n props.submitter,\n )\n })\n\n watch(\n [spanSize, collapsed, () => props.items],\n () => {\n let firstRowFull = false\n currentSpan.value = 0\n totalSize.value = 0\n totalSpan.value = 0\n if (props.items?.length) {\n processedList.value = flatMapItems(props.items, props.ignoreRules).map((item, index) => {\n // 如果 formItem 自己配置了 hidden,默认使用它自己的\n const colSize = item.colSize ?? 1\n const colSpan = Math.min(spanSize.value.span * (colSize || 1), 24)\n // 计算总的 totalSpan 长度\n totalSpan.value += colSpan\n // 计算总的 colSize 长度\n totalSize.value += colSize\n\n if (index === 0) {\n firstRowFull = colSpan === 24 && !item.hidden\n }\n\n const hidden: boolean | undefined =\n item.hidden ||\n // 如果收起了\n (collapsed.value &&\n (firstRowFull ||\n // 如果 超过显示长度 且 总长度超过了 24\n totalSize.value > showLength.value) &&\n !!index)\n\n if (hidden) {\n if (!props.preserve) {\n return {\n ...item,\n colProps: { span: 0 },\n hidden: true,\n }\n }\n return {\n ...item,\n colProps: { span: colSpan },\n hidden: true,\n }\n }\n\n if (24 - (currentSpan.value % 24) < colSpan) {\n // 如果当前行空余位置放不下,那么折行\n totalSpan.value += 24 - (currentSpan.value % 24)\n currentSpan.value += 24 - (currentSpan.value % 24)\n }\n\n currentSpan.value += colSpan\n return {\n ...item,\n hidden,\n formItemProps: formItemFixStyle.value,\n colProps: {\n span: colSpan,\n },\n }\n })\n } else {\n processedList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <div class={`${prefixCls}-wrap`} ref=\"wrapper\" {...attrs}>\n <BaseForm\n ref={formRef}\n class={prefixCls}\n {...formProps.value}\n grid\n gridSubmitter\n rowProps={{\n gutter: props.searchGutter,\n justify: 'start',\n class: `${prefixCls}-row`,\n }}\n submitOnLoading={false}\n submitter={submitterConfig.value}\n items={processedList.value}\n layout={spanSize.value.layout}\n v-slots={{\n ...slots,\n submitter: ({ defaultDoms }) => {\n return (\n <>\n {defaultDoms}\n {needCollapse.value !== false && (\n <a\n class={`${prefixCls}-collapse-button`}\n onClick={() => setCollapsed(!collapsed.value)}\n >\n {collapsed.value\n ? intl.getMessage('form.collapsed', '展开')\n : intl.getMessage('form.expand', '收起')}\n {!!hiddenNum.value && `(${hiddenNum.value})`}\n <DownOutlined\n style={{\n marginInlineStart: '0.5em',\n transition: '0.3s all',\n transform: `rotate(${collapsed.value ? 0 : 0.5}turn)`,\n }}\n />\n </a>\n )}\n </>\n )\n },\n }}\n onReset={(values) => {\n if (props.resetOnSubmit) {\n formRef.value?.submit()\n }\n props.onReset?.(values)\n }}\n />\n </div>\n )\n },\n})\n"],"names":["CONFIG_SPAN_BREAKPOINTS","xs","sm","md","lg","xl","xxl","Infinity","BREAKPOINTS","vertical","default","getSpanConfig","layout","width","span","spanConfig","map","key","breakPoint","find","item","flatMapItems","items","ignoreRules","flatMap","fieldType","ProFieldType","GROUP","title","props","children","rules","formItemProps","defaultWidth","isBrowser","document","body","clientWidth","name","inheritAttrs","queryFilterProps","emits","setup","slots","emit","expose","attrs","totalSpan","ref","totalSize","currentSpan","intl","useIntl","prefixCls","usePrefixCls","wrapEl","useTemplateRef","formRef","processedList","setWidth","useMergedState","formExpose","useFormExpose","useResizeObserver","entries","entry","newWidth","height","contentRect","value","spanSize","computed","showLength","defaultFormItemsNumber","undefined","defaultColsNumber","oneRowControlsNumber","Math","max","hiddenNum","showHiddenNum","filter","hidden","length","needCollapse","offset","offsetSpan","formItemFixStyle","labelWidth","labelCol","flex","wrapperCol","style","maxWidth","flexWrap","collapsed","setCollapsed","defaultCollapsed","onChange","val","formProps","omitUndefined","omit","submitterConfig","submitter","merge","justifyContent","reverse","searchConfig","submitText","searchText","getMessage","resetText","colProps","watch","_a","firstRowFull","index","colSize","colSpan","min","preserve","immediate","_createVNode","_mergeProps","BaseForm","gutter","searchGutter","justify","class","values","resetOnSubmit","submit","onReset","defaultDoms","_Fragment","onClick","DownOutlined","marginInlineStart","transition","transform"],"mappings":";;;;;;;;;;;;;;AAAA,IAAA,EAAA;AAqBA,MAAMA,uBAAAA,GAA0B;AAAA,EAC9BC,EAAAA,EAAI,GAAA;AAAA,EACJC,EAAAA,EAAI,GAAA;AAAA,EACJC,EAAAA,EAAI,GAAA;AAAA,EACJC,EAAAA,EAAI,GAAA;AAAA,EACJC,EAAAA,EAAI,IAAA;AAAA,EACJC,GAAAA,EAAKC;AACP,CAAA;AAEA,MAAMC,WAAAA,GAAc;AAAA,EAClBC,QAAAA,EAAU;AAAA;AAAA,IAER,CAAC,GAAA,EAAK,CAAA,EAAG,UAAU,CAAA;AAAA,IACnB,CAAC,GAAA,EAAK,CAAA,EAAG,UAAU,CAAA;AAAA,IACnB,CAAC,IAAA,EAAM,CAAA,EAAG,UAAU,CAAA;AAAA,IACpB,CAACF,QAAAA,EAAU,CAAA,EAAG,UAAU;AAAA,GAAC;AAAA,EAE3BG,OAAAA,EAAS,CACP,CAAC,GAAA,EAAK,CAAA,EAAG,UAAU,CAAA,EACnB,CAAC,GAAA,EAAK,CAAA,EAAG,UAAU,CAAA,EACnB,CAAC,MAAM,CAAA,EAAG,YAAY,CAAA,EACtB,CAAC,IAAA,EAAM,CAAA,EAAG,YAAY,CAAA,EACtB,CAACH,QAAAA,EAAU,CAAA,EAAG,YAAY,CAAC;AAE/B,CAAA;AAQA,MAAMI,aAAAA,GAAgBA,CACpBC,MAAAA,GAA8B,YAAA,EAC9BC,OACAC,IAAAA,KACkD;AAClD,EAAA,IAAIA,IAAAA,IAAQ,OAAOA,IAAAA,KAAS,QAAA,EAAU;AACpC,IAAA,OAAO;AAAA,MACLA,IAAAA;AAAAA,MACAF;AAAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAMG,UAAAA,GAAoCD,IAAAA,GACtC,CAAC,IAAA,EAAM,IAAA,EAAM,MAAM,IAAA,EAAM,IAAA,EAAM,KAAK,CAAA,CAAEE,GAAAA,CAAKC,CAAAA,GAAAA,KAAQ,CACjDjB,uBAAAA,CAAwBiB,GAAG,CAAA,EAC3B,EAAA,GAAMH,IAAAA,CAAaG,GAAG,CAAA,EACtB,YAAY,CACb,CAAA,GACDT,WAAAA,CAAaI,MAAAA,IAAwB,SAAS,CAAA;AAClD,EAAA,MAAMM,UAAAA,GAAAA,CAAcH,UAAAA,IAAcP,WAAAA,CAAYE,OAAAA,EAASS,IAAAA;AAAAA,IACpDC,CAAAA,IAAAA,KAASP,KAAAA,GAASO,IAAAA,CAAK,CAAC,CAAA,GAAe;AAAA;AAAA,GAC1C;AACA,EAAA,IAAI,CAACF,UAAAA,EAAY;AACf,IAAA,OAAO;AAAA,MACLJ,IAAAA,EAAM,CAAA;AAAA,MACNF,MAAAA,EAAQ;AAAA,KACV;AAAA,EACF;AACA,EAAA,OAAO;AAAA,IACLE,IAAAA,EAAM,EAAA,GAAMI,UAAAA,CAAW,CAAC,CAAA;AAAA,IACxBN,QAAQM,UAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,UAAAA,CAAa,CAAA;AAAA,GACvB;AACF,CAAA;AAEA,MAAMG,YAAAA,GAAeA,CAACC,KAAAA,EAA0BC,WAAAA,KAA6C;AAC3F,EAAA,OAAOD,KAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,KAAAA,CAAOE,QAASJ,CAAAA,IAAAA,KAAc;AACnC,IAAA,IAAIA,KAAKK,SAAAA,KAAcC,YAAAA,CAAaC,KAAAA,IAAS,CAACP,KAAKQ,KAAAA,EAAO;AACxD,MAAA,OAAOR,KAAKS,KAAAA,CAAMC,QAAAA;AAAAA,IACpB;AACA,IAAA,IAAIP,WAAAA,EAAa;AACf,MAAA,OAAO;AAAA,QACL,GAAGH,IAAAA;AAAAA,QACHW,OAAO,EAAA;AAAA,QACPC,aAAAA,EAAe;AAAA,UACb,GAAGZ,IAAAA,CAAKY,aAAAA;AAAAA,UACRD,OAAO;AAAA;AACT,OACF;AAAA,IACF;AACA,IAAA,OAAOX,IAAAA;AAAAA,EACT,CAAA,CAAA;AACF,CAAA;AAEA,MAAMa,eAAeC,SAAAA,EAAU,GAAA,CAAIC,EAAAA,GAAAA,QAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,QAAAA,CAAUC,IAAAA,KAAVD,mBAAgBE,WAAAA,GAAc,IAAA;AACjE,kDAA+B;AAAA,EAC7BC,IAAAA,EAAM,gBAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdV,KAAAA,EAAO;AAAA,IACL,GAAGW,gBAAAA;AAAiB,GACtB;AAAA,EACAC,KAAAA,EAAO,CAAC,UAAA,EAAY,QAAQ,CAAA;AAAA,EAC5BC,MAAMb,KAAAA,EAAO;AAAA,IAAEc,KAAAA;AAAAA,IAAOC,IAAAA;AAAAA,IAAMC,MAAAA;AAAAA,IAAQC;AAAAA,GAAM,EAAG;AAE3C,IAAA,MAAMC,SAAAA,GAAYC,IAAI,CAAC,CAAA;AAEvB,IAAA,MAAMC,SAAAA,GAAYD,IAAI,CAAC,CAAA;AAEvB,IAAA,MAAME,WAAAA,GAAcF,IAAI,CAAC,CAAA;AACzB,IAAA,MAAMG,OAAOC,OAAAA,EAAQ;AACrB,IAAA,MAAMC,SAAAA,GAAYC,aAAa,cAAc,CAAA;AAC7C,IAAA,MAAMC,MAAAA,GAASC,eAA+B,SAAS,CAAA;AACvD,IAAA,MAAMC,UAAUT,GAAAA,EAAuD;AACvE,IAAA,MAAMU,aAAAA,GAAgBV,GAAAA,CAAuB,EAAE,CAAA;AAC/C,IAAA,MAAM,CAACnC,KAAAA,EAAO8C,QAAQ,CAAA,GAAIC,eAAe3B,YAAY,CAAA;AACrD,IAAA,MAAM4B,UAAAA,GAAaC,cAAcL,OAAO,CAAA;AACxCM,IAAAA,iBAAAA,CAAkBR,QAASS,CAAAA,OAAAA,KAAY;AACrC,MAAA,MAAMC,KAAAA,GAAQD,QAAQ,CAAC,CAAA;AACvB,MAAA,MAAM;AAAA,QAAEnD,KAAAA,EAAOqD,QAAAA;AAAAA,QAAUC;AAAAA,OAAO,GAAA,CAAIF,KAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,KAAAA,CAAOG,WAAAA,KAAgB,EAAC;AAC5D,MAAA,IAAIvD,KAAAA,CAAMwD,KAAAA,KAAUH,QAAAA,IAAYA,QAAAA,GAAW,EAAA,EAAI;AAC7CP,QAAAA,QAAAA,CAASO,QAAQ,CAAA;AAAA,MACnB;AACAtB,MAAAA,IAAAA,CAAK,QAAA,EAAUsB,UAAUC,MAAM,CAAA;AAAA,IACjC,CAAC,CAAA;AAED,IAAA,MAAMG,QAAAA,GAAWC,QAAAA,CAAS,MAAM5D,aAAAA,CAAckB,KAAAA,CAAMjB,MAAAA,EAAQC,KAAAA,CAAMwD,KAAAA,GAAQ,EAAA,EAAIxC,KAAAA,CAAMf,IAAI,CAAC,CAAA;AAEzF,IAAA,MAAM0D,UAAAA,GAAaD,SAAS,MAAM;AAChC,MAAA,IAAI1C,KAAAA,CAAM4C,2BAA2BC,MAAAA,EAAW;AAC9C,QAAA,OAAO7C,KAAAA,CAAM4C,sBAAAA;AAAAA,MACf;AACA,MAAA,IAAI5C,KAAAA,CAAM8C,sBAAsBD,MAAAA,EAAW;AACzC,QAAA,MAAME,oBAAAA,GAAuB,EAAA,GAAKN,QAAAA,CAASD,KAAAA,CAAMvD,IAAAA,GAAO,CAAA;AACxD,QAAA,OAAOe,KAAAA,CAAM8C,iBAAAA,GAAoBC,oBAAAA,GAC7BA,oBAAAA,GACA/C,KAAAA,CAAM8C,iBAAAA;AAAAA,MACZ;AACA,MAAA,OAAOE,KAAKC,GAAAA,CAAI,CAAA,EAAG,KAAKR,QAAAA,CAASD,KAAAA,CAAMvD,OAAO,CAAC,CAAA;AAAA,IACjD,CAAC,CAAA;AAED,IAAA,MAAMiE,SAAAA,GAAYR,QAAAA,CAChB,MAAM1C,KAAAA,CAAMmD,aAAAA,IAAiBtB,aAAAA,CAAcW,KAAAA,CAAMY,MAAAA,CAAQ7D,CAAAA,IAAAA,KAASA,IAAAA,CAAK8D,MAAM,CAAA,CAAEC,MACjF,CAAA;AAEA,IAAA,MAAMC,YAAAA,GAAeb,SAAS,MAAM;AAClC,MAAA,IAAIxB,UAAUsB,KAAAA,GAAQ,EAAA,IAAMpB,SAAAA,CAAUoB,KAAAA,IAASG,WAAWH,KAAAA,EAAO;AAC/D,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,OAAO,IAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMgB,MAAAA,GAASd,SAAS,MAAM;AAC5B,MAAA,MAAMe,UAAAA,GAAcpC,WAAAA,CAAYmB,KAAAA,GAAQ,EAAA,GAAMC,SAASD,KAAAA,CAAMvD,IAAAA;AAC7D,MAAA,IAAIwE,aAAa,EAAA,EAAI;AACnB,QAAA,OAAO,EAAA,GAAKhB,SAASD,KAAAA,CAAMvD,IAAAA;AAAAA,MAC7B;AACA,MAAA,OAAO,EAAA,GAAKwE,UAAAA;AAAAA,IACd,CAAC,CAAA;AAGD,IAAA,MAAMC,gBAAAA,GAAmBhB,SAAoC,MAAM;AACjE,MAAA,IAAI1C,KAAAA,CAAM2D,cAAclB,QAAAA,CAASD,KAAAA,CAAMzD,WAAW,UAAA,IAAciB,KAAAA,CAAM2D,eAAe,MAAA,EAAQ;AAC3F,QAAA,OAAO;AAAA,UACLC,QAAAA,EAAU;AAAA,YACRC,IAAAA,EAAM,CAAA,IAAA,EAAO7D,KAAAA,CAAM2D,UAAU,CAAA,EAAA;AAAA,WAC/B;AAAA,UACAG,UAAAA,EAAY;AAAA,YACVC,KAAAA,EAAO;AAAA,cACLC,QAAAA,EAAU,CAAA,YAAA,EAAehE,KAAAA,CAAM2D,UAAU,CAAA,GAAA;AAAA;AAC3C,WACF;AAAA,UACAI,KAAAA,EAAO;AAAA,YACLE,QAAAA,EAAU;AAAA;AACZ,SACF;AAAA,MACF;AACA,MAAA,OAAOpB,MAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,CAACqB,SAAAA,EAAWC,YAAY,IAAIpC,cAAAA,CAChC,MAAM/B,MAAMoE,gBAAAA,EACZ;AAAA,MACE5B,KAAAA,EAAOE,QAAAA,CAAS,MAAM1C,KAAAA,CAAMkE,SAAS,CAAA;AAAA,MACrCG,UAAWC,CAAAA,GAAAA,KAAQ;AACjBvD,QAAAA,IAAAA,CAAK,YAAYuD,GAAG,CAAA;AAAA,MACtB;AAAA,KAEJ,CAAA;AAEA,IAAA,MAAMC,SAAAA,GAAY7B,SAAS,MAAM;AAC/B,MAAA,OAAO;AAAA,QACL,GAAG8B,aAAAA,CACDC,IAAAA,CAAKzE,KAAAA,EAAO;AAAA,UACV,kBAAA;AAAA,UACA,WAAA;AAAA,UACA,MAAA;AAAA,UACA,aAAA;AAAA,UACA,mBAAA;AAAA,UACA,cAAA;AAAA;AAAA,UAEA,iBAAA;AAAA,UACA,UAAA;AAAA,UACA,WAAA;AAAA,UACA,aAAA;AAAA,UACA,YAAA;AAAA,UACA,WAAA;AAAA,UACA,YAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAA;AAAA,UACA,eAAA;AAAA,UACA,UAAA;AAAA,UACA,wBAAA;AAAA,UACA,eAAA;AAAA,UACA,aAAA;AAAA,UACA,YAAA;AAAA,UACA;AAAA,SACD,CACH;AAAA,OACF;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM0E,eAAAA,GAAkBhC,SAAS,MAAM;AACrC,MAAA,IAAI1C,KAAAA,CAAM2E,cAAc,KAAA,EAAO;AAC7B,QAAA,OAAO,KAAA;AAAA,MACT;AAEA,MAAA,OAAOC,KAAAA,CACL;AAAA,QACEb,KAAAA,EAAO;AAAA,UACLc,cAAAA,EAAgB;AAAA,SAClB;AAAA,QACAC,OAAAA,EAAS,IAAA;AAAA,QACTC,YAAAA,EAAc;AAAA,UACZC,YAAYhF,KAAAA,CAAMiF,UAAAA,IAAc3D,IAAAA,CAAK4D,UAAAA,CAAW,eAAe,cAAI,CAAA;AAAA,UACnEC,WAAWnF,KAAAA,CAAMmF,SAAAA,IAAa7D,IAAAA,CAAK4D,UAAAA,CAAW,cAAc,cAAI;AAAA,SAClE;AAAA,QACAE,QAAAA,EAAU;AAAA,UACRnG,IAAAA,EAAMwD,SAASD,KAAAA,CAAMvD,IAAAA;AAAAA,UACrBuE,QAAQA,MAAAA,CAAOhB;AAAAA;AACjB,OACF,EACAxC,MAAM2E,SACR,CAAA;AAAA,IACF,CAAC,CAAA;AAEDU,IAAAA,KAAAA,CACE,CAAC5C,QAAAA,EAAUyB,SAAAA,EAAW,MAAMlE,KAAAA,CAAMP,KAAK,GACvC,MAAM;AAnQZ,MAAA,IAAA6F,GAAAA;AAoQQ,MAAA,IAAIC,YAAAA,GAAe,KAAA;AACnBlE,MAAAA,WAAAA,CAAYmB,KAAAA,GAAQ,CAAA;AACpBpB,MAAAA,SAAAA,CAAUoB,KAAAA,GAAQ,CAAA;AAClBtB,MAAAA,SAAAA,CAAUsB,KAAAA,GAAQ,CAAA;AAClB,MAAA,IAAA,CAAIxC,GAAAA,GAAAA,KAAAA,CAAMP,KAAAA,KAANO,IAAAA,GAAAA,MAAAA,GAAAA,IAAasD,MAAAA,EAAQ;AACvBzB,QAAAA,aAAAA,CAAcW,KAAAA,GAAQhD,YAAAA,CAAaQ,KAAAA,CAAMP,KAAAA,EAAOO,KAAAA,CAAMN,WAAW,CAAA,CAAEP,GAAAA,CAAI,CAACI,IAAAA,EAAMiG,KAAAA,KAAU;AAzQlG,UAAA,IAAAF,GAAAA;AA2QY,UAAA,MAAMG,OAAAA,GAAAA,CAAUlG,GAAAA,GAAAA,IAAAA,CAAKkG,OAAAA,KAALlG,OAAAA,GAAAA,GAAgB,CAAA;AAChC,UAAA,MAAMmG,OAAAA,GAAU1C,KAAK2C,GAAAA,CAAIlD,QAAAA,CAASD,MAAMvD,IAAAA,IAAQwG,OAAAA,IAAW,IAAI,EAAE,CAAA;AAEjEvE,UAAAA,SAAAA,CAAUsB,KAAAA,IAASkD,OAAAA;AAEnBtE,UAAAA,SAAAA,CAAUoB,KAAAA,IAASiD,OAAAA;AAEnB,UAAA,IAAID,UAAU,CAAA,EAAG;AACfD,YAAAA,YAAAA,GAAeG,OAAAA,KAAY,EAAA,IAAM,CAACnG,IAAAA,CAAK8D,MAAAA;AAAAA,UACzC;AAEA,UAAA,MAAMA,SACJ9D,IAAAA,CAAK8D,MAAAA;AAAAA,UAEJa,UAAU1B,KAAAA,KACR+C,YAAAA;AAAAA,UAECnE,SAAAA,CAAUoB,KAAAA,GAAQG,UAAAA,CAAWH,KAAAA,CAAAA,IAC/B,CAAC,CAACgD,KAAAA;AAEN,UAAA,IAAInC,MAAAA,EAAQ;AACV,YAAA,IAAI,CAACrD,MAAM4F,QAAAA,EAAU;AACnB,cAAA,OAAO;AAAA,gBACL,GAAGrG,IAAAA;AAAAA,gBACH6F,QAAAA,EAAU;AAAA,kBAAEnG,IAAAA,EAAM;AAAA,iBAAE;AAAA,gBACpBoE,MAAAA,EAAQ;AAAA,eACV;AAAA,YACF;AACA,YAAA,OAAO;AAAA,cACL,GAAG9D,IAAAA;AAAAA,cACH6F,QAAAA,EAAU;AAAA,gBAAEnG,IAAAA,EAAMyG;AAAAA,eAAQ;AAAA,cAC1BrC,MAAAA,EAAQ;AAAA,aACV;AAAA,UACF;AAEA,UAAA,IAAI,EAAA,GAAMhC,WAAAA,CAAYmB,KAAAA,GAAQ,EAAA,GAAMkD,OAAAA,EAAS;AAE3CxE,YAAAA,SAAAA,CAAUsB,KAAAA,IAAS,EAAA,GAAMnB,WAAAA,CAAYmB,KAAAA,GAAQ,EAAA;AAC7CnB,YAAAA,WAAAA,CAAYmB,KAAAA,IAAS,EAAA,GAAMnB,WAAAA,CAAYmB,KAAAA,GAAQ,EAAA;AAAA,UACjD;AAEAnB,UAAAA,WAAAA,CAAYmB,KAAAA,IAASkD,OAAAA;AACrB,UAAA,OAAO;AAAA,YACL,GAAGnG,IAAAA;AAAAA,YACH8D,MAAAA;AAAAA,YACAlD,eAAeuD,gBAAAA,CAAiBlB,KAAAA;AAAAA,YAChC4C,QAAAA,EAAU;AAAA,cACRnG,IAAAA,EAAMyG;AAAAA;AACR,WACF;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAA,MAAO;AACL7D,QAAAA,aAAAA,CAAcW,QAAQ,EAAA;AAAA,MACxB;AAAA,IACF,CAAA,EACA;AAAA,MACEqD,SAAAA,EAAW;AAAA,KAEf,CAAA;AAEA7E,IAAAA,MAAAA,CAAO;AAAA,MACLY,OAAAA;AAAAA,MACA,GAAGI;AAAAA,KACJ,CAAA;AAED,IAAA,OAAO,MAAA8D,WAAAA,CAAA,KAAA,EAAAC,UAAAA,CAAA;AAAA,MAAA,OAAA,EACO,GAAGvE,SAAS,CAAA,KAAA,CAAA;AAAA,MAAO,KAAA,EAAA;AAAA,OAAoBP,KAAK,CAAA,EAAA,CAAA6E,WAAAA,CAAAE,UAAAD,UAAAA,CAAA;AAAA,MAAA,KAAA,EAE/CnE,OAAAA;AAAAA,MAAO,OAAA,EACLJ;AAAAA,KAAS,EACZ+C,UAAU/B,KAAAA,EAAK;AAAA,MAAA,MAAA,EAAA,IAAA;AAAA,MAAA,eAAA,EAAA,IAAA;AAAA,MAAA,UAAA,EAGT;AAAA,QACRyD,QAAQjG,KAAAA,CAAMkG,YAAAA;AAAAA,QACdC,OAAAA,EAAS,OAAA;AAAA,QACTC,KAAAA,EAAO,GAAG5E,SAAS,CAAA,IAAA;AAAA,OACrB;AAAA,MAAC,iBAAA,EACgB,KAAA;AAAA,MAAK,aACXkD,eAAAA,CAAgBlC,KAAAA;AAAAA,MAAK,SACzBX,aAAAA,CAAcW,KAAAA;AAAAA,MAAK,QAAA,EAClBC,SAASD,KAAAA,CAAMzD,MAAAA;AAAAA,MAAM,WA6BnBsH,CAAAA,MAAAA,KAAW;AAzX/B,QAAA,IAAAf,GAAAA,EAAA,EAAA;AA0XY,QAAA,IAAItF,MAAMsG,aAAAA,EAAe;AACvB1E,UAAAA,CAAAA,GAAAA,GAAAA,OAAAA,CAAQY,KAAAA,KAARZ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAe2E,MAAAA,EAAAA;AAAAA,QACjB;AACAvG,QAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMwG,YAANxG,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EAAgBqG,MAAAA,CAAAA;AAAAA,MAClB;AAAA,KAAC,CAAA,EAjCQ;AAAA,MACP,GAAGvF,KAAAA;AAAAA,MACH6D,WAAWA,CAAC;AAAA,QAAE8B;AAAAA,OAAY,KAAM;AAC9B,QAAA,OAAAX,WAAAA,CAAAY,UAAA,IAAA,EAAA,CAEKD,aACAlD,YAAAA,CAAaf,KAAAA,KAAU,KAAA,IAAKsD,WAAAA,CAAA,GAAA,EAAA;AAAA,UAAA,OAAA,EAElB,GAAGtE,SAAS,CAAA,gBAAA,CAAA;AAAA,UAAkB,SAAA,EAC5BmF,MAAMxC,YAAAA,CAAa,CAACD,UAAU1B,KAAK;AAAA,SAAC,EAAA,CAE5C0B,SAAAA,CAAU1B,KAAAA,GACPlB,KAAK4D,UAAAA,CAAW,gBAAA,EAAkB,cAAI,CAAA,GACtC5D,IAAAA,CAAK4D,UAAAA,CAAW,eAAe,cAAI,CAAA,EACtC,CAAC,CAAChC,SAAAA,CAAUV,KAAAA,IAAS,IAAIU,SAAAA,CAAUV,KAAK,CAAA,CAAA,CAAA,EAAGsD,WAAAA,CAAAc,YAAAA,EAAA;AAAA,UAAA,OAAA,EAEnC;AAAA,YACLC,iBAAAA,EAAmB,OAAA;AAAA,YACnBC,UAAAA,EAAY,UAAA;AAAA,YACZC,SAAAA,EAAW,CAAA,OAAA,EAAU7C,SAAAA,CAAU1B,KAAAA,GAAQ,IAAI,GAAG,CAAA,KAAA;AAAA;AAChD,SAAC,EAAA,IAAA,CAAA,CAAA,CAGN,CAAA,CAAA;AAAA,MAGP;AAAA,KACD,CAAA,CAAA,CAAA;AAAA,EAUT;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"QueryFilter.mjs","sources":["../../../../../../../packages/components/form/src/layouts/QueryFilter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-21 23:26:49\n * @Description:\n */\nimport { ref, computed, defineComponent, watch, useTemplateRef } from 'vue'\nimport { queryFilterProps } from '../props'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { isBrowser, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { ProFieldType } from '../fieldType'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport BaseForm from '../base/BaseForm'\n\nimport type { ProFormActionType, ProFormItemType, SpanConfig } from '../type'\nimport type { FormItemProps, FormProps } from 'ant-design-vue'\n\nconst CONFIG_SPAN_BREAKPOINTS = {\n xs: 513,\n sm: 513,\n md: 785,\n lg: 992,\n xl: 1057,\n xxl: Infinity,\n}\n/** 配置表单列变化的容器宽度断点 */\nconst BREAKPOINTS = {\n vertical: [\n // [breakpoint, cols, layout]\n [513, 1, 'vertical'],\n [785, 2, 'vertical'],\n [1057, 3, 'vertical'],\n [Infinity, 4, 'vertical'],\n ],\n default: [\n [513, 1, 'vertical'],\n [701, 2, 'vertical'],\n [1062, 3, 'horizontal'],\n [1352, 3, 'horizontal'],\n [Infinity, 4, 'horizontal'],\n ],\n}\n\n/**\n * 合并用户和默认的配置\n *\n * @param layout\n * @param width\n */\nconst getSpanConfig = (\n layout: FormProps['layout'] = 'horizontal',\n width: number,\n span?: SpanConfig,\n): { span: number; layout: FormProps['layout'] } => {\n if (span && typeof span === 'number') {\n return {\n span,\n layout,\n }\n }\n\n const spanConfig: (string | number)[][] = span\n ? ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].map((key) => [\n CONFIG_SPAN_BREAKPOINTS[key as 'xs'],\n 24 / (span as any)[key as 'sm'],\n 'horizontal',\n ])\n : BREAKPOINTS[(layout as 'default') || 'default']\n const breakPoint = (spanConfig || BREAKPOINTS.default).find(\n (item) => width < (item[0] as number) + 16, // 16 = 2 * (ant-row -8px margin)\n )\n if (!breakPoint) {\n return {\n span: 8,\n layout: 'horizontal',\n }\n }\n return {\n span: 24 / (breakPoint[1] as number),\n layout: breakPoint?.[2] as 'horizontal',\n }\n}\n\nconst flatMapItems = (items: ProFormItemType[], ignoreRules?: boolean): ProFormItemType[] => {\n return items?.flatMap((item: any) => {\n if (item.fieldType === ProFieldType.GROUP && !item.title) {\n return item.props.children\n }\n if (ignoreRules) {\n return {\n ...item,\n rules: [],\n formItemProps: {\n ...item.formItemProps,\n rules: [],\n },\n }\n }\n return item\n })\n}\n\nconst defaultWidth = isBrowser() ? document?.body?.clientWidth : 1024\nexport default defineComponent({\n name: 'ProQueryFilter',\n inheritAttrs: false,\n props: {\n ...queryFilterProps(),\n },\n emits: ['collapse', 'resize'],\n setup(props, { slots, emit, expose, attrs }) {\n // totalSpan 统计控件占的位置,计算 offset 保证查询按钮在最后一列\n const totalSpan = ref(0)\n // totalSize 统计控件占的份数\n const totalSize = ref(0)\n // for split compute\n const currentSpan = ref(0)\n const intl = useIntl()\n const prefixCls = usePrefixCls('query-filter')\n const wrapEl = useTemplateRef<HTMLDivElement>('wrapper')\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const processedList = ref<ProFormItemType[]>([])\n const [width, setWidth] = useMergedState(defaultWidth)\n const formExpose = useFormExpose(formRef)\n useResizeObserver(wrapEl, (entries) => {\n const entry = entries[0]\n const { width: newWidth, height } = entry?.contentRect || ({} as DOMRectReadOnly)\n if (width.value !== newWidth && newWidth > 17) {\n setWidth(newWidth)\n }\n emit('resize', newWidth, height)\n })\n\n const spanSize = computed(() => getSpanConfig(props.layout, width.value + 16, props.span))\n\n const showLength = computed(() => {\n if (props.defaultFormItemsNumber !== undefined) {\n return props.defaultFormItemsNumber\n }\n if (props.defaultColsNumber !== undefined) {\n const oneRowControlsNumber = 24 / spanSize.value.span - 1\n return props.defaultColsNumber > oneRowControlsNumber\n ? oneRowControlsNumber\n : props.defaultColsNumber\n }\n return Math.max(1, 24 / spanSize.value.span - 1)\n })\n\n const hiddenNum = computed(\n () => props.showHiddenNum && processedList.value.filter((item) => item.hidden).length,\n )\n\n const needCollapse = computed(() => {\n if (totalSpan.value < 24 || totalSize.value <= showLength.value) {\n return false\n }\n return true\n })\n\n const offset = computed(() => {\n const offsetSpan = (currentSpan.value % 24) + spanSize.value.span\n if (offsetSpan > 24) {\n return 24 - spanSize.value.span\n }\n return 24 - offsetSpan\n })\n\n /** 计算最大宽度防止溢出换行 */\n const formItemFixStyle = computed<FormItemProps | undefined>(() => {\n if (props.labelWidth && spanSize.value.layout !== 'vertical' && props.labelWidth !== 'auto') {\n return {\n labelCol: {\n flex: `0 0 ${props.labelWidth}px`,\n },\n wrapperCol: {\n style: {\n maxWidth: `calc(100% - ${props.labelWidth}px)`,\n },\n },\n style: {\n flexWrap: 'nowrap',\n },\n }\n }\n return undefined\n })\n\n const [collapsed, setCollapsed] = useMergedState<boolean | undefined>(\n () => props.defaultCollapsed,\n {\n value: computed(() => props.collapsed),\n onChange: (val) => {\n emit('collapse', val)\n },\n },\n )\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'defaultCollapsed',\n 'collapsed',\n 'grid',\n 'showLoading',\n 'defaultColsNumber',\n 'searchGutter',\n // 'onFinish',\n 'submitOnLoading',\n 'preserve',\n 'submitter',\n 'ignoreRules',\n 'searchText',\n 'resetText',\n 'labelWidth',\n 'layout',\n 'items',\n 'gridSubmitter',\n 'rowProps',\n 'defaultFormItemsNumber',\n 'showHiddenNum',\n 'ignoreRules',\n 'onCollapse',\n 'onReset',\n ]),\n ),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n style: {\n justifyContent: 'flex-end',\n },\n reverse: true,\n searchConfig: {\n submitText: props.searchText || intl.getMessage('form.search', '搜索'),\n resetText: props.resetText || intl.getMessage('form.reset', '重置'),\n },\n colProps: {\n span: spanSize.value.span,\n offset: offset.value,\n },\n },\n props.submitter,\n )\n })\n\n watch(\n [spanSize, collapsed, () => props.items],\n () => {\n let firstRowFull = false\n currentSpan.value = 0\n totalSize.value = 0\n totalSpan.value = 0\n if (props.items?.length) {\n processedList.value = flatMapItems(props.items, props.ignoreRules).map((item, index) => {\n // 如果 formItem 自己配置了 hidden,默认使用它自己的\n const colSize = item.colSize ?? 1\n const colSpan = Math.min(spanSize.value.span * (colSize || 1), 24)\n // 计算总的 totalSpan 长度\n totalSpan.value += colSpan\n // 计算总的 colSize 长度\n totalSize.value += colSize\n\n if (index === 0) {\n firstRowFull = colSpan === 24 && !item.hidden\n }\n\n const hidden: boolean | undefined =\n item.hidden ||\n // 如果收起了\n (props.submitter !== false &&\n collapsed.value &&\n (firstRowFull ||\n // 如果 超过显示长度 且 总长度超过了 24\n totalSize.value > showLength.value) &&\n !!index)\n\n if (hidden) {\n if (!props.preserve) {\n return {\n ...item,\n colProps: { span: 0 },\n hidden: true,\n }\n }\n return {\n ...item,\n colProps: { span: colSpan },\n hidden: true,\n }\n }\n\n if (24 - (currentSpan.value % 24) < colSpan) {\n // 如果当前行空余位置放不下,那么折行\n totalSpan.value += 24 - (currentSpan.value % 24)\n currentSpan.value += 24 - (currentSpan.value % 24)\n }\n\n currentSpan.value += colSpan\n return {\n ...item,\n hidden,\n formItemProps: formItemFixStyle.value,\n colProps: {\n span: colSpan,\n },\n }\n })\n } else {\n processedList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <div class={`${prefixCls}-wrap`} ref=\"wrapper\" {...attrs}>\n <BaseForm\n ref={formRef}\n class={prefixCls}\n {...formProps.value}\n grid\n gridSubmitter\n rowProps={{\n gutter: props.searchGutter,\n justify: 'start',\n class: `${prefixCls}-row`,\n }}\n showLoading={false}\n submitter={submitterConfig.value}\n items={processedList.value}\n layout={spanSize.value.layout}\n v-slots={{\n ...slots,\n submitter: ({ defaultDoms }) => {\n return (\n <>\n {defaultDoms}\n {needCollapse.value !== false && (\n <a\n class={`${prefixCls}-collapse-button`}\n onClick={() => setCollapsed(!collapsed.value)}\n >\n {collapsed.value\n ? intl.getMessage('form.collapsed', '展开')\n : intl.getMessage('form.expand', '收起')}\n {!!hiddenNum.value && `(${hiddenNum.value})`}\n <DownOutlined\n style={{\n marginInlineStart: '0.5em',\n transition: '0.3s all',\n transform: `rotate(${collapsed.value ? 0 : 0.5}turn)`,\n }}\n />\n </a>\n )}\n </>\n )\n },\n }}\n onReset={(values) => {\n if (props.resetOnSubmit) {\n formRef.value?.submit()\n }\n props.onReset?.(values)\n }}\n />\n </div>\n )\n },\n})\n"],"names":["CONFIG_SPAN_BREAKPOINTS","xs","sm","md","lg","xl","xxl","Infinity","BREAKPOINTS","vertical","default","getSpanConfig","layout","width","span","spanConfig","map","key","breakPoint","find","item","flatMapItems","items","ignoreRules","flatMap","fieldType","ProFieldType","GROUP","title","props","children","rules","formItemProps","defaultWidth","isBrowser","document","body","clientWidth","name","inheritAttrs","queryFilterProps","emits","setup","slots","emit","expose","attrs","totalSpan","ref","totalSize","currentSpan","intl","useIntl","prefixCls","usePrefixCls","wrapEl","useTemplateRef","formRef","processedList","setWidth","useMergedState","formExpose","useFormExpose","useResizeObserver","entries","entry","newWidth","height","contentRect","value","spanSize","computed","showLength","defaultFormItemsNumber","undefined","defaultColsNumber","oneRowControlsNumber","Math","max","hiddenNum","showHiddenNum","filter","hidden","length","needCollapse","offset","offsetSpan","formItemFixStyle","labelWidth","labelCol","flex","wrapperCol","style","maxWidth","flexWrap","collapsed","setCollapsed","defaultCollapsed","onChange","val","formProps","omitUndefined","omit","submitterConfig","submitter","merge","justifyContent","reverse","searchConfig","submitText","searchText","getMessage","resetText","colProps","watch","_a","firstRowFull","index","colSize","colSpan","min","preserve","immediate","_createVNode","_mergeProps","BaseForm","gutter","searchGutter","justify","class","values","resetOnSubmit","submit","onReset","defaultDoms","_Fragment","onClick","DownOutlined","marginInlineStart","transition","transform"],"mappings":"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"}
@@ -188,13 +188,13 @@ export type ProFormActionType<T = Entity> = {
188
188
  /** @name 获取对应字段名的值 */
189
189
  getFieldValue: (name: NamePath) => any;
190
190
  /** @name 获取一组字段名对应的值,会按照对应结构返回。默认返回现存字段值,当调用getFieldsValue(true)时返回所有值 */
191
- getFieldsValue: (nameList?: true | NamePath[]) => Partial<T>;
191
+ getFieldsValue: (nameList?: true | NamePath[]) => Partial<T> | undefined;
192
192
  /** @name 获取被SForm格式化后的单个数据 */
193
- getFieldFormatValue: (name: NamePath) => T;
193
+ getFieldFormatValue: (name: NamePath) => T | undefined;
194
194
  /** @name 获取被SForm格式化后的单个数据,包含他的name */
195
- getFieldFormatValueObject: (name: NamePath) => T;
195
+ getFieldFormatValueObject: (name: NamePath) => T | undefined;
196
196
  /** @name 验字段后返回格式化之后的所有数据 */
197
- validateFieldsReturnFormatValue: (nameList?: NamePath[]) => Promise<any>;
197
+ validateFieldsReturnFormatValue: (nameList?: NamePath[]) => Promise<any> | undefined;
198
198
  /** @name 设置表单的值,如果你不希望传入对象被修改,请克隆后传入 */
199
199
  setFieldValue: (name: NamePath, value: any) => void;
200
200
  /** @name 设置表单的值 */
@@ -206,7 +206,7 @@ export type ProFormActionType<T = Entity> = {
206
206
  /** @name 移除表单项的校验结果。传入待移除的表单项的name属性或者name组成的数组,如不传则移除整个表单的校验结果 */
207
207
  clearValidate: (name?: NamePath) => void;
208
208
  /** @name 触发表单验证 */
209
- validateFields: (nameList?: NamePath[]) => Promise<T>;
209
+ validateFields: (nameList?: NamePath[]) => Promise<T> | undefined;
210
210
  /** @name 重置所有字段到initialValues */
211
211
  reset: () => void;
212
212
  /** @name 提交表单,与点击submit按钮效果相同 */
@@ -1 +1 @@
1
- {"version":3,"file":"Body.vue.mjs","sources":["../../../../../../../../packages/components/table/src/components/Body/Body.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 22:03:08\n * @LastEditors: shen\n * @LastEditTime: 2025-09-19 16:14:25\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, onMounted, shallowRef, onBeforeUnmount } from 'vue'\nimport { Empty } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useProvideBody } from '../context/BodyContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { useVScrollSyncInject } from '../../hooks/useVScrollSync'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { RenderVNode, RenderSlot } from '../../utils/renderVNode'\nimport { resize } from '@pro-design-vue/directives'\nimport { useResizeObserver } from '@vueuse/core'\nimport useTooltip from '../../hooks/useTooltip'\nimport onClickOutside from '../../utils/onClickOutside'\nimport BodyRows from './BodyRows.vue'\nimport XScroll from '../Scrollbar/XScroll'\nimport YScroll from '../Scrollbar/YScroll'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { SummaryFixed } from '../interface'\nimport type { CustomSlotsType } from '../../utils/type'\n\nexport default defineComponent({\n name: 'TableBody',\n components: {\n BodyRows,\n Empty,\n RenderVNode,\n RenderSlot,\n HorizontalScroll: XScroll,\n YScroll,\n },\n directives: { resize },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n bodyScrollWidth: { type: Number as PropType<number> },\n bodyWidth: { type: Number as PropType<number> },\n bodyHeight: { type: Number as PropType<number> },\n height: { type: [Number, String] as PropType<number | string> },\n scrollX: [Number, String] as PropType<number | string>,\n summaryFixed: [Boolean, String] as PropType<boolean | SummaryFixed>,\n emptyText: Function,\n summary: Function,\n },\n emits: [\n 'scroll',\n 'scrollLeft',\n 'scrollTop',\n 'update:bodyWidth',\n 'update:bodyHeight',\n 'update:bodyScrollWidth',\n 'keydown',\n ],\n slots: {} as CustomSlotsType<{\n emptyText: any\n default: any\n }>,\n setup(props, { emit, attrs, expose }) {\n const tableContext = useInjectTable()\n const tableSlotsContext = useInjectSlots()\n\n const dragRowPlaceholderRef = ref<HTMLDivElement>()\n const bodyRef = ref<HTMLDivElement>()\n const measureDomRef = ref<HTMLDivElement>()\n const bodyInnerRef = ref<HTMLDivElement>()\n const scrollLayerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const summaryViewportRef = ref<HTMLDivElement>()\n\n const bodyViewportRef = ref<HTMLDivElement>()\n const bodyContainerRef = ref<HTMLDivElement>()\n\n const summaryHeight = ref(0)\n\n const leftColumns = computed(() => tableContext.leftColumns.value)\n const centerColumns = computed(() => tableContext.centerColumns.value)\n const rightColumns = computed(() => tableContext.rightColumns.value)\n const showWatermark = computed(() => tableContext.status.value.code !== 4)\n\n const leftPopupContainer = ref<HTMLDivElement>()\n const centerPopupContainer = ref<HTMLDivElement>()\n const rightPopupContainer = ref<HTMLDivElement>()\n\n const leftTarget = ref<HTMLDivElement>()\n const centerTarget = ref<HTMLDivElement>()\n const rightTarget = ref<HTMLDivElement>()\n\n const { hoverColumnKey } = useInjectHover()\n const { open } = useTooltip({ hoverColumnKey })\n\n const popupContent = shallowRef<any>()\n const popupContentPos = ref<string | null>()\n const contextmenuPos = ref({ clientX: 0, clientY: 0 })\n\n const setTargetStyle = (target: HTMLDivElement) => {\n target.style.display = 'none'\n target.style.opacity = '0'\n target.style.left = '0px'\n target.style.top = '0px'\n target.style.height = '1px'\n target.style.maxWidth = props.bodyWidth! - 4 + 'px'\n }\n\n const setContextmenuPopupPos = () => {\n const { clientX, clientY } = contextmenuPos.value\n const popupPos = popupContentPos.value\n const target =\n popupPos === 'left'\n ? leftTarget.value\n : popupPos === 'right'\n ? rightTarget.value\n : centerTarget.value\n if (!popupPos || !target) {\n return\n }\n target.style.display = 'block'\n const { left, top } = target.parentElement!.getBoundingClientRect()\n const firstChild = target.children[0]!\n const minHeight = Math.min(\n target.scrollHeight,\n firstChild.scrollHeight!,\n viewportHeight.value - 4,\n )\n target.style.opacity = '1'\n target.style.height = `${minHeight}px`\n let leftPos = clientX - left\n let rightPos = clientY - top\n if (rightPos + minHeight > viewportHeight.value) {\n rightPos = viewportHeight.value - minHeight - 2\n }\n\n if (popupContentPos.value === 'center') {\n if (leftPos + target.offsetWidth > tableContext.centerWidth.value) {\n leftPos = tableContext.centerWidth.value - target.offsetWidth - 2\n }\n } else if (popupContentPos.value === 'right') {\n if (leftPos + target.offsetWidth > tableContext.rightWidth.value) {\n leftPos = tableContext.rightWidth.value - target.offsetWidth - 2\n }\n } else {\n if (leftPos + target.offsetWidth > props.bodyWidth!) {\n leftPos = props.bodyWidth! - target.offsetWidth - 2\n }\n }\n target.style.left = `${leftPos}px`\n target.style.top = `${rightPos}px`\n }\n\n const showYScrollbar = computed(() => tableContext.showVerticalScrollbar.value)\n const showXScrollbar = computed(() => tableContext.showHorizontalScrollbar.value)\n\n watch(\n [tableContext.centerWidth, tableContext.rightWidth, () => props.bodyWidth],\n () => {\n setContextmenuPopupPos()\n },\n { flush: 'post' },\n )\n\n let contextmenuTimer: any\n\n onClickOutside(leftTarget, () => {\n if (popupContentPos.value === 'left') {\n popupContentPos.value = null\n setTargetStyle(leftTarget.value!)\n }\n })\n onClickOutside(centerTarget, () => {\n if (popupContentPos.value === 'center') {\n popupContentPos.value = null\n setTargetStyle(centerTarget.value!)\n }\n })\n onClickOutside(rightTarget, () => {\n if (popupContentPos.value === 'right') {\n popupContentPos.value = null\n setTargetStyle(rightTarget.value!)\n }\n })\n\n useProvideBody({\n onBodyCellContextmenu: (event, args, type) => {\n if (tableContext.props.hasContextmenuPopup) {\n const { clientX, clientY } = event\n setTargetStyle(leftTarget.value!)\n setTargetStyle(centerTarget.value!)\n setTargetStyle(rightTarget.value!)\n popupContentPos.value = type\n popupContent.value = () =>\n tableSlotsContext.contextmenuPopup?.({\n event,\n ...args,\n hidePopup: () => {\n ;((popupContentPos.value = null),\n setTargetStyle(leftTarget.value!),\n setTargetStyle(centerTarget.value!),\n setTargetStyle(rightTarget.value!))\n },\n })\n contextmenuPos.value = { clientX, clientY }\n clearTimeout(contextmenuTimer)\n contextmenuTimer = setTimeout(() => {\n setContextmenuPopupPos()\n })\n event.preventDefault()\n }\n },\n bodyRef,\n tooltipOpen: open,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n })\n\n expose({ bodyRef })\n\n onBeforeUnmount(() => {\n clearTimeout(contextmenuTimer)\n clearTimeout(undefined)\n })\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n const { addVScrollDom, removeVScrollDom } = useVScrollSyncInject()\n\n onMounted(() => {\n watch(\n summaryViewportRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyContainerRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyViewportRef,\n (newValue, oldValue) => {\n removeVScrollDom(oldValue!)\n addVScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n })\n onBeforeUnmount(() => {\n removeHScrollDom(summaryViewportRef.value!)\n removeHScrollDom(bodyContainerRef.value!)\n removeVScrollDom(bodyViewportRef.value!)\n })\n\n const bodyInnerWidth = ref(0)\n const emptyHeight = ref(0)\n\n const scrollbarStyle = computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: barSize === '0px' ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n })\n\n const bodyViewportStyle = computed<CSSProperties>(() => ({\n width: `calc(100% + ${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n // width: `calc(100% + 0px)`,\n overflowX: 'hidden',\n overflowY: 'auto',\n height: '100%',\n }))\n const isEmpty = computed(() => 0 === tableContext.pageData.value.length)\n const leftShadowStyle = computed<CSSProperties>(() =>\n props.bodyWidth! - tableContext.rightWidth.value > tableContext.leftWidth.value\n ? {\n position: 'absolute',\n left: `${tableContext.leftWidth.value}px`,\n height: '100%',\n }\n : { display: 'none' },\n )\n const rightShadowStyle = computed<CSSProperties>(() =>\n tableContext.rightWidth.value\n ? {\n position: 'absolute',\n left: props.bodyWidth! - tableContext.rightWidth.value + 'px',\n height: '100%',\n }\n : { display: 'none' },\n )\n const bodyClass = computed(() => ({\n [`${props.prefixCls}-body`]: true,\n [`${props.prefixCls}-unselectable`]: false !== tableContext.props.rangeSelection,\n }))\n const fixLeftClass = computed(() => ({\n [`${props.prefixCls}-fix-left`]: true,\n [`${props.prefixCls}-no-columns`]: !leftColumns.value.length,\n }))\n const fixRightClass = computed(() => ({\n [`${props.prefixCls}-fix-right`]: true,\n [`${props.prefixCls}-no-columns`]: !rightColumns.value.length,\n }))\n const centerClass = computed(() => ({\n [`${props.prefixCls}-center`]: true,\n [`${props.prefixCls}-no-columns`]: !centerColumns.value.length,\n }))\n const summaryViewportClass = computed(() => ({\n [`${props.prefixCls}-center-viewport`]: true,\n }))\n const containerClass = computed(() => ({\n [`${props.prefixCls}-center-container`]: true,\n }))\n const viewportHeight = computed(\n () =>\n tableContext.viewportHeight.value +\n (props.summaryFixed ? emptyHeight.value : summaryHeight.value + emptyHeight.value),\n )\n const containerStyle = computed<CSSProperties>(() => ({\n width: `${tableContext.centerWidth.value}px`,\n height: `${viewportHeight.value}px`,\n }))\n const summaryViewportStyle = computed<CSSProperties>(() => ({\n height: `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`,\n }))\n const scrollLayerStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n width: `${tableContext.bodyMaxWidth.value}px`,\n minWidth: '100%',\n }))\n const rowsHeightStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n overflow: 'hidden',\n minHeight: '100%',\n transform: 'translateZ(0)',\n }))\n const bodyStyle = computed<CSSProperties>(() => ({\n ...(attrs.style || {}),\n maxHeight: 'number' == typeof props.height ? `${props.height}px` : props.height,\n overflowY: 'hidden',\n }))\n const bodyContainerStyle = computed<CSSProperties>(\n () =>\n ({\n height: tableContext.showHorizontalScrollbar.value\n ? `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`\n : 'calc(100%)',\n zIndex: 'unset !important',\n overflowX: 'auto',\n overflowY: 'hidden',\n }) as any,\n )\n const centerStyle = computed<CSSProperties>(() => ({ height: `${viewportHeight.value}px` }))\n const leftStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.leftWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const rightStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.rightWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const summaryClass = computed(() => ({\n [`${props.prefixCls}-summary`]: true,\n [`${props.prefixCls}-position-absolute`]: !isEmpty.value,\n }))\n const fixedSummaryClass = computed(() => [\n summaryClass.value,\n `${props.prefixCls}-summary-fixed`,\n `${props.prefixCls}-summary-fixed-${props.summaryFixed}`,\n ])\n const summaryStyle = computed<CSSProperties>(() => {\n const styles = { height: `${summaryHeight.value}px` }\n return Object.assign(\n styles,\n props.summaryFixed\n ? showXScrollbar.value\n ? { borderTop: 'none' }\n : {}\n : {\n position: 'absolute',\n bottom: 0,\n width: `${props.bodyWidth}px`,\n borderTop: 'none',\n },\n ) as CSSProperties\n })\n const topSummaryStyle = computed<CSSProperties>(() => {\n if ('object' == typeof tableContext.props.sticky) {\n const { offsetHeader = 0, topSummary = false } = tableContext.props.sticky\n return topSummary\n ? ({\n ...summaryStyle.value,\n position: 'sticky',\n top: `${offsetHeader + tableContext.realHeaderHeight.value}px`,\n } as CSSProperties)\n : (summaryStyle.value as CSSProperties)\n }\n return summaryStyle.value as CSSProperties\n })\n const emptyStyle = computed<CSSProperties>(() => ({ width: `${props.bodyWidth}px` }))\n\n useResizeObserver(measureDomRef as never, (entries) => {\n console.log('🚀 ~ useResizeObserver ~ entries:', entries[0]?.contentRect)\n const contentRect = entries[0]?.contentRect\n emit('update:bodyWidth', contentRect?.width)\n emit('update:bodyHeight', contentRect?.height)\n })\n return {\n bodyContainerStyle,\n measureDomStyle: computed<any>(() => ({\n width: '100%',\n height: '100%!important',\n position: 'absolute!important',\n fontSize: '100px!important',\n opacity: '0.1!important',\n textAlign: 'center!important',\n top: '0px!important',\n left: '0px!important',\n pointerEvents: 'none',\n display: 'block!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n visibility: 'visible!important',\n zIndex: '999!important',\n })),\n isEmpty,\n emptyStyle,\n handleEmptyHeight: (e: CustomEvent) => {\n emptyHeight.value = e.detail.height\n },\n bodyClass,\n fixLeftClass,\n fixRightClass,\n centerClass,\n containerClass,\n summaryViewportClass,\n summaryClass,\n rightStyle,\n centerStyle,\n leftStyle,\n summaryViewportStyle,\n containerStyle,\n summaryStyle,\n viewportHeight,\n leftColumns,\n centerColumns,\n rightColumns,\n bodyInnerWidth,\n handleBodyInnerResize: (e: CustomEvent) => {\n bodyInnerWidth.value = e.detail.width\n },\n handleBodyScrollResize: (e: CustomEvent) => {\n emit('update:bodyScrollWidth', e.detail.width)\n },\n bodyRef,\n measureDomRef,\n bodyInnerRef,\n viewportRef,\n summaryViewportRef,\n handleResize: (e: CustomEvent) => {\n summaryHeight.value = e.detail.height\n },\n bodyStyle,\n handleBodyResize: (e: CustomEvent) => {\n emit('update:bodyWidth', e.detail.width)\n emit('update:bodyHeight', e.detail.height)\n },\n emptyImage: Empty.PRESENTED_IMAGE_SIMPLE,\n scrollLayerStyle,\n getRowClassName: (record: any, index: number) => {\n const rowClassName = tableContext.props.rowClassName\n return (\n typeof rowClassName == 'function' ? rowClassName(record, index) : rowClassName\n ) as string\n },\n showWatermark,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n leftShadowStyle,\n rightShadowStyle,\n fixedSummaryClass,\n scrollLayerRef,\n scrollbarStyle,\n topSummaryStyle,\n leftTarget,\n centerTarget,\n rightTarget,\n popupContent,\n popupContentPos,\n handleContextmenuPopupResize: () => {\n setContextmenuPopupPos()\n },\n handleDragStart: (e: MouseEvent) => {\n if (e.target instanceof HTMLImageElement) {\n e.preventDefault()\n return false\n }\n },\n handleKeydown: (e: KeyboardEvent) => {\n emit('keydown', e)\n },\n bodyViewportStyle,\n bodyViewportRef,\n bodyContainerRef,\n rowsHeightStyle,\n showYScrollbar,\n }\n },\n})\n</script>\n\n<template>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'top'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"topSummaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :class=\"`${prefixCls}-cell-shadow-left`\" :style=\"leftShadowStyle\"></div>\n <div :class=\"`${prefixCls}-cell-shadow-right`\" :style=\"rightShadowStyle\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <div\n key=\"body\"\n ref=\"bodyRef\"\n :class=\"bodyClass\"\n :style=\"bodyStyle\"\n @dragstart=\"handleDragStart\"\n @keydown=\"handleKeydown\"\n >\n <div\n :style=\"{\n width: '100%',\n overflow: 'hidden',\n position: 'relative',\n transform: 'translateZ(0)',\n }\"\n >\n <div\n ref=\"bodyViewportRef\"\n :class=\"`${prefixCls}-body-viewport-container`\"\n :style=\"bodyViewportStyle\"\n >\n <div :style=\"rowsHeightStyle\">\n <div\n ref=\"bodyContainerRef\"\n :class=\"`${prefixCls}-body-container`\"\n :style=\"bodyContainerStyle\"\n >\n <div ref=\"leftPopupContainer\" key=\"left\" :class=\"fixLeftClass\" :style=\"leftStyle\">\n <BodyRows\n v-if=\"leftColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"left\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div\n v-if=\"summary && !summaryFixed\"\n key=\"summary\"\n :class=\"summaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div ref=\"summaryViewportRef\" :class=\"`${prefixCls}-summary-container`\">\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n </div>\n </div>\n\n <div ref=\"leftTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'left'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <div key=\"center\" :class=\"centerClass\" :style=\"centerStyle\">\n <div ref=\"centerPopupContainer\" :class=\"containerClass\" :style=\"containerStyle\">\n <BodyRows\n v-if=\"centerColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"center\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div ref=\"centerTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'center'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n </div>\n <div key=\"right\" ref=\"rightPopupContainer\" :class=\"fixRightClass\" :style=\"rightStyle\">\n <BodyRows\n v-if=\"rightColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"right\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div ref=\"rightTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize=\"true\"\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'right'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <span ref=\"dragRowPlaceholderRef\" :class=\"`${prefixCls}-drag-placeholder`\"></span>\n </div>\n </div>\n <div v-if=\"isEmpty\" key=\"empty\" :class=\"`${prefixCls}-empty-container`\">\n <div v-resize:height style=\"padding: 1px\" @resizeheight=\"handleEmptyHeight\">\n <RenderVNode :vnode=\"emptyText\"> <Empty :image=\"emptyImage\" /> </RenderVNode>\n </div>\n </div>\n </div>\n <div ref=\"measureDomRef\" :style=\"measureDomStyle\"></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-scroll-measure`\"\n :style=\"`min-width: ${bodyInnerWidth}px`\"\n @resizewidth=\"handleBodyScrollResize\"\n ></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-inner-measure`\"\n :style=\"`min-width: ${scrollX}px`\"\n @resizewidth=\"handleBodyInnerResize\"\n ></div>\n </div>\n <YScroll :style=\"`height: ${bodyHeight}px`\" />\n </div>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'bottom'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height=\"true\" @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <HorizontalScroll />\n</template>\n"],"names":["_createVNode","_withCtx","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_withDirectives","_createBlock","_resolveDynamicComponent","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"Body.vue.mjs","sources":["../../../../../../../../packages/components/table/src/components/Body/Body.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 22:03:08\n * @LastEditors: shen\n * @LastEditTime: 2025-09-19 16:30:31\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, onMounted, shallowRef, onBeforeUnmount } from 'vue'\nimport { Empty } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useProvideBody } from '../context/BodyContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { useVScrollSyncInject } from '../../hooks/useVScrollSync'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { RenderVNode, RenderSlot } from '../../utils/renderVNode'\nimport { resize } from '@pro-design-vue/directives'\nimport { useResizeObserver } from '@vueuse/core'\nimport useTooltip from '../../hooks/useTooltip'\nimport onClickOutside from '../../utils/onClickOutside'\nimport BodyRows from './BodyRows.vue'\nimport XScroll from '../Scrollbar/XScroll'\nimport YScroll from '../Scrollbar/YScroll'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { SummaryFixed } from '../interface'\nimport type { CustomSlotsType } from '../../utils/type'\n\nexport default defineComponent({\n name: 'TableBody',\n components: {\n BodyRows,\n Empty,\n RenderVNode,\n RenderSlot,\n HorizontalScroll: XScroll,\n YScroll,\n },\n directives: { resize },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n bodyScrollWidth: { type: Number as PropType<number> },\n bodyWidth: { type: Number as PropType<number> },\n bodyHeight: { type: Number as PropType<number> },\n height: { type: [Number, String] as PropType<number | string> },\n scrollX: [Number, String] as PropType<number | string>,\n summaryFixed: [Boolean, String] as PropType<boolean | SummaryFixed>,\n emptyText: Function,\n summary: Function,\n },\n emits: [\n 'scroll',\n 'scrollLeft',\n 'scrollTop',\n 'update:bodyWidth',\n 'update:bodyHeight',\n 'update:bodyScrollWidth',\n 'keydown',\n ],\n slots: {} as CustomSlotsType<{\n emptyText: any\n default: any\n }>,\n setup(props, { emit, attrs, expose }) {\n const tableContext = useInjectTable()\n const tableSlotsContext = useInjectSlots()\n\n const dragRowPlaceholderRef = ref<HTMLDivElement>()\n const bodyRef = ref<HTMLDivElement>()\n const measureDomRef = ref<HTMLDivElement>()\n const bodyInnerRef = ref<HTMLDivElement>()\n const scrollLayerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const summaryViewportRef = ref<HTMLDivElement>()\n\n const bodyViewportRef = ref<HTMLDivElement>()\n const bodyContainerRef = ref<HTMLDivElement>()\n\n const summaryHeight = ref(0)\n\n const leftColumns = computed(() => tableContext.leftColumns.value)\n const centerColumns = computed(() => tableContext.centerColumns.value)\n const rightColumns = computed(() => tableContext.rightColumns.value)\n const showWatermark = computed(() => tableContext.status.value.code !== 4)\n\n const leftPopupContainer = ref<HTMLDivElement>()\n const centerPopupContainer = ref<HTMLDivElement>()\n const rightPopupContainer = ref<HTMLDivElement>()\n\n const leftTarget = ref<HTMLDivElement>()\n const centerTarget = ref<HTMLDivElement>()\n const rightTarget = ref<HTMLDivElement>()\n\n const { hoverColumnKey } = useInjectHover()\n const { open } = useTooltip({ hoverColumnKey })\n\n const popupContent = shallowRef<any>()\n const popupContentPos = ref<string | null>()\n const contextmenuPos = ref({ clientX: 0, clientY: 0 })\n\n const setTargetStyle = (target: HTMLDivElement) => {\n target.style.display = 'none'\n target.style.opacity = '0'\n target.style.left = '0px'\n target.style.top = '0px'\n target.style.height = '1px'\n target.style.maxWidth = props.bodyWidth! - 4 + 'px'\n }\n\n const setContextmenuPopupPos = () => {\n const { clientX, clientY } = contextmenuPos.value\n const popupPos = popupContentPos.value\n const target =\n popupPos === 'left'\n ? leftTarget.value\n : popupPos === 'right'\n ? rightTarget.value\n : centerTarget.value\n if (!popupPos || !target) {\n return\n }\n target.style.display = 'block'\n const { left, top } = target.parentElement!.getBoundingClientRect()\n const firstChild = target.children[0]!\n const minHeight = Math.min(\n target.scrollHeight,\n firstChild.scrollHeight!,\n viewportHeight.value - 4,\n )\n target.style.opacity = '1'\n target.style.height = `${minHeight}px`\n let leftPos = clientX - left\n let rightPos = clientY - top\n if (rightPos + minHeight > viewportHeight.value) {\n rightPos = viewportHeight.value - minHeight - 2\n }\n\n if (popupContentPos.value === 'center') {\n if (leftPos + target.offsetWidth > tableContext.centerWidth.value) {\n leftPos = tableContext.centerWidth.value - target.offsetWidth - 2\n }\n } else if (popupContentPos.value === 'right') {\n if (leftPos + target.offsetWidth > tableContext.rightWidth.value) {\n leftPos = tableContext.rightWidth.value - target.offsetWidth - 2\n }\n } else {\n if (leftPos + target.offsetWidth > props.bodyWidth!) {\n leftPos = props.bodyWidth! - target.offsetWidth - 2\n }\n }\n target.style.left = `${leftPos}px`\n target.style.top = `${rightPos}px`\n }\n\n const showYScrollbar = computed(() => tableContext.showVerticalScrollbar.value)\n const showXScrollbar = computed(() => tableContext.showHorizontalScrollbar.value)\n\n watch(\n [tableContext.centerWidth, tableContext.rightWidth, () => props.bodyWidth],\n () => {\n setContextmenuPopupPos()\n },\n { flush: 'post' },\n )\n\n let contextmenuTimer: any\n\n onClickOutside(leftTarget, () => {\n if (popupContentPos.value === 'left') {\n popupContentPos.value = null\n setTargetStyle(leftTarget.value!)\n }\n })\n onClickOutside(centerTarget, () => {\n if (popupContentPos.value === 'center') {\n popupContentPos.value = null\n setTargetStyle(centerTarget.value!)\n }\n })\n onClickOutside(rightTarget, () => {\n if (popupContentPos.value === 'right') {\n popupContentPos.value = null\n setTargetStyle(rightTarget.value!)\n }\n })\n\n useProvideBody({\n onBodyCellContextmenu: (event, args, type) => {\n if (tableContext.props.hasContextmenuPopup) {\n const { clientX, clientY } = event\n setTargetStyle(leftTarget.value!)\n setTargetStyle(centerTarget.value!)\n setTargetStyle(rightTarget.value!)\n popupContentPos.value = type\n popupContent.value = () =>\n tableSlotsContext.contextmenuPopup?.({\n event,\n ...args,\n hidePopup: () => {\n ;((popupContentPos.value = null),\n setTargetStyle(leftTarget.value!),\n setTargetStyle(centerTarget.value!),\n setTargetStyle(rightTarget.value!))\n },\n })\n contextmenuPos.value = { clientX, clientY }\n clearTimeout(contextmenuTimer)\n contextmenuTimer = setTimeout(() => {\n setContextmenuPopupPos()\n })\n event.preventDefault()\n }\n },\n bodyRef,\n tooltipOpen: open,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n })\n\n expose({ bodyRef })\n\n onBeforeUnmount(() => {\n clearTimeout(contextmenuTimer)\n clearTimeout(undefined)\n })\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n const { addVScrollDom, removeVScrollDom } = useVScrollSyncInject()\n\n onMounted(() => {\n watch(\n summaryViewportRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyContainerRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyViewportRef,\n (newValue, oldValue) => {\n removeVScrollDom(oldValue!)\n addVScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n })\n onBeforeUnmount(() => {\n removeHScrollDom(summaryViewportRef.value!)\n removeHScrollDom(bodyContainerRef.value!)\n removeVScrollDom(bodyViewportRef.value!)\n })\n\n const bodyInnerWidth = ref(0)\n const emptyHeight = ref(0)\n\n const scrollbarStyle = computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: barSize === '0px' ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n })\n\n const bodyViewportStyle = computed<CSSProperties>(() => ({\n width: `calc(100% + ${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n // width: `calc(100% + 0px)`,\n overflowX: 'hidden',\n overflowY: 'auto',\n height: '100%',\n }))\n const isEmpty = computed(() => 0 === tableContext.pageData.value.length)\n const leftShadowStyle = computed<CSSProperties>(() =>\n props.bodyWidth! - tableContext.rightWidth.value > tableContext.leftWidth.value\n ? {\n position: 'absolute',\n left: `${tableContext.leftWidth.value}px`,\n height: '100%',\n }\n : { display: 'none' },\n )\n const rightShadowStyle = computed<CSSProperties>(() =>\n tableContext.rightWidth.value\n ? {\n position: 'absolute',\n left: props.bodyWidth! - tableContext.rightWidth.value + 'px',\n height: '100%',\n }\n : { display: 'none' },\n )\n const bodyClass = computed(() => ({\n [`${props.prefixCls}-body`]: true,\n [`${props.prefixCls}-unselectable`]: false !== tableContext.props.rangeSelection,\n }))\n const fixLeftClass = computed(() => ({\n [`${props.prefixCls}-fix-left`]: true,\n [`${props.prefixCls}-no-columns`]: !leftColumns.value.length,\n }))\n const fixRightClass = computed(() => ({\n [`${props.prefixCls}-fix-right`]: true,\n [`${props.prefixCls}-no-columns`]: !rightColumns.value.length,\n }))\n const centerClass = computed(() => ({\n [`${props.prefixCls}-center`]: true,\n [`${props.prefixCls}-no-columns`]: !centerColumns.value.length,\n }))\n const summaryViewportClass = computed(() => ({\n [`${props.prefixCls}-center-viewport`]: true,\n }))\n const containerClass = computed(() => ({\n [`${props.prefixCls}-center-container`]: true,\n }))\n const viewportHeight = computed(\n () =>\n tableContext.viewportHeight.value +\n (props.summaryFixed ? emptyHeight.value : summaryHeight.value + emptyHeight.value),\n )\n const containerStyle = computed<CSSProperties>(() => ({\n width: `${tableContext.centerWidth.value}px`,\n height: `${viewportHeight.value}px`,\n }))\n const summaryViewportStyle = computed<CSSProperties>(() => ({\n height: `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`,\n }))\n const scrollLayerStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n width: `${tableContext.bodyMaxWidth.value}px`,\n minWidth: '100%',\n }))\n const rowsHeightStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n overflow: 'hidden',\n minHeight: '100%',\n transform: 'translateZ(0)',\n }))\n const bodyStyle = computed<CSSProperties>(() => ({\n ...(attrs.style || {}),\n maxHeight: 'number' == typeof props.height ? `${props.height}px` : props.height,\n overflowY: 'hidden',\n }))\n const bodyContainerStyle = computed<CSSProperties>(\n () =>\n ({\n height: tableContext.showHorizontalScrollbar.value\n ? `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`\n : 'calc(100%)',\n zIndex: 'unset !important',\n overflowX: 'auto',\n overflowY: 'hidden',\n }) as any,\n )\n const centerStyle = computed<CSSProperties>(() => ({ height: `${viewportHeight.value}px` }))\n const leftStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.leftWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const rightStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.rightWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const summaryClass = computed(() => ({\n [`${props.prefixCls}-summary`]: true,\n [`${props.prefixCls}-position-absolute`]: !isEmpty.value,\n }))\n const fixedSummaryClass = computed(() => [\n summaryClass.value,\n `${props.prefixCls}-summary-fixed`,\n `${props.prefixCls}-summary-fixed-${props.summaryFixed}`,\n ])\n const summaryStyle = computed<CSSProperties>(() => {\n const styles = { height: `${summaryHeight.value}px` }\n return Object.assign(\n styles,\n props.summaryFixed\n ? showXScrollbar.value\n ? { borderTop: 'none' }\n : {}\n : {\n position: 'absolute',\n bottom: 0,\n width: `${props.bodyWidth}px`,\n borderTop: 'none',\n },\n ) as CSSProperties\n })\n const topSummaryStyle = computed<CSSProperties>(() => {\n if ('object' == typeof tableContext.props.sticky) {\n const { offsetHeader = 0, topSummary = false } = tableContext.props.sticky\n return topSummary\n ? ({\n ...summaryStyle.value,\n position: 'sticky',\n top: `${offsetHeader + tableContext.realHeaderHeight.value}px`,\n } as CSSProperties)\n : (summaryStyle.value as CSSProperties)\n }\n return summaryStyle.value as CSSProperties\n })\n const emptyStyle = computed<CSSProperties>(() => ({ width: `${props.bodyWidth}px` }))\n\n useResizeObserver(measureDomRef as never, (entries) => {\n const contentRect = entries[0]?.contentRect\n emit('update:bodyWidth', contentRect?.width || 0)\n emit('update:bodyHeight', contentRect?.height || 0)\n })\n return {\n bodyContainerStyle,\n measureDomStyle: computed<any>(() => ({\n width: '100%',\n height: '100%!important',\n position: 'absolute!important',\n fontSize: '100px!important',\n opacity: '0.1!important',\n textAlign: 'center!important',\n top: '0px!important',\n left: '0px!important',\n pointerEvents: 'none',\n display: 'block!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n visibility: 'visible!important',\n zIndex: '999!important',\n })),\n isEmpty,\n emptyStyle,\n handleEmptyHeight: (e: CustomEvent) => {\n emptyHeight.value = e.detail.height\n },\n bodyClass,\n fixLeftClass,\n fixRightClass,\n centerClass,\n containerClass,\n summaryViewportClass,\n summaryClass,\n rightStyle,\n centerStyle,\n leftStyle,\n summaryViewportStyle,\n containerStyle,\n summaryStyle,\n viewportHeight,\n leftColumns,\n centerColumns,\n rightColumns,\n bodyInnerWidth,\n handleBodyInnerResize: (e: CustomEvent) => {\n bodyInnerWidth.value = e.detail.width\n },\n handleBodyScrollResize: (e: CustomEvent) => {\n emit('update:bodyScrollWidth', e.detail.width)\n },\n bodyRef,\n measureDomRef,\n bodyInnerRef,\n viewportRef,\n summaryViewportRef,\n handleResize: (e: CustomEvent) => {\n summaryHeight.value = e.detail.height\n },\n bodyStyle,\n handleBodyResize: (e: CustomEvent) => {\n emit('update:bodyWidth', e.detail.width)\n emit('update:bodyHeight', e.detail.height)\n },\n emptyImage: Empty.PRESENTED_IMAGE_SIMPLE,\n scrollLayerStyle,\n getRowClassName: (record: any, index: number) => {\n const rowClassName = tableContext.props.rowClassName\n return (\n typeof rowClassName == 'function' ? rowClassName(record, index) : rowClassName\n ) as string\n },\n showWatermark,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n leftShadowStyle,\n rightShadowStyle,\n fixedSummaryClass,\n scrollLayerRef,\n scrollbarStyle,\n topSummaryStyle,\n leftTarget,\n centerTarget,\n rightTarget,\n popupContent,\n popupContentPos,\n handleContextmenuPopupResize: () => {\n setContextmenuPopupPos()\n },\n handleDragStart: (e: MouseEvent) => {\n if (e.target instanceof HTMLImageElement) {\n e.preventDefault()\n return false\n }\n },\n handleKeydown: (e: KeyboardEvent) => {\n emit('keydown', e)\n },\n bodyViewportStyle,\n bodyViewportRef,\n bodyContainerRef,\n rowsHeightStyle,\n showYScrollbar,\n }\n },\n})\n</script>\n\n<template>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'top'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"topSummaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :class=\"`${prefixCls}-cell-shadow-left`\" :style=\"leftShadowStyle\"></div>\n <div :class=\"`${prefixCls}-cell-shadow-right`\" :style=\"rightShadowStyle\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <div\n key=\"body\"\n ref=\"bodyRef\"\n :class=\"bodyClass\"\n :style=\"bodyStyle\"\n @dragstart=\"handleDragStart\"\n @keydown=\"handleKeydown\"\n >\n <div\n :style=\"{\n width: '100%',\n overflow: 'hidden',\n position: 'relative',\n transform: 'translateZ(0)',\n }\"\n >\n <div\n ref=\"bodyViewportRef\"\n :class=\"`${prefixCls}-body-viewport-container`\"\n :style=\"bodyViewportStyle\"\n >\n <div :style=\"rowsHeightStyle\">\n <div\n ref=\"bodyContainerRef\"\n :class=\"`${prefixCls}-body-container`\"\n :style=\"bodyContainerStyle\"\n >\n <div ref=\"leftPopupContainer\" key=\"left\" :class=\"fixLeftClass\" :style=\"leftStyle\">\n <BodyRows\n v-if=\"leftColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"left\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div\n v-if=\"summary && !summaryFixed\"\n key=\"summary\"\n :class=\"summaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div ref=\"summaryViewportRef\" :class=\"`${prefixCls}-summary-container`\">\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n </div>\n </div>\n\n <div ref=\"leftTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'left'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <div key=\"center\" :class=\"centerClass\" :style=\"centerStyle\">\n <div ref=\"centerPopupContainer\" :class=\"containerClass\" :style=\"containerStyle\">\n <BodyRows\n v-if=\"centerColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"center\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div ref=\"centerTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'center'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n </div>\n <div key=\"right\" ref=\"rightPopupContainer\" :class=\"fixRightClass\" :style=\"rightStyle\">\n <BodyRows\n v-if=\"rightColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"right\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div ref=\"rightTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize=\"true\"\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'right'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <span ref=\"dragRowPlaceholderRef\" :class=\"`${prefixCls}-drag-placeholder`\"></span>\n </div>\n </div>\n <div v-if=\"isEmpty\" key=\"empty\" :class=\"`${prefixCls}-empty-container`\">\n <div v-resize:height style=\"padding: 1px\" @resizeheight=\"handleEmptyHeight\">\n <RenderVNode :vnode=\"emptyText\"> <Empty :image=\"emptyImage\" /> </RenderVNode>\n </div>\n </div>\n </div>\n <div ref=\"measureDomRef\" :style=\"measureDomStyle\"></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-scroll-measure`\"\n :style=\"`min-width: ${bodyInnerWidth}px`\"\n @resizewidth=\"handleBodyScrollResize\"\n ></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-inner-measure`\"\n :style=\"`min-width: ${scrollX}px`\"\n @resizewidth=\"handleBodyInnerResize\"\n ></div>\n </div>\n <YScroll :style=\"`height: ${bodyHeight}px`\" />\n </div>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'bottom'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height=\"true\" @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <HorizontalScroll />\n</template>\n"],"names":["_createVNode","_withCtx","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_withDirectives","_createBlock","_resolveDynamicComponent","_createCommentVNode"],"mappings":"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"}
@@ -366,11 +366,10 @@ var _sfc_main = defineComponent({
366
366
  });
367
367
  const emptyStyle = computed(() => ({ width: `${props.bodyWidth}px` }));
368
368
  useResizeObserver(measureDomRef, (entries) => {
369
- var _a, _b;
370
- console.log("\u{1F680} ~ useResizeObserver ~ entries:", (_a = entries[0]) == null ? void 0 : _a.contentRect);
371
- const contentRect = (_b = entries[0]) == null ? void 0 : _b.contentRect;
372
- emit("update:bodyWidth", contentRect == null ? void 0 : contentRect.width);
373
- emit("update:bodyHeight", contentRect == null ? void 0 : contentRect.height);
369
+ var _a;
370
+ const contentRect = (_a = entries[0]) == null ? void 0 : _a.contentRect;
371
+ emit("update:bodyWidth", (contentRect == null ? void 0 : contentRect.width) || 0);
372
+ emit("update:bodyHeight", (contentRect == null ? void 0 : contentRect.height) || 0);
374
373
  });
375
374
  return {
376
375
  bodyContainerStyle,
@@ -1 +1 @@
1
- {"version":3,"file":"Body.vue2.mjs","sources":["../../../../../../../../packages/components/table/src/components/Body/Body.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 22:03:08\n * @LastEditors: shen\n * @LastEditTime: 2025-09-19 16:14:25\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, onMounted, shallowRef, onBeforeUnmount } from 'vue'\nimport { Empty } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useProvideBody } from '../context/BodyContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { useVScrollSyncInject } from '../../hooks/useVScrollSync'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { RenderVNode, RenderSlot } from '../../utils/renderVNode'\nimport { resize } from '@pro-design-vue/directives'\nimport { useResizeObserver } from '@vueuse/core'\nimport useTooltip from '../../hooks/useTooltip'\nimport onClickOutside from '../../utils/onClickOutside'\nimport BodyRows from './BodyRows.vue'\nimport XScroll from '../Scrollbar/XScroll'\nimport YScroll from '../Scrollbar/YScroll'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { SummaryFixed } from '../interface'\nimport type { CustomSlotsType } from '../../utils/type'\n\nexport default defineComponent({\n name: 'TableBody',\n components: {\n BodyRows,\n Empty,\n RenderVNode,\n RenderSlot,\n HorizontalScroll: XScroll,\n YScroll,\n },\n directives: { resize },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n bodyScrollWidth: { type: Number as PropType<number> },\n bodyWidth: { type: Number as PropType<number> },\n bodyHeight: { type: Number as PropType<number> },\n height: { type: [Number, String] as PropType<number | string> },\n scrollX: [Number, String] as PropType<number | string>,\n summaryFixed: [Boolean, String] as PropType<boolean | SummaryFixed>,\n emptyText: Function,\n summary: Function,\n },\n emits: [\n 'scroll',\n 'scrollLeft',\n 'scrollTop',\n 'update:bodyWidth',\n 'update:bodyHeight',\n 'update:bodyScrollWidth',\n 'keydown',\n ],\n slots: {} as CustomSlotsType<{\n emptyText: any\n default: any\n }>,\n setup(props, { emit, attrs, expose }) {\n const tableContext = useInjectTable()\n const tableSlotsContext = useInjectSlots()\n\n const dragRowPlaceholderRef = ref<HTMLDivElement>()\n const bodyRef = ref<HTMLDivElement>()\n const measureDomRef = ref<HTMLDivElement>()\n const bodyInnerRef = ref<HTMLDivElement>()\n const scrollLayerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const summaryViewportRef = ref<HTMLDivElement>()\n\n const bodyViewportRef = ref<HTMLDivElement>()\n const bodyContainerRef = ref<HTMLDivElement>()\n\n const summaryHeight = ref(0)\n\n const leftColumns = computed(() => tableContext.leftColumns.value)\n const centerColumns = computed(() => tableContext.centerColumns.value)\n const rightColumns = computed(() => tableContext.rightColumns.value)\n const showWatermark = computed(() => tableContext.status.value.code !== 4)\n\n const leftPopupContainer = ref<HTMLDivElement>()\n const centerPopupContainer = ref<HTMLDivElement>()\n const rightPopupContainer = ref<HTMLDivElement>()\n\n const leftTarget = ref<HTMLDivElement>()\n const centerTarget = ref<HTMLDivElement>()\n const rightTarget = ref<HTMLDivElement>()\n\n const { hoverColumnKey } = useInjectHover()\n const { open } = useTooltip({ hoverColumnKey })\n\n const popupContent = shallowRef<any>()\n const popupContentPos = ref<string | null>()\n const contextmenuPos = ref({ clientX: 0, clientY: 0 })\n\n const setTargetStyle = (target: HTMLDivElement) => {\n target.style.display = 'none'\n target.style.opacity = '0'\n target.style.left = '0px'\n target.style.top = '0px'\n target.style.height = '1px'\n target.style.maxWidth = props.bodyWidth! - 4 + 'px'\n }\n\n const setContextmenuPopupPos = () => {\n const { clientX, clientY } = contextmenuPos.value\n const popupPos = popupContentPos.value\n const target =\n popupPos === 'left'\n ? leftTarget.value\n : popupPos === 'right'\n ? rightTarget.value\n : centerTarget.value\n if (!popupPos || !target) {\n return\n }\n target.style.display = 'block'\n const { left, top } = target.parentElement!.getBoundingClientRect()\n const firstChild = target.children[0]!\n const minHeight = Math.min(\n target.scrollHeight,\n firstChild.scrollHeight!,\n viewportHeight.value - 4,\n )\n target.style.opacity = '1'\n target.style.height = `${minHeight}px`\n let leftPos = clientX - left\n let rightPos = clientY - top\n if (rightPos + minHeight > viewportHeight.value) {\n rightPos = viewportHeight.value - minHeight - 2\n }\n\n if (popupContentPos.value === 'center') {\n if (leftPos + target.offsetWidth > tableContext.centerWidth.value) {\n leftPos = tableContext.centerWidth.value - target.offsetWidth - 2\n }\n } else if (popupContentPos.value === 'right') {\n if (leftPos + target.offsetWidth > tableContext.rightWidth.value) {\n leftPos = tableContext.rightWidth.value - target.offsetWidth - 2\n }\n } else {\n if (leftPos + target.offsetWidth > props.bodyWidth!) {\n leftPos = props.bodyWidth! - target.offsetWidth - 2\n }\n }\n target.style.left = `${leftPos}px`\n target.style.top = `${rightPos}px`\n }\n\n const showYScrollbar = computed(() => tableContext.showVerticalScrollbar.value)\n const showXScrollbar = computed(() => tableContext.showHorizontalScrollbar.value)\n\n watch(\n [tableContext.centerWidth, tableContext.rightWidth, () => props.bodyWidth],\n () => {\n setContextmenuPopupPos()\n },\n { flush: 'post' },\n )\n\n let contextmenuTimer: any\n\n onClickOutside(leftTarget, () => {\n if (popupContentPos.value === 'left') {\n popupContentPos.value = null\n setTargetStyle(leftTarget.value!)\n }\n })\n onClickOutside(centerTarget, () => {\n if (popupContentPos.value === 'center') {\n popupContentPos.value = null\n setTargetStyle(centerTarget.value!)\n }\n })\n onClickOutside(rightTarget, () => {\n if (popupContentPos.value === 'right') {\n popupContentPos.value = null\n setTargetStyle(rightTarget.value!)\n }\n })\n\n useProvideBody({\n onBodyCellContextmenu: (event, args, type) => {\n if (tableContext.props.hasContextmenuPopup) {\n const { clientX, clientY } = event\n setTargetStyle(leftTarget.value!)\n setTargetStyle(centerTarget.value!)\n setTargetStyle(rightTarget.value!)\n popupContentPos.value = type\n popupContent.value = () =>\n tableSlotsContext.contextmenuPopup?.({\n event,\n ...args,\n hidePopup: () => {\n ;((popupContentPos.value = null),\n setTargetStyle(leftTarget.value!),\n setTargetStyle(centerTarget.value!),\n setTargetStyle(rightTarget.value!))\n },\n })\n contextmenuPos.value = { clientX, clientY }\n clearTimeout(contextmenuTimer)\n contextmenuTimer = setTimeout(() => {\n setContextmenuPopupPos()\n })\n event.preventDefault()\n }\n },\n bodyRef,\n tooltipOpen: open,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n })\n\n expose({ bodyRef })\n\n onBeforeUnmount(() => {\n clearTimeout(contextmenuTimer)\n clearTimeout(undefined)\n })\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n const { addVScrollDom, removeVScrollDom } = useVScrollSyncInject()\n\n onMounted(() => {\n watch(\n summaryViewportRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyContainerRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyViewportRef,\n (newValue, oldValue) => {\n removeVScrollDom(oldValue!)\n addVScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n })\n onBeforeUnmount(() => {\n removeHScrollDom(summaryViewportRef.value!)\n removeHScrollDom(bodyContainerRef.value!)\n removeVScrollDom(bodyViewportRef.value!)\n })\n\n const bodyInnerWidth = ref(0)\n const emptyHeight = ref(0)\n\n const scrollbarStyle = computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: barSize === '0px' ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n })\n\n const bodyViewportStyle = computed<CSSProperties>(() => ({\n width: `calc(100% + ${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n // width: `calc(100% + 0px)`,\n overflowX: 'hidden',\n overflowY: 'auto',\n height: '100%',\n }))\n const isEmpty = computed(() => 0 === tableContext.pageData.value.length)\n const leftShadowStyle = computed<CSSProperties>(() =>\n props.bodyWidth! - tableContext.rightWidth.value > tableContext.leftWidth.value\n ? {\n position: 'absolute',\n left: `${tableContext.leftWidth.value}px`,\n height: '100%',\n }\n : { display: 'none' },\n )\n const rightShadowStyle = computed<CSSProperties>(() =>\n tableContext.rightWidth.value\n ? {\n position: 'absolute',\n left: props.bodyWidth! - tableContext.rightWidth.value + 'px',\n height: '100%',\n }\n : { display: 'none' },\n )\n const bodyClass = computed(() => ({\n [`${props.prefixCls}-body`]: true,\n [`${props.prefixCls}-unselectable`]: false !== tableContext.props.rangeSelection,\n }))\n const fixLeftClass = computed(() => ({\n [`${props.prefixCls}-fix-left`]: true,\n [`${props.prefixCls}-no-columns`]: !leftColumns.value.length,\n }))\n const fixRightClass = computed(() => ({\n [`${props.prefixCls}-fix-right`]: true,\n [`${props.prefixCls}-no-columns`]: !rightColumns.value.length,\n }))\n const centerClass = computed(() => ({\n [`${props.prefixCls}-center`]: true,\n [`${props.prefixCls}-no-columns`]: !centerColumns.value.length,\n }))\n const summaryViewportClass = computed(() => ({\n [`${props.prefixCls}-center-viewport`]: true,\n }))\n const containerClass = computed(() => ({\n [`${props.prefixCls}-center-container`]: true,\n }))\n const viewportHeight = computed(\n () =>\n tableContext.viewportHeight.value +\n (props.summaryFixed ? emptyHeight.value : summaryHeight.value + emptyHeight.value),\n )\n const containerStyle = computed<CSSProperties>(() => ({\n width: `${tableContext.centerWidth.value}px`,\n height: `${viewportHeight.value}px`,\n }))\n const summaryViewportStyle = computed<CSSProperties>(() => ({\n height: `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`,\n }))\n const scrollLayerStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n width: `${tableContext.bodyMaxWidth.value}px`,\n minWidth: '100%',\n }))\n const rowsHeightStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n overflow: 'hidden',\n minHeight: '100%',\n transform: 'translateZ(0)',\n }))\n const bodyStyle = computed<CSSProperties>(() => ({\n ...(attrs.style || {}),\n maxHeight: 'number' == typeof props.height ? `${props.height}px` : props.height,\n overflowY: 'hidden',\n }))\n const bodyContainerStyle = computed<CSSProperties>(\n () =>\n ({\n height: tableContext.showHorizontalScrollbar.value\n ? `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`\n : 'calc(100%)',\n zIndex: 'unset !important',\n overflowX: 'auto',\n overflowY: 'hidden',\n }) as any,\n )\n const centerStyle = computed<CSSProperties>(() => ({ height: `${viewportHeight.value}px` }))\n const leftStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.leftWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const rightStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.rightWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const summaryClass = computed(() => ({\n [`${props.prefixCls}-summary`]: true,\n [`${props.prefixCls}-position-absolute`]: !isEmpty.value,\n }))\n const fixedSummaryClass = computed(() => [\n summaryClass.value,\n `${props.prefixCls}-summary-fixed`,\n `${props.prefixCls}-summary-fixed-${props.summaryFixed}`,\n ])\n const summaryStyle = computed<CSSProperties>(() => {\n const styles = { height: `${summaryHeight.value}px` }\n return Object.assign(\n styles,\n props.summaryFixed\n ? showXScrollbar.value\n ? { borderTop: 'none' }\n : {}\n : {\n position: 'absolute',\n bottom: 0,\n width: `${props.bodyWidth}px`,\n borderTop: 'none',\n },\n ) as CSSProperties\n })\n const topSummaryStyle = computed<CSSProperties>(() => {\n if ('object' == typeof tableContext.props.sticky) {\n const { offsetHeader = 0, topSummary = false } = tableContext.props.sticky\n return topSummary\n ? ({\n ...summaryStyle.value,\n position: 'sticky',\n top: `${offsetHeader + tableContext.realHeaderHeight.value}px`,\n } as CSSProperties)\n : (summaryStyle.value as CSSProperties)\n }\n return summaryStyle.value as CSSProperties\n })\n const emptyStyle = computed<CSSProperties>(() => ({ width: `${props.bodyWidth}px` }))\n\n useResizeObserver(measureDomRef as never, (entries) => {\n console.log('🚀 ~ useResizeObserver ~ entries:', entries[0]?.contentRect)\n const contentRect = entries[0]?.contentRect\n emit('update:bodyWidth', contentRect?.width)\n emit('update:bodyHeight', contentRect?.height)\n })\n return {\n bodyContainerStyle,\n measureDomStyle: computed<any>(() => ({\n width: '100%',\n height: '100%!important',\n position: 'absolute!important',\n fontSize: '100px!important',\n opacity: '0.1!important',\n textAlign: 'center!important',\n top: '0px!important',\n left: '0px!important',\n pointerEvents: 'none',\n display: 'block!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n visibility: 'visible!important',\n zIndex: '999!important',\n })),\n isEmpty,\n emptyStyle,\n handleEmptyHeight: (e: CustomEvent) => {\n emptyHeight.value = e.detail.height\n },\n bodyClass,\n fixLeftClass,\n fixRightClass,\n centerClass,\n containerClass,\n summaryViewportClass,\n summaryClass,\n rightStyle,\n centerStyle,\n leftStyle,\n summaryViewportStyle,\n containerStyle,\n summaryStyle,\n viewportHeight,\n leftColumns,\n centerColumns,\n rightColumns,\n bodyInnerWidth,\n handleBodyInnerResize: (e: CustomEvent) => {\n bodyInnerWidth.value = e.detail.width\n },\n handleBodyScrollResize: (e: CustomEvent) => {\n emit('update:bodyScrollWidth', e.detail.width)\n },\n bodyRef,\n measureDomRef,\n bodyInnerRef,\n viewportRef,\n summaryViewportRef,\n handleResize: (e: CustomEvent) => {\n summaryHeight.value = e.detail.height\n },\n bodyStyle,\n handleBodyResize: (e: CustomEvent) => {\n emit('update:bodyWidth', e.detail.width)\n emit('update:bodyHeight', e.detail.height)\n },\n emptyImage: Empty.PRESENTED_IMAGE_SIMPLE,\n scrollLayerStyle,\n getRowClassName: (record: any, index: number) => {\n const rowClassName = tableContext.props.rowClassName\n return (\n typeof rowClassName == 'function' ? rowClassName(record, index) : rowClassName\n ) as string\n },\n showWatermark,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n leftShadowStyle,\n rightShadowStyle,\n fixedSummaryClass,\n scrollLayerRef,\n scrollbarStyle,\n topSummaryStyle,\n leftTarget,\n centerTarget,\n rightTarget,\n popupContent,\n popupContentPos,\n handleContextmenuPopupResize: () => {\n setContextmenuPopupPos()\n },\n handleDragStart: (e: MouseEvent) => {\n if (e.target instanceof HTMLImageElement) {\n e.preventDefault()\n return false\n }\n },\n handleKeydown: (e: KeyboardEvent) => {\n emit('keydown', e)\n },\n bodyViewportStyle,\n bodyViewportRef,\n bodyContainerRef,\n rowsHeightStyle,\n showYScrollbar,\n }\n },\n})\n</script>\n\n<template>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'top'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"topSummaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :class=\"`${prefixCls}-cell-shadow-left`\" :style=\"leftShadowStyle\"></div>\n <div :class=\"`${prefixCls}-cell-shadow-right`\" :style=\"rightShadowStyle\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <div\n key=\"body\"\n ref=\"bodyRef\"\n :class=\"bodyClass\"\n :style=\"bodyStyle\"\n @dragstart=\"handleDragStart\"\n @keydown=\"handleKeydown\"\n >\n <div\n :style=\"{\n width: '100%',\n overflow: 'hidden',\n position: 'relative',\n transform: 'translateZ(0)',\n }\"\n >\n <div\n ref=\"bodyViewportRef\"\n :class=\"`${prefixCls}-body-viewport-container`\"\n :style=\"bodyViewportStyle\"\n >\n <div :style=\"rowsHeightStyle\">\n <div\n ref=\"bodyContainerRef\"\n :class=\"`${prefixCls}-body-container`\"\n :style=\"bodyContainerStyle\"\n >\n <div ref=\"leftPopupContainer\" key=\"left\" :class=\"fixLeftClass\" :style=\"leftStyle\">\n <BodyRows\n v-if=\"leftColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"left\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div\n v-if=\"summary && !summaryFixed\"\n key=\"summary\"\n :class=\"summaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div ref=\"summaryViewportRef\" :class=\"`${prefixCls}-summary-container`\">\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n </div>\n </div>\n\n <div ref=\"leftTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'left'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <div key=\"center\" :class=\"centerClass\" :style=\"centerStyle\">\n <div ref=\"centerPopupContainer\" :class=\"containerClass\" :style=\"containerStyle\">\n <BodyRows\n v-if=\"centerColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"center\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div ref=\"centerTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'center'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n </div>\n <div key=\"right\" ref=\"rightPopupContainer\" :class=\"fixRightClass\" :style=\"rightStyle\">\n <BodyRows\n v-if=\"rightColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"right\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div ref=\"rightTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize=\"true\"\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'right'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <span ref=\"dragRowPlaceholderRef\" :class=\"`${prefixCls}-drag-placeholder`\"></span>\n </div>\n </div>\n <div v-if=\"isEmpty\" key=\"empty\" :class=\"`${prefixCls}-empty-container`\">\n <div v-resize:height style=\"padding: 1px\" @resizeheight=\"handleEmptyHeight\">\n <RenderVNode :vnode=\"emptyText\"> <Empty :image=\"emptyImage\" /> </RenderVNode>\n </div>\n </div>\n </div>\n <div ref=\"measureDomRef\" :style=\"measureDomStyle\"></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-scroll-measure`\"\n :style=\"`min-width: ${bodyInnerWidth}px`\"\n @resizewidth=\"handleBodyScrollResize\"\n ></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-inner-measure`\"\n :style=\"`min-width: ${scrollX}px`\"\n @resizewidth=\"handleBodyInnerResize\"\n ></div>\n </div>\n <YScroll :style=\"`height: ${bodyHeight}px`\" />\n </div>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'bottom'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height=\"true\" @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <HorizontalScroll />\n</template>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Body.vue2.mjs","sources":["../../../../../../../../packages/components/table/src/components/Body/Body.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 22:03:08\n * @LastEditors: shen\n * @LastEditTime: 2025-09-19 16:30:31\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, onMounted, shallowRef, onBeforeUnmount } from 'vue'\nimport { Empty } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useProvideBody } from '../context/BodyContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { useVScrollSyncInject } from '../../hooks/useVScrollSync'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { RenderVNode, RenderSlot } from '../../utils/renderVNode'\nimport { resize } from '@pro-design-vue/directives'\nimport { useResizeObserver } from '@vueuse/core'\nimport useTooltip from '../../hooks/useTooltip'\nimport onClickOutside from '../../utils/onClickOutside'\nimport BodyRows from './BodyRows.vue'\nimport XScroll from '../Scrollbar/XScroll'\nimport YScroll from '../Scrollbar/YScroll'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { SummaryFixed } from '../interface'\nimport type { CustomSlotsType } from '../../utils/type'\n\nexport default defineComponent({\n name: 'TableBody',\n components: {\n BodyRows,\n Empty,\n RenderVNode,\n RenderSlot,\n HorizontalScroll: XScroll,\n YScroll,\n },\n directives: { resize },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n bodyScrollWidth: { type: Number as PropType<number> },\n bodyWidth: { type: Number as PropType<number> },\n bodyHeight: { type: Number as PropType<number> },\n height: { type: [Number, String] as PropType<number | string> },\n scrollX: [Number, String] as PropType<number | string>,\n summaryFixed: [Boolean, String] as PropType<boolean | SummaryFixed>,\n emptyText: Function,\n summary: Function,\n },\n emits: [\n 'scroll',\n 'scrollLeft',\n 'scrollTop',\n 'update:bodyWidth',\n 'update:bodyHeight',\n 'update:bodyScrollWidth',\n 'keydown',\n ],\n slots: {} as CustomSlotsType<{\n emptyText: any\n default: any\n }>,\n setup(props, { emit, attrs, expose }) {\n const tableContext = useInjectTable()\n const tableSlotsContext = useInjectSlots()\n\n const dragRowPlaceholderRef = ref<HTMLDivElement>()\n const bodyRef = ref<HTMLDivElement>()\n const measureDomRef = ref<HTMLDivElement>()\n const bodyInnerRef = ref<HTMLDivElement>()\n const scrollLayerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const summaryViewportRef = ref<HTMLDivElement>()\n\n const bodyViewportRef = ref<HTMLDivElement>()\n const bodyContainerRef = ref<HTMLDivElement>()\n\n const summaryHeight = ref(0)\n\n const leftColumns = computed(() => tableContext.leftColumns.value)\n const centerColumns = computed(() => tableContext.centerColumns.value)\n const rightColumns = computed(() => tableContext.rightColumns.value)\n const showWatermark = computed(() => tableContext.status.value.code !== 4)\n\n const leftPopupContainer = ref<HTMLDivElement>()\n const centerPopupContainer = ref<HTMLDivElement>()\n const rightPopupContainer = ref<HTMLDivElement>()\n\n const leftTarget = ref<HTMLDivElement>()\n const centerTarget = ref<HTMLDivElement>()\n const rightTarget = ref<HTMLDivElement>()\n\n const { hoverColumnKey } = useInjectHover()\n const { open } = useTooltip({ hoverColumnKey })\n\n const popupContent = shallowRef<any>()\n const popupContentPos = ref<string | null>()\n const contextmenuPos = ref({ clientX: 0, clientY: 0 })\n\n const setTargetStyle = (target: HTMLDivElement) => {\n target.style.display = 'none'\n target.style.opacity = '0'\n target.style.left = '0px'\n target.style.top = '0px'\n target.style.height = '1px'\n target.style.maxWidth = props.bodyWidth! - 4 + 'px'\n }\n\n const setContextmenuPopupPos = () => {\n const { clientX, clientY } = contextmenuPos.value\n const popupPos = popupContentPos.value\n const target =\n popupPos === 'left'\n ? leftTarget.value\n : popupPos === 'right'\n ? rightTarget.value\n : centerTarget.value\n if (!popupPos || !target) {\n return\n }\n target.style.display = 'block'\n const { left, top } = target.parentElement!.getBoundingClientRect()\n const firstChild = target.children[0]!\n const minHeight = Math.min(\n target.scrollHeight,\n firstChild.scrollHeight!,\n viewportHeight.value - 4,\n )\n target.style.opacity = '1'\n target.style.height = `${minHeight}px`\n let leftPos = clientX - left\n let rightPos = clientY - top\n if (rightPos + minHeight > viewportHeight.value) {\n rightPos = viewportHeight.value - minHeight - 2\n }\n\n if (popupContentPos.value === 'center') {\n if (leftPos + target.offsetWidth > tableContext.centerWidth.value) {\n leftPos = tableContext.centerWidth.value - target.offsetWidth - 2\n }\n } else if (popupContentPos.value === 'right') {\n if (leftPos + target.offsetWidth > tableContext.rightWidth.value) {\n leftPos = tableContext.rightWidth.value - target.offsetWidth - 2\n }\n } else {\n if (leftPos + target.offsetWidth > props.bodyWidth!) {\n leftPos = props.bodyWidth! - target.offsetWidth - 2\n }\n }\n target.style.left = `${leftPos}px`\n target.style.top = `${rightPos}px`\n }\n\n const showYScrollbar = computed(() => tableContext.showVerticalScrollbar.value)\n const showXScrollbar = computed(() => tableContext.showHorizontalScrollbar.value)\n\n watch(\n [tableContext.centerWidth, tableContext.rightWidth, () => props.bodyWidth],\n () => {\n setContextmenuPopupPos()\n },\n { flush: 'post' },\n )\n\n let contextmenuTimer: any\n\n onClickOutside(leftTarget, () => {\n if (popupContentPos.value === 'left') {\n popupContentPos.value = null\n setTargetStyle(leftTarget.value!)\n }\n })\n onClickOutside(centerTarget, () => {\n if (popupContentPos.value === 'center') {\n popupContentPos.value = null\n setTargetStyle(centerTarget.value!)\n }\n })\n onClickOutside(rightTarget, () => {\n if (popupContentPos.value === 'right') {\n popupContentPos.value = null\n setTargetStyle(rightTarget.value!)\n }\n })\n\n useProvideBody({\n onBodyCellContextmenu: (event, args, type) => {\n if (tableContext.props.hasContextmenuPopup) {\n const { clientX, clientY } = event\n setTargetStyle(leftTarget.value!)\n setTargetStyle(centerTarget.value!)\n setTargetStyle(rightTarget.value!)\n popupContentPos.value = type\n popupContent.value = () =>\n tableSlotsContext.contextmenuPopup?.({\n event,\n ...args,\n hidePopup: () => {\n ;((popupContentPos.value = null),\n setTargetStyle(leftTarget.value!),\n setTargetStyle(centerTarget.value!),\n setTargetStyle(rightTarget.value!))\n },\n })\n contextmenuPos.value = { clientX, clientY }\n clearTimeout(contextmenuTimer)\n contextmenuTimer = setTimeout(() => {\n setContextmenuPopupPos()\n })\n event.preventDefault()\n }\n },\n bodyRef,\n tooltipOpen: open,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n })\n\n expose({ bodyRef })\n\n onBeforeUnmount(() => {\n clearTimeout(contextmenuTimer)\n clearTimeout(undefined)\n })\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n const { addVScrollDom, removeVScrollDom } = useVScrollSyncInject()\n\n onMounted(() => {\n watch(\n summaryViewportRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyContainerRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyViewportRef,\n (newValue, oldValue) => {\n removeVScrollDom(oldValue!)\n addVScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n })\n onBeforeUnmount(() => {\n removeHScrollDom(summaryViewportRef.value!)\n removeHScrollDom(bodyContainerRef.value!)\n removeVScrollDom(bodyViewportRef.value!)\n })\n\n const bodyInnerWidth = ref(0)\n const emptyHeight = ref(0)\n\n const scrollbarStyle = computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: barSize === '0px' ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n })\n\n const bodyViewportStyle = computed<CSSProperties>(() => ({\n width: `calc(100% + ${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n // width: `calc(100% + 0px)`,\n overflowX: 'hidden',\n overflowY: 'auto',\n height: '100%',\n }))\n const isEmpty = computed(() => 0 === tableContext.pageData.value.length)\n const leftShadowStyle = computed<CSSProperties>(() =>\n props.bodyWidth! - tableContext.rightWidth.value > tableContext.leftWidth.value\n ? {\n position: 'absolute',\n left: `${tableContext.leftWidth.value}px`,\n height: '100%',\n }\n : { display: 'none' },\n )\n const rightShadowStyle = computed<CSSProperties>(() =>\n tableContext.rightWidth.value\n ? {\n position: 'absolute',\n left: props.bodyWidth! - tableContext.rightWidth.value + 'px',\n height: '100%',\n }\n : { display: 'none' },\n )\n const bodyClass = computed(() => ({\n [`${props.prefixCls}-body`]: true,\n [`${props.prefixCls}-unselectable`]: false !== tableContext.props.rangeSelection,\n }))\n const fixLeftClass = computed(() => ({\n [`${props.prefixCls}-fix-left`]: true,\n [`${props.prefixCls}-no-columns`]: !leftColumns.value.length,\n }))\n const fixRightClass = computed(() => ({\n [`${props.prefixCls}-fix-right`]: true,\n [`${props.prefixCls}-no-columns`]: !rightColumns.value.length,\n }))\n const centerClass = computed(() => ({\n [`${props.prefixCls}-center`]: true,\n [`${props.prefixCls}-no-columns`]: !centerColumns.value.length,\n }))\n const summaryViewportClass = computed(() => ({\n [`${props.prefixCls}-center-viewport`]: true,\n }))\n const containerClass = computed(() => ({\n [`${props.prefixCls}-center-container`]: true,\n }))\n const viewportHeight = computed(\n () =>\n tableContext.viewportHeight.value +\n (props.summaryFixed ? emptyHeight.value : summaryHeight.value + emptyHeight.value),\n )\n const containerStyle = computed<CSSProperties>(() => ({\n width: `${tableContext.centerWidth.value}px`,\n height: `${viewportHeight.value}px`,\n }))\n const summaryViewportStyle = computed<CSSProperties>(() => ({\n height: `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`,\n }))\n const scrollLayerStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n width: `${tableContext.bodyMaxWidth.value}px`,\n minWidth: '100%',\n }))\n const rowsHeightStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n overflow: 'hidden',\n minHeight: '100%',\n transform: 'translateZ(0)',\n }))\n const bodyStyle = computed<CSSProperties>(() => ({\n ...(attrs.style || {}),\n maxHeight: 'number' == typeof props.height ? `${props.height}px` : props.height,\n overflowY: 'hidden',\n }))\n const bodyContainerStyle = computed<CSSProperties>(\n () =>\n ({\n height: tableContext.showHorizontalScrollbar.value\n ? `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`\n : 'calc(100%)',\n zIndex: 'unset !important',\n overflowX: 'auto',\n overflowY: 'hidden',\n }) as any,\n )\n const centerStyle = computed<CSSProperties>(() => ({ height: `${viewportHeight.value}px` }))\n const leftStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.leftWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const rightStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.rightWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const summaryClass = computed(() => ({\n [`${props.prefixCls}-summary`]: true,\n [`${props.prefixCls}-position-absolute`]: !isEmpty.value,\n }))\n const fixedSummaryClass = computed(() => [\n summaryClass.value,\n `${props.prefixCls}-summary-fixed`,\n `${props.prefixCls}-summary-fixed-${props.summaryFixed}`,\n ])\n const summaryStyle = computed<CSSProperties>(() => {\n const styles = { height: `${summaryHeight.value}px` }\n return Object.assign(\n styles,\n props.summaryFixed\n ? showXScrollbar.value\n ? { borderTop: 'none' }\n : {}\n : {\n position: 'absolute',\n bottom: 0,\n width: `${props.bodyWidth}px`,\n borderTop: 'none',\n },\n ) as CSSProperties\n })\n const topSummaryStyle = computed<CSSProperties>(() => {\n if ('object' == typeof tableContext.props.sticky) {\n const { offsetHeader = 0, topSummary = false } = tableContext.props.sticky\n return topSummary\n ? ({\n ...summaryStyle.value,\n position: 'sticky',\n top: `${offsetHeader + tableContext.realHeaderHeight.value}px`,\n } as CSSProperties)\n : (summaryStyle.value as CSSProperties)\n }\n return summaryStyle.value as CSSProperties\n })\n const emptyStyle = computed<CSSProperties>(() => ({ width: `${props.bodyWidth}px` }))\n\n useResizeObserver(measureDomRef as never, (entries) => {\n const contentRect = entries[0]?.contentRect\n emit('update:bodyWidth', contentRect?.width || 0)\n emit('update:bodyHeight', contentRect?.height || 0)\n })\n return {\n bodyContainerStyle,\n measureDomStyle: computed<any>(() => ({\n width: '100%',\n height: '100%!important',\n position: 'absolute!important',\n fontSize: '100px!important',\n opacity: '0.1!important',\n textAlign: 'center!important',\n top: '0px!important',\n left: '0px!important',\n pointerEvents: 'none',\n display: 'block!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n visibility: 'visible!important',\n zIndex: '999!important',\n })),\n isEmpty,\n emptyStyle,\n handleEmptyHeight: (e: CustomEvent) => {\n emptyHeight.value = e.detail.height\n },\n bodyClass,\n fixLeftClass,\n fixRightClass,\n centerClass,\n containerClass,\n summaryViewportClass,\n summaryClass,\n rightStyle,\n centerStyle,\n leftStyle,\n summaryViewportStyle,\n containerStyle,\n summaryStyle,\n viewportHeight,\n leftColumns,\n centerColumns,\n rightColumns,\n bodyInnerWidth,\n handleBodyInnerResize: (e: CustomEvent) => {\n bodyInnerWidth.value = e.detail.width\n },\n handleBodyScrollResize: (e: CustomEvent) => {\n emit('update:bodyScrollWidth', e.detail.width)\n },\n bodyRef,\n measureDomRef,\n bodyInnerRef,\n viewportRef,\n summaryViewportRef,\n handleResize: (e: CustomEvent) => {\n summaryHeight.value = e.detail.height\n },\n bodyStyle,\n handleBodyResize: (e: CustomEvent) => {\n emit('update:bodyWidth', e.detail.width)\n emit('update:bodyHeight', e.detail.height)\n },\n emptyImage: Empty.PRESENTED_IMAGE_SIMPLE,\n scrollLayerStyle,\n getRowClassName: (record: any, index: number) => {\n const rowClassName = tableContext.props.rowClassName\n return (\n typeof rowClassName == 'function' ? rowClassName(record, index) : rowClassName\n ) as string\n },\n showWatermark,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n leftShadowStyle,\n rightShadowStyle,\n fixedSummaryClass,\n scrollLayerRef,\n scrollbarStyle,\n topSummaryStyle,\n leftTarget,\n centerTarget,\n rightTarget,\n popupContent,\n popupContentPos,\n handleContextmenuPopupResize: () => {\n setContextmenuPopupPos()\n },\n handleDragStart: (e: MouseEvent) => {\n if (e.target instanceof HTMLImageElement) {\n e.preventDefault()\n return false\n }\n },\n handleKeydown: (e: KeyboardEvent) => {\n emit('keydown', e)\n },\n bodyViewportStyle,\n bodyViewportRef,\n bodyContainerRef,\n rowsHeightStyle,\n showYScrollbar,\n }\n },\n})\n</script>\n\n<template>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'top'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"topSummaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :class=\"`${prefixCls}-cell-shadow-left`\" :style=\"leftShadowStyle\"></div>\n <div :class=\"`${prefixCls}-cell-shadow-right`\" :style=\"rightShadowStyle\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <div\n key=\"body\"\n ref=\"bodyRef\"\n :class=\"bodyClass\"\n :style=\"bodyStyle\"\n @dragstart=\"handleDragStart\"\n @keydown=\"handleKeydown\"\n >\n <div\n :style=\"{\n width: '100%',\n overflow: 'hidden',\n position: 'relative',\n transform: 'translateZ(0)',\n }\"\n >\n <div\n ref=\"bodyViewportRef\"\n :class=\"`${prefixCls}-body-viewport-container`\"\n :style=\"bodyViewportStyle\"\n >\n <div :style=\"rowsHeightStyle\">\n <div\n ref=\"bodyContainerRef\"\n :class=\"`${prefixCls}-body-container`\"\n :style=\"bodyContainerStyle\"\n >\n <div ref=\"leftPopupContainer\" key=\"left\" :class=\"fixLeftClass\" :style=\"leftStyle\">\n <BodyRows\n v-if=\"leftColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"left\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div\n v-if=\"summary && !summaryFixed\"\n key=\"summary\"\n :class=\"summaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div ref=\"summaryViewportRef\" :class=\"`${prefixCls}-summary-container`\">\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n </div>\n </div>\n\n <div ref=\"leftTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'left'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <div key=\"center\" :class=\"centerClass\" :style=\"centerStyle\">\n <div ref=\"centerPopupContainer\" :class=\"containerClass\" :style=\"containerStyle\">\n <BodyRows\n v-if=\"centerColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"center\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div ref=\"centerTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'center'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n </div>\n <div key=\"right\" ref=\"rightPopupContainer\" :class=\"fixRightClass\" :style=\"rightStyle\">\n <BodyRows\n v-if=\"rightColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"right\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div ref=\"rightTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize=\"true\"\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'right'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <span ref=\"dragRowPlaceholderRef\" :class=\"`${prefixCls}-drag-placeholder`\"></span>\n </div>\n </div>\n <div v-if=\"isEmpty\" key=\"empty\" :class=\"`${prefixCls}-empty-container`\">\n <div v-resize:height style=\"padding: 1px\" @resizeheight=\"handleEmptyHeight\">\n <RenderVNode :vnode=\"emptyText\"> <Empty :image=\"emptyImage\" /> </RenderVNode>\n </div>\n </div>\n </div>\n <div ref=\"measureDomRef\" :style=\"measureDomStyle\"></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-scroll-measure`\"\n :style=\"`min-width: ${bodyInnerWidth}px`\"\n @resizewidth=\"handleBodyScrollResize\"\n ></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-inner-measure`\"\n :style=\"`min-width: ${scrollX}px`\"\n @resizewidth=\"handleBodyInnerResize\"\n ></div>\n </div>\n <YScroll :style=\"`height: ${bodyHeight}px`\" />\n </div>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'bottom'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height=\"true\" @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <HorizontalScroll />\n</template>\n"],"names":[],"mappings":"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"}