pro-design-vue 1.0.0-rc.4 → 1.0.0-rc.6

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 (35) hide show
  1. package/dist/index.full.js +16 -23
  2. package/dist/index.full.min.js +2 -2
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +6 -6
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +16 -23
  7. package/es/components/table/src/components/Body/Body.vue.mjs +7 -17
  8. package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
  9. package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
  10. package/es/components/table/src/components/Form/Form.d.ts +3 -0
  11. package/es/components/table/src/components/Form/Form.mjs +6 -4
  12. package/es/components/table/src/components/Form/Form.mjs.map +1 -1
  13. package/es/components/table/src/components/Table.mjs +1 -0
  14. package/es/components/table/src/components/Table.mjs.map +1 -1
  15. package/es/components/table/src/components/interface.d.ts +1 -0
  16. package/es/components/table/src/components/interface.mjs.map +1 -1
  17. package/es/index.d.ts +1 -0
  18. package/es/version.d.ts +1 -1
  19. package/es/version.mjs +1 -1
  20. package/es/version.mjs.map +1 -1
  21. package/lib/components/table/src/components/Body/Body.vue.js +7 -17
  22. package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
  23. package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
  24. package/lib/components/table/src/components/Form/Form.d.ts +3 -0
  25. package/lib/components/table/src/components/Form/Form.js +6 -4
  26. package/lib/components/table/src/components/Form/Form.js.map +1 -1
  27. package/lib/components/table/src/components/Table.js +1 -0
  28. package/lib/components/table/src/components/Table.js.map +1 -1
  29. package/lib/components/table/src/components/interface.d.ts +1 -0
  30. package/lib/components/table/src/components/interface.js.map +1 -1
  31. package/lib/index.d.ts +1 -0
  32. package/lib/version.d.ts +1 -1
  33. package/lib/version.js +1 -1
  34. package/lib/version.js.map +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Body.vue.js","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 10:44:51\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 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 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 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 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 v-resize:height\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 v-resize :style=\"measureDomStyle\" @resize=\"handleBodyResize\"></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.js","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 15:51:03\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 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 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 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 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 v-resize\n key=\"body\"\n ref=\"bodyRef\"\n :class=\"bodyClass\"\n :style=\"bodyStyle\"\n @dragstart=\"handleDragStart\"\n @keydown=\"handleKeydown\"\n @resize=\"handleBodyResize\"\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 v-resize :style=\"measureDomStyle\" @resize=\"handleBodyResize\"></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 +1 @@
1
- {"version":3,"file":"Body.vue2.js","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 10:44:51\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 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 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 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 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 v-resize:height\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 v-resize :style=\"measureDomStyle\" @resize=\"handleBodyResize\"></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":["defineComponent","BodyRows","Empty","RenderVNode","RenderSlot","XScroll","YScroll","resize","useInjectTable","useInjectSlots","ref","computed","useInjectHover","useTooltip","shallowRef","watch","onClickOutside","useProvideBody","onBeforeUnmount","useHScrollSyncInject","useVScrollSyncInject","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4BA,gBAAeA,mBAAA,CAAgB;AAAA,EAC7B,IAAA,EAAM,WAAA;AAAA,EACN,UAAA,EAAY;AAAA,cACVC,gBAAA;AAAA,WACAC,kBAAA;AAAA,iBACAC,uBAAA;AAAA,gBACAC,sBAAA;AAAA,IACA,gBAAA,EAAkBC,eAAA;AAAA,aAClBC;AAAA,GACF;AAAA,EACA,UAAA,EAAY,UAAEC,aAAA,EAAO;AAAA,EACrB,YAAA,EAAc,KAAA;AAAA,EACd,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,MAAA;AAAA,IACX,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAA8B,SAAS,KAAA,EAAM;AAAA,IAC/D,eAAA,EAAiB,EAAE,IAAA,EAAM,MAAA,EAA2B;AAAA,IACpD,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAA2B;AAAA,IAC9C,UAAA,EAAY,EAAE,IAAA,EAAM,MAAA,EAA2B;AAAA,IAC/C,QAAQ,EAAE,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA,EAA+B;AAAA,IAC9D,OAAA,EAAS,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACxB,YAAA,EAAc,CAAC,OAAA,EAAS,MAAM,CAAA;AAAA,IAC9B,SAAA,EAAW,QAAA;AAAA,IACX,OAAA,EAAS;AAAA,GACX;AAAA,EACA,KAAA,EAAO;AAAA,IACL,QAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,mBAAA;AAAA,IACA,wBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,OAAO,EAAC;AAAA,EAIR,MAAM,KAAA,EAAO,EAAE,IAAA,EAAM,KAAA,EAAO,QAAO,EAAG;AACpC,IAAA,MAAM,eAAeC,2BAAA,EAAe;AACpC,IAAA,MAAM,oBAAoBC,gCAAA,EAAe;AAEzC,IAAA,MAAM,wBAAwBC,OAAA,EAAoB;AAClD,IAAA,MAAM,UAAUA,OAAA,EAAoB;AACpC,IAAA,MAAM,eAAeA,OAAA,EAAoB;AACzC,IAAA,MAAM,iBAAiBA,OAAA,EAAoB;AAC3C,IAAA,MAAM,cAAcA,OAAA,EAAoB;AACxC,IAAA,MAAM,qBAAqBA,OAAA,EAAoB;AAE/C,IAAA,MAAM,kBAAkBA,OAAA,EAAoB;AAC5C,IAAA,MAAM,mBAAmBA,OAAA,EAAoB;AAE7C,IAAA,MAAM,aAAA,GAAgBA,QAAI,CAAC,CAAA;AAE3B,IAAA,MAAM,WAAA,GAAcC,YAAA,CAAS,MAAM,YAAA,CAAa,YAAY,KAAK,CAAA;AACjE,IAAA,MAAM,aAAA,GAAgBA,YAAA,CAAS,MAAM,YAAA,CAAa,cAAc,KAAK,CAAA;AACrE,IAAA,MAAM,YAAA,GAAeA,YAAA,CAAS,MAAM,YAAA,CAAa,aAAa,KAAK,CAAA;AACnE,IAAA,MAAM,gBAAgBA,YAAA,CAAS,MAAM,aAAa,MAAA,CAAO,KAAA,CAAM,SAAS,CAAC,CAAA;AAEzE,IAAA,MAAM,qBAAqBD,OAAA,EAAoB;AAC/C,IAAA,MAAM,uBAAuBA,OAAA,EAAoB;AACjD,IAAA,MAAM,sBAAsBA,OAAA,EAAoB;AAEhD,IAAA,MAAM,aAAaA,OAAA,EAAoB;AACvC,IAAA,MAAM,eAAeA,OAAA,EAAoB;AACzC,IAAA,MAAM,cAAcA,OAAA,EAAoB;AAExC,IAAA,MAAM,EAAE,cAAA,EAAe,GAAIE,uBAAA,EAAe;AAC1C,IAAA,MAAM,EAAE,IAAA,EAAK,GAAIC,kBAAA,CAAW,EAAE,gBAAgB,CAAA;AAE9C,IAAA,MAAM,eAAeC,cAAA,EAAgB;AACrC,IAAA,MAAM,kBAAkBJ,OAAA,EAAmB;AAC3C,IAAA,MAAM,iBAAiBA,OAAA,CAAI,EAAE,SAAS,CAAA,EAAG,OAAA,EAAS,GAAG,CAAA;AAErD,IAAA,MAAM,cAAA,GAAiB,CAAC,MAAA,KAA2B;AACjD,MAAA,MAAA,CAAO,MAAM,OAAA,GAAU,MAAA;AACvB,MAAA,MAAA,CAAO,MAAM,OAAA,GAAU,GAAA;AACvB,MAAA,MAAA,CAAO,MAAM,IAAA,GAAO,KAAA;AACpB,MAAA,MAAA,CAAO,MAAM,GAAA,GAAM,KAAA;AACnB,MAAA,MAAA,CAAO,MAAM,MAAA,GAAS,KAAA;AACtB,MAAA,MAAA,CAAO,KAAA,CAAM,QAAA,GAAW,KAAA,CAAM,SAAA,GAAa,CAAA,GAAI,IAAA;AAAA,IACjD,CAAA;AAEA,IAAA,MAAM,yBAAyB,MAAM;AACnC,MAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAQ,GAAI,cAAA,CAAe,KAAA;AAC5C,MAAA,MAAM,WAAW,eAAA,CAAgB,KAAA;AACjC,MAAA,MAAM,MAAA,GACJ,aAAa,MAAA,GACT,UAAA,CAAW,QACX,QAAA,KAAa,OAAA,GACX,WAAA,CAAY,KAAA,GACZ,YAAA,CAAa,KAAA;AACrB,MAAA,IAAI,CAAC,QAAA,IAAY,CAAC,MAAA,EAAQ;AACxB,QAAA;AAAA,MACF;AACA,MAAA,MAAA,CAAO,MAAM,OAAA,GAAU,OAAA;AACvB,MAAA,MAAM,EAAE,IAAA,EAAM,GAAA,EAAI,GAAI,MAAA,CAAO,cAAe,qBAAA,EAAsB;AAClE,MAAA,MAAM,UAAA,GAAa,MAAA,CAAO,QAAA,CAAS,CAAC,CAAA;AACpC,MAAA,MAAM,YAAY,IAAA,CAAK,GAAA;AAAA,QACrB,MAAA,CAAO,YAAA;AAAA,QACP,UAAA,CAAW,YAAA;AAAA,QACX,eAAe,KAAA,GAAQ;AAAA,OACzB;AACA,MAAA,MAAA,CAAO,MAAM,OAAA,GAAU,GAAA;AACvB,MAAA,MAAA,CAAO,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG,SAAS,CAAA,EAAA,CAAA;AAClC,MAAA,IAAI,UAAU,OAAA,GAAU,IAAA;AACxB,MAAA,IAAI,WAAW,OAAA,GAAU,GAAA;AACzB,MAAA,IAAI,QAAA,GAAW,SAAA,GAAY,cAAA,CAAe,KAAA,EAAO;AAC/C,QAAA,QAAA,GAAW,cAAA,CAAe,QAAQ,SAAA,GAAY,CAAA;AAAA,MAChD;AAEA,MAAA,IAAI,eAAA,CAAgB,UAAU,QAAA,EAAU;AACtC,QAAA,IAAI,OAAA,GAAU,MAAA,CAAO,WAAA,GAAc,YAAA,CAAa,YAAY,KAAA,EAAO;AACjE,UAAA,OAAA,GAAU,YAAA,CAAa,WAAA,CAAY,KAAA,GAAQ,MAAA,CAAO,WAAA,GAAc,CAAA;AAAA,QAClE;AAAA,MACF,CAAA,MAAA,IAAW,eAAA,CAAgB,KAAA,KAAU,OAAA,EAAS;AAC5C,QAAA,IAAI,OAAA,GAAU,MAAA,CAAO,WAAA,GAAc,YAAA,CAAa,WAAW,KAAA,EAAO;AAChE,UAAA,OAAA,GAAU,YAAA,CAAa,UAAA,CAAW,KAAA,GAAQ,MAAA,CAAO,WAAA,GAAc,CAAA;AAAA,QACjE;AAAA,MACF,CAAA,MAAO;AACL,QAAA,IAAI,OAAA,GAAU,MAAA,CAAO,WAAA,GAAc,KAAA,CAAM,SAAA,EAAY;AACnD,UAAA,OAAA,GAAU,KAAA,CAAM,SAAA,GAAa,MAAA,CAAO,WAAA,GAAc,CAAA;AAAA,QACpD;AAAA,MACF;AACA,MAAA,MAAA,CAAO,KAAA,CAAM,IAAA,GAAO,CAAA,EAAG,OAAO,CAAA,EAAA,CAAA;AAC9B,MAAA,MAAA,CAAO,KAAA,CAAM,GAAA,GAAM,CAAA,EAAG,QAAQ,CAAA,EAAA,CAAA;AAAA,IAChC,CAAA;AAEA,IAAA,MAAM,cAAA,GAAiBC,YAAA,CAAS,MAAM,YAAA,CAAa,sBAAsB,KAAK,CAAA;AAC9E,IAAA,MAAM,cAAA,GAAiBA,YAAA,CAAS,MAAM,YAAA,CAAa,wBAAwB,KAAK,CAAA;AAEhF,IAAAI,SAAA;AAAA,MACE,CAAC,YAAA,CAAa,WAAA,EAAa,aAAa,UAAA,EAAY,MAAM,MAAM,SAAS,CAAA;AAAA,MACzE,MAAM;AACJ,QAAA,sBAAA,EAAuB;AAAA,MACzB,CAAA;AAAA,MACA,EAAE,OAAO,MAAA;AAAO,KAClB;AAEA,IAAA,IAAI,gBAAA;AAEJ,IAAAC,sBAAA,CAAe,YAAY,MAAM;AAC/B,MAAA,IAAI,eAAA,CAAgB,UAAU,MAAA,EAAQ;AACpC,QAAA,eAAA,CAAgB,KAAA,GAAQ,IAAA;AACxB,QAAA,cAAA,CAAe,WAAW,KAAM,CAAA;AAAA,MAClC;AAAA,IACF,CAAC,CAAA;AACD,IAAAA,sBAAA,CAAe,cAAc,MAAM;AACjC,MAAA,IAAI,eAAA,CAAgB,UAAU,QAAA,EAAU;AACtC,QAAA,eAAA,CAAgB,KAAA,GAAQ,IAAA;AACxB,QAAA,cAAA,CAAe,aAAa,KAAM,CAAA;AAAA,MACpC;AAAA,IACF,CAAC,CAAA;AACD,IAAAA,sBAAA,CAAe,aAAa,MAAM;AAChC,MAAA,IAAI,eAAA,CAAgB,UAAU,OAAA,EAAS;AACrC,QAAA,eAAA,CAAgB,KAAA,GAAQ,IAAA;AACxB,QAAA,cAAA,CAAe,YAAY,KAAM,CAAA;AAAA,MACnC;AAAA,IACF,CAAC,CAAA;AAED,IAAAC,0BAAA,CAAe;AAAA,MACb,qBAAA,EAAuB,CAAC,KAAA,EAAO,IAAA,EAAM,IAAA,KAAS;AAC5C,QAAA,IAAI,YAAA,CAAa,MAAM,mBAAA,EAAqB;AAC1C,UAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAQ,GAAI,KAAA;AAC7B,UAAA,cAAA,CAAe,WAAW,KAAM,CAAA;AAChC,UAAA,cAAA,CAAe,aAAa,KAAM,CAAA;AAClC,UAAA,cAAA,CAAe,YAAY,KAAM,CAAA;AACjC,UAAA,eAAA,CAAgB,KAAA,GAAQ,IAAA;AACxB,UAAA,YAAA,CAAa,QAAQ,MAAG;;AACtB,YAAA,OAAA,CAAA,EAAA,GAAA,iBAAA,CAAkB,qBAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,iBAAA,EAAqC;AAAA,cACnC,KAAA;AAAA,cACA,GAAG,IAAA;AAAA,cACH,WAAW,MAAM;AACd,gBAAE,eAAA,CAAgB,KAAA,GAAQ,IAAA,EACzB,cAAA,CAAe,UAAA,CAAW,KAAM,CAAA,EAChC,cAAA,CAAe,YAAA,CAAa,KAAM,CAAA,EAClC,cAAA,CAAe,YAAY,KAAM,CAAA;AAAA,cACrC;AAAA,aACF,CAAA;AAAA,UAAA,CAAA;AACF,UAAA,cAAA,CAAe,KAAA,GAAQ,EAAE,OAAA,EAAS,OAAA,EAAQ;AAC1C,UAAA,YAAA,CAAa,gBAAgB,CAAA;AAC7B,UAAA,gBAAA,GAAmB,WAAW,MAAM;AAClC,YAAA,sBAAA,EAAuB;AAAA,UACzB,CAAC,CAAA;AACD,UAAA,KAAA,CAAM,cAAA,EAAe;AAAA,QACvB;AAAA,MACF,CAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA,EAAa,IAAA;AAAA,MACb,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA,mBAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAA,CAAO,EAAE,SAAS,CAAA;AAElB,IAAAC,mBAAA,CAAgB,MAAM;AACpB,MAAA,YAAA,CAAa,gBAAgB,CAAA;AAC7B,MAAA,YAAA,CAAa,MAAS,CAAA;AAAA,IACxB,CAAC,CAAA;AACD,IAAA,MAAM,EAAE,aAAA,EAAe,gBAAA,EAAiB,GAAIC,mCAAA,EAAqB;AACjE,IAAA,MAAM,EAAE,aAAA,EAAe,gBAAA,EAAiB,GAAIC,mCAAA,EAAqB;AAEjE,IAAAC,aAAA,CAAU,MAAM;AACd,MAAAN,SAAA;AAAA,QACE,kBAAA;AAAA,QACA,CAAC,UAAU,QAAA,KAAa;AACtB,UAAA,gBAAA,CAAiB,QAAS,CAAA;AAC1B,UAAA,aAAA,CAAc,QAAS,CAAA;AAAA,QACzB,CAAA;AAAA,QACA,EAAE,KAAA,EAAO,MAAA,EAAQ,SAAA,EAAW,IAAA;AAAK,OACnC;AACA,MAAAA,SAAA;AAAA,QACE,gBAAA;AAAA,QACA,CAAC,UAAU,QAAA,KAAa;AACtB,UAAA,gBAAA,CAAiB,QAAS,CAAA;AAC1B,UAAA,aAAA,CAAc,QAAS,CAAA;AAAA,QACzB,CAAA;AAAA,QACA,EAAE,KAAA,EAAO,MAAA,EAAQ,SAAA,EAAW,IAAA;AAAK,OACnC;AACA,MAAAA,SAAA;AAAA,QACE,eAAA;AAAA,QACA,CAAC,UAAU,QAAA,KAAa;AACtB,UAAA,gBAAA,CAAiB,QAAS,CAAA;AAC1B,UAAA,aAAA,CAAc,QAAS,CAAA;AAAA,QACzB,CAAA;AAAA,QACA,EAAE,KAAA,EAAO,MAAA,EAAQ,SAAA,EAAW,IAAA;AAAK,OACnC;AAAA,IACF,CAAC,CAAA;AACD,IAAAG,mBAAA,CAAgB,MAAM;AACpB,MAAA,gBAAA,CAAiB,mBAAmB,KAAM,CAAA;AAC1C,MAAA,gBAAA,CAAiB,iBAAiB,KAAM,CAAA;AACxC,MAAA,gBAAA,CAAiB,gBAAgB,KAAM,CAAA;AAAA,IACzC,CAAC,CAAA;AAED,IAAA,MAAM,cAAA,GAAiBR,QAAI,CAAC,CAAA;AAC5B,IAAA,MAAM,WAAA,GAAcA,QAAI,CAAC,CAAA;AAEzB,IAAA,MAAM,cAAA,GAAiBC,aAAwB,MAAM;AACnD,MAAA,MAAM,OAAA,GAAU,GAAG,YAAA,CAAa,qBAAA,CAAsB,QAAQ,YAAA,CAAa,aAAA,CAAc,QAAQ,CAAC,CAAA,EAAA,CAAA;AAClG,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,OAAA,KAAY,KAAA,GAAQ,MAAA,GAAS,OAAA;AAAA,QACtC,KAAA,EAAO,OAAA;AAAA,QACP,QAAA,EAAU,OAAA;AAAA,QACV,QAAA,EAAU,OAAA;AAAA,QACV,QAAA,EAAU,QAAA;AAAA,QACV,KAAA,EAAO,IAAI,OAAO,CAAA;AAAA,OACpB;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM,iBAAA,GAAoBA,aAAwB,OAAO;AAAA,MACvD,KAAA,EAAO,eAAe,YAAA,CAAa,qBAAA,CAAsB,QAAQ,YAAA,CAAa,aAAA,CAAc,KAAA,IAAS,EAAA,GAAK,CAAC,CAAA,GAAA,CAAA;AAAA;AAAA,MAE3G,SAAA,EAAW,QAAA;AAAA,MACX,SAAA,EAAW,MAAA;AAAA,MACX,MAAA,EAAQ;AAAA,KACV,CAAE,CAAA;AACF,IAAA,MAAM,UAAUA,YAAA,CAAS,MAAM,MAAM,YAAA,CAAa,QAAA,CAAS,MAAM,MAAM,CAAA;AACvE,IAAA,MAAM,eAAA,GAAkBA,YAAA;AAAA,MAAwB,MAC9C,MAAM,SAAA,GAAa,YAAA,CAAa,WAAW,KAAA,GAAQ,YAAA,CAAa,UAAU,KAAA,GACtE;AAAA,QACE,QAAA,EAAU,UAAA;AAAA,QACV,IAAA,EAAM,CAAA,EAAG,YAAA,CAAa,SAAA,CAAU,KAAK,CAAA,EAAA,CAAA;AAAA,QACrC,MAAA,EAAQ;AAAA,OACV,GACA,EAAE,OAAA,EAAS,MAAA;AAAO,KACxB;AACA,IAAA,MAAM,gBAAA,GAAmBA,YAAA;AAAA,MAAwB,MAC/C,YAAA,CAAa,UAAA,CAAW,KAAA,GACpB;AAAA,QACE,QAAA,EAAU,UAAA;AAAA,QACV,IAAA,EAAM,KAAA,CAAM,SAAA,GAAa,YAAA,CAAa,WAAW,KAAA,GAAQ,IAAA;AAAA,QACzD,MAAA,EAAQ;AAAA,OACV,GACA,EAAE,OAAA,EAAS,MAAA;AAAO,KACxB;AACA,IAAA,MAAM,SAAA,GAAYA,aAAS,OAAO;AAAA,MAChC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,OAAO,GAAG,IAAA;AAAA,MAC7B,CAAC,GAAG,KAAA,CAAM,SAAS,eAAe,GAAG,KAAA,KAAU,aAAa,KAAA,CAAM;AAAA,KACpE,CAAE,CAAA;AACF,IAAA,MAAM,YAAA,GAAeA,aAAS,OAAO;AAAA,MACnC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,WAAW,GAAG,IAAA;AAAA,MACjC,CAAC,GAAG,KAAA,CAAM,SAAS,aAAa,GAAG,CAAC,YAAY,KAAA,CAAM;AAAA,KACxD,CAAE,CAAA;AACF,IAAA,MAAM,aAAA,GAAgBA,aAAS,OAAO;AAAA,MACpC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,YAAY,GAAG,IAAA;AAAA,MAClC,CAAC,GAAG,KAAA,CAAM,SAAS,aAAa,GAAG,CAAC,aAAa,KAAA,CAAM;AAAA,KACzD,CAAE,CAAA;AACF,IAAA,MAAM,WAAA,GAAcA,aAAS,OAAO;AAAA,MAClC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,SAAS,GAAG,IAAA;AAAA,MAC/B,CAAC,GAAG,KAAA,CAAM,SAAS,aAAa,GAAG,CAAC,cAAc,KAAA,CAAM;AAAA,KAC1D,CAAE,CAAA;AACF,IAAA,MAAM,oBAAA,GAAuBA,aAAS,OAAO;AAAA,MAC3C,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,kBAAkB,GAAG;AAAA,KAC1C,CAAE,CAAA;AACF,IAAA,MAAM,cAAA,GAAiBA,aAAS,OAAO;AAAA,MACrC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,mBAAmB,GAAG;AAAA,KAC3C,CAAE,CAAA;AACF,IAAA,MAAM,cAAA,GAAiBA,YAAA;AAAA,MACrB,MACE,YAAA,CAAa,cAAA,CAAe,KAAA,IAC3B,KAAA,CAAM,eAAe,WAAA,CAAY,KAAA,GAAQ,aAAA,CAAc,KAAA,GAAQ,WAAA,CAAY,KAAA;AAAA,KAChF;AACA,IAAA,MAAM,cAAA,GAAiBA,aAAwB,OAAO;AAAA,MACpD,KAAA,EAAO,CAAA,EAAG,YAAA,CAAa,WAAA,CAAY,KAAK,CAAA,EAAA,CAAA;AAAA,MACxC,MAAA,EAAQ,CAAA,EAAG,cAAA,CAAe,KAAK,CAAA,EAAA;AAAA,KACjC,CAAE,CAAA;AACF,IAAA,MAAM,oBAAA,GAAuBA,aAAwB,OAAO;AAAA,MAC1D,MAAA,EAAQ,CAAA,YAAA,EAAe,YAAA,CAAa,aAAA,CAAc,SAAS,EAAE,CAAA,GAAA;AAAA,KAC/D,CAAE,CAAA;AACF,IAAA,MAAM,gBAAA,GAAmBA,aAAwB,OAAO;AAAA,MACtD,MAAA,EAAQ,CAAA,EAAG,cAAA,CAAe,KAAK,CAAA,EAAA,CAAA;AAAA,MAC/B,KAAA,EAAO,CAAA,EAAG,YAAA,CAAa,YAAA,CAAa,KAAK,CAAA,EAAA,CAAA;AAAA,MACzC,QAAA,EAAU;AAAA,KACZ,CAAE,CAAA;AACF,IAAA,MAAM,eAAA,GAAkBA,aAAwB,OAAO;AAAA,MACrD,MAAA,EAAQ,CAAA,EAAG,cAAA,CAAe,KAAK,CAAA,EAAA,CAAA;AAAA,MAC/B,QAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,MAAA;AAAA,MACX,SAAA,EAAW;AAAA,KACb,CAAE,CAAA;AACF,IAAA,MAAM,SAAA,GAAYA,aAAwB,OAAO;AAAA,MAC/C,GAAI,KAAA,CAAM,KAAA,IAAS,EAAC;AAAA,MACpB,SAAA,EAAW,YAAY,OAAO,KAAA,CAAM,SAAS,CAAA,EAAG,KAAA,CAAM,MAAM,CAAA,EAAA,CAAA,GAAO,KAAA,CAAM,MAAA;AAAA,MACzE,SAAA,EAAW;AAAA,KACb,CAAE,CAAA;AACF,IAAA,MAAM,kBAAA,GAAqBA,YAAA;AAAA,MACzB,OACG;AAAA,QACC,MAAA,EAAQ,aAAa,uBAAA,CAAwB,KAAA,GACzC,eAAe,YAAA,CAAa,aAAA,CAAc,KAAA,IAAS,EAAE,CAAA,GAAA,CAAA,GACrD,YAAA;AAAA,QACJ,MAAA,EAAQ,kBAAA;AAAA,QACR,SAAA,EAAW,MAAA;AAAA,QACX,SAAA,EAAW;AAAA,OACb;AAAA,KACJ;AACA,IAAA,MAAM,WAAA,GAAcA,aAAwB,OAAO,EAAE,QAAQ,CAAA,EAAG,cAAA,CAAe,KAAK,CAAA,EAAA,CAAA,EAAK,CAAE,CAAA;AAC3F,IAAA,MAAM,SAAA,GAAYA,aAAwB,MAAM;AAC9C,MAAA,MAAM,KAAA,GAAQ,CAAA,EAAG,YAAA,CAAa,SAAA,CAAU,KAAK,CAAA,EAAA,CAAA;AAC7C,MAAA,OAAO;AAAA,QACL,KAAA;AAAA,QACA,QAAA,EAAU,KAAA;AAAA,QACV,QAAA,EAAU,KAAA;AAAA,QACV,MAAA,EAAQ,CAAA,EAAG,cAAA,CAAe,KAAK,CAAA,EAAA;AAAA,OACjC;AAAA,IACF,CAAC,CAAA;AACD,IAAA,MAAM,UAAA,GAAaA,aAAwB,MAAM;AAC/C,MAAA,MAAM,KAAA,GAAQ,CAAA,EAAG,YAAA,CAAa,UAAA,CAAW,KAAK,CAAA,EAAA,CAAA;AAC9C,MAAA,OAAO;AAAA,QACL,KAAA;AAAA,QACA,QAAA,EAAU,KAAA;AAAA,QACV,QAAA,EAAU,KAAA;AAAA,QACV,MAAA,EAAQ,CAAA,EAAG,cAAA,CAAe,KAAK,CAAA,EAAA;AAAA,OACjC;AAAA,IACF,CAAC,CAAA;AACD,IAAA,MAAM,YAAA,GAAeA,aAAS,OAAO;AAAA,MACnC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,UAAU,GAAG,IAAA;AAAA,MAChC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,kBAAA,CAAoB,GAAG,CAAC,OAAA,CAAQ;AAAA,KACrD,CAAE,CAAA;AACF,IAAA,MAAM,iBAAA,GAAoBA,aAAS,MAAM;AAAA,MACvC,YAAA,CAAa,KAAA;AAAA,MACb,CAAA,EAAG,MAAM,SAAS,CAAA,cAAA,CAAA;AAAA,MAClB,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,eAAA,EAAkB,MAAM,YAAY,CAAA;AAAA,KACvD,CAAA;AACD,IAAA,MAAM,YAAA,GAAeA,aAAwB,MAAM;AACjD,MAAA,MAAM,SAAS,EAAE,MAAA,EAAQ,CAAA,EAAG,aAAA,CAAc,KAAK,CAAA,EAAA,CAAA,EAAK;AACpD,MAAA,OAAO,MAAA,CAAO,MAAA;AAAA,QACZ,MAAA;AAAA,QACA,KAAA,CAAM,eACF,cAAA,CAAe,KAAA,GACb,EAAE,SAAA,EAAW,MAAA,EAAO,GACpB,EAAC,GACH;AAAA,UACE,QAAA,EAAU,UAAA;AAAA,UACV,MAAA,EAAQ,CAAA;AAAA,UACR,KAAA,EAAO,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,EAAA,CAAA;AAAA,UACzB,SAAA,EAAW;AAAA;AACb,OACN;AAAA,IACF,CAAC,CAAA;AACD,IAAA,MAAM,eAAA,GAAkBA,aAAwB,MAAM;AACpD,MAAA,IAAI,QAAA,IAAY,OAAO,YAAA,CAAa,KAAA,CAAM,MAAA,EAAQ;AAChD,QAAA,MAAM,EAAE,YAAA,GAAe,CAAA,EAAG,aAAa,KAAA,EAAM,GAAI,aAAa,KAAA,CAAM,MAAA;AACpE,QAAA,OAAO,UAAA,GACF;AAAA,UACC,GAAG,YAAA,CAAa,KAAA;AAAA,UAChB,QAAA,EAAU,QAAA;AAAA,UACV,GAAA,EAAK,CAAA,EAAG,YAAA,GAAe,YAAA,CAAa,iBAAiB,KAAK,CAAA,EAAA;AAAA,YAE3D,YAAA,CAAa,KAAA;AAAA,MACpB;AACA,MAAA,OAAO,YAAA,CAAa,KAAA;AAAA,IACtB,CAAC,CAAA;AACD,IAAA,MAAM,UAAA,GAAaA,aAAwB,OAAO,EAAE,OAAO,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,EAAA,CAAA,EAAK,CAAE,CAAA;AACpF,IAAA,OAAO;AAAA,MACL,kBAAA;AAAA,MACA,eAAA,EAAiBA,aAAc,OAAO;AAAA,QACpC,KAAA,EAAO,MAAA;AAAA,QACP,MAAA,EAAQ,gBAAA;AAAA,QACR,QAAA,EAAU,oBAAA;AAAA,QACV,QAAA,EAAU,iBAAA;AAAA,QACV,OAAA,EAAS,eAAA;AAAA,QACT,SAAA,EAAW,kBAAA;AAAA,QACX,GAAA,EAAK,eAAA;AAAA,QACL,IAAA,EAAM,eAAA;AAAA,QACN,aAAA,EAAe,MAAA;AAAA,QACf,OAAA,EAAS,iBAAA;AAAA,QACT,KAAA,EAAO,mBAAA;AAAA,QACP,MAAA,EAAQ,eAAA;AAAA,QACR,OAAA,EAAS,eAAA;AAAA,QACT,SAAA,EAAW,iBAAA;AAAA,QACX,UAAA,EAAY,mBAAA;AAAA,QACZ,MAAA,EAAQ;AAAA,OACV,CAAE,CAAA;AAAA,MACF,OAAA;AAAA,MACA,UAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,CAAA,KAAmB;AACrC,QAAA,WAAA,CAAY,KAAA,GAAQ,EAAE,MAAA,CAAO,MAAA;AAAA,MAC/B,CAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,MACA,oBAAA;AAAA,MACA,YAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,oBAAA;AAAA,MACA,cAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,MACA,qBAAA,EAAuB,CAAC,CAAA,KAAmB;AACzC,QAAA,cAAA,CAAe,KAAA,GAAQ,EAAE,MAAA,CAAO,KAAA;AAAA,MAClC,CAAA;AAAA,MACA,sBAAA,EAAwB,CAAC,CAAA,KAAmB;AAC1C,QAAA,IAAA,CAAK,wBAAA,EAA0B,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA;AAAA,MAC/C,CAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,kBAAA;AAAA,MACA,YAAA,EAAc,CAAC,CAAA,KAAmB;AAChC,QAAA,aAAA,CAAc,KAAA,GAAQ,EAAE,MAAA,CAAO,MAAA;AAAA,MACjC,CAAA;AAAA,MACA,SAAA;AAAA,MACA,gBAAA,EAAkB,CAAC,CAAA,KAAmB;AACpC,QAAA,IAAA,CAAK,kBAAA,EAAoB,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA;AACvC,QAAA,IAAA,CAAK,mBAAA,EAAqB,CAAA,CAAE,MAAA,CAAO,MAAM,CAAA;AAAA,MAC3C,CAAA;AAAA,MACA,YAAYT,kBAAA,CAAM,sBAAA;AAAA,MAClB,gBAAA;AAAA,MACA,eAAA,EAAiB,CAAC,MAAA,EAAa,KAAA,KAAkB;AAC/C,QAAA,MAAM,YAAA,GAAe,aAAa,KAAA,CAAM,YAAA;AACxC,QAAA,OACE,OAAO,YAAA,IAAgB,UAAA,GAAa,YAAA,CAAa,MAAA,EAAQ,KAAK,CAAA,GAAI,YAAA;AAAA,MAEtE,CAAA;AAAA,MACA,aAAA;AAAA,MACA,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA,mBAAA;AAAA,MACA,qBAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,iBAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,8BAA8B,MAAM;AAClC,QAAA,sBAAA,EAAuB;AAAA,MACzB,CAAA;AAAA,MACA,eAAA,EAAiB,CAAC,CAAA,KAAkB;AAClC,QAAA,IAAI,CAAA,CAAE,kBAAkB,gBAAA,EAAkB;AACxC,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,OAAO,KAAA;AAAA,QACT;AAAA,MACF,CAAA;AAAA,MACA,aAAA,EAAe,CAAC,CAAA,KAAqB;AACnC,QAAA,IAAA,CAAK,WAAW,CAAC,CAAA;AAAA,MACnB,CAAA;AAAA,MACA,iBAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,eAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"Body.vue2.js","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 15:51:03\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 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 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 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 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 v-resize\n key=\"body\"\n ref=\"bodyRef\"\n :class=\"bodyClass\"\n :style=\"bodyStyle\"\n @dragstart=\"handleDragStart\"\n @keydown=\"handleKeydown\"\n @resize=\"handleBodyResize\"\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 v-resize :style=\"measureDomStyle\" @resize=\"handleBodyResize\"></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":["defineComponent","BodyRows","Empty","RenderVNode","RenderSlot","XScroll","YScroll","resize","useInjectTable","useInjectSlots","ref","computed","useInjectHover","useTooltip","shallowRef","watch","onClickOutside","useProvideBody","onBeforeUnmount","useHScrollSyncInject","useVScrollSyncInject","onMounted"],"mappings":"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"}
@@ -17,6 +17,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
17
17
  };
18
18
  loading: BooleanConstructor;
19
19
  manual: BooleanConstructor;
20
+ tableShowCard: BooleanConstructor;
20
21
  beforeSearchSubmit: {
21
22
  type: PropType<(params: Partial<any>) => any>;
22
23
  default: (searchParams: Partial<any>) => Partial<any>;
@@ -53,6 +54,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
53
54
  };
54
55
  loading: BooleanConstructor;
55
56
  manual: BooleanConstructor;
57
+ tableShowCard: BooleanConstructor;
56
58
  beforeSearchSubmit: {
57
59
  type: PropType<(params: Partial<any>) => any>;
58
60
  default: (searchParams: Partial<any>) => Partial<any>;
@@ -83,6 +85,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
83
85
  beforeSearchSubmit: (params: Partial<any>) => any;
84
86
  cardBordered: Bordered;
85
87
  onFormSearchSubmit: (params: any) => void;
88
+ tableShowCard: boolean;
86
89
  onSearchTabChange: (params: any) => void;
87
90
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
88
91
  export default _default;
@@ -28,6 +28,7 @@ var FormRender = /* @__PURE__ */ vue.defineComponent({
28
28
  },
29
29
  loading: Boolean,
30
30
  manual: Boolean,
31
+ tableShowCard: Boolean,
31
32
  beforeSearchSubmit: {
32
33
  type: Function,
33
34
  default: (searchParams) => searchParams
@@ -82,14 +83,15 @@ var FormRender = /* @__PURE__ */ vue.defineComponent({
82
83
  (_e = (_d = cardProps.value) == null ? void 0 : _d.onTabChange) == null ? void 0 : _e.call(_d, key);
83
84
  };
84
85
  return () => {
85
- var _a2, _b2, _c2;
86
+ var _a2, _b2, _c2, _d;
86
87
  const searchDom = vue.createVNode(index.ProQueryFilter, vue.mergeProps({
87
88
  "class": `${props.prefixCls}-form`
88
89
  }, omit.omit(props.search || {}, ["cardProps", "tabName"]), {
89
90
  "items": props.items,
90
91
  "loading": props.loading,
91
92
  "style": {
92
- marginBlockEnd: ((_a2 = props.search) == null ? void 0 : _a2.cardProps) !== false ? 0 : "40px"
93
+ marginBlockEnd: ((_a2 = props.search) == null ? void 0 : _a2.cardProps) !== false && props.tableShowCard ? 0 : "30px",
94
+ ...(_b2 = props.search) == null ? void 0 : _b2.style
93
95
  },
94
96
  "onReset": props.onReset,
95
97
  "onFinish": (values) => {
@@ -106,7 +108,7 @@ var FormRender = /* @__PURE__ */ vue.defineComponent({
106
108
  submit(values, true);
107
109
  }
108
110
  }), null);
109
- if (((_b2 = props.search) == null ? void 0 : _b2.cardProps) !== false) {
111
+ if (((_c2 = props.search) == null ? void 0 : _c2.cardProps) !== false && props.tableShowCard) {
110
112
  return vue.createVNode(antDesignVue.Card, vue.mergeProps({
111
113
  "class": `${props.prefixCls}-search`,
112
114
  "activeTabKey": activeTabKey.value,
@@ -114,7 +116,7 @@ var FormRender = /* @__PURE__ */ vue.defineComponent({
114
116
  "style": {
115
117
  marginBlockEnd: "16px"
116
118
  }
117
- }, omit.omit((_c2 = cardProps.value) != null ? _c2 : {}, ["onTabChange", "activeTabKey"]), {
119
+ }, omit.omit((_d = cardProps.value) != null ? _d : {}, ["onTabChange", "activeTabKey"]), {
118
120
  "onTabChange": onTabChange
119
121
  }), _isSlot(searchDom) ? searchDom : {
120
122
  default: () => [searchDom]
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sources":["../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-09-14 22:12:43\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, SearchConfig } from '../interface'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup: (props) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, ['cardProps', 'tabName'])}\n items={props.items}\n loading={props.loading}\n style={{ marginBlockEnd: props.search?.cardProps !== false ? 0 : '40px' }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n onInit={(values) => {\n submit(values, true)\n }}\n />\n )\n if (props.search?.cardProps !== false) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","prefixCls","String","items","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","beforeSearchSubmit","Function","searchParams","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","setup","activeTabKey","ref","cardProps","computed","_a","_b","submit","values","firstLoad","_c","tabParams","value","tabList","length","tabName","key","submitParams","omitUndefined","onTabChange","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","submitter","onValuesChange","Card","isBordered"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","sources":["../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-09-19 15:13:44\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, SearchConfig } from '../interface'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n tableShowCard: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup: (props) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, ['cardProps', 'tabName'])}\n items={props.items}\n loading={props.loading}\n style={{\n marginBlockEnd: props.search?.cardProps !== false && props.tableShowCard ? 0 : '30px',\n ...props.search?.style,\n }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n onInit={(values) => {\n submit(values, true)\n }}\n />\n )\n if (props.search?.cardProps !== false && props.tableShowCard) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","prefixCls","String","items","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","tableShowCard","beforeSearchSubmit","Function","searchParams","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","setup","activeTabKey","ref","cardProps","computed","_a","_b","submit","values","firstLoad","_c","tabParams","value","tabList","length","tabName","key","submitParams","omitUndefined","onTabChange","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","style","submitter","onValuesChange","Card","isBordered"],"mappings":"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"}
@@ -364,6 +364,7 @@ var Table = /* @__PURE__ */ vue.defineComponent({
364
364
  "items": formItems.value,
365
365
  "cardBordered": props.cardBordered,
366
366
  "search": props.search,
367
+ "tableShowCard": props.cardProps !== false,
367
368
  "loading": formSubmitLoading.value,
368
369
  "beforeSearchSubmit": props.beforeSearchSubmit,
369
370
  "manual": props.manual,