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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /*! Pro Design Vue v1.0.0-rc.5 */
1
+ /*! Pro Design Vue v1.0.0-rc.7 */
2
2
 
3
3
  import { Modal, ConfigProvider, App, Button as Button$1, Tooltip, Popconfirm, Dropdown, Menu, Slider, Drawer, Input, InputNumber, Form as Form$1, Space, Textarea, Select, TreeSelect, Checkbox as Checkbox$1, CheckboxGroup, RadioGroup, Radio as Radio$1, Cascader, Switch, Rate, DatePicker, RangePicker, TimePicker, TimeRangePicker, Upload, theme as theme$1, FormItemRest, Spin, message, Row as Row$1, Col, FormItem as FormItem$3, Steps, Popover, MenuItem, SubMenu, Empty, Badge, Tag, Pagination, InputSearch, Tree, Card, Tabs, TabPane } from 'ant-design-vue';
4
4
  import { inject, ref, getCurrentInstance, nextTick, h, reactive, defineComponent, createVNode, isVNode, Fragment, cloneVNode, provide, computed, renderSlot, createPropsRestProxy, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, shallowRef, shallowReadonly, toValue, getCurrentScope, onScopeDispose, watch, onMounted, hasInjectionContext, isRef, toRefs as toRefs$1, customRef, toRef as toRef$1, readonly, watchEffect, toRaw, createElementBlock, createCommentVNode, resolveDynamicComponent, mergeProps, createElementVNode, normalizeStyle, toDisplayString, normalizeClass, createSlots, useAttrs, useTemplateRef, defineAsyncComponent, Teleport, onUnmounted, Comment as Comment$1, useSlots, useModel, withModifiers, mergeModels, renderList, camelize, isReactive, onActivated, onDeactivated, onBeforeUnmount, triggerRef, resolveDirective, withDirectives, vShow, render as render$1, resolveComponent, createTextVNode, vModelText } from 'vue';
@@ -13,7 +13,7 @@ const ELEMENT_ID_MAIN_CONTENT = `__pro_main_content`;
13
13
  const SCROLL_FIXED_CLASS = `_scroll__fixed_`;
14
14
  const DEFAULT_NAMESPACE = "pro";
15
15
 
16
- const version$1 = "1.0.0-rc.5";
16
+ const version$1 = "1.0.0-rc.7";
17
17
 
18
18
  const makeInstaller = (components = []) => {
19
19
  const install = (app) => {
@@ -30297,6 +30297,7 @@ var _sfc_main$g = defineComponent({
30297
30297
  const tableSlotsContext = useInjectSlots();
30298
30298
  const dragRowPlaceholderRef = ref();
30299
30299
  const bodyRef = ref();
30300
+ const measureDomRef = ref();
30300
30301
  const bodyInnerRef = ref();
30301
30302
  const scrollLayerRef = ref();
30302
30303
  const viewportRef = ref();
@@ -30607,6 +30608,13 @@ var _sfc_main$g = defineComponent({
30607
30608
  return summaryStyle.value;
30608
30609
  });
30609
30610
  const emptyStyle = computed(() => ({ width: `${props.bodyWidth}px` }));
30611
+ useResizeObserver(measureDomRef, (entries) => {
30612
+ var _a, _b;
30613
+ console.log("\u{1F680} ~ useResizeObserver ~ entries:", (_a = entries[0]) == null ? void 0 : _a.contentRect);
30614
+ const contentRect = (_b = entries[0]) == null ? void 0 : _b.contentRect;
30615
+ emit("update:bodyWidth", contentRect == null ? void 0 : contentRect.width);
30616
+ emit("update:bodyHeight", contentRect == null ? void 0 : contentRect.height);
30617
+ });
30610
30618
  return {
30611
30619
  bodyContainerStyle,
30612
30620
  measureDomStyle: computed(() => ({
@@ -30657,6 +30665,7 @@ var _sfc_main$g = defineComponent({
30657
30665
  emit("update:bodyScrollWidth", e.detail.width);
30658
30666
  },
30659
30667
  bodyRef,
30668
+ measureDomRef,
30660
30669
  bodyInnerRef,
30661
30670
  viewportRef,
30662
30671
  summaryViewportRef,
@@ -30813,16 +30822,15 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
30813
30822
  _: 1
30814
30823
  /* STABLE */
30815
30824
  }),
30816
- withDirectives((openBlock(), createElementBlock(
30825
+ createElementVNode(
30817
30826
  "div",
30818
30827
  {
30819
30828
  key: "body",
30820
30829
  ref: "bodyRef",
30821
30830
  class: normalizeClass(_ctx.bodyClass),
30822
30831
  style: normalizeStyle(_ctx.bodyStyle),
30823
- onDragstart: _cache[9] || (_cache[9] = (...args) => _ctx.handleDragStart && _ctx.handleDragStart(...args)),
30824
- onKeydown: _cache[10] || (_cache[10] = (...args) => _ctx.handleKeydown && _ctx.handleKeydown(...args)),
30825
- onResize: _cache[11] || (_cache[11] = (...args) => _ctx.handleBodyResize && _ctx.handleBodyResize(...args))
30832
+ onDragstart: _cache[8] || (_cache[8] = (...args) => _ctx.handleDragStart && _ctx.handleDragStart(...args)),
30833
+ onKeydown: _cache[9] || (_cache[9] = (...args) => _ctx.handleKeydown && _ctx.handleKeydown(...args))
30826
30834
  },
30827
30835
  [
30828
30836
  createElementVNode("div", _hoisted_1$3, [
@@ -31132,24 +31140,22 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
31132
31140
  6
31133
31141
  /* CLASS, STYLE */
31134
31142
  ),
31135
- withDirectives(createElementVNode(
31143
+ createElementVNode(
31136
31144
  "div",
31137
31145
  {
31138
- style: normalizeStyle(_ctx.measureDomStyle),
31139
- onResize: _cache[6] || (_cache[6] = (...args) => _ctx.handleBodyResize && _ctx.handleBodyResize(...args))
31146
+ ref: "measureDomRef",
31147
+ style: normalizeStyle(_ctx.measureDomStyle)
31140
31148
  },
31141
31149
  null,
31142
- 36
31143
- /* STYLE, NEED_HYDRATION */
31144
- ), [
31145
- [_directive_resize]
31146
- ]),
31150
+ 4
31151
+ /* STYLE */
31152
+ ),
31147
31153
  withDirectives(createElementVNode(
31148
31154
  "div",
31149
31155
  {
31150
31156
  class: normalizeClass(`${_ctx.prefixCls}-body-scroll-measure`),
31151
31157
  style: normalizeStyle(`min-width: ${_ctx.bodyInnerWidth}px`),
31152
- onResizewidth: _cache[7] || (_cache[7] = (...args) => _ctx.handleBodyScrollResize && _ctx.handleBodyScrollResize(...args))
31158
+ onResizewidth: _cache[6] || (_cache[6] = (...args) => _ctx.handleBodyScrollResize && _ctx.handleBodyScrollResize(...args))
31153
31159
  },
31154
31160
  null,
31155
31161
  38
@@ -31162,7 +31168,7 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
31162
31168
  {
31163
31169
  class: normalizeClass(`${_ctx.prefixCls}-body-inner-measure`),
31164
31170
  style: normalizeStyle(`min-width: ${_ctx.scrollX}px`),
31165
- onResizewidth: _cache[8] || (_cache[8] = (...args) => _ctx.handleBodyInnerResize && _ctx.handleBodyInnerResize(...args))
31171
+ onResizewidth: _cache[7] || (_cache[7] = (...args) => _ctx.handleBodyInnerResize && _ctx.handleBodyInnerResize(...args))
31166
31172
  },
31167
31173
  null,
31168
31174
  38
@@ -31177,9 +31183,7 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
31177
31183
  ],
31178
31184
  38
31179
31185
  /* CLASS, STYLE, NEED_HYDRATION */
31180
- )), [
31181
- [_directive_resize]
31182
- ]),
31186
+ ),
31183
31187
  createVNode(_component_RenderSlot, null, {
31184
31188
  default: withCtx(() => [
31185
31189
  _ctx.summary && _ctx.summaryFixed === "bottom" ? (openBlock(), createElementBlock(
@@ -31208,7 +31212,7 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
31208
31212
  withDirectives((openBlock(), createElementBlock(
31209
31213
  "div",
31210
31214
  {
31211
- onResizeheight: _cache[12] || (_cache[12] = (...args) => _ctx.handleResize && _ctx.handleResize(...args))
31215
+ onResizeheight: _cache[10] || (_cache[10] = (...args) => _ctx.handleResize && _ctx.handleResize(...args))
31212
31216
  },
31213
31217
  [
31214
31218
  createVNode(_component_RenderVNode, { vnode: _ctx.summary }, null, 8, ["vnode"])
@@ -64,6 +64,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
64
64
  handleBodyInnerResize: (e: CustomEvent) => void;
65
65
  handleBodyScrollResize: (e: CustomEvent) => void;
66
66
  bodyRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
67
+ measureDomRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
67
68
  bodyInnerRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
68
69
  viewportRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
69
70
  summaryViewportRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
@@ -1,5 +1,5 @@
1
1
  import _sfc_main from './Body.vue2.mjs';
2
- import { resolveComponent, resolveDirective, createElementBlock, openBlock, Fragment, createVNode, withDirectives, withCtx, createCommentVNode, normalizeStyle, normalizeClass, createElementVNode, createBlock, resolveDynamicComponent } from 'vue';
2
+ import { resolveComponent, resolveDirective, createElementBlock, openBlock, Fragment, createVNode, createElementVNode, withCtx, createCommentVNode, normalizeStyle, normalizeClass, withDirectives, createBlock, resolveDynamicComponent } from 'vue';
3
3
  import _export_sfc from '../../../../../_virtual/_plugin-vue_export-helper.mjs';
4
4
 
5
5
  const _hoisted_1 = { style: {
@@ -104,16 +104,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
104
104
  _: 1
105
105
  /* STABLE */
106
106
  }),
107
- withDirectives((openBlock(), createElementBlock(
107
+ createElementVNode(
108
108
  "div",
109
109
  {
110
110
  key: "body",
111
111
  ref: "bodyRef",
112
112
  class: normalizeClass(_ctx.bodyClass),
113
113
  style: normalizeStyle(_ctx.bodyStyle),
114
- onDragstart: _cache[9] || (_cache[9] = (...args) => _ctx.handleDragStart && _ctx.handleDragStart(...args)),
115
- onKeydown: _cache[10] || (_cache[10] = (...args) => _ctx.handleKeydown && _ctx.handleKeydown(...args)),
116
- onResize: _cache[11] || (_cache[11] = (...args) => _ctx.handleBodyResize && _ctx.handleBodyResize(...args))
114
+ onDragstart: _cache[8] || (_cache[8] = (...args) => _ctx.handleDragStart && _ctx.handleDragStart(...args)),
115
+ onKeydown: _cache[9] || (_cache[9] = (...args) => _ctx.handleKeydown && _ctx.handleKeydown(...args))
117
116
  },
118
117
  [
119
118
  createElementVNode("div", _hoisted_1, [
@@ -423,24 +422,22 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
423
422
  6
424
423
  /* CLASS, STYLE */
425
424
  ),
426
- withDirectives(createElementVNode(
425
+ createElementVNode(
427
426
  "div",
428
427
  {
429
- style: normalizeStyle(_ctx.measureDomStyle),
430
- onResize: _cache[6] || (_cache[6] = (...args) => _ctx.handleBodyResize && _ctx.handleBodyResize(...args))
428
+ ref: "measureDomRef",
429
+ style: normalizeStyle(_ctx.measureDomStyle)
431
430
  },
432
431
  null,
433
- 36
434
- /* STYLE, NEED_HYDRATION */
435
- ), [
436
- [_directive_resize]
437
- ]),
432
+ 4
433
+ /* STYLE */
434
+ ),
438
435
  withDirectives(createElementVNode(
439
436
  "div",
440
437
  {
441
438
  class: normalizeClass(`${_ctx.prefixCls}-body-scroll-measure`),
442
439
  style: normalizeStyle(`min-width: ${_ctx.bodyInnerWidth}px`),
443
- onResizewidth: _cache[7] || (_cache[7] = (...args) => _ctx.handleBodyScrollResize && _ctx.handleBodyScrollResize(...args))
440
+ onResizewidth: _cache[6] || (_cache[6] = (...args) => _ctx.handleBodyScrollResize && _ctx.handleBodyScrollResize(...args))
444
441
  },
445
442
  null,
446
443
  38
@@ -453,7 +450,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
453
450
  {
454
451
  class: normalizeClass(`${_ctx.prefixCls}-body-inner-measure`),
455
452
  style: normalizeStyle(`min-width: ${_ctx.scrollX}px`),
456
- onResizewidth: _cache[8] || (_cache[8] = (...args) => _ctx.handleBodyInnerResize && _ctx.handleBodyInnerResize(...args))
453
+ onResizewidth: _cache[7] || (_cache[7] = (...args) => _ctx.handleBodyInnerResize && _ctx.handleBodyInnerResize(...args))
457
454
  },
458
455
  null,
459
456
  38
@@ -468,9 +465,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
468
465
  ],
469
466
  38
470
467
  /* CLASS, STYLE, NEED_HYDRATION */
471
- )), [
472
- [_directive_resize]
473
- ]),
468
+ ),
474
469
  createVNode(_component_RenderSlot, null, {
475
470
  default: withCtx(() => [
476
471
  _ctx.summary && _ctx.summaryFixed === "bottom" ? (openBlock(), createElementBlock(
@@ -499,7 +494,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
499
494
  withDirectives((openBlock(), createElementBlock(
500
495
  "div",
501
496
  {
502
- onResizeheight: _cache[12] || (_cache[12] = (...args) => _ctx.handleResize && _ctx.handleResize(...args))
497
+ onResizeheight: _cache[10] || (_cache[10] = (...args) => _ctx.handleResize && _ctx.handleResize(...args))
503
498
  },
504
499
  [
505
500
  createVNode(_component_RenderVNode, { vnode: _ctx.summary }, null, 8, ["vnode"])
@@ -1 +1 @@
1
- {"version":3,"file":"Body.vue.mjs","sources":["../../../../../../../../packages/components/table/src/components/Body/Body.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 22:03:08\n * @LastEditors: shen\n * @LastEditTime: 2025-09-19 15:05:47\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, onMounted, shallowRef, onBeforeUnmount } from 'vue'\nimport { Empty } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useProvideBody } from '../context/BodyContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { useVScrollSyncInject } from '../../hooks/useVScrollSync'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { RenderVNode, RenderSlot } from '../../utils/renderVNode'\nimport { resize } from '@pro-design-vue/directives'\nimport useTooltip from '../../hooks/useTooltip'\nimport onClickOutside from '../../utils/onClickOutside'\nimport BodyRows from './BodyRows.vue'\nimport XScroll from '../Scrollbar/XScroll'\nimport YScroll from '../Scrollbar/YScroll'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { SummaryFixed } from '../interface'\nimport type { CustomSlotsType } from '../../utils/type'\n\nexport default defineComponent({\n name: 'TableBody',\n components: {\n BodyRows,\n Empty,\n RenderVNode,\n RenderSlot,\n HorizontalScroll: XScroll,\n YScroll,\n },\n directives: { resize },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n bodyScrollWidth: { type: Number as PropType<number> },\n bodyWidth: { type: Number as PropType<number> },\n bodyHeight: { type: Number as PropType<number> },\n height: { type: [Number, String] as PropType<number | string> },\n scrollX: [Number, String] as PropType<number | string>,\n summaryFixed: [Boolean, String] as PropType<boolean | SummaryFixed>,\n emptyText: Function,\n summary: Function,\n },\n emits: [\n 'scroll',\n 'scrollLeft',\n 'scrollTop',\n 'update:bodyWidth',\n 'update:bodyHeight',\n 'update:bodyScrollWidth',\n 'keydown',\n ],\n slots: {} as CustomSlotsType<{\n emptyText: any\n default: any\n }>,\n setup(props, { emit, attrs, expose }) {\n const tableContext = useInjectTable()\n const tableSlotsContext = useInjectSlots()\n\n const dragRowPlaceholderRef = ref<HTMLDivElement>()\n const bodyRef = ref<HTMLDivElement>()\n const bodyInnerRef = ref<HTMLDivElement>()\n const scrollLayerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const summaryViewportRef = ref<HTMLDivElement>()\n\n const bodyViewportRef = ref<HTMLDivElement>()\n const bodyContainerRef = ref<HTMLDivElement>()\n\n const summaryHeight = ref(0)\n\n const leftColumns = computed(() => tableContext.leftColumns.value)\n const centerColumns = computed(() => tableContext.centerColumns.value)\n const rightColumns = computed(() => tableContext.rightColumns.value)\n const showWatermark = computed(() => tableContext.status.value.code !== 4)\n\n const leftPopupContainer = ref<HTMLDivElement>()\n const centerPopupContainer = ref<HTMLDivElement>()\n const rightPopupContainer = ref<HTMLDivElement>()\n\n const leftTarget = ref<HTMLDivElement>()\n const centerTarget = ref<HTMLDivElement>()\n const rightTarget = ref<HTMLDivElement>()\n\n const { hoverColumnKey } = useInjectHover()\n const { open } = useTooltip({ hoverColumnKey })\n\n const popupContent = shallowRef<any>()\n const popupContentPos = ref<string | null>()\n const contextmenuPos = ref({ clientX: 0, clientY: 0 })\n\n const setTargetStyle = (target: HTMLDivElement) => {\n target.style.display = 'none'\n target.style.opacity = '0'\n target.style.left = '0px'\n target.style.top = '0px'\n target.style.height = '1px'\n target.style.maxWidth = props.bodyWidth! - 4 + 'px'\n }\n\n const setContextmenuPopupPos = () => {\n const { clientX, clientY } = contextmenuPos.value\n const popupPos = popupContentPos.value\n const target =\n popupPos === 'left'\n ? leftTarget.value\n : popupPos === 'right'\n ? rightTarget.value\n : centerTarget.value\n if (!popupPos || !target) {\n return\n }\n target.style.display = 'block'\n const { left, top } = target.parentElement!.getBoundingClientRect()\n const firstChild = target.children[0]!\n const minHeight = Math.min(\n target.scrollHeight,\n firstChild.scrollHeight!,\n viewportHeight.value - 4,\n )\n target.style.opacity = '1'\n target.style.height = `${minHeight}px`\n let leftPos = clientX - left\n let rightPos = clientY - top\n if (rightPos + minHeight > viewportHeight.value) {\n rightPos = viewportHeight.value - minHeight - 2\n }\n\n if (popupContentPos.value === 'center') {\n if (leftPos + target.offsetWidth > tableContext.centerWidth.value) {\n leftPos = tableContext.centerWidth.value - target.offsetWidth - 2\n }\n } else if (popupContentPos.value === 'right') {\n if (leftPos + target.offsetWidth > tableContext.rightWidth.value) {\n leftPos = tableContext.rightWidth.value - target.offsetWidth - 2\n }\n } else {\n if (leftPos + target.offsetWidth > props.bodyWidth!) {\n leftPos = props.bodyWidth! - target.offsetWidth - 2\n }\n }\n target.style.left = `${leftPos}px`\n target.style.top = `${rightPos}px`\n }\n\n const showYScrollbar = computed(() => tableContext.showVerticalScrollbar.value)\n const showXScrollbar = computed(() => tableContext.showHorizontalScrollbar.value)\n\n watch(\n [tableContext.centerWidth, tableContext.rightWidth, () => props.bodyWidth],\n () => {\n setContextmenuPopupPos()\n },\n { flush: 'post' },\n )\n\n let contextmenuTimer: any\n\n onClickOutside(leftTarget, () => {\n if (popupContentPos.value === 'left') {\n popupContentPos.value = null\n setTargetStyle(leftTarget.value!)\n }\n })\n onClickOutside(centerTarget, () => {\n if (popupContentPos.value === 'center') {\n popupContentPos.value = null\n setTargetStyle(centerTarget.value!)\n }\n })\n onClickOutside(rightTarget, () => {\n if (popupContentPos.value === 'right') {\n popupContentPos.value = null\n setTargetStyle(rightTarget.value!)\n }\n })\n\n useProvideBody({\n onBodyCellContextmenu: (event, args, type) => {\n if (tableContext.props.hasContextmenuPopup) {\n const { clientX, clientY } = event\n setTargetStyle(leftTarget.value!)\n setTargetStyle(centerTarget.value!)\n setTargetStyle(rightTarget.value!)\n popupContentPos.value = type\n popupContent.value = () =>\n tableSlotsContext.contextmenuPopup?.({\n event,\n ...args,\n hidePopup: () => {\n ;((popupContentPos.value = null),\n setTargetStyle(leftTarget.value!),\n setTargetStyle(centerTarget.value!),\n setTargetStyle(rightTarget.value!))\n },\n })\n contextmenuPos.value = { clientX, clientY }\n clearTimeout(contextmenuTimer)\n contextmenuTimer = setTimeout(() => {\n setContextmenuPopupPos()\n })\n event.preventDefault()\n }\n },\n bodyRef,\n tooltipOpen: open,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n })\n\n expose({ bodyRef })\n\n onBeforeUnmount(() => {\n clearTimeout(contextmenuTimer)\n clearTimeout(undefined)\n })\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n const { addVScrollDom, removeVScrollDom } = useVScrollSyncInject()\n\n onMounted(() => {\n watch(\n summaryViewportRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyContainerRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyViewportRef,\n (newValue, oldValue) => {\n removeVScrollDom(oldValue!)\n addVScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n })\n onBeforeUnmount(() => {\n removeHScrollDom(summaryViewportRef.value!)\n removeHScrollDom(bodyContainerRef.value!)\n removeVScrollDom(bodyViewportRef.value!)\n })\n\n const bodyInnerWidth = ref(0)\n const emptyHeight = ref(0)\n\n const scrollbarStyle = computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: barSize === '0px' ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n })\n\n const bodyViewportStyle = computed<CSSProperties>(() => ({\n width: `calc(100% + ${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n // width: `calc(100% + 0px)`,\n overflowX: 'hidden',\n overflowY: 'auto',\n height: '100%',\n }))\n const isEmpty = computed(() => 0 === tableContext.pageData.value.length)\n const leftShadowStyle = computed<CSSProperties>(() =>\n props.bodyWidth! - tableContext.rightWidth.value > tableContext.leftWidth.value\n ? {\n position: 'absolute',\n left: `${tableContext.leftWidth.value}px`,\n height: '100%',\n }\n : { display: 'none' },\n )\n const rightShadowStyle = computed<CSSProperties>(() =>\n tableContext.rightWidth.value\n ? {\n position: 'absolute',\n left: props.bodyWidth! - tableContext.rightWidth.value + 'px',\n height: '100%',\n }\n : { display: 'none' },\n )\n const bodyClass = computed(() => ({\n [`${props.prefixCls}-body`]: true,\n [`${props.prefixCls}-unselectable`]: false !== tableContext.props.rangeSelection,\n }))\n const fixLeftClass = computed(() => ({\n [`${props.prefixCls}-fix-left`]: true,\n [`${props.prefixCls}-no-columns`]: !leftColumns.value.length,\n }))\n const fixRightClass = computed(() => ({\n [`${props.prefixCls}-fix-right`]: true,\n [`${props.prefixCls}-no-columns`]: !rightColumns.value.length,\n }))\n const centerClass = computed(() => ({\n [`${props.prefixCls}-center`]: true,\n [`${props.prefixCls}-no-columns`]: !centerColumns.value.length,\n }))\n const summaryViewportClass = computed(() => ({\n [`${props.prefixCls}-center-viewport`]: true,\n }))\n const containerClass = computed(() => ({\n [`${props.prefixCls}-center-container`]: true,\n }))\n const viewportHeight = computed(\n () =>\n tableContext.viewportHeight.value +\n (props.summaryFixed ? emptyHeight.value : summaryHeight.value + emptyHeight.value),\n )\n const containerStyle = computed<CSSProperties>(() => ({\n width: `${tableContext.centerWidth.value}px`,\n height: `${viewportHeight.value}px`,\n }))\n const summaryViewportStyle = computed<CSSProperties>(() => ({\n height: `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`,\n }))\n const scrollLayerStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n width: `${tableContext.bodyMaxWidth.value}px`,\n minWidth: '100%',\n }))\n const rowsHeightStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n overflow: 'hidden',\n minHeight: '100%',\n transform: 'translateZ(0)',\n }))\n const bodyStyle = computed<CSSProperties>(() => ({\n ...(attrs.style || {}),\n maxHeight: 'number' == typeof props.height ? `${props.height}px` : props.height,\n overflowY: 'hidden',\n }))\n const bodyContainerStyle = computed<CSSProperties>(\n () =>\n ({\n height: tableContext.showHorizontalScrollbar.value\n ? `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`\n : 'calc(100%)',\n zIndex: 'unset !important',\n overflowX: 'auto',\n overflowY: 'hidden',\n }) as any,\n )\n const centerStyle = computed<CSSProperties>(() => ({ height: `${viewportHeight.value}px` }))\n const leftStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.leftWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const rightStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.rightWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const summaryClass = computed(() => ({\n [`${props.prefixCls}-summary`]: true,\n [`${props.prefixCls}-position-absolute`]: !isEmpty.value,\n }))\n const fixedSummaryClass = computed(() => [\n summaryClass.value,\n `${props.prefixCls}-summary-fixed`,\n `${props.prefixCls}-summary-fixed-${props.summaryFixed}`,\n ])\n const summaryStyle = computed<CSSProperties>(() => {\n const styles = { height: `${summaryHeight.value}px` }\n return Object.assign(\n styles,\n props.summaryFixed\n ? showXScrollbar.value\n ? { borderTop: 'none' }\n : {}\n : {\n position: 'absolute',\n bottom: 0,\n width: `${props.bodyWidth}px`,\n borderTop: 'none',\n },\n ) as CSSProperties\n })\n const topSummaryStyle = computed<CSSProperties>(() => {\n if ('object' == typeof tableContext.props.sticky) {\n const { offsetHeader = 0, topSummary = false } = tableContext.props.sticky\n return topSummary\n ? ({\n ...summaryStyle.value,\n position: 'sticky',\n top: `${offsetHeader + tableContext.realHeaderHeight.value}px`,\n } as CSSProperties)\n : (summaryStyle.value as CSSProperties)\n }\n return summaryStyle.value as CSSProperties\n })\n const emptyStyle = computed<CSSProperties>(() => ({ width: `${props.bodyWidth}px` }))\n return {\n bodyContainerStyle,\n measureDomStyle: computed<any>(() => ({\n width: '100%',\n height: '100%!important',\n position: 'absolute!important',\n fontSize: '100px!important',\n opacity: '0.1!important',\n textAlign: 'center!important',\n top: '0px!important',\n left: '0px!important',\n pointerEvents: 'none',\n display: 'block!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n visibility: 'visible!important',\n zIndex: '999!important',\n })),\n isEmpty,\n emptyStyle,\n handleEmptyHeight: (e: CustomEvent) => {\n emptyHeight.value = e.detail.height\n },\n bodyClass,\n fixLeftClass,\n fixRightClass,\n centerClass,\n containerClass,\n summaryViewportClass,\n summaryClass,\n rightStyle,\n centerStyle,\n leftStyle,\n summaryViewportStyle,\n containerStyle,\n summaryStyle,\n viewportHeight,\n leftColumns,\n centerColumns,\n rightColumns,\n bodyInnerWidth,\n handleBodyInnerResize: (e: CustomEvent) => {\n bodyInnerWidth.value = e.detail.width\n },\n handleBodyScrollResize: (e: CustomEvent) => {\n emit('update:bodyScrollWidth', e.detail.width)\n },\n bodyRef,\n bodyInnerRef,\n viewportRef,\n summaryViewportRef,\n handleResize: (e: CustomEvent) => {\n summaryHeight.value = e.detail.height\n },\n bodyStyle,\n handleBodyResize: (e: CustomEvent) => {\n emit('update:bodyWidth', e.detail.width)\n emit('update:bodyHeight', e.detail.height)\n },\n emptyImage: Empty.PRESENTED_IMAGE_SIMPLE,\n scrollLayerStyle,\n getRowClassName: (record: any, index: number) => {\n const rowClassName = tableContext.props.rowClassName\n return (\n typeof rowClassName == 'function' ? rowClassName(record, index) : rowClassName\n ) as string\n },\n showWatermark,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n leftShadowStyle,\n rightShadowStyle,\n fixedSummaryClass,\n scrollLayerRef,\n scrollbarStyle,\n topSummaryStyle,\n leftTarget,\n centerTarget,\n rightTarget,\n popupContent,\n popupContentPos,\n handleContextmenuPopupResize: () => {\n setContextmenuPopupPos()\n },\n handleDragStart: (e: MouseEvent) => {\n if (e.target instanceof HTMLImageElement) {\n e.preventDefault()\n return false\n }\n },\n handleKeydown: (e: KeyboardEvent) => {\n emit('keydown', e)\n },\n bodyViewportStyle,\n bodyViewportRef,\n bodyContainerRef,\n rowsHeightStyle,\n showYScrollbar,\n }\n },\n})\n</script>\n\n<template>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'top'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"topSummaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :class=\"`${prefixCls}-cell-shadow-left`\" :style=\"leftShadowStyle\"></div>\n <div :class=\"`${prefixCls}-cell-shadow-right`\" :style=\"rightShadowStyle\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <div\n v-resize\n key=\"body\"\n ref=\"bodyRef\"\n :class=\"bodyClass\"\n :style=\"bodyStyle\"\n @dragstart=\"handleDragStart\"\n @keydown=\"handleKeydown\"\n @resize=\"handleBodyResize\"\n >\n <div\n :style=\"{\n width: '100%',\n overflow: 'hidden',\n position: 'relative',\n transform: 'translateZ(0)',\n }\"\n >\n <div\n ref=\"bodyViewportRef\"\n :class=\"`${prefixCls}-body-viewport-container`\"\n :style=\"bodyViewportStyle\"\n >\n <div :style=\"rowsHeightStyle\">\n <div\n ref=\"bodyContainerRef\"\n :class=\"`${prefixCls}-body-container`\"\n :style=\"bodyContainerStyle\"\n >\n <div ref=\"leftPopupContainer\" key=\"left\" :class=\"fixLeftClass\" :style=\"leftStyle\">\n <BodyRows\n v-if=\"leftColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"left\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div\n v-if=\"summary && !summaryFixed\"\n key=\"summary\"\n :class=\"summaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div ref=\"summaryViewportRef\" :class=\"`${prefixCls}-summary-container`\">\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n </div>\n </div>\n\n <div ref=\"leftTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'left'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <div key=\"center\" :class=\"centerClass\" :style=\"centerStyle\">\n <div ref=\"centerPopupContainer\" :class=\"containerClass\" :style=\"containerStyle\">\n <BodyRows\n v-if=\"centerColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"center\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div ref=\"centerTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'center'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n </div>\n <div key=\"right\" ref=\"rightPopupContainer\" :class=\"fixRightClass\" :style=\"rightStyle\">\n <BodyRows\n v-if=\"rightColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"right\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div ref=\"rightTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize=\"true\"\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'right'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <span ref=\"dragRowPlaceholderRef\" :class=\"`${prefixCls}-drag-placeholder`\"></span>\n </div>\n </div>\n <div v-if=\"isEmpty\" key=\"empty\" :class=\"`${prefixCls}-empty-container`\">\n <div v-resize:height style=\"padding: 1px\" @resizeheight=\"handleEmptyHeight\">\n <RenderVNode :vnode=\"emptyText\"> <Empty :image=\"emptyImage\" /> </RenderVNode>\n </div>\n </div>\n </div>\n <div v-resize :style=\"measureDomStyle\" @resize=\"handleBodyResize\"></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-scroll-measure`\"\n :style=\"`min-width: ${bodyInnerWidth}px`\"\n @resizewidth=\"handleBodyScrollResize\"\n ></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-inner-measure`\"\n :style=\"`min-width: ${scrollX}px`\"\n @resizewidth=\"handleBodyInnerResize\"\n ></div>\n </div>\n <YScroll :style=\"`height: ${bodyHeight}px`\" />\n </div>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'bottom'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height=\"true\" @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <HorizontalScroll />\n</template>\n"],"names":["_createVNode","_withCtx","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_withDirectives","_createBlock","_resolveDynamicComponent","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"Body.vue.mjs","sources":["../../../../../../../../packages/components/table/src/components/Body/Body.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 22:03:08\n * @LastEditors: shen\n * @LastEditTime: 2025-09-19 16:14:25\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, onMounted, shallowRef, onBeforeUnmount } from 'vue'\nimport { Empty } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useProvideBody } from '../context/BodyContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { useVScrollSyncInject } from '../../hooks/useVScrollSync'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { RenderVNode, RenderSlot } from '../../utils/renderVNode'\nimport { resize } from '@pro-design-vue/directives'\nimport { useResizeObserver } from '@vueuse/core'\nimport useTooltip from '../../hooks/useTooltip'\nimport onClickOutside from '../../utils/onClickOutside'\nimport BodyRows from './BodyRows.vue'\nimport XScroll from '../Scrollbar/XScroll'\nimport YScroll from '../Scrollbar/YScroll'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { SummaryFixed } from '../interface'\nimport type { CustomSlotsType } from '../../utils/type'\n\nexport default defineComponent({\n name: 'TableBody',\n components: {\n BodyRows,\n Empty,\n RenderVNode,\n RenderSlot,\n HorizontalScroll: XScroll,\n YScroll,\n },\n directives: { resize },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n bodyScrollWidth: { type: Number as PropType<number> },\n bodyWidth: { type: Number as PropType<number> },\n bodyHeight: { type: Number as PropType<number> },\n height: { type: [Number, String] as PropType<number | string> },\n scrollX: [Number, String] as PropType<number | string>,\n summaryFixed: [Boolean, String] as PropType<boolean | SummaryFixed>,\n emptyText: Function,\n summary: Function,\n },\n emits: [\n 'scroll',\n 'scrollLeft',\n 'scrollTop',\n 'update:bodyWidth',\n 'update:bodyHeight',\n 'update:bodyScrollWidth',\n 'keydown',\n ],\n slots: {} as CustomSlotsType<{\n emptyText: any\n default: any\n }>,\n setup(props, { emit, attrs, expose }) {\n const tableContext = useInjectTable()\n const tableSlotsContext = useInjectSlots()\n\n const dragRowPlaceholderRef = ref<HTMLDivElement>()\n const bodyRef = ref<HTMLDivElement>()\n const measureDomRef = ref<HTMLDivElement>()\n const bodyInnerRef = ref<HTMLDivElement>()\n const scrollLayerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const summaryViewportRef = ref<HTMLDivElement>()\n\n const bodyViewportRef = ref<HTMLDivElement>()\n const bodyContainerRef = ref<HTMLDivElement>()\n\n const summaryHeight = ref(0)\n\n const leftColumns = computed(() => tableContext.leftColumns.value)\n const centerColumns = computed(() => tableContext.centerColumns.value)\n const rightColumns = computed(() => tableContext.rightColumns.value)\n const showWatermark = computed(() => tableContext.status.value.code !== 4)\n\n const leftPopupContainer = ref<HTMLDivElement>()\n const centerPopupContainer = ref<HTMLDivElement>()\n const rightPopupContainer = ref<HTMLDivElement>()\n\n const leftTarget = ref<HTMLDivElement>()\n const centerTarget = ref<HTMLDivElement>()\n const rightTarget = ref<HTMLDivElement>()\n\n const { hoverColumnKey } = useInjectHover()\n const { open } = useTooltip({ hoverColumnKey })\n\n const popupContent = shallowRef<any>()\n const popupContentPos = ref<string | null>()\n const contextmenuPos = ref({ clientX: 0, clientY: 0 })\n\n const setTargetStyle = (target: HTMLDivElement) => {\n target.style.display = 'none'\n target.style.opacity = '0'\n target.style.left = '0px'\n target.style.top = '0px'\n target.style.height = '1px'\n target.style.maxWidth = props.bodyWidth! - 4 + 'px'\n }\n\n const setContextmenuPopupPos = () => {\n const { clientX, clientY } = contextmenuPos.value\n const popupPos = popupContentPos.value\n const target =\n popupPos === 'left'\n ? leftTarget.value\n : popupPos === 'right'\n ? rightTarget.value\n : centerTarget.value\n if (!popupPos || !target) {\n return\n }\n target.style.display = 'block'\n const { left, top } = target.parentElement!.getBoundingClientRect()\n const firstChild = target.children[0]!\n const minHeight = Math.min(\n target.scrollHeight,\n firstChild.scrollHeight!,\n viewportHeight.value - 4,\n )\n target.style.opacity = '1'\n target.style.height = `${minHeight}px`\n let leftPos = clientX - left\n let rightPos = clientY - top\n if (rightPos + minHeight > viewportHeight.value) {\n rightPos = viewportHeight.value - minHeight - 2\n }\n\n if (popupContentPos.value === 'center') {\n if (leftPos + target.offsetWidth > tableContext.centerWidth.value) {\n leftPos = tableContext.centerWidth.value - target.offsetWidth - 2\n }\n } else if (popupContentPos.value === 'right') {\n if (leftPos + target.offsetWidth > tableContext.rightWidth.value) {\n leftPos = tableContext.rightWidth.value - target.offsetWidth - 2\n }\n } else {\n if (leftPos + target.offsetWidth > props.bodyWidth!) {\n leftPos = props.bodyWidth! - target.offsetWidth - 2\n }\n }\n target.style.left = `${leftPos}px`\n target.style.top = `${rightPos}px`\n }\n\n const showYScrollbar = computed(() => tableContext.showVerticalScrollbar.value)\n const showXScrollbar = computed(() => tableContext.showHorizontalScrollbar.value)\n\n watch(\n [tableContext.centerWidth, tableContext.rightWidth, () => props.bodyWidth],\n () => {\n setContextmenuPopupPos()\n },\n { flush: 'post' },\n )\n\n let contextmenuTimer: any\n\n onClickOutside(leftTarget, () => {\n if (popupContentPos.value === 'left') {\n popupContentPos.value = null\n setTargetStyle(leftTarget.value!)\n }\n })\n onClickOutside(centerTarget, () => {\n if (popupContentPos.value === 'center') {\n popupContentPos.value = null\n setTargetStyle(centerTarget.value!)\n }\n })\n onClickOutside(rightTarget, () => {\n if (popupContentPos.value === 'right') {\n popupContentPos.value = null\n setTargetStyle(rightTarget.value!)\n }\n })\n\n useProvideBody({\n onBodyCellContextmenu: (event, args, type) => {\n if (tableContext.props.hasContextmenuPopup) {\n const { clientX, clientY } = event\n setTargetStyle(leftTarget.value!)\n setTargetStyle(centerTarget.value!)\n setTargetStyle(rightTarget.value!)\n popupContentPos.value = type\n popupContent.value = () =>\n tableSlotsContext.contextmenuPopup?.({\n event,\n ...args,\n hidePopup: () => {\n ;((popupContentPos.value = null),\n setTargetStyle(leftTarget.value!),\n setTargetStyle(centerTarget.value!),\n setTargetStyle(rightTarget.value!))\n },\n })\n contextmenuPos.value = { clientX, clientY }\n clearTimeout(contextmenuTimer)\n contextmenuTimer = setTimeout(() => {\n setContextmenuPopupPos()\n })\n event.preventDefault()\n }\n },\n bodyRef,\n tooltipOpen: open,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n })\n\n expose({ bodyRef })\n\n onBeforeUnmount(() => {\n clearTimeout(contextmenuTimer)\n clearTimeout(undefined)\n })\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n const { addVScrollDom, removeVScrollDom } = useVScrollSyncInject()\n\n onMounted(() => {\n watch(\n summaryViewportRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyContainerRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyViewportRef,\n (newValue, oldValue) => {\n removeVScrollDom(oldValue!)\n addVScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n })\n onBeforeUnmount(() => {\n removeHScrollDom(summaryViewportRef.value!)\n removeHScrollDom(bodyContainerRef.value!)\n removeVScrollDom(bodyViewportRef.value!)\n })\n\n const bodyInnerWidth = ref(0)\n const emptyHeight = ref(0)\n\n const scrollbarStyle = computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: barSize === '0px' ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n })\n\n const bodyViewportStyle = computed<CSSProperties>(() => ({\n width: `calc(100% + ${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n // width: `calc(100% + 0px)`,\n overflowX: 'hidden',\n overflowY: 'auto',\n height: '100%',\n }))\n const isEmpty = computed(() => 0 === tableContext.pageData.value.length)\n const leftShadowStyle = computed<CSSProperties>(() =>\n props.bodyWidth! - tableContext.rightWidth.value > tableContext.leftWidth.value\n ? {\n position: 'absolute',\n left: `${tableContext.leftWidth.value}px`,\n height: '100%',\n }\n : { display: 'none' },\n )\n const rightShadowStyle = computed<CSSProperties>(() =>\n tableContext.rightWidth.value\n ? {\n position: 'absolute',\n left: props.bodyWidth! - tableContext.rightWidth.value + 'px',\n height: '100%',\n }\n : { display: 'none' },\n )\n const bodyClass = computed(() => ({\n [`${props.prefixCls}-body`]: true,\n [`${props.prefixCls}-unselectable`]: false !== tableContext.props.rangeSelection,\n }))\n const fixLeftClass = computed(() => ({\n [`${props.prefixCls}-fix-left`]: true,\n [`${props.prefixCls}-no-columns`]: !leftColumns.value.length,\n }))\n const fixRightClass = computed(() => ({\n [`${props.prefixCls}-fix-right`]: true,\n [`${props.prefixCls}-no-columns`]: !rightColumns.value.length,\n }))\n const centerClass = computed(() => ({\n [`${props.prefixCls}-center`]: true,\n [`${props.prefixCls}-no-columns`]: !centerColumns.value.length,\n }))\n const summaryViewportClass = computed(() => ({\n [`${props.prefixCls}-center-viewport`]: true,\n }))\n const containerClass = computed(() => ({\n [`${props.prefixCls}-center-container`]: true,\n }))\n const viewportHeight = computed(\n () =>\n tableContext.viewportHeight.value +\n (props.summaryFixed ? emptyHeight.value : summaryHeight.value + emptyHeight.value),\n )\n const containerStyle = computed<CSSProperties>(() => ({\n width: `${tableContext.centerWidth.value}px`,\n height: `${viewportHeight.value}px`,\n }))\n const summaryViewportStyle = computed<CSSProperties>(() => ({\n height: `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`,\n }))\n const scrollLayerStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n width: `${tableContext.bodyMaxWidth.value}px`,\n minWidth: '100%',\n }))\n const rowsHeightStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n overflow: 'hidden',\n minHeight: '100%',\n transform: 'translateZ(0)',\n }))\n const bodyStyle = computed<CSSProperties>(() => ({\n ...(attrs.style || {}),\n maxHeight: 'number' == typeof props.height ? `${props.height}px` : props.height,\n overflowY: 'hidden',\n }))\n const bodyContainerStyle = computed<CSSProperties>(\n () =>\n ({\n height: tableContext.showHorizontalScrollbar.value\n ? `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`\n : 'calc(100%)',\n zIndex: 'unset !important',\n overflowX: 'auto',\n overflowY: 'hidden',\n }) as any,\n )\n const centerStyle = computed<CSSProperties>(() => ({ height: `${viewportHeight.value}px` }))\n const leftStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.leftWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const rightStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.rightWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const summaryClass = computed(() => ({\n [`${props.prefixCls}-summary`]: true,\n [`${props.prefixCls}-position-absolute`]: !isEmpty.value,\n }))\n const fixedSummaryClass = computed(() => [\n summaryClass.value,\n `${props.prefixCls}-summary-fixed`,\n `${props.prefixCls}-summary-fixed-${props.summaryFixed}`,\n ])\n const summaryStyle = computed<CSSProperties>(() => {\n const styles = { height: `${summaryHeight.value}px` }\n return Object.assign(\n styles,\n props.summaryFixed\n ? showXScrollbar.value\n ? { borderTop: 'none' }\n : {}\n : {\n position: 'absolute',\n bottom: 0,\n width: `${props.bodyWidth}px`,\n borderTop: 'none',\n },\n ) as CSSProperties\n })\n const topSummaryStyle = computed<CSSProperties>(() => {\n if ('object' == typeof tableContext.props.sticky) {\n const { offsetHeader = 0, topSummary = false } = tableContext.props.sticky\n return topSummary\n ? ({\n ...summaryStyle.value,\n position: 'sticky',\n top: `${offsetHeader + tableContext.realHeaderHeight.value}px`,\n } as CSSProperties)\n : (summaryStyle.value as CSSProperties)\n }\n return summaryStyle.value as CSSProperties\n })\n const emptyStyle = computed<CSSProperties>(() => ({ width: `${props.bodyWidth}px` }))\n\n useResizeObserver(measureDomRef as never, (entries) => {\n console.log('🚀 ~ useResizeObserver ~ entries:', entries[0]?.contentRect)\n const contentRect = entries[0]?.contentRect\n emit('update:bodyWidth', contentRect?.width)\n emit('update:bodyHeight', contentRect?.height)\n })\n return {\n bodyContainerStyle,\n measureDomStyle: computed<any>(() => ({\n width: '100%',\n height: '100%!important',\n position: 'absolute!important',\n fontSize: '100px!important',\n opacity: '0.1!important',\n textAlign: 'center!important',\n top: '0px!important',\n left: '0px!important',\n pointerEvents: 'none',\n display: 'block!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n visibility: 'visible!important',\n zIndex: '999!important',\n })),\n isEmpty,\n emptyStyle,\n handleEmptyHeight: (e: CustomEvent) => {\n emptyHeight.value = e.detail.height\n },\n bodyClass,\n fixLeftClass,\n fixRightClass,\n centerClass,\n containerClass,\n summaryViewportClass,\n summaryClass,\n rightStyle,\n centerStyle,\n leftStyle,\n summaryViewportStyle,\n containerStyle,\n summaryStyle,\n viewportHeight,\n leftColumns,\n centerColumns,\n rightColumns,\n bodyInnerWidth,\n handleBodyInnerResize: (e: CustomEvent) => {\n bodyInnerWidth.value = e.detail.width\n },\n handleBodyScrollResize: (e: CustomEvent) => {\n emit('update:bodyScrollWidth', e.detail.width)\n },\n bodyRef,\n measureDomRef,\n bodyInnerRef,\n viewportRef,\n summaryViewportRef,\n handleResize: (e: CustomEvent) => {\n summaryHeight.value = e.detail.height\n },\n bodyStyle,\n handleBodyResize: (e: CustomEvent) => {\n emit('update:bodyWidth', e.detail.width)\n emit('update:bodyHeight', e.detail.height)\n },\n emptyImage: Empty.PRESENTED_IMAGE_SIMPLE,\n scrollLayerStyle,\n getRowClassName: (record: any, index: number) => {\n const rowClassName = tableContext.props.rowClassName\n return (\n typeof rowClassName == 'function' ? rowClassName(record, index) : rowClassName\n ) as string\n },\n showWatermark,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n leftShadowStyle,\n rightShadowStyle,\n fixedSummaryClass,\n scrollLayerRef,\n scrollbarStyle,\n topSummaryStyle,\n leftTarget,\n centerTarget,\n rightTarget,\n popupContent,\n popupContentPos,\n handleContextmenuPopupResize: () => {\n setContextmenuPopupPos()\n },\n handleDragStart: (e: MouseEvent) => {\n if (e.target instanceof HTMLImageElement) {\n e.preventDefault()\n return false\n }\n },\n handleKeydown: (e: KeyboardEvent) => {\n emit('keydown', e)\n },\n bodyViewportStyle,\n bodyViewportRef,\n bodyContainerRef,\n rowsHeightStyle,\n showYScrollbar,\n }\n },\n})\n</script>\n\n<template>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'top'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"topSummaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :class=\"`${prefixCls}-cell-shadow-left`\" :style=\"leftShadowStyle\"></div>\n <div :class=\"`${prefixCls}-cell-shadow-right`\" :style=\"rightShadowStyle\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <div\n key=\"body\"\n ref=\"bodyRef\"\n :class=\"bodyClass\"\n :style=\"bodyStyle\"\n @dragstart=\"handleDragStart\"\n @keydown=\"handleKeydown\"\n >\n <div\n :style=\"{\n width: '100%',\n overflow: 'hidden',\n position: 'relative',\n transform: 'translateZ(0)',\n }\"\n >\n <div\n ref=\"bodyViewportRef\"\n :class=\"`${prefixCls}-body-viewport-container`\"\n :style=\"bodyViewportStyle\"\n >\n <div :style=\"rowsHeightStyle\">\n <div\n ref=\"bodyContainerRef\"\n :class=\"`${prefixCls}-body-container`\"\n :style=\"bodyContainerStyle\"\n >\n <div ref=\"leftPopupContainer\" key=\"left\" :class=\"fixLeftClass\" :style=\"leftStyle\">\n <BodyRows\n v-if=\"leftColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"left\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div\n v-if=\"summary && !summaryFixed\"\n key=\"summary\"\n :class=\"summaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div ref=\"summaryViewportRef\" :class=\"`${prefixCls}-summary-container`\">\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n </div>\n </div>\n\n <div ref=\"leftTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'left'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <div key=\"center\" :class=\"centerClass\" :style=\"centerStyle\">\n <div ref=\"centerPopupContainer\" :class=\"containerClass\" :style=\"containerStyle\">\n <BodyRows\n v-if=\"centerColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"center\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div ref=\"centerTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'center'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n </div>\n <div key=\"right\" ref=\"rightPopupContainer\" :class=\"fixRightClass\" :style=\"rightStyle\">\n <BodyRows\n v-if=\"rightColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"right\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div ref=\"rightTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize=\"true\"\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'right'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <span ref=\"dragRowPlaceholderRef\" :class=\"`${prefixCls}-drag-placeholder`\"></span>\n </div>\n </div>\n <div v-if=\"isEmpty\" key=\"empty\" :class=\"`${prefixCls}-empty-container`\">\n <div v-resize:height style=\"padding: 1px\" @resizeheight=\"handleEmptyHeight\">\n <RenderVNode :vnode=\"emptyText\"> <Empty :image=\"emptyImage\" /> </RenderVNode>\n </div>\n </div>\n </div>\n <div ref=\"measureDomRef\" :style=\"measureDomStyle\"></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-scroll-measure`\"\n :style=\"`min-width: ${bodyInnerWidth}px`\"\n @resizewidth=\"handleBodyScrollResize\"\n ></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-inner-measure`\"\n :style=\"`min-width: ${scrollX}px`\"\n @resizewidth=\"handleBodyInnerResize\"\n ></div>\n </div>\n <YScroll :style=\"`height: ${bodyHeight}px`\" />\n </div>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'bottom'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height=\"true\" @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <HorizontalScroll />\n</template>\n"],"names":["_createVNode","_withCtx","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_withDirectives","_createBlock","_resolveDynamicComponent","_createCommentVNode"],"mappings":"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"}
@@ -7,6 +7,7 @@ import { useInjectHover } from '../../hooks/useHover.mjs';
7
7
  import { useVScrollSyncInject } from '../../hooks/useVScrollSync.mjs';
8
8
  import { useHScrollSyncInject } from '../../hooks/useHScrollSync.mjs';
9
9
  import { RenderSlot, RenderVNode } from '../../utils/renderVNode.mjs';
10
+ import { useResizeObserver } from '@vueuse/core';
10
11
  import useTooltip from '../../hooks/useTooltip.mjs';
11
12
  import onClickOutside from '../../utils/onClickOutside.mjs';
12
13
  import BodyRows from './BodyRows.vue.mjs';
@@ -53,6 +54,7 @@ var _sfc_main = defineComponent({
53
54
  const tableSlotsContext = useInjectSlots();
54
55
  const dragRowPlaceholderRef = ref();
55
56
  const bodyRef = ref();
57
+ const measureDomRef = ref();
56
58
  const bodyInnerRef = ref();
57
59
  const scrollLayerRef = ref();
58
60
  const viewportRef = ref();
@@ -363,6 +365,13 @@ var _sfc_main = defineComponent({
363
365
  return summaryStyle.value;
364
366
  });
365
367
  const emptyStyle = computed(() => ({ width: `${props.bodyWidth}px` }));
368
+ useResizeObserver(measureDomRef, (entries) => {
369
+ var _a, _b;
370
+ console.log("\u{1F680} ~ useResizeObserver ~ entries:", (_a = entries[0]) == null ? void 0 : _a.contentRect);
371
+ const contentRect = (_b = entries[0]) == null ? void 0 : _b.contentRect;
372
+ emit("update:bodyWidth", contentRect == null ? void 0 : contentRect.width);
373
+ emit("update:bodyHeight", contentRect == null ? void 0 : contentRect.height);
374
+ });
366
375
  return {
367
376
  bodyContainerStyle,
368
377
  measureDomStyle: computed(() => ({
@@ -413,6 +422,7 @@ var _sfc_main = defineComponent({
413
422
  emit("update:bodyScrollWidth", e.detail.width);
414
423
  },
415
424
  bodyRef,
425
+ measureDomRef,
416
426
  bodyInnerRef,
417
427
  viewportRef,
418
428
  summaryViewportRef,