pro-design-vue 0.0.1-beta.1 → 0.0.1-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -1
- package/dist/index.full.js +8 -19
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +6 -6
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +8 -19
- package/es/components/drawer/src/drawer.vue2.mjs +0 -1
- package/es/components/drawer/src/drawer.vue2.mjs.map +1 -1
- package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
- package/es/components/page/src/page.vue2.mjs +6 -12
- package/es/components/page/src/page.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue2.mjs +0 -1
- package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
- package/es/components/table/src/hooks/useCal.mjs +0 -3
- package/es/components/table/src/hooks/useCal.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/drawer/src/drawer.vue2.js +0 -1
- package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
- package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
- package/lib/components/page/src/page.vue2.js +6 -12
- package/lib/components/page/src/page.vue2.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue2.js +0 -1
- package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
- package/lib/components/table/src/hooks/useCal.js +0 -3
- package/lib/components/table/src/hooks/useCal.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"page.vue2.js","sources":["../../../../../../packages/components/page/src/page.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { StyleValue } from 'vue'\nimport type { TabsProps } from 'ant-design-vue'\nimport type { PageProps } from './types'\n\nimport { computed, nextTick, onMounted, ref, useSlots, useTemplateRef } from 'vue'\nimport { Tabs, TabPane } from 'ant-design-vue'\nimport { CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT } from '@pro-design-vue/constants'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { omit } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '../../config-provider'\n\ndefineOptions({\n name: 'ProPage',\n})\nconst {\n autoContentHeight = false,\n heightOffset = 0,\n headerClass = '',\n contentClass = '',\n footerClass = '',\n tabList = [],\n contentStyle,\n tabProps,\n contentPadding = 16,\n} = defineProps<PageProps>()\n\nconst slots = useSlots()\nconst prefixCls = usePrefixCls('page')\nconst headerHeight = ref(0)\nconst footerHeight = ref(0)\nconst tabsHeight = ref(0)\nconst shouldAutoHeight = ref(false)\n\nconst { contentOffsetTop } = useProConfigInject()\nconst tabActiveKey = defineModel<TabsProps['activeKey']>('activeKey')\nconst pageRef = useTemplateRef<HTMLDivElement>('pageRef')\nconst headerRef = useTemplateRef<HTMLDivElement>('headerRef')\nconst footerRef = useTemplateRef<HTMLDivElement>('footerRef')\nconst tabsRef = useTemplateRef<HTMLDivElement>('tabsRef')\nconst headerCls = computed(() => ({\n [`${prefixCls}-header`]: true,\n [headerClass]: true,\n}))\n\nconst contentCls = computed(() => ({\n [`${prefixCls}-content`]: true,\n [contentClass]: true,\n}))\n\nconst footerCls = computed(() => ({\n [`${prefixCls}-footer`]: true,\n [footerClass]: true,\n}))\n\nconst offset = computed(() => {\n if (autoContentHeight) {\n return {\n top: -contentPadding,\n bottom: -contentPadding,\n }\n }\n return {\n top: contentOffsetTop?.value || 0,\n bottom: 0,\n }\n})\n\nconst contentStyles = computed<StyleValue>(() => {\n if (autoContentHeight) {\n return {\n height: `calc(var(${CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT}) - ${headerHeight.value}px - ${tabsHeight.value}px - ${typeof heightOffset === 'number' ? `${heightOffset}px` : heightOffset})`,\n overflowY: shouldAutoHeight.value ? 'auto' : 'unset',\n padding: `${contentPadding || 0}px`,\n ...contentStyle,\n }\n }\n return {\n padding: `${contentPadding || 0}px`,\n ...contentStyle,\n }\n})\n\nconst mergeTabsProps = computed(() => omit(tabProps ?? {}, ['activeKey', 'onChange']))\n\nasync function calcContentHeight() {\n if (!autoContentHeight) {\n return\n }\n await nextTick()\n headerHeight.value = headerRef.value?.offsetHeight || 0\n footerHeight.value = footerRef.value?.offsetHeight || 0\n tabsHeight.value = tabsRef.value?.offsetHeight || 0\n\n setTimeout(() => {\n shouldAutoHeight.value = true\n }, 30)\n}\n\nconst tabComp = computed(() => {\n if (tabList?.length) {\n const key = tabActiveKey.value ?? tabList[0]!.key!\n return slots[key]\n }\n return null\n})\n\nonMounted(() => {\n calcContentHeight()\n})\n</script>\n\n<template>\n <div ref=\"pageRef\" :class=\"[prefixCls, tabList?.length ? `is-tabs` : '']\">\n <div\n v-if=\"\n $slots.header || description || $slots.description || title || $slots.title || $slots.extra\n \"\n ref=\"headerRef\"\n :class=\"headerCls\"\n >\n <slot name=\"header\">\n <div :class=\"`${prefixCls}-header-wrap`\">\n <slot name=\"title\">\n <div v-if=\"title\" :class=\"`${prefixCls}-title`\">{{ title }}</div>\n </slot>\n\n <slot name=\"description\">\n <p v-if=\"description\" :class=\"`${prefixCls}-description`\">\n {{ description }}\n </p>\n </slot>\n </div>\n\n <div v-if=\"$slots.extra\">\n <slot name=\"extra\"></slot>\n </div>\n </slot>\n </div>\n <div v-if=\"tabList?.length\" ref=\"tabsRef\" :class=\"`${prefixCls}-tabs`\">\n <Tabs v-model:activeKey=\"tabActiveKey\" v-bind=\"mergeTabsProps\">\n <template v-for=\"tab in tabList\" :key=\"tab.key\">\n <TabPane v-bind=\"tab\" />\n </template>\n </Tabs>\n </div>\n\n <div :class=\"contentCls\" :style=\"contentStyles\">\n <slot :active-key=\"tabActiveKey ?? tabList[0]?.key\" :offset=\"offset\"></slot>\n <slot\n name=\"tabs\"\n v-if=\"tabList?.length\"\n :active-key=\"tabActiveKey ?? tabList[0]?.key\"\n :offset=\"offset\"\n >\n <component :is=\"tabComp\" />\n </slot>\n </div>\n\n <div v-if=\"$slots.footer\" ref=\"footerRef\" :class=\"footerCls\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n</template>\n"],"names":["useSlots","usePrefixCls","ref","useProConfigInject","_useModel","useTemplateRef","computed","CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT","omit","nextTick","onMounted","_createElementBlock","_normalizeClass","_unref","tabList","$slots","description","title","_renderSlot","_createElementVNode","_createVNode","_mergeProps","_Fragment","_renderList","_openBlock","_createBlock","_resolveDynamicComponent"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"page.vue2.js","sources":["../../../../../../packages/components/page/src/page.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { StyleValue } from 'vue'\nimport type { TabsProps } from 'ant-design-vue'\nimport type { PageProps } from './types'\n\nimport { computed, nextTick, onMounted, ref, useSlots, useTemplateRef } from 'vue'\nimport { Tabs, TabPane } from 'ant-design-vue'\nimport { CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT } from '@pro-design-vue/constants'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { omit } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '../../config-provider'\n\ndefineOptions({\n name: 'ProPage',\n})\nconst {\n autoContentHeight = false,\n heightOffset = 0,\n headerClass = '',\n contentClass = '',\n footerClass = '',\n tabList = [],\n contentStyle,\n tabProps,\n contentPadding = 16,\n} = defineProps<PageProps>()\n\nconst slots = useSlots()\nconst prefixCls = usePrefixCls('page')\nconst headerHeight = ref(0)\nconst footerHeight = ref(0)\nconst tabsHeight = ref(0)\nconst shouldAutoHeight = ref(false)\n\nconst { contentOffsetTop } = useProConfigInject()\nconst tabActiveKey = defineModel<TabsProps['activeKey']>('activeKey')\nconst headerRef = useTemplateRef<HTMLDivElement>('header')\nconst footerRef = useTemplateRef<HTMLDivElement>('footer')\nconst tabsRef = useTemplateRef<HTMLDivElement>('tabs')\nconst headerCls = computed(() => ({\n [`${prefixCls}-header`]: true,\n [headerClass]: true,\n}))\n\nconst contentCls = computed(() => ({\n [`${prefixCls}-content`]: true,\n [contentClass]: true,\n}))\n\nconst footerCls = computed(() => ({\n [`${prefixCls}-footer`]: true,\n [footerClass]: true,\n}))\n\nconst offset = computed(() => {\n if (autoContentHeight) {\n return {\n top: -contentPadding,\n bottom: -contentPadding,\n }\n }\n return {\n top: contentOffsetTop?.value || 0,\n bottom: 0,\n }\n})\n\nconst contentStyles = computed<StyleValue>(() => {\n if (autoContentHeight) {\n return {\n height: `calc(var(${CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT}) - ${headerHeight.value}px - ${tabsHeight.value}px - ${typeof heightOffset === 'number' ? `${heightOffset}px` : heightOffset})`,\n overflowY: shouldAutoHeight.value ? 'auto' : 'unset',\n padding: `${contentPadding || 0}px`,\n ...contentStyle,\n }\n }\n return {\n padding: `${contentPadding || 0}px`,\n ...contentStyle,\n }\n})\n\nconst mergeTabsProps = computed(() => omit(tabProps ?? {}, ['activeKey', 'onChange']))\n\nasync function calcContentHeight() {\n if (!autoContentHeight) {\n return\n }\n await nextTick()\n headerHeight.value = headerRef.value?.offsetHeight || 0\n footerHeight.value = footerRef.value?.offsetHeight || 0\n tabsHeight.value = tabsRef.value?.offsetHeight || 0\n\n setTimeout(() => {\n shouldAutoHeight.value = true\n }, 30)\n}\n\nconst tabComp = computed(() => {\n if (tabList?.length) {\n const key = tabActiveKey.value ?? tabList[0]!.key!\n return slots[key]\n }\n return null\n})\n\nonMounted(() => {\n calcContentHeight()\n})\n</script>\n\n<template>\n <div :class=\"[prefixCls, tabList?.length ? `is-tabs` : '']\">\n <div\n v-if=\"\n $slots.header || description || $slots.description || title || $slots.title || $slots.extra\n \"\n ref=\"header\"\n :class=\"headerCls\"\n >\n <slot name=\"header\">\n <div :class=\"`${prefixCls}-header-wrap`\">\n <slot name=\"title\">\n <div v-if=\"title\" :class=\"`${prefixCls}-title`\">{{ title }}</div>\n </slot>\n\n <slot name=\"description\">\n <p v-if=\"description\" :class=\"`${prefixCls}-description`\">\n {{ description }}\n </p>\n </slot>\n </div>\n\n <div v-if=\"$slots.extra\">\n <slot name=\"extra\"></slot>\n </div>\n </slot>\n </div>\n <div v-if=\"tabList?.length\" ref=\"tabs\" :class=\"`${prefixCls}-tabs`\">\n <Tabs v-model:activeKey=\"tabActiveKey\" v-bind=\"mergeTabsProps\">\n <template v-for=\"tab in tabList\" :key=\"tab.key\">\n <TabPane v-bind=\"tab\" />\n </template>\n </Tabs>\n </div>\n\n <div :class=\"contentCls\" :style=\"contentStyles\">\n <slot :active-key=\"tabActiveKey ?? tabList[0]?.key\" :offset=\"offset\"></slot>\n <slot\n name=\"tabs\"\n v-if=\"tabList?.length\"\n :active-key=\"tabActiveKey ?? tabList[0]?.key\"\n :offset=\"offset\"\n >\n <component :is=\"tabComp\" />\n </slot>\n </div>\n\n <div v-if=\"$slots.footer\" ref=\"footer\" :class=\"footerCls\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n</template>\n"],"names":["useSlots","usePrefixCls","ref","useProConfigInject","_useModel","useTemplateRef","computed","CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT","omit","nextTick","onMounted","_createElementBlock","_normalizeClass","_unref","tabList","$slots","description","title","_renderSlot","_createElementVNode","_createVNode","_mergeProps","_Fragment","_renderList","_openBlock","_createBlock","_resolveDynamicComponent"],"mappings":"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"}
|
@@ -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-01 11:01:06\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 console.log(viewportHeight.value)\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-01 11:01:06\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":";;;;;;;;qBAojBO,KAAA,EAAO;AAAA,EAAA,KAAA,EAAA,MAAA;AAAA;;;AAKP,CAAA,EAAA;;;;;;;;;;;;;MAtCLA,eAAA,CAsBa,uBAAA,IAAA,EAAA;AAAA,QAAA,OAAA,EAAAC,YArBX,MAoBM;AAAA,UAnBE,KAAA,OAAA,IAAW,IAAA,kBAAY,KAAA,IAAAC,eAAA,EAD/BC,sBAAA;AAAA,YAoBM,KAAA;AAAA,YAAA;AAAA,cAlBJ,GAAA,EAAI,SAAA;AAAA,cACH,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,iBAAiB,CAAA;AAAA,cACxB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,eAAe;AAAA,aAAA;AAAA;cAEvBC,sBAAA;AAAA,gBAaM,KAAA;AAAA,gBAAA;AAAA,kBAbA,KAAA,EAAKF,kBAAA,CAAE,IAAA,CAAA,oBAAoB,CAAA;AAAA,kBAAG,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,oBAAoB;AAAA,iBAAA;AAAA;kBAC7DC,sBAAA;AAAA,oBAQM,KAAA;AAAA,oBAAA;AAAA,sBAPJ,GAAA,EAAI,oBAAA;AAAA,sBACH,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,kBAAA,CAAA,CAAA;AAAA,sBACnB,KAAA,EAAO,EAAA,MAAA,EAAA,mBAAA;AAAA,qBAAA;AAAA;sBAERG,kBAAA,EAAAL,eAAA,EAAAC,sBAAA;AAAA,wBAEM,KAAA;AAAA,wBAAA;AAAA,0BAFgB,cAAA,EAAY,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,YAAA,IAAA,IAAA,CAAA,YAAA,CAAA,GAAA,IAAA,CAAA;AAAA,yBAAA;AAAA;0BAClCH,eAAA,CAA4C,sBAAA,EAAA,EAA9B,KAAA,EAAO,IAAA,CAAA,OAAA,EAAO,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA;AAAA,yBAAA;AAAA;;;oDADhB,QAAM;AAAA,uBAAA;AAAA;;;;kBAItBM,sBAAA;AAAA,oBAA6E,KAAA;AAAA,oBAAA;AAAA,sBAAvE,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA,CAAA;AAAA,sBAAsB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,eAAe;AAAA,qBAAA;AAAA;;;;kBACrEC,sBAAA;AAAA,oBAA+E,KAAA;AAAA,oBAAA;AAAA,sBAAzE,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,kBAAA,CAAA,CAAA;AAAA,sBAAuB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,gBAAgB;AAAA,qBAAA;AAAA;;;;kBACvEC,sBAAA;AAAA,oBAA6E,KAAA;AAAA,oBAAA;AAAA,sBAAvE,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,kBAAA,CAAA,CAAA;AAAA,sBAAuB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,cAAc;AAAA,qBAAA;AAAA;;;;;;;;;;;;;;;;MAI3EE,kBAAA,EAAAL,eAAA,EAAAC,sBAAA;AAAA,QA+HM,KAAA;AAAA,QAAA;AAAA,UA7HJ,GAAA,EAAI,MAAA;AAAA,UACJ,GAAA,EAAI,SAAA;AAAA,UACH,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,SAAS,CAAA;AAAA,UAChB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,SAAS,CAAA;AAAA,UAChB,WAAA,EAAS,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,eAAA,IAAA,IAAA,CAAA,eAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,UACX,SAAA,EAAO,MAAA,CAAA,EAAA,CAAA,KAAA,OAAA,EAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,aAAA,IAAA,IAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA;AAAA,SAAA;AAAA;UAEVC,sBAAA,CAoHM,OApHN,UAAA,EAoHM;AAAA,YA5GJA,sBAAA;AAAA,cA8FM,KAAA;AAAA,cAAA;AAAA,gBA7FJ,GAAA,EAAI,iBAAA;AAAA,gBACH,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,wBAAA,CAAA,CAAA;AAAA,gBACnB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,iBAAiB;AAAA,eAAA;AAAA;gBAEzBC,sBAAA;AAAA,kBAmFM,KAAA;AAAA,kBAAA;AAAA,oBAnFA,KAAA,EAAKD,kBAAA,CAAE,IAAA,CAAA,eAAe;AAAA,mBAAA;AAAA;oBAC1BC,sBAAA;AAAA,sBAiFM,KAAA;AAAA,sBAAA;AAAA,wBAhFJ,GAAA,EAAI,kBAAA;AAAA,wBACH,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,eAAA,CAAA,CAAA;AAAA,wBACnB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,kBAAkB;AAAA,uBAAA;AAAA;wBAE1BC,sBAAA;AAAA,0BAmCM,KAAA;AAAA,0BAAA;AAAA,4BAnCD,GAAA,EAAI,oBAAA;AAAA,4BAAqB,GAAA,EAAI,MAAA;AAAA,4BAAQ,KAAA,EAAKF,kBAAA,CAAE,IAAA,CAAA,YAAY,CAAA;AAAA,4BAAG,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,SAAS;AAAA,2BAAA;AAAA;4BAEtE,KAAA,WAAA,CAAY,MAAA,qBADpBG,gBAME,mBAAA,EAAA;AAAA,8BAAA,GAAA,EAAA,CAAA;AAAA,8BAJC,sBAAoB,IAAA,CAAA,eAAA;AAAA,8BACrB,IAAA,EAAK,MAAA;AAAA,8BACJ,cAAY,IAAA,CAAA,SAAA;AAAA,8BACZ,aAAW,IAAA,CAAA;AAAA,6BAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,EAAA,cAAA,WAAA,CAAA,CAAA,KAAAN,aAAA,EAAA,EAEdC,sBAAA;AAAA,8BAA2D,KAAA;AAAA,8BAAA;AAAA,gCAAA,GAAA,EAAA,CAAA;AAAA,gCAA9C,KAAA,EAAKC,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA;AAAA,+BAAA;AAAA;;;;4BAExB,KAAA,OAAA,IAAO,CAAK,IAAA,CAAA,YAAA,IAAAF,eAAA,EADpBC,sBAAA;AAAA,8BAeM,KAAA;AAAA,8BAAA;AAAA,gCAbJ,GAAA,EAAI,SAAA;AAAA,gCACH,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,YAAY,CAAA;AAAA,gCACnB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,YAAY;AAAA,+BAAA;AAAA;gCAEpBC,sBAAA;AAAA,kCAQM,KAAA;AAAA,kCAAA;AAAA,oCARA,KAAA,EAAKF,kBAAA,CAAE,IAAA,CAAA,oBAAoB,CAAA;AAAA,oCAAG,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,oBAAoB;AAAA,mCAAA;AAAA;oCAC7DC,sBAAA;AAAA,sCAIM,KAAA;AAAA,sCAAA;AAAA,wCAJD,GAAA,EAAI,oBAAA;AAAA,wCAAsB,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,kBAAA,CAAA;AAAA,uCAAA;AAAA;wCAChDG,kBAAA,EAAAL,eAAA,EAAAC,sBAAA;AAAA,0CAEM,KAAA;AAAA,0CAAA;AAAA,4CAFgB,cAAA,EAAY,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,YAAA,IAAA,IAAA,CAAA,YAAA,CAAA,GAAA,IAAA,CAAA;AAAA,2CAAA;AAAA;4CAClCH,eAAA,CAA4C,sBAAA,EAAA,EAA9B,KAAA,EAAO,IAAA,CAAA,OAAA,EAAO,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA;AAAA,2CAAA;AAAA;;;sEADhB,QAAM;AAAA,yCAAA;AAAA;;;;oCAItBM,sBAAA;AAAA,sCAA6E,KAAA;AAAA,sCAAA;AAAA,wCAAvE,KAAA,EAAKD,kBAAA,CAAE,IAAA,CAAA,eAAe,CAAA;AAAA,wCAAG,KAAA,EAAKD,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA;AAAA,uCAAA;AAAA;;;;oCAClDE,sBAAA;AAAA,sCAA+E,KAAA;AAAA,sCAAA;AAAA,wCAAzE,KAAA,EAAKD,kBAAA,CAAE,IAAA,CAAA,gBAAgB,CAAA;AAAA,wCAAG,KAAA,EAAKD,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,kBAAA,CAAA;AAAA,uCAAA;AAAA;;;;;;;;;;;;4BAIvDE,sBAAA;AAAA,8BAQM,KAAA;AAAA,8BAAA;AAAA,gCARD,GAAA,EAAI,YAAA;AAAA,gCAAc,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,2BAAA,CAAA;AAAA,+BAAA;AAAA;gCACxCG,kBAAA,EAAAL,eAAA,EAAAC,sBAAA;AAAA,kCAMM,KAAA;AAAA,kCAAA;AAAA,oCAJH,KAAA,EAAKC,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iCAAA,CAAA,CAAA;AAAA,oCACnB,QAAA,EAAM,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,4BAAA,IAAA,IAAA,CAAA,4BAAA,CAAA,GAAA,IAAA,CAAA;AAAA,mCAAA;AAAA;oCAEQ,KAAA,eAAA,KAAe,MAAA,IAAAF,aAAA,EAAA,EAAhCM,gBAA4EC,2BAAA,CAA1B,IAAA,CAAA,YAAY,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,IAAAC,sBAAA,CAAA,QAAA,IAAA;AAAA;;;;;;;;;;;;;;wBAIpEJ,sBAAA;AAAA,0BAmBM,KAAA;AAAA,0BAAA;AAAA,4BAnBD,GAAA,EAAI,QAAA;AAAA,4BAAU,KAAA,EAAKF,kBAAA,CAAE,IAAA,CAAA,WAAW,CAAA;AAAA,4BAAG,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,WAAW;AAAA,2BAAA;AAAA;4BACxDC,sBAAA;AAAA,8BAiBM,KAAA;AAAA,8BAAA;AAAA,gCAjBD,GAAA,EAAI,sBAAA;AAAA,gCAAwB,KAAA,EAAKF,kBAAA,CAAE,IAAA,CAAA,cAAc,CAAA;AAAA,gCAAG,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,cAAc;AAAA,+BAAA;AAAA;gCAEpE,KAAA,aAAA,CAAc,MAAA,qBADtBG,gBAME,mBAAA,EAAA;AAAA,kCAAA,GAAA,EAAA,CAAA;AAAA,kCAJC,sBAAoB,IAAA,CAAA,eAAA;AAAA,kCACrB,IAAA,EAAK,QAAA;AAAA,kCACJ,cAAY,IAAA,CAAA,SAAA;AAAA,kCACZ,aAAW,IAAA,CAAA;AAAA,iCAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,EAAA,YAAA,EAAA,WAAA,CAAA,CAAA,IAAAE,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,gCAEdJ,sBAAA;AAAA,kCAQM,KAAA;AAAA,kCAAA;AAAA,oCARD,GAAA,EAAI,cAAA;AAAA,oCAAgB,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,2BAAA,CAAA;AAAA,mCAAA;AAAA;oCAC1CG,kBAAA,EAAAL,eAAA,EAAAC,sBAAA;AAAA,sCAMM,KAAA;AAAA,sCAAA;AAAA,wCAJH,KAAA,EAAKC,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iCAAA,CAAA,CAAA;AAAA,wCACnB,QAAA,EAAM,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,4BAAA,IAAA,IAAA,CAAA,4BAAA,CAAA,GAAA,IAAA,CAAA;AAAA,uCAAA;AAAA;wCAEQ,KAAA,eAAA,KAAe,QAAA,IAAAF,aAAA,EAAA,EAAhCM,gBAA8EC,2BAAA,CAA1B,IAAA,CAAA,YAAY,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,IAAAC,sBAAA,CAAA,QAAA,IAAA;AAAA;;;;;;;;;;;;;;;;;;wBAKxEJ,sBAAA;AAAA,0BAkBM,KAAA;AAAA,0BAAA;AAAA,4BAlBD,GAAA,EAAI,OAAA;AAAA,4BAAQ,GAAA,EAAI,qBAAA;AAAA,4BAAuB,KAAA,EAAKF,kBAAA,CAAE,IAAA,CAAA,aAAa,CAAA;AAAA,4BAAG,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,UAAU;AAAA,2BAAA;AAAA;4BAE1E,KAAA,YAAA,CAAa,MAAA,qBADrBG,gBAME,mBAAA,EAAA;AAAA,8BAAA,GAAA,EAAA,CAAA;AAAA,8BAJC,sBAAoB,IAAA,CAAA,eAAA;AAAA,8BACrB,IAAA,EAAK,OAAA;AAAA,8BACJ,cAAY,IAAA,CAAA,SAAA;AAAA,8BACZ,aAAW,IAAA,CAAA;AAAA,6BAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,EAAA,cAAA,WAAA,CAAA,CAAA,KAAAN,aAAA,EAAA,EAEdC,sBAAA;AAAA,8BAA4D,KAAA;AAAA,8BAAA;AAAA,gCAAA,GAAA,EAAA,CAAA;AAAA,gCAA/C,KAAA,EAAKC,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,kBAAA,CAAA;AAAA,+BAAA;AAAA;;;;4BAChCE,sBAAA;AAAA,8BAQM,KAAA;AAAA,8BAAA;AAAA,gCARD,GAAA,EAAI,aAAA;AAAA,gCAAe,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,2BAAA,CAAA;AAAA,+BAAA;AAAA;gCACzCG,kBAAA,EAAAL,eAAA,EAAAC,sBAAA;AAAA,kCAMM,KAAA;AAAA,kCAAA;AAAA,oCAJH,KAAA,EAAKC,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iCAAA,CAAA,CAAA;AAAA,oCACnB,QAAA,EAAM,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,4BAAA,IAAA,IAAA,CAAA,4BAAA,CAAA,GAAA,IAAA,CAAA;AAAA,mCAAA;AAAA;oCAEQ,KAAA,eAAA,KAAe,OAAA,IAAAF,aAAA,EAAA,EAAhCM,gBAA6EC,2BAAA,CAA1B,IAAA,CAAA,YAAY,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,IAAAC,sBAAA,CAAA,QAAA,IAAA;AAAA;;;;sDAJrD,IAAI;AAAA,iCAAA;AAAA;;;;;;;;wBAQpBJ,sBAAA;AAAA,0BAAkF,MAAA;AAAA,0BAAA;AAAA,4BAA5E,GAAA,EAAI,uBAAA;AAAA,4BAAyB,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA;AAAA,2BAAA;AAAA;;;;;;;;;;;;gBAG/C,IAAA,CAAA,OAAA,IAAAF,aAAA,EAAA,EAAXC,sBAAA;AAAA,kBAIM,KAAA;AAAA,kBAAA;AAAA,oBAJc,GAAA,EAAI,OAAA;AAAA,oBAAS,KAAA,EAAKC,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,gBAAA,CAAA;AAAA,mBAAA;AAAA;oBAClDG,kBAAA,EAAAL,eAAA,EAAAC,sBAAA;AAAA,sBAEM,KAAA;AAAA,sBAAA;AAAA,wBAFe,KAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA;AAAA,wBAAsB,cAAA,EAAY,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,iBAAA,IAAA,IAAA,CAAA,iBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,uBAAA;AAAA;wBACvDH,gBAA6E,sBAAA,EAAA,EAA/D,KAAA,EAAO,IAAA,CAAA,WAAS,EAAA;AAAA,0BAAA,OAAA,EAAAC,YAAG,MAA6B;AAAA,4BAA7BD,eAAA,CAA6B,gBAAA,EAAA,EAArB,KAAA,EAAO,IAAA,CAAA,UAAA,EAAU,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA;AAAA,2BAAA,CAAA;AAAA;;;;;;;kDAD9C,QAAM;AAAA,qBAAA;AAAA;;;;;;;;YAKxBO,kBAAA,CAAAD,sBAAA;AAAA,cAAwE,KAAA;AAAA,cAAA;AAAA,gBAAzD,KAAA,EAAKD,kBAAA,CAAE,IAAA,CAAA,eAAe,CAAA;AAAA,gBAAG,QAAA,EAAM,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,gBAAA,IAAA,IAAA,CAAA,gBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,eAAA;AAAA;;;;;;YAChDE,kBAAA,CAAAD,sBAAA;AAAA,cAKO,KAAA;AAAA,cAAA;AAAA,gBAHJ,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,oBAAA,CAAA,CAAA;AAAA,gBACnB,KAAA,EAAKC,kBAAA,eAAgB,IAAA,CAAA,cAAc,CAAA,EAAA,CAAA,CAAA;AAAA,gBACnC,aAAA,EAAW,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,sBAAA,IAAA,IAAA,CAAA,sBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,eAAA;AAAA;;;;0CAHL,OAAK;AAAA,aAAA,CAAA;AAAA,YAKhBE,kBAAA,CAAAD,sBAAA;AAAA,cAKO,KAAA;AAAA,cAAA;AAAA,gBAHJ,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,mBAAA,CAAA,CAAA;AAAA,gBACnB,KAAA,EAAKC,kBAAA,eAAgB,IAAA,CAAA,OAAO,CAAA,EAAA,CAAA,CAAA;AAAA,gBAC5B,aAAA,EAAW,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,qBAAA,IAAA,IAAA,CAAA,qBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,eAAA;AAAA;;;;0CAHL,OAAK;AAAA,aAAA;AAAA;UAMlBL,gBAA8C,kBAAA,EAAA;AAAA,YAApC,KAAA,EAAKK,kBAAA,YAAa,IAAA,CAAA,UAAU,CAAA,EAAA,CAAA;AAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA;AAAA;;;;oCA7H7B,QAAM;AAAA,OAAA,CAAA;AAAA,MA+HjBL,eAAA,CAsBa,uBAAA,IAAA,EAAA;AAAA,QAAA,OAAA,EAAAC,YArBX,MAoBM;AAAA,UAnBE,KAAA,OAAA,IAAW,IAAA,kBAAY,QAAA,IAAAC,eAAA,EAD/BC,sBAAA;AAAA,YAoBM,KAAA;AAAA,YAAA;AAAA,cAlBJ,GAAA,EAAI,SAAA;AAAA,cACH,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,iBAAiB,CAAA;AAAA,cACxB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,YAAY;AAAA,aAAA;AAAA;cAEpBC,sBAAA;AAAA,gBAaM,KAAA;AAAA,gBAAA;AAAA,kBAbA,KAAA,EAAKF,kBAAA,CAAE,IAAA,CAAA,oBAAoB,CAAA;AAAA,kBAAG,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,oBAAoB;AAAA,iBAAA;AAAA;kBAC7DC,sBAAA;AAAA,oBAQM,KAAA;AAAA,oBAAA;AAAA,sBAPJ,GAAA,EAAI,oBAAA;AAAA,sBACH,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,kBAAA,CAAA,CAAA;AAAA,sBACnB,KAAA,EAAO,EAAA,MAAA,EAAA,mBAAA;AAAA,qBAAA;AAAA;sBAERG,kBAAA,EAAAL,eAAA,EAAAC,sBAAA;AAAA,wBAEM,KAAA;AAAA,wBAAA;AAAA,0BAFuB,cAAA,EAAY,MAAA,CAAA,EAAA,CAAA,KAAA,OAAA,EAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,YAAA,IAAA,IAAA,CAAA,YAAA,CAAA,GAAA,IAAA,CAAA;AAAA,yBAAA;AAAA;0BACzCH,eAAA,CAA4C,sBAAA,EAAA,EAA9B,KAAA,EAAO,IAAA,CAAA,OAAA,EAAO,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA;AAAA,yBAAA;AAAA;;;wBADR,CAAA,iBAAA,EAAA,IAAA,EAAR,QAAM;AAAA,uBAAA;AAAA;;;;kBAItBM,sBAAA;AAAA,oBAA6E,KAAA;AAAA,oBAAA;AAAA,sBAAvE,KAAA,EAAKD,kBAAA,CAAE,IAAA,CAAA,eAAe,CAAA;AAAA,sBAAG,KAAA,EAAKD,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA;AAAA,qBAAA;AAAA;;;;kBAClDE,sBAAA;AAAA,oBAA+E,KAAA;AAAA,oBAAA;AAAA,sBAAzE,KAAA,EAAKD,kBAAA,CAAE,IAAA,CAAA,gBAAgB,CAAA;AAAA,sBAAG,KAAA,EAAKD,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,kBAAA,CAAA;AAAA,qBAAA;AAAA;;;;kBACnDE,sBAAA;AAAA,oBAA6E,KAAA;AAAA,oBAAA;AAAA,sBAAvE,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,kBAAA,CAAA,CAAA;AAAA,sBAAuB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,cAAc;AAAA,qBAAA;AAAA;;;;;;;;;;;;;;;;MAI3EL,gBAAoB,2BAAA;AAAA,KAAA;AAAA;;;;;;;;"}
|
@@ -284,7 +284,6 @@ var _sfc_main = vue.defineComponent({
|
|
284
284
|
const viewportHeight = vue.computed(
|
285
285
|
() => tableContext.viewportHeight.value + (props.summaryFixed ? emptyHeight.value : summaryHeight.value + emptyHeight.value)
|
286
286
|
);
|
287
|
-
console.log(viewportHeight.value);
|
288
287
|
const containerStyle = vue.computed(() => ({
|
289
288
|
width: `${tableContext.centerWidth.value}px`,
|
290
289
|
height: `${viewportHeight.value}px`
|
@@ -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-01 11:01:06\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 console.log(viewportHeight.value)\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":"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"}
|
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-01 11:01:06\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":"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"}
|
@@ -120,20 +120,17 @@ function useCal(props, flattenData, scrollHeight, scrollTop, virtual, keyEntitie
|
|
120
120
|
const mrhs = mergedRowHeights.value;
|
121
121
|
const data = flattenData.value;
|
122
122
|
const len = data.length;
|
123
|
-
console.log("\u{1F680} ~ watch ~ data:", data);
|
124
123
|
const newMergedRowHeights = {};
|
125
124
|
let newViewportHeight = 0;
|
126
125
|
const newRowPosition = [];
|
127
126
|
for (let i = 0; i < len; i++) {
|
128
127
|
const { rowKey } = data[i];
|
129
128
|
const rowHeight = rhs[rowKey] !== void 0 ? rhs[rowKey] : crhs[rowKey] === void 0 ? mrhs[rowKey] : crhs[rowKey];
|
130
|
-
console.log("\u{1F680} ~ watch ~ rowHeight:", rowHeight);
|
131
129
|
newMergedRowHeights[rowKey] = rowHeight;
|
132
130
|
newRowPosition.push(newViewportHeight);
|
133
131
|
newViewportHeight += rowHeight === void 0 ? defaultHeight : rowHeight;
|
134
132
|
}
|
135
133
|
mergedRowHeights.value = newMergedRowHeights;
|
136
|
-
console.log("\u{1F680} ~ watch ~ newViewportHeight:", newViewportHeight);
|
137
134
|
viewportHeight.value = newViewportHeight;
|
138
135
|
rowPosition.value = newRowPosition;
|
139
136
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCal.js","sources":["../../../../../../../packages/components/table/src/hooks/useCal.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-11-05 12:49:15\n * @LastEditors: shen\n * @LastEditTime: 2025-09-01 10:50:22\n * @Description:\n */\nimport type { FlatRecord, Key, ProTableProps } from '../components/interface'\nimport type { Ref } from 'vue'\nimport type { KeyEntities } from './useFlattenRecords'\n\nimport { ref, shallowRef, computed, watch, watchEffect, onBeforeUnmount } from 'vue'\nimport { findLastIndex, findIndex, isNumber } from 'lodash-es'\nimport { Y_BUFF } from '../utils/constant'\nimport raf from '../utils/raf'\nimport devWarning from '../utils/devWarning'\nimport binSearchStartIndex from '../utils/binSearchStartIndex'\n\nexport interface CalType {\n rowPosition: Ref<number[]>\n rowHeights: Ref<Record<Key, number>>\n mergedRowHeights: Ref<Record<Key, number>>\n viewportHeight: Ref<number>\n addHeight: (rowKey: Key, subKey: Key, colUniKey: string, height: number) => void\n addRowHeight: (rowUniKey: string, rowKey: Key, height: number) => void\n removeRowHeight: (rowUniKey: string) => void\n startIndex: Ref<number>\n endIndex: Ref<number>\n getRowHeight: (fromIndex: number, rowSpan?: number) => number\n getRowPositionByKey: (key: Key) => number | undefined\n}\nexport default function useCal(\n props: ProTableProps,\n flattenData: Ref<FlatRecord[]>,\n scrollHeight: Ref<number>,\n scrollTop: Ref<number>,\n virtual: Ref<boolean>,\n keyEntities: Ref<KeyEntities>,\n): CalType {\n const rowPosition = shallowRef<number[]>([])\n const rowHeights = shallowRef<Record<Key, number>>({})\n const cacheRowHeights: Record<Key, number> = {}\n const mergedRowHeights = shallowRef<Record<Key, number>>({})\n const viewportHeight = ref(0)\n\n const currentSizeHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const mergeRowHeight = computed(() =>\n props.size === 'small'\n ? props.rowHeight || 39\n : props.size === 'middle'\n ? props.rowHeight || 47\n : props.rowHeight || 55,\n )\n\n let x2: any\n\n const startIndex = ref(0)\n const endIndex = ref(-1)\n const maxStartIndex = ref(0)\n\n watchEffect(() => {\n const maxIndex = findLastIndex(\n rowPosition.value,\n (pos) => pos < viewportHeight.value - scrollHeight.value - Y_BUFF,\n )\n maxStartIndex.value = maxIndex < 0 ? 0 : maxIndex\n })\n\n const newScrollTop = ref(0)\n watch(\n scrollTop,\n () => {\n newScrollTop.value = scrollTop.value\n },\n { immediate: true },\n )\n\n watchEffect(() => {\n if (flattenData.value.length === rowPosition.value.length) {\n if (virtual.value) {\n if (scrollHeight.value) {\n let newStartIndex =\n binSearchStartIndex<number>(\n rowPosition.value,\n (value) => value >= newScrollTop.value - Y_BUFF,\n ) - 1\n newStartIndex = newStartIndex < 0 ? 0 : newStartIndex\n startIndex.value =\n newStartIndex > maxStartIndex.value ? maxStartIndex.value : newStartIndex\n let newEndIndex = findIndex(\n rowPosition.value,\n (value) => value >= newScrollTop.value + scrollHeight.value + Y_BUFF,\n startIndex.value,\n )\n newEndIndex = newEndIndex >= 0 ? newEndIndex : rowPosition.value.length - 1\n endIndex.value =\n newEndIndex > rowPosition.value.length - 1 ? rowPosition.value.length - 1 : newEndIndex\n } else {\n startIndex.value = 0\n endIndex.value = -1\n }\n } else {\n startIndex.value = 0\n endIndex.value = flattenData.value.length - 1\n }\n }\n })\n\n const currentRowHeights = shallowRef<Record<Key, number>>({})\n const isUpdate = ref(false)\n setTimeout(() => {\n isUpdate.value = true\n })\n\n const isRaf = ref(true)\n const rowHeightsStatus = ref(false)\n const autoRowHeightsMap = shallowRef<Record<string, { rowKey: Key; height: number }>>({})\n let rowHeightRaf: any\n\n const updateRowHeight = () => {\n raf.cancel(rowHeightRaf)\n rowHeightRaf = raf(() => {\n const rowHeights = currentRowHeights.value\n const autoRowHeights: Record<Key, number> = {}\n let isUpdateRowHeights = false\n Object.values(autoRowHeightsMap.value).forEach(({ rowKey, height }) => {\n autoRowHeights[rowKey] = autoRowHeights[rowKey] || 0\n if (height > autoRowHeights[rowKey]) {\n autoRowHeights[rowKey] = height\n }\n })\n for (const [rowKey, height] of Object.entries(autoRowHeights)) {\n if (rowHeights[rowKey] !== height) {\n rowHeights[rowKey] = height\n isUpdateRowHeights = true\n }\n }\n if (isUpdateRowHeights) {\n currentRowHeights.value = rowHeights\n rowHeightsStatus.value = !rowHeightsStatus.value\n }\n })\n }\n\n let refreshRaf: any\n watch(\n [startIndex, endIndex, isUpdate],\n ([newStartIndex, newEndIndex], [oldStartIndex, oldEndIndex]) => {\n if (!isUpdate.value) {\n isRaf.value = true\n } else {\n isRaf.value = newStartIndex === oldStartIndex && newEndIndex === oldEndIndex\n }\n },\n )\n\n watch([rowHeightsStatus, rowHeights], () => {\n raf.cancel(refreshRaf)\n refreshRaf = raf(\n () => {\n const defaultHeight = currentSizeHeight.value\n const crhs = currentRowHeights.value\n const rhs = rowHeights.value\n const mrhs = mergedRowHeights.value\n const data = flattenData.value\n const len = data.length\n console.log('🚀 ~ watch ~ data:', data)\n const newMergedRowHeights = {}\n let newViewportHeight = 0\n const newRowPosition: number[] = []\n for (let i = 0; i < len; i++) {\n const { rowKey } = data[i]!\n const rowHeight =\n rhs[rowKey] !== undefined\n ? rhs[rowKey]\n : crhs[rowKey] === undefined\n ? mrhs[rowKey]\n : crhs[rowKey]\n console.log('🚀 ~ watch ~ rowHeight:', rowHeight)\n\n newMergedRowHeights[rowKey] = rowHeight\n newRowPosition.push(newViewportHeight)\n newViewportHeight += rowHeight === undefined ? defaultHeight : rowHeight\n }\n mergedRowHeights.value = newMergedRowHeights\n console.log('🚀 ~ watch ~ newViewportHeight:', newViewportHeight)\n viewportHeight.value = newViewportHeight\n rowPosition.value = newRowPosition\n },\n isRaf.value ? 0 : 1,\n )\n })\n\n onBeforeUnmount(() => {\n raf.cancel(rowHeightRaf)\n raf.cancel(refreshRaf)\n })\n\n const calculationRowHeights = (data: FlatRecord[]) => {\n const newRowHeights: Record<Key, number> = {}\n const defaultHeight = currentSizeHeight.value\n const newCacheRowHeights = {}\n const newCurrentRowHeights: Record<Key, number> = {}\n const crhs = currentRowHeights.value\n const len = data.length\n if (typeof props.rowHeight == 'function') {\n for (let i = 0; i < len; i++) {\n const { record, rowKey, isExpandRow = false } = data[i]!\n let rowHeight = props.rowHeight(record, isExpandRow, defaultHeight)\n rowHeight = isNumber(rowHeight) ? rowHeight : undefined\n newRowHeights[rowKey] = rowHeight!\n newCacheRowHeights[rowKey] = rowKey in cacheRowHeights ? cacheRowHeights[rowKey] : undefined\n newCurrentRowHeights[rowKey] = rowHeight ?? crhs[rowKey] ?? 0\n }\n } else {\n let rowHeight = props.rowHeight\n if (isNumber(rowHeight)) {\n for (let i = 0; i < len; i++) {\n const { rowKey, isExpandRow = false } = data[i]!\n isExpandRow && (rowHeight = undefined)\n newRowHeights[rowKey] = rowHeight!\n newCacheRowHeights[rowKey] =\n rowKey in cacheRowHeights ? cacheRowHeights[rowKey] : undefined\n newCurrentRowHeights[rowKey] = rowHeight ?? crhs[rowKey] ?? 0\n }\n } else {\n for (let i = 0; i < len; i++) {\n const { rowKey } = data[i]!\n newRowHeights[rowKey] = undefined as any\n newCacheRowHeights[rowKey] =\n rowKey in cacheRowHeights ? cacheRowHeights[rowKey] : undefined\n newCurrentRowHeights[rowKey] = crhs[rowKey]!\n }\n }\n }\n rowHeights.value = newRowHeights\n // cacheRowHeights.value = newCacheRowHeights\n currentRowHeights.value = newCurrentRowHeights\n }\n\n watch(\n [flattenData, mergeRowHeight],\n ([newFlattenData]) => {\n calculationRowHeights(newFlattenData || [])\n isUpdate.value = false\n setTimeout(() => {\n isUpdate.value = true\n })\n },\n { immediate: true },\n )\n\n return {\n rowPosition,\n rowHeights,\n viewportHeight,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n addHeight: (rowKey: Key, subKey: Key, colUniKey: string, height: number) => {\n raf.cancel(x2)\n },\n mergedRowHeights,\n startIndex,\n endIndex,\n getRowHeight: (fromIndex, rowSpan = 1) => {\n const data = flattenData.value\n const maxIndex = Math.min(data.length - 1, fromIndex + rowSpan - 1)\n let rowHeight = 0\n const mrhs = mergedRowHeights.value\n for (let i = fromIndex; i <= maxIndex; i++) {\n const { rowKey } = data[i]!\n rowHeight += mrhs[rowKey] === undefined ? currentSizeHeight.value : mrhs[rowKey]\n }\n return rowHeight\n },\n addRowHeight: (rowUniKey, rowKey, height) => {\n const rowHeight: Record<string, any> = autoRowHeightsMap.value[rowUniKey] || {}\n if (rowHeight.rowKey !== rowKey || rowHeight.height !== height) {\n autoRowHeightsMap.value[rowUniKey] = { rowKey, height }\n updateRowHeight()\n }\n },\n removeRowHeight: (rowUniKey) => {\n if (autoRowHeightsMap.value[rowUniKey]) {\n delete autoRowHeightsMap.value[rowUniKey]\n updateRowHeight()\n }\n },\n getRowPositionByKey: (key: Key) => {\n const index = keyEntities.value[key]?.flattenIndex\n if (index === undefined) {\n devWarning(false, 'scrollTo', `\\`rowKey = ${key}\\` is Invalid`)\n return\n }\n return rowPosition.value[index]\n },\n }\n}\n"],"names":["shallowRef","ref","computed","watchEffect","findLastIndex","Y_BUFF","watch","binSearchStartIndex","findIndex","raf","rowHeights","onBeforeUnmount","isNumber","devWarning"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useCal.js","sources":["../../../../../../../packages/components/table/src/hooks/useCal.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-11-05 12:49:15\n * @LastEditors: shen\n * @LastEditTime: 2025-09-02 17:20:46\n * @Description:\n */\nimport type { FlatRecord, Key, ProTableProps } from '../components/interface'\nimport type { Ref } from 'vue'\nimport type { KeyEntities } from './useFlattenRecords'\n\nimport { ref, shallowRef, computed, watch, watchEffect, onBeforeUnmount } from 'vue'\nimport { findLastIndex, findIndex, isNumber } from 'lodash-es'\nimport { Y_BUFF } from '../utils/constant'\nimport raf from '../utils/raf'\nimport devWarning from '../utils/devWarning'\nimport binSearchStartIndex from '../utils/binSearchStartIndex'\n\nexport interface CalType {\n rowPosition: Ref<number[]>\n rowHeights: Ref<Record<Key, number>>\n mergedRowHeights: Ref<Record<Key, number>>\n viewportHeight: Ref<number>\n addHeight: (rowKey: Key, subKey: Key, colUniKey: string, height: number) => void\n addRowHeight: (rowUniKey: string, rowKey: Key, height: number) => void\n removeRowHeight: (rowUniKey: string) => void\n startIndex: Ref<number>\n endIndex: Ref<number>\n getRowHeight: (fromIndex: number, rowSpan?: number) => number\n getRowPositionByKey: (key: Key) => number | undefined\n}\nexport default function useCal(\n props: ProTableProps,\n flattenData: Ref<FlatRecord[]>,\n scrollHeight: Ref<number>,\n scrollTop: Ref<number>,\n virtual: Ref<boolean>,\n keyEntities: Ref<KeyEntities>,\n): CalType {\n const rowPosition = shallowRef<number[]>([])\n const rowHeights = shallowRef<Record<Key, number>>({})\n const cacheRowHeights: Record<Key, number> = {}\n const mergedRowHeights = shallowRef<Record<Key, number>>({})\n const viewportHeight = ref(0)\n\n const currentSizeHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const mergeRowHeight = computed(() =>\n props.size === 'small'\n ? props.rowHeight || 39\n : props.size === 'middle'\n ? props.rowHeight || 47\n : props.rowHeight || 55,\n )\n\n let x2: any\n\n const startIndex = ref(0)\n const endIndex = ref(-1)\n const maxStartIndex = ref(0)\n\n watchEffect(() => {\n const maxIndex = findLastIndex(\n rowPosition.value,\n (pos) => pos < viewportHeight.value - scrollHeight.value - Y_BUFF,\n )\n maxStartIndex.value = maxIndex < 0 ? 0 : maxIndex\n })\n\n const newScrollTop = ref(0)\n watch(\n scrollTop,\n () => {\n newScrollTop.value = scrollTop.value\n },\n { immediate: true },\n )\n\n watchEffect(() => {\n if (flattenData.value.length === rowPosition.value.length) {\n if (virtual.value) {\n if (scrollHeight.value) {\n let newStartIndex =\n binSearchStartIndex<number>(\n rowPosition.value,\n (value) => value >= newScrollTop.value - Y_BUFF,\n ) - 1\n newStartIndex = newStartIndex < 0 ? 0 : newStartIndex\n startIndex.value =\n newStartIndex > maxStartIndex.value ? maxStartIndex.value : newStartIndex\n let newEndIndex = findIndex(\n rowPosition.value,\n (value) => value >= newScrollTop.value + scrollHeight.value + Y_BUFF,\n startIndex.value,\n )\n newEndIndex = newEndIndex >= 0 ? newEndIndex : rowPosition.value.length - 1\n endIndex.value =\n newEndIndex > rowPosition.value.length - 1 ? rowPosition.value.length - 1 : newEndIndex\n } else {\n startIndex.value = 0\n endIndex.value = -1\n }\n } else {\n startIndex.value = 0\n endIndex.value = flattenData.value.length - 1\n }\n }\n })\n\n const currentRowHeights = shallowRef<Record<Key, number>>({})\n const isUpdate = ref(false)\n setTimeout(() => {\n isUpdate.value = true\n })\n\n const isRaf = ref(true)\n const rowHeightsStatus = ref(false)\n const autoRowHeightsMap = shallowRef<Record<string, { rowKey: Key; height: number }>>({})\n let rowHeightRaf: any\n\n const updateRowHeight = () => {\n raf.cancel(rowHeightRaf)\n rowHeightRaf = raf(() => {\n const rowHeights = currentRowHeights.value\n const autoRowHeights: Record<Key, number> = {}\n let isUpdateRowHeights = false\n Object.values(autoRowHeightsMap.value).forEach(({ rowKey, height }) => {\n autoRowHeights[rowKey] = autoRowHeights[rowKey] || 0\n if (height > autoRowHeights[rowKey]) {\n autoRowHeights[rowKey] = height\n }\n })\n for (const [rowKey, height] of Object.entries(autoRowHeights)) {\n if (rowHeights[rowKey] !== height) {\n rowHeights[rowKey] = height\n isUpdateRowHeights = true\n }\n }\n if (isUpdateRowHeights) {\n currentRowHeights.value = rowHeights\n rowHeightsStatus.value = !rowHeightsStatus.value\n }\n })\n }\n\n let refreshRaf: any\n watch(\n [startIndex, endIndex, isUpdate],\n ([newStartIndex, newEndIndex], [oldStartIndex, oldEndIndex]) => {\n if (!isUpdate.value) {\n isRaf.value = true\n } else {\n isRaf.value = newStartIndex === oldStartIndex && newEndIndex === oldEndIndex\n }\n },\n )\n\n watch([rowHeightsStatus, rowHeights], () => {\n raf.cancel(refreshRaf)\n refreshRaf = raf(\n () => {\n const defaultHeight = currentSizeHeight.value\n const crhs = currentRowHeights.value\n const rhs = rowHeights.value\n const mrhs = mergedRowHeights.value\n const data = flattenData.value\n const len = data.length\n const newMergedRowHeights = {}\n let newViewportHeight = 0\n const newRowPosition: number[] = []\n for (let i = 0; i < len; i++) {\n const { rowKey } = data[i]!\n const rowHeight =\n rhs[rowKey] !== undefined\n ? rhs[rowKey]\n : crhs[rowKey] === undefined\n ? mrhs[rowKey]\n : crhs[rowKey]\n\n newMergedRowHeights[rowKey] = rowHeight\n newRowPosition.push(newViewportHeight)\n newViewportHeight += rowHeight === undefined ? defaultHeight : rowHeight\n }\n mergedRowHeights.value = newMergedRowHeights\n viewportHeight.value = newViewportHeight\n rowPosition.value = newRowPosition\n },\n isRaf.value ? 0 : 1,\n )\n })\n\n onBeforeUnmount(() => {\n raf.cancel(rowHeightRaf)\n raf.cancel(refreshRaf)\n })\n\n const calculationRowHeights = (data: FlatRecord[]) => {\n const newRowHeights: Record<Key, number> = {}\n const defaultHeight = currentSizeHeight.value\n const newCacheRowHeights = {}\n const newCurrentRowHeights: Record<Key, number> = {}\n const crhs = currentRowHeights.value\n const len = data.length\n if (typeof props.rowHeight == 'function') {\n for (let i = 0; i < len; i++) {\n const { record, rowKey, isExpandRow = false } = data[i]!\n let rowHeight = props.rowHeight(record, isExpandRow, defaultHeight)\n rowHeight = isNumber(rowHeight) ? rowHeight : undefined\n newRowHeights[rowKey] = rowHeight!\n newCacheRowHeights[rowKey] = rowKey in cacheRowHeights ? cacheRowHeights[rowKey] : undefined\n newCurrentRowHeights[rowKey] = rowHeight ?? crhs[rowKey] ?? 0\n }\n } else {\n let rowHeight = props.rowHeight\n if (isNumber(rowHeight)) {\n for (let i = 0; i < len; i++) {\n const { rowKey, isExpandRow = false } = data[i]!\n isExpandRow && (rowHeight = undefined)\n newRowHeights[rowKey] = rowHeight!\n newCacheRowHeights[rowKey] =\n rowKey in cacheRowHeights ? cacheRowHeights[rowKey] : undefined\n newCurrentRowHeights[rowKey] = rowHeight ?? crhs[rowKey] ?? 0\n }\n } else {\n for (let i = 0; i < len; i++) {\n const { rowKey } = data[i]!\n newRowHeights[rowKey] = undefined as any\n newCacheRowHeights[rowKey] =\n rowKey in cacheRowHeights ? cacheRowHeights[rowKey] : undefined\n newCurrentRowHeights[rowKey] = crhs[rowKey]!\n }\n }\n }\n rowHeights.value = newRowHeights\n // cacheRowHeights.value = newCacheRowHeights\n currentRowHeights.value = newCurrentRowHeights\n }\n\n watch(\n [flattenData, mergeRowHeight],\n ([newFlattenData]) => {\n calculationRowHeights(newFlattenData || [])\n isUpdate.value = false\n setTimeout(() => {\n isUpdate.value = true\n })\n },\n { immediate: true },\n )\n\n return {\n rowPosition,\n rowHeights,\n viewportHeight,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n addHeight: (rowKey: Key, subKey: Key, colUniKey: string, height: number) => {\n raf.cancel(x2)\n },\n mergedRowHeights,\n startIndex,\n endIndex,\n getRowHeight: (fromIndex, rowSpan = 1) => {\n const data = flattenData.value\n const maxIndex = Math.min(data.length - 1, fromIndex + rowSpan - 1)\n let rowHeight = 0\n const mrhs = mergedRowHeights.value\n for (let i = fromIndex; i <= maxIndex; i++) {\n const { rowKey } = data[i]!\n rowHeight += mrhs[rowKey] === undefined ? currentSizeHeight.value : mrhs[rowKey]\n }\n return rowHeight\n },\n addRowHeight: (rowUniKey, rowKey, height) => {\n const rowHeight: Record<string, any> = autoRowHeightsMap.value[rowUniKey] || {}\n if (rowHeight.rowKey !== rowKey || rowHeight.height !== height) {\n autoRowHeightsMap.value[rowUniKey] = { rowKey, height }\n updateRowHeight()\n }\n },\n removeRowHeight: (rowUniKey) => {\n if (autoRowHeightsMap.value[rowUniKey]) {\n delete autoRowHeightsMap.value[rowUniKey]\n updateRowHeight()\n }\n },\n getRowPositionByKey: (key: Key) => {\n const index = keyEntities.value[key]?.flattenIndex\n if (index === undefined) {\n devWarning(false, 'scrollTo', `\\`rowKey = ${key}\\` is Invalid`)\n return\n }\n return rowPosition.value[index]\n },\n }\n}\n"],"names":["shallowRef","ref","computed","watchEffect","findLastIndex","Y_BUFF","watch","binSearchStartIndex","findIndex","raf","rowHeights","onBeforeUnmount","isNumber","devWarning"],"mappings":"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"}
|
package/lib/version.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export declare const version = "0.0.1-beta.
|
1
|
+
export declare const version = "0.0.1-beta.3";
|