pro-design-vue 1.3.19 → 1.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +36 -27
  3. package/dist/index.full.min.js +8 -8
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +8 -8
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +36 -27
  8. package/es/components/table/src/hooks/useContainer.d.ts +2 -0
  9. package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
  10. package/es/packages/components/table/src/components/InteralTable.vue2.mjs +2 -2
  11. package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
  12. package/es/packages/components/table/src/components/Scrollbar/XScroll.mjs +10 -4
  13. package/es/packages/components/table/src/components/Scrollbar/XScroll.mjs.map +1 -1
  14. package/es/packages/components/table/src/components/Table.mjs +4 -2
  15. package/es/packages/components/table/src/components/Table.mjs.map +1 -1
  16. package/es/packages/components/table/src/hooks/useContainer.mjs +4 -0
  17. package/es/packages/components/table/src/hooks/useContainer.mjs.map +1 -1
  18. package/es/version.d.ts +1 -1
  19. package/es/version.mjs +1 -1
  20. package/es/version.mjs.map +1 -1
  21. package/lib/components/table/src/hooks/useContainer.d.ts +2 -0
  22. package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
  23. package/lib/packages/components/table/src/components/InteralTable.vue2.js +2 -2
  24. package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
  25. package/lib/packages/components/table/src/components/Scrollbar/XScroll.js +10 -4
  26. package/lib/packages/components/table/src/components/Scrollbar/XScroll.js.map +1 -1
  27. package/lib/packages/components/table/src/components/Table.js +4 -2
  28. package/lib/packages/components/table/src/components/Table.js.map +1 -1
  29. package/lib/packages/components/table/src/hooks/useContainer.js +7 -3
  30. package/lib/packages/components/table/src/hooks/useContainer.js.map +1 -1
  31. package/lib/version.d.ts +1 -1
  32. package/lib/version.js +1 -1
  33. package/lib/version.js.map +1 -1
  34. package/package.json +1 -1
  35. package/theme-chalk/index.css +1 -1
  36. package/theme-chalk/src/table/table.less +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"InteralTable.vue2.js","sources":["../../../../../../../../packages/components/table/src/components/InteralTable.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-01 09:29:27\n * @LastEditors: shen\n * @LastEditTime: 2025-11-18 17:20:06\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { WatchStopHandle } from 'vue'\nimport {\n computed,\n defineComponent,\n shallowRef,\n ref,\n watchEffect,\n inject,\n watch,\n toRaw,\n triggerRef,\n onActivated,\n isReactive,\n toRef,\n} from 'vue'\nimport { Spin, Pagination } from 'ant-design-vue'\nimport { baseTableProps } from './interface'\nimport { DOWN, LEFT, UP } from './Drag/constant'\nimport { addNestItemData, deleteNestItemData } from '../utils/util'\nimport { useEditProvider } from '../hooks/useEdit'\nimport { useProvidePopup } from './context/PopupContext'\nimport { useHScrollSyncProvide } from '../hooks/useHScrollSync'\nimport { useVScrollSyncProvide } from '../hooks/useVScrollSync'\nimport { useProvideTable } from './context/TableContext'\nimport { useProvideRangeStore } from '../hooks/useRangeStore'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { resize } from '@pro-design-vue/directives'\nimport { omit, debounce, isPromise } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\nimport { useInjectContainer } from '../hooks/useContainer'\nimport useKVMap from '../hooks/useKVMap'\nimport useLicense from '../hooks/useLicense'\nimport devWarning from '../utils/devWarning'\nimport eagerComputed from '../utils/eagerComputed'\nimport getScrollBarSize from '../utils/getScrollBarSize'\nimport useColumns from '../hooks/useColumns'\nimport useSorter from '../hooks/useSorter'\nimport useFilter from '../hooks/useFilter'\nimport useCal from '../hooks/useCal'\nimport useFlattenRecords from '../hooks/useFlattenRecords'\nimport useSelection from '../hooks/useRowSelection'\nimport usePagination, { getPaginationParam } from '../hooks/usePagination'\nimport raf from '../utils/raf'\nimport easeoutScroll from '../utils/easeoutScroll'\nimport useData from '../hooks/useData'\nimport supportSticky from '../utils/supportSticky'\nimport classNames from '../utils/classNames'\nimport useCellProps from '../hooks/useCellProps'\nimport KeyCode from '../utils/KeyCode'\nimport TableSlotsContextProvider from './context/TableSlotsContext'\nimport MeasureWidth from './MeasureWidth.vue'\nimport PopupContainer from './PopupContainer.vue'\nimport AutoHeightHeader from './AutoHeightHeader/Header.vue'\nimport Header from './Header/Header.vue'\nimport Body from './Body/Body.vue'\nimport XScroll from './Scrollbar/XScroll'\n\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n GetRowKey,\n Key,\n SorterResult,\n TableLocale,\n ColumnType,\n ResizeActionType,\n DragRowEventInfo,\n DragColumnEventInfo,\n DefaultRecordType,\n TableAction,\n} from './interface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { RangeCell } from '../hooks/RangeInterface'\nimport type { SortState } from '../hooks/useSorter'\nimport type { FilterState } from '../hooks/useFilter'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport type FilterValue = (Key | boolean)[]\nexport interface ChangeEventInfo<RecordType> {\n pagination: {\n current?: number\n pageSize?: number\n total?: number\n }\n filters: Record<string, FilterValue | null>\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[]\n filterStates: FilterState<RecordType>[]\n sorterStates: SortState<RecordType>[]\n currentDataSource: RecordType[]\n action: TableAction\n}\nconst EMPTY_LIST: any[] = []\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n directives: { resize },\n components: {\n TableSlotsContextProvider,\n Spin,\n MeasureWidth,\n Pagination,\n PopupContainer,\n AutoHeightHeader,\n ProHeader: Header,\n ProBody: Body,\n HorizontalScroll: XScroll,\n },\n props: baseTableProps(),\n emits: [\n 'update:pagination',\n 'scroll',\n 'update:selectedRowKeys',\n 'update:expandedRowKeys',\n 'update:columns',\n 'update:sorter',\n 'update:filters',\n 'expand',\n 'expandedRowsChange',\n 'resizeColumn',\n 'update:dataSource',\n 'cellKeydown',\n ],\n slots: {} as CustomSlotsType<ContextSlots>,\n setup(props, { expose, emit, slots }) {\n const { table } = useProConfigInject()\n const counter = useInjectContainer()\n const rowKey = computed(() => props.rowKey ?? table?.value?.rowKey ?? 'id')\n const popupContainer = shallowRef<any>(null)\n const customUiCls = usePrefixCls('custom-ui')\n const { editCellKeys, openEditor, closeEditor } = useEditProvider()\n\n useProvidePopup()\n\n const getPopupContainer = computed(() => props.getPopupContainer!)\n const { status, watermarkMsg } = useLicense()\n\n const dragRowsHandle = new Map<Key, Set<HTMLSpanElement>>()\n const draggingRowKey = ref<Key | null>(null)\n const insertToRowKey = ref<Key | null>(null)\n const dragColumnsHandle = new Map<Key, Set<HTMLDivElement>>()\n const draggingColumnKey = ref<Key>('')\n const latestRangeStartCell = shallowRef<RangeCell | null>(null)\n const mergedSummaryFixed = computed(() =>\n props.summaryFixed === true || props.summaryFixed === ('' as any)\n ? 'bottom'\n : (props.summaryFixed ?? table?.value?.summaryFixed ?? false),\n )\n const realHeaderHeight = ref(0)\n\n watchEffect(() => {\n devWarning(\n !(typeof rowKey.value == 'function' && rowKey.value.length > 1),\n 'table',\n '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.',\n )\n })\n\n const localeData: any = inject('localeData', {\n antLocale: {\n Table: {\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n },\n },\n })\n\n const locale = computed<TableLocale>(() => {\n const antLocale = localeData?.antLocale || {}\n return {\n ...(antLocale.locale === DEFAULT_LOCALE.toLocaleLowerCase()\n ? {\n triggerDesc: '\\u70B9\\u51FB\\u964D\\u5E8F',\n triggerAsc: '\\u70B9\\u51FB\\u5347\\u5E8F',\n cancelSort: '\\u53D6\\u6D88\\u6392\\u5E8F',\n }\n : {}),\n ...(antLocale.Table || {}),\n ...(props.locale || {}),\n }\n })\n\n const scrollTop = ref(0)\n const scrollLeft = ref(0)\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\n const rootRef = ref<HTMLDivElement>()\n const paginationRef = ref<HTMLDivElement>()\n const measureWidthRef = shallowRef<HTMLDivElement>()\n\n const mergedScrollX = eagerComputed(() => props.scrollX ?? props.scroll?.x)\n const mergedScrollY = eagerComputed(() => props.scroll?.y ?? props.height ?? props.maxHeight)\n const bodyScrollWidth = ref(typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0)\n\n watch(mergedScrollX, () => {\n bodyScrollWidth.value = typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0\n })\n\n const virtual = eagerComputed<boolean>(() => !(props.virtual === false || !mergedScrollY.value))\n const xVirtual = eagerComputed<boolean>(\n () => props.xVirtual || (props.virtual !== false && props.xVirtual !== false),\n )\n\n const getRowKey = computed<GetRowKey>(() =>\n typeof rowKey.value == 'function'\n ? rowKey.value\n : (record: Record<string, any>) => {\n return record?.[rowKey.value as string]\n },\n )\n\n const rawData = shallowRef<DefaultRecordType[]>([])\n const rawColumns = shallowRef<ColumnType[]>([])\n\n let dataSourceWatchStopHandle: WatchStopHandle\n let columnsWatchStopHandle: WatchStopHandle\n watch(\n () => props.deepWatchDataSource,\n () => {\n dataSourceWatchStopHandle && dataSourceWatchStopHandle()\n dataSourceWatchStopHandle = watch(\n () => props.dataSource,\n () => {\n rawData.value = toRaw(props.dataSource) || EMPTY_LIST\n triggerRef(rawData)\n },\n { immediate: true, deep: !!props.deepWatchDataSource },\n )\n },\n { immediate: true, deep: true },\n )\n\n watch(\n () => props.deepWatchColumns,\n () => {\n columnsWatchStopHandle && columnsWatchStopHandle()\n columnsWatchStopHandle = watch(\n () => props.columns,\n () => {\n rawColumns.value = toRaw(props.columns) || EMPTY_LIST\n triggerRef(rawColumns)\n },\n { immediate: true, deep: true },\n )\n },\n { immediate: true, deep: !!props.deepWatchColumns },\n )\n\n const childrenColumnName = computed(\n () => props.childrenColumnName ?? table?.value?.childrenColumnName ?? 'children',\n )\n\n const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } =\n useKVMap(rawData, childrenColumnName, getRowKey)\n\n const defaultExpandedRowKeys = shallowRef<Key[]>([])\n watchEffect(() => {\n props.defaultExpandedRowKeys && (defaultExpandedRowKeys.value = props.defaultExpandedRowKeys)\n props.defaultExpandAllRows && (defaultExpandedRowKeys.value = allDataRowKeys.value)\n })\n\n const mergedRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true } = rowSelection\n return { ...rowSelection, checkStrictly }\n })\n\n const expandedRowKeys = computed(\n () => new Set(props.expandedRowKeys || defaultExpandedRowKeys.value || []),\n )\n\n const spinProps = computed<SpinProps>(() => {\n if (typeof props.loading === 'boolean') {\n return { spinning: props.loading }\n } else if (typeof props.loading === 'object') {\n return { spinning: true, ...props.loading }\n } else {\n return { spinning: false }\n }\n })\n\n onActivated(() => {\n scrollTo({ left: 0, top: 0 })\n })\n\n let triggerOnChange: any = () => {}\n\n const scrollBarSize = shallowRef(getScrollBarSize())\n const baseHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const expandedRowRender = computed(() => props.expandedRowRender)\n const expandType = eagerComputed(() =>\n rawData.value.some((column) => column?.[childrenColumnName.value]?.length)\n ? 'nest'\n : expandedRowRender.value\n ? 'row'\n : null,\n )\n const expandable = eagerComputed(() => !!props.expandedRowRender)\n\n const columns = useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandable,\n expandType,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n })\n\n const { sortedData, sorterStates, sorter, changeSorter } = useSorter(\n props,\n rawData,\n columns.allColumns,\n (sorter, sorterStates) => {\n scrollTop.value > bodyHeight.value && updateAnimate()\n triggerOnChange({ sorter, sorterStates }, 'sort', false)\n },\n )\n\n const { filterData, filterStates, filters, changeFilter } = useFilter(\n props,\n sortedData,\n columns.allColumns,\n (filters, filterStates) => {\n triggerOnChange({ filters, filterStates }, 'filter', true)\n },\n )\n\n const total = eagerComputed(() => filterData.value.length)\n const paginationParam = computed(() => {\n if (props.pagination === false) {\n return {}\n }\n return getPaginationParam(props.pagination, mergedPagination.value)\n })\n\n const triggeronPaginationChange = (current: number, pageSize: number) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n props['onUpdate:pagination'] &&\n emit(\n 'update:pagination',\n isReactive(props.pagination)\n ? Object.assign(props.pagination || {}, pagination)\n : pagination,\n )\n }\n\n const {\n mergedPagination,\n pos,\n refreshPagination,\n onChange: onPaginationChange,\n onShowSizeChange,\n pageData,\n } = usePagination(total, props, filterData, (current, pageSize) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n triggeronPaginationChange(current, pageSize)\n updateAnimate()\n triggerOnChange({ pagination }, 'paginate')\n })\n\n const {\n flattenData,\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n getRowFlattenIndexByKey,\n isMyChildren,\n getRowByFlattenIndex,\n } = useFlattenRecords(\n pageData,\n childrenColumnName,\n expandedRowKeys,\n getRowKey,\n expandType,\n mergedRowSelection,\n )\n\n const cal = useCal(props, flattenData, bodyHeight, scrollTop, virtual, keyEntities)\n\n const { rowPosition, viewportHeight, startIndex, endIndex } = cal\n const { leftWidth, rightWidth, centerWidth, bodyMaxWidth } = columns\n\n const selection = useSelection(props, mergedRowSelection, rawData, {\n prefixCls: computed(() => props.prefixCls!),\n pageData,\n getRowKey,\n getRecordByKey,\n childrenColumnName,\n locale,\n flattenData,\n keyEntities,\n checkboxPropsMap,\n allDataRowKeys,\n allDataRootRowKeys,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n })\n\n const bodyRef = ref<HTMLDivElement>()\n let leftRaf: any, topRaf: any\n\n const scrollTo = (options: any = {}, type = 'auto', isAnimate = false) => {\n if (!isAnimate) {\n updateAnimate()\n }\n const mergeOptions = typeof options == 'number' ? { top: options } : options\n let left, top\n if ('left' in mergeOptions) {\n left = mergeOptions.left || 0\n } else if ('columnIndex' in mergeOptions) {\n const position = columns.getColumnPosition(mergeOptions.columnIndex!)\n if (position) {\n left = position.left - leftWidth.value\n }\n } else if ('columnKey' in mergeOptions) {\n const position = columns.getColumnPositionByKey(mergeOptions.columnKey!)\n if (position) {\n left = position.left - leftWidth.value\n }\n }\n if ('top' in mergeOptions) {\n top = Math.min(Math.max(mergeOptions.top || 0, 0), maxScrollTop.value)\n } else if ('rowKey' in mergeOptions) {\n const pos = cal.getRowPositionByKey(mergeOptions.rowKey!)\n if (pos) {\n top = pos\n }\n }\n\n left = Math.max(Math.min(maxScrollLeft.value, left || 0), 0)\n if (!showVerticalScrollbar.value) {\n top = 0\n }\n if (type === 'smooth') {\n if (left !== undefined) {\n raf.cancel(leftRaf)\n leftRaf = easeoutScroll(scrollLeft.value, left, (val: number) => {\n scrollLeft.value = val\n })\n }\n if (top !== undefined) {\n raf.cancel(topRaf)\n topRaf = easeoutScroll(scrollTop.value, top, (val: number) => {\n scrollTop.value = val\n })\n }\n } else {\n if (left !== undefined) {\n scrollLeft.value = left\n }\n if (top !== undefined) {\n scrollTop.value = top\n }\n }\n }\n\n const useAnimate = ref(false)\n const animateRows = computed(() => {\n return !!(props.animateRows ?? table?.value?.animateRows)\n })\n\n let timer: any\n watch(\n animateRows,\n (newVal) => {\n useAnimate.value = newVal\n },\n { immediate: true },\n )\n\n const updateAnimate = () => {\n useAnimate.value = false\n clearTimeout(timer)\n timer = setTimeout(() => {\n useAnimate.value = animateRows.value\n }, 100)\n }\n\n const maxScrollLeft = computed(() => bodyMaxWidth.value - bodyWidth.value)\n const maxScrollTop = computed(() => viewportHeight.value - bodyHeight.value)\n const onScroll = (e) => {\n emit('scroll', e)\n }\n\n useHScrollSyncProvide({ scrollLeft, maxScrollLeft, onScroll, bodyWidth })\n useVScrollSyncProvide({ scrollTop, maxScrollTop, onScroll, updateAnimate, bodyWidth })\n\n const { data, pos: dataRowPosition } = useData(\n props,\n rowPosition,\n flattenData,\n startIndex,\n endIndex,\n draggingRowKey,\n useAnimate,\n getRowFlattenIndexByKey,\n latestRangeStartCell,\n )\n\n const pingedLeft = ref(false)\n const pingedRight = ref(false)\n const noPinged = ref(false)\n\n watchEffect(() => {\n pingedLeft.value = supportSticky && !!scrollLeft.value\n pingedRight.value =\n supportSticky &&\n centerWidth.value - (bodyWidth.value - leftWidth.value - rightWidth.value) >\n scrollLeft.value\n noPinged.value = !pingedLeft.value && !pingedRight.value\n })\n\n const rootClass = computed(() =>\n classNames({\n [`${props.prefixCls}`]: true,\n [`${props.prefixCls}-support-sticky`]: supportSticky,\n [`${props.prefixCls}-stripe`]: props.stripe,\n [`${props.prefixCls}-bordered`]: props.bordered ?? table?.value?.bordered,\n [`${props.prefixCls}-${props.size}`]: true,\n [`${props.prefixCls}-ping-left`]: pingedLeft.value,\n [`${props.prefixCls}-ping-right`]: pingedRight.value,\n [`${props.prefixCls}-no-ping`]: noPinged.value,\n [`${props.prefixCls}-has-animate`]: animateRows.value,\n }),\n )\n const rootStyle = computed(() => ({\n height: typeof props.height == 'number' ? `${props.height}px` : props.height,\n maxHeight: typeof props.maxHeight == 'number' ? `${props.maxHeight}px` : props.maxHeight,\n minHeight: typeof props.minHeight == 'number' ? `${props.minHeight}px` : props.minHeight,\n }))\n\n const showHorizontalScrollbar = ref(false)\n const debounceFn = debounce(() => {\n showHorizontalScrollbar.value = bodyMaxWidth.value > bodyWidth.value\n if (bodyWidth.value > bodyScrollWidth.value) {\n bodyScrollWidth.value = bodyWidth.value\n }\n }, 100)\n\n watch([bodyMaxWidth, bodyWidth], () => {\n debounceFn()\n })\n\n const showVerticalScrollbar = eagerComputed(\n () => !!mergedScrollY.value && bodyHeight.value + 0.9 < viewportHeight.value,\n )\n const scrollToFirstRow = eagerComputed(\n () => !props.scroll || (props.scroll && props.scroll.scrollToFirstRowOnChange !== false),\n )\n\n triggerOnChange = (\n info: Partial<ChangeEventInfo<DefaultRecordType>>,\n action: TableAction,\n reset = false,\n ) => {\n if (reset) {\n refreshPagination()\n triggeronPaginationChange(1, mergedPagination.value.pageSize!)\n if (props.pagination) {\n props.pagination.onChange?.(1, mergedPagination.value.pageSize)\n }\n }\n if (scrollToFirstRow.value) {\n scrollTop.value = 0\n }\n props.onChange?.(\n info.pagination || mergedPagination.value,\n info.filters || filters.value,\n info.sorter || sorter.value,\n {\n currentDataSource: info.currentDataSource || filterData.value,\n action,\n },\n )\n }\n\n const paginationProps = computed(() => {\n return omit(mergedPagination.value, [\n 'position',\n 'onChange',\n 'onShowSizeChange',\n 'fieldNames',\n ])\n })\n\n const paginationClass = computed(() => {\n return {\n [`${props.prefixCls}-pagination`]: true,\n [`${props.prefixCls}-pagination-${pos.value.bottom}`]: true,\n [`${customUiCls}`]: true,\n }\n })\n const bottomPaginationHeight = ref(0)\n const bottomPaginationStyle = computed<any>(() => {\n if (!props.paginationSticky) {\n return {}\n }\n if (props.paginationSticky === true) {\n return { position: 'sticky', 'z-index': 9, bottom: '0px' }\n }\n return {\n position: 'sticky',\n 'z-index': 9,\n bottom: counter.hasFullScreen.value\n ? '0px'\n : `${props.paginationSticky?.offsetBottom ?? 0}px`,\n }\n })\n\n const indentSize = computed(() => (typeof props.indentSize == 'number' ? props.indentSize : 15))\n\n const cellProps = useCellProps({\n leftColumns: columns.leftColumns,\n rightColumns: columns.rightColumns,\n visibleCenterColumns: columns.visibleCenterColumns,\n allColumns: columns.allColumns,\n data,\n mergedRowHeights: cal.mergedRowHeights,\n startIndex,\n getColumnPosition: columns.getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight: cal.getRowHeight,\n customCell: toRef(props, 'customCell'),\n })\n\n watch(\n [realHeaderHeight, scrollLeft],\n () => {\n popupContainer.value?.alignPopup?.()\n },\n { flush: 'post' },\n )\n\n useProvideTable({\n ...cal,\n ...columns,\n ...cellProps,\n rootRef,\n rawData,\n getRowFlattenIndexByKey,\n prefixCls: computed(() => props.prefixCls!),\n draggingRowKey,\n insertToRowKey,\n status,\n useAnimate,\n animateRows,\n watermarkMsg,\n onResizeColumn: (w: number, col: ColumnType, action: ResizeActionType) => {\n const width = col.width\n const result = props.onResizeColumn?.(w, col, action)\n if (result !== false) {\n if (!(width === w && col.width === w)) {\n col.width = width !== col.width ? col.width : w\n triggerRef(rawColumns)\n }\n if (action === 'end') {\n emit('update:columns', rawColumns.value, 'resize')\n }\n }\n },\n onRowDragEnd: (opt: DragRowEventInfo) => {\n const { insertToRowKey, record, fromIndexs, rowKey, dir, preTargetInfo, nextTargetInfo } =\n opt\n const rawRecord = toRaw(record)\n const dragEnd = props.onRowDragEnd?.({ ...opt, record: rawRecord, fromIndexs })\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (!isMyChildren(rowKey, preTargetInfo?.rowKey as Key) && insertToRowKey !== rowKey) {\n if (insertToRowKey !== null) {\n const parentRecord = getRecordByKey(insertToRowKey)\n if (\n insertToRowKey === preTargetInfo?.rowKey ||\n insertToRowKey === nextTargetInfo?.rowKey\n ) {\n if (dir === DOWN) {\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n } else {\n if (dir === DOWN) {\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n } else {\n if (dir === DOWN && preTargetInfo) {\n addNestItemData(\n rawData.value,\n [preTargetInfo.indexs[0]!],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else if (dir === UP && nextTargetInfo) {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs ? [preTargetInfo!.indexs[0]!] : [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n triggerRef(rawData)\n emit('update:dataSource', rawData.value)\n }\n }\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n virtual,\n xVirtual,\n dataRowPosition,\n rawColumns,\n bodyHeight,\n scrollTop,\n scrollLeft,\n supportSticky,\n childrenColumnName,\n bodyScrollWidth,\n baseHeight,\n startIndex,\n data,\n pageData,\n getRecordByKey,\n getIndexsByKey,\n expandType,\n flattenData,\n expandedRowKeys,\n indentSize,\n props,\n bodyWidth,\n scrollTo,\n scrollBarSize,\n leftWidth,\n rightWidth,\n centerWidth,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getRowKey,\n selection,\n updateSelectedRowKeys: (keys: Key[]) => {\n emit('update:selectedRowKeys', keys)\n },\n locale,\n sorterStates,\n changeSorter,\n changeFilter,\n filterStates,\n onTriggerExpand: (record, key: Key) => {\n let keys: Key[]\n const hasKey = expandedRowKeys.value.has(key)\n if (hasKey) {\n expandedRowKeys.value.delete(key)\n keys = [...expandedRowKeys.value]\n } else {\n keys = [...expandedRowKeys.value, key]\n }\n defaultExpandedRowKeys.value = keys\n emit('update:expandedRowKeys', keys)\n emit('expand', !hasKey, record)\n emit('expandedRowsChange', keys)\n },\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n mergedRowSelection,\n getPopupContainer,\n allDataRowKeys,\n allDataRootRowKeys,\n dragRowsHandle,\n isMyChildren,\n getKeyByIndexs,\n getRowByFlattenIndex,\n draggingColumnKey,\n dragColumnsHandle,\n onColumnDragEnd: (arg: DragColumnEventInfo) => {\n const { dir, column, targetColumn } = arg\n const dragEnd = props.onColumnDragEnd?.(arg)\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (column === targetColumn || column.key === targetColumn.key) return\n const index = rawColumns.value.findIndex(\n (col) => col === column || col.key === column.key,\n )\n const targetIndex = rawColumns.value.findIndex(\n (col) => col === targetColumn || col.key === targetColumn.key,\n )\n if (dir === LEFT) {\n rawColumns.value.splice(index, 1)\n rawColumns.value.splice(targetIndex, 0, column)\n } else {\n rawColumns.value.splice(targetIndex + 1, 0, column)\n rawColumns.value.splice(index, 1)\n }\n triggerRef(rawColumns)\n emit('update:columns', rawColumns.value, 'drag')\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n onColumnDrag: () => {},\n columnDrag: computed(() => props.columnDrag),\n summaryFixed: mergedSummaryFixed,\n realHeaderHeight,\n bottomPaginationHeight,\n pos,\n })\n\n const tabGuardTopRef = ref()\n const tabGuardBottomRef = ref()\n\n const {\n navigationService,\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n onBodyKeydown,\n } = useProvideRangeStore({\n allColumns: columns.allColumns,\n flattenData,\n rangeSelection: computed(() => props.rangeSelection),\n getRowByFlattenIndex,\n rootRef,\n prefixCls: computed(() => props.prefixCls!),\n allCellProps: cellProps.allCellProps,\n tabGuardTopRef,\n tabGuardBottomRef,\n ensureCellColumnVisible: (cell: RangeCell) => {\n if (!cell.column || cell.column.fixed) return\n const sl = scrollLeft.value\n const pos = columns.getColumnPositionByKey(cell.column.columnKey)\n if (pos) {\n const { width, left } = pos\n const lw = leftWidth.value\n const rw = rightWidth.value\n left - lw < sl\n ? (scrollLeft.value = left - lw)\n : left + width > sl + bodyWidth.value - rw &&\n (scrollLeft.value = left + width - bodyWidth.value + rw)\n }\n },\n ensureCellRowVisible: (cell: RangeCell) => {\n const { rowIndex } = cell\n const st = scrollTop.value\n const row = getRowByFlattenIndex(rowIndex)\n const pos = cal.getRowPositionByKey(row.rowKey)\n const cprops =\n (cellProps.allCellProps.value[row.rowKey]?.[cell.column!.columnKey] || {}).props || {}\n const height = cal.getRowHeight(rowIndex, cprops.rowSpan)\n if (pos !== undefined) {\n updateAnimate()\n if (pos < st) {\n scrollTop.value = pos\n } else {\n if (pos + height > st + bodyHeight.value) {\n scrollTop.value = pos + height - bodyHeight.value\n }\n }\n }\n },\n latestRangeStartCell,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n scrollLeft,\n scrollTop,\n scrollTo,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getIndexsByKey,\n formatRangeCellText: (parmas) => {\n if (props.formatRangeCellText) {\n return props.formatRangeCellText(parmas)\n } else if (parmas.value) {\n return parmas.value\n }\n return ''\n },\n editCellKeys,\n copyDelimiter: computed(() => props.copyDelimiter),\n })\n\n expose({\n scrollTo,\n scrollLeft,\n scrollTop,\n rootRef,\n paginationRef,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n openEditor: (cellInfos: any[]) => {\n openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n },\n closeEditor: (cellInfos: any[]) => {\n if (cellInfos) {\n closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n } else {\n closeEditor()\n }\n },\n })\n\n return {\n bodyRef,\n spinProps,\n rowPosition,\n viewportHeight,\n startIndex,\n data,\n watermarkMsg,\n rootStyle,\n rootClass,\n onBodyKeydown,\n watermarkStyle: computed<any>(() => ({\n minWidth: '100px!important',\n minHeight: '40px!important',\n position: 'absolute!important',\n fontSize: '20px!important',\n opacity: '0.8!important',\n bottom: '40px!important',\n right: '40px!important',\n pointerEvents: 'none',\n display: 'block!important',\n zIndex: '999999!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n })),\n mergedPagination,\n pos,\n onPaginationChange,\n scrollBarSize,\n scrollTop,\n bodyScrollWidth,\n bodyWidth,\n scrollLeft,\n cal,\n selection,\n locale,\n paginationProps,\n slots,\n mergedScrollX,\n mergedScrollY,\n bodyHeight,\n measureWidthRef,\n flattenData,\n rootRef,\n paginationRef,\n mergedSummaryFixed,\n handleResize: (e: CustomEvent) => {\n realHeaderHeight.value = e.detail.height\n },\n handlePaginationResize: (e: CustomEvent) => {\n bottomPaginationHeight.value = e.detail.height\n },\n popupContainer,\n handleGuardTopKeydown: (e: KeyboardEvent) => {\n e.keyCode !== KeyCode.TAB ||\n e.shiftKey ||\n (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault())\n },\n handleGuardBottomKeydown: (e: KeyboardEvent) => {\n e.keyCode === KeyCode.TAB &&\n e.shiftKey &&\n (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault())\n },\n tabGuardTopRef,\n tabGuardBottomRef,\n onShowSizeChange,\n customUiCls,\n paginationClass,\n bottomPaginationStyle,\n }\n },\n})\n</script>\n\n<template>\n <TableSlotsContextProvider :value=\"{ ...slots }\">\n <Spin v-bind=\"spinProps\">\n <Pagination\n v-if=\"pos.top\"\n :class=\"`${prefixCls}-pagination ${prefixCls}-pagination-${pos.top} ${customUiCls}`\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n <div\n ref=\"tabGuardTopRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardTopKeydown\"\n ></div>\n <div key=\"content\" ref=\"rootRef\" :class=\"rootClass\" :style=\"rootStyle\">\n <template v-if=\"showHeader\">\n <AutoHeightHeader\n v-if=\"autoHeaderHeight\"\n :prefix-cls=\"prefixCls\"\n :sticky=\"sticky\"\n @resizeheight=\"handleResize\"\n />\n <ProHeader v-else :prefix-cls=\"prefixCls\" :sticky=\"sticky\" @resizeheight=\"handleResize\" />\n </template>\n <ProBody\n ref=\"bodyRef\"\n v-model:bodyScrollWidth=\"bodyScrollWidth\"\n v-model:bodyWidth=\"bodyWidth\"\n v-model:bodyHeight=\"bodyHeight\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n :scroll-x=\"mergedScrollX\"\n :height=\"mergedScrollY\"\n :summary-fixed=\"mergedSummaryFixed\"\n :summary=\"$slots.summary\"\n :empty-text=\"$slots.emptyText\"\n @keydown=\"onBodyKeydown\"\n />\n </div>\n <HorizontalScroll />\n <div\n ref=\"tabGuardBottomRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardBottomKeydown\"\n ></div>\n <div v-if=\"$slots.footer\" key=\"footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <PopupContainer ref=\"popupContainer\" :prefix-cls=\"prefixCls\" />\n <div\n v-if=\"pos.bottom\"\n v-resize:height\n ref=\"paginationRef\"\n :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap ${prefixCls}-pagination-wrap-${size}`\"\n @resizeheight=\"handlePaginationResize\"\n >\n <Pagination\n :class=\"paginationClass\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n </div>\n </Spin>\n <MeasureWidth ref=\"measureWidthRef\" />\n </TableSlotsContextProvider>\n</template>\n"],"names":["defineComponent","resize","TableSlotsContextProvider","Spin","MeasureWidth","Pagination","PopupContainer","AutoHeightHeader","Header","Body","XScroll","baseTableProps","useProConfigInject","useInjectContainer","computed","shallowRef","usePrefixCls","useEditProvider","useProvidePopup","useLicense","ref","watchEffect","devWarning","inject","DEFAULT_LOCALE","eagerComputed","watch","toRaw","triggerRef","useKVMap","onActivated","getScrollBarSize","useColumns","useSorter","sorter","sorterStates","useFilter","filters","filterStates","getPaginationParam","isReactive","usePagination","useFlattenRecords","useCal","useSelection","pos","raf","easeoutScroll","useHScrollSyncProvide","useVScrollSyncProvide","useData","supportSticky","classNames","debounce","omit","useCellProps","toRef","useProvideTable","insertToRowKey","rowKey","DOWN","addNestItemData","deleteNestItemData","UP","isPromise","LEFT","useProvideRangeStore","KeyCode"],"mappings":"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"}
1
+ {"version":3,"file":"InteralTable.vue2.js","sources":["../../../../../../../../packages/components/table/src/components/InteralTable.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-01 09:29:27\n * @LastEditors: shen\n * @LastEditTime: 2025-11-26 10:59:54\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { WatchStopHandle } from 'vue'\nimport {\n computed,\n defineComponent,\n shallowRef,\n ref,\n watchEffect,\n inject,\n watch,\n toRaw,\n triggerRef,\n onActivated,\n isReactive,\n toRef,\n} from 'vue'\nimport { Spin, Pagination } from 'ant-design-vue'\nimport { baseTableProps } from './interface'\nimport { DOWN, LEFT, UP } from './Drag/constant'\nimport { addNestItemData, deleteNestItemData } from '../utils/util'\nimport { useEditProvider } from '../hooks/useEdit'\nimport { useProvidePopup } from './context/PopupContext'\nimport { useHScrollSyncProvide } from '../hooks/useHScrollSync'\nimport { useVScrollSyncProvide } from '../hooks/useVScrollSync'\nimport { useProvideTable } from './context/TableContext'\nimport { useProvideRangeStore } from '../hooks/useRangeStore'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { resize } from '@pro-design-vue/directives'\nimport { omit, debounce, isPromise } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\nimport { useInjectContainer } from '../hooks/useContainer'\nimport useKVMap from '../hooks/useKVMap'\nimport useLicense from '../hooks/useLicense'\nimport devWarning from '../utils/devWarning'\nimport eagerComputed from '../utils/eagerComputed'\nimport getScrollBarSize from '../utils/getScrollBarSize'\nimport useColumns from '../hooks/useColumns'\nimport useSorter from '../hooks/useSorter'\nimport useFilter from '../hooks/useFilter'\nimport useCal from '../hooks/useCal'\nimport useFlattenRecords from '../hooks/useFlattenRecords'\nimport useSelection from '../hooks/useRowSelection'\nimport usePagination, { getPaginationParam } from '../hooks/usePagination'\nimport raf from '../utils/raf'\nimport easeoutScroll from '../utils/easeoutScroll'\nimport useData from '../hooks/useData'\nimport supportSticky from '../utils/supportSticky'\nimport classNames from '../utils/classNames'\nimport useCellProps from '../hooks/useCellProps'\nimport KeyCode from '../utils/KeyCode'\nimport TableSlotsContextProvider from './context/TableSlotsContext'\nimport MeasureWidth from './MeasureWidth.vue'\nimport PopupContainer from './PopupContainer.vue'\nimport AutoHeightHeader from './AutoHeightHeader/Header.vue'\nimport Header from './Header/Header.vue'\nimport Body from './Body/Body.vue'\nimport XScroll from './Scrollbar/XScroll'\n\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n GetRowKey,\n Key,\n SorterResult,\n TableLocale,\n ColumnType,\n ResizeActionType,\n DragRowEventInfo,\n DragColumnEventInfo,\n DefaultRecordType,\n TableAction,\n} from './interface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { RangeCell } from '../hooks/RangeInterface'\nimport type { SortState } from '../hooks/useSorter'\nimport type { FilterState } from '../hooks/useFilter'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport type FilterValue = (Key | boolean)[]\nexport interface ChangeEventInfo<RecordType> {\n pagination: {\n current?: number\n pageSize?: number\n total?: number\n }\n filters: Record<string, FilterValue | null>\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[]\n filterStates: FilterState<RecordType>[]\n sorterStates: SortState<RecordType>[]\n currentDataSource: RecordType[]\n action: TableAction\n}\nconst EMPTY_LIST: any[] = []\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n directives: { resize },\n components: {\n TableSlotsContextProvider,\n Spin,\n MeasureWidth,\n Pagination,\n PopupContainer,\n AutoHeightHeader,\n ProHeader: Header,\n ProBody: Body,\n HorizontalScroll: XScroll,\n },\n props: baseTableProps(),\n emits: [\n 'update:pagination',\n 'scroll',\n 'update:selectedRowKeys',\n 'update:expandedRowKeys',\n 'update:columns',\n 'update:sorter',\n 'update:filters',\n 'expand',\n 'expandedRowsChange',\n 'resizeColumn',\n 'update:dataSource',\n 'cellKeydown',\n ],\n slots: {} as CustomSlotsType<ContextSlots>,\n setup(props, { expose, emit, slots }) {\n const { table } = useProConfigInject()\n const counter = useInjectContainer()\n const rowKey = computed(() => props.rowKey ?? table?.value?.rowKey ?? 'id')\n const popupContainer = shallowRef<any>(null)\n const customUiCls = usePrefixCls('custom-ui')\n const { editCellKeys, openEditor, closeEditor } = useEditProvider()\n\n useProvidePopup()\n\n const getPopupContainer = computed(() => props.getPopupContainer!)\n const { status, watermarkMsg } = useLicense()\n\n const dragRowsHandle = new Map<Key, Set<HTMLSpanElement>>()\n const draggingRowKey = ref<Key | null>(null)\n const insertToRowKey = ref<Key | null>(null)\n const dragColumnsHandle = new Map<Key, Set<HTMLDivElement>>()\n const draggingColumnKey = ref<Key>('')\n const latestRangeStartCell = shallowRef<RangeCell | null>(null)\n const mergedSummaryFixed = computed(() =>\n props.summaryFixed === true || props.summaryFixed === ('' as any)\n ? 'bottom'\n : (props.summaryFixed ?? table?.value?.summaryFixed ?? false),\n )\n const realHeaderHeight = ref(0)\n\n watchEffect(() => {\n devWarning(\n !(typeof rowKey.value == 'function' && rowKey.value.length > 1),\n 'table',\n '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.',\n )\n })\n\n const localeData: any = inject('localeData', {\n antLocale: {\n Table: {\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n },\n },\n })\n\n const locale = computed<TableLocale>(() => {\n const antLocale = localeData?.antLocale || {}\n return {\n ...(antLocale.locale === DEFAULT_LOCALE.toLocaleLowerCase()\n ? {\n triggerDesc: '\\u70B9\\u51FB\\u964D\\u5E8F',\n triggerAsc: '\\u70B9\\u51FB\\u5347\\u5E8F',\n cancelSort: '\\u53D6\\u6D88\\u6392\\u5E8F',\n }\n : {}),\n ...(antLocale.Table || {}),\n ...(props.locale || {}),\n }\n })\n\n const scrollTop = ref(0)\n const scrollLeft = ref(0)\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\n const rootRef = ref<HTMLDivElement>()\n const paginationRef = ref<HTMLDivElement>()\n const measureWidthRef = shallowRef<HTMLDivElement>()\n\n const mergedScrollX = eagerComputed(() => props.scrollX ?? props.scroll?.x)\n const mergedScrollY = eagerComputed(() => props.scroll?.y ?? props.height ?? props.maxHeight)\n const bodyScrollWidth = ref(typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0)\n\n watch(mergedScrollX, () => {\n bodyScrollWidth.value = typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0\n })\n\n const virtual = eagerComputed<boolean>(() => !(props.virtual === false || !mergedScrollY.value))\n const xVirtual = eagerComputed<boolean>(\n () => props.xVirtual || (props.virtual !== false && props.xVirtual !== false),\n )\n\n const getRowKey = computed<GetRowKey>(() =>\n typeof rowKey.value == 'function'\n ? rowKey.value\n : (record: Record<string, any>) => {\n return record?.[rowKey.value as string]\n },\n )\n\n const rawData = shallowRef<DefaultRecordType[]>([])\n const rawColumns = shallowRef<ColumnType[]>([])\n\n let dataSourceWatchStopHandle: WatchStopHandle\n let columnsWatchStopHandle: WatchStopHandle\n watch(\n () => props.deepWatchDataSource,\n () => {\n dataSourceWatchStopHandle && dataSourceWatchStopHandle()\n dataSourceWatchStopHandle = watch(\n () => props.dataSource,\n () => {\n rawData.value = toRaw(props.dataSource) || EMPTY_LIST\n triggerRef(rawData)\n },\n { immediate: true, deep: !!props.deepWatchDataSource },\n )\n },\n { immediate: true, deep: true },\n )\n\n watch(\n () => props.deepWatchColumns,\n () => {\n columnsWatchStopHandle && columnsWatchStopHandle()\n columnsWatchStopHandle = watch(\n () => props.columns,\n () => {\n rawColumns.value = toRaw(props.columns) || EMPTY_LIST\n triggerRef(rawColumns)\n },\n { immediate: true, deep: true },\n )\n },\n { immediate: true, deep: !!props.deepWatchColumns },\n )\n\n const childrenColumnName = computed(\n () => props.childrenColumnName ?? table?.value?.childrenColumnName ?? 'children',\n )\n\n const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } =\n useKVMap(rawData, childrenColumnName, getRowKey)\n\n const defaultExpandedRowKeys = shallowRef<Key[]>([])\n watchEffect(() => {\n props.defaultExpandedRowKeys && (defaultExpandedRowKeys.value = props.defaultExpandedRowKeys)\n props.defaultExpandAllRows && (defaultExpandedRowKeys.value = allDataRowKeys.value)\n })\n\n const mergedRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true } = rowSelection\n return { ...rowSelection, checkStrictly }\n })\n\n const expandedRowKeys = computed(\n () => new Set(props.expandedRowKeys || defaultExpandedRowKeys.value || []),\n )\n\n const spinProps = computed<SpinProps>(() => {\n if (typeof props.loading === 'boolean') {\n return { spinning: props.loading }\n } else if (typeof props.loading === 'object') {\n return { spinning: true, ...props.loading }\n } else {\n return { spinning: false }\n }\n })\n\n onActivated(() => {\n scrollTo({ left: 0, top: 0 })\n })\n\n let triggerOnChange: any = () => {}\n\n const scrollBarSize = shallowRef(getScrollBarSize())\n const baseHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const expandedRowRender = computed(() => props.expandedRowRender)\n const expandType = eagerComputed(() =>\n rawData.value.some((column) => column?.[childrenColumnName.value]?.length)\n ? 'nest'\n : expandedRowRender.value\n ? 'row'\n : null,\n )\n const expandable = eagerComputed(() => !!props.expandedRowRender)\n\n const columns = useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandable,\n expandType,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n })\n\n const { sortedData, sorterStates, sorter, changeSorter } = useSorter(\n props,\n rawData,\n columns.allColumns,\n (sorter, sorterStates) => {\n scrollTop.value > bodyHeight.value && updateAnimate()\n triggerOnChange({ sorter, sorterStates }, 'sort', false)\n },\n )\n\n const { filterData, filterStates, filters, changeFilter } = useFilter(\n props,\n sortedData,\n columns.allColumns,\n (filters, filterStates) => {\n triggerOnChange({ filters, filterStates }, 'filter', true)\n },\n )\n\n const total = eagerComputed(() => filterData.value.length)\n const paginationParam = computed(() => {\n if (props.pagination === false) {\n return {}\n }\n return getPaginationParam(props.pagination, mergedPagination.value)\n })\n\n const triggeronPaginationChange = (current: number, pageSize: number) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n props['onUpdate:pagination'] &&\n emit(\n 'update:pagination',\n isReactive(props.pagination)\n ? Object.assign(props.pagination || {}, pagination)\n : pagination,\n )\n }\n\n const {\n mergedPagination,\n pos,\n refreshPagination,\n onChange: onPaginationChange,\n onShowSizeChange,\n pageData,\n } = usePagination(total, props, filterData, (current, pageSize) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n triggeronPaginationChange(current, pageSize)\n updateAnimate()\n triggerOnChange({ pagination }, 'paginate')\n })\n\n const {\n flattenData,\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n getRowFlattenIndexByKey,\n isMyChildren,\n getRowByFlattenIndex,\n } = useFlattenRecords(\n pageData,\n childrenColumnName,\n expandedRowKeys,\n getRowKey,\n expandType,\n mergedRowSelection,\n )\n\n const cal = useCal(props, flattenData, bodyHeight, scrollTop, virtual, keyEntities)\n\n const { rowPosition, viewportHeight, startIndex, endIndex } = cal\n const { leftWidth, rightWidth, centerWidth, bodyMaxWidth } = columns\n\n const selection = useSelection(props, mergedRowSelection, rawData, {\n prefixCls: computed(() => props.prefixCls!),\n pageData,\n getRowKey,\n getRecordByKey,\n childrenColumnName,\n locale,\n flattenData,\n keyEntities,\n checkboxPropsMap,\n allDataRowKeys,\n allDataRootRowKeys,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n })\n\n const bodyRef = ref<HTMLDivElement>()\n let leftRaf: any, topRaf: any\n\n const scrollTo = (options: any = {}, type = 'auto', isAnimate = false) => {\n if (!isAnimate) {\n updateAnimate()\n }\n const mergeOptions = typeof options == 'number' ? { top: options } : options\n let left, top\n if ('left' in mergeOptions) {\n left = mergeOptions.left || 0\n } else if ('columnIndex' in mergeOptions) {\n const position = columns.getColumnPosition(mergeOptions.columnIndex!)\n if (position) {\n left = position.left - leftWidth.value\n }\n } else if ('columnKey' in mergeOptions) {\n const position = columns.getColumnPositionByKey(mergeOptions.columnKey!)\n if (position) {\n left = position.left - leftWidth.value\n }\n }\n if ('top' in mergeOptions) {\n top = Math.min(Math.max(mergeOptions.top || 0, 0), maxScrollTop.value)\n } else if ('rowKey' in mergeOptions) {\n const pos = cal.getRowPositionByKey(mergeOptions.rowKey!)\n if (pos) {\n top = pos\n }\n }\n\n left = Math.max(Math.min(maxScrollLeft.value, left || 0), 0)\n if (!showVerticalScrollbar.value) {\n top = 0\n }\n if (type === 'smooth') {\n if (left !== undefined) {\n raf.cancel(leftRaf)\n leftRaf = easeoutScroll(scrollLeft.value, left, (val: number) => {\n scrollLeft.value = val\n })\n }\n if (top !== undefined) {\n raf.cancel(topRaf)\n topRaf = easeoutScroll(scrollTop.value, top, (val: number) => {\n scrollTop.value = val\n })\n }\n } else {\n if (left !== undefined) {\n scrollLeft.value = left\n }\n if (top !== undefined) {\n scrollTop.value = top\n }\n }\n }\n\n const useAnimate = ref(false)\n const animateRows = computed(() => {\n return !!(props.animateRows ?? table?.value?.animateRows)\n })\n\n let timer: any\n watch(\n animateRows,\n (newVal) => {\n useAnimate.value = newVal\n },\n { immediate: true },\n )\n\n const updateAnimate = () => {\n useAnimate.value = false\n clearTimeout(timer)\n timer = setTimeout(() => {\n useAnimate.value = animateRows.value\n }, 100)\n }\n\n const maxScrollLeft = computed(() => bodyMaxWidth.value - bodyWidth.value)\n const maxScrollTop = computed(() => viewportHeight.value - bodyHeight.value)\n const onScroll = (e) => {\n emit('scroll', e)\n }\n\n useHScrollSyncProvide({ scrollLeft, maxScrollLeft, onScroll, bodyWidth })\n useVScrollSyncProvide({ scrollTop, maxScrollTop, onScroll, updateAnimate, bodyWidth })\n\n const { data, pos: dataRowPosition } = useData(\n props,\n rowPosition,\n flattenData,\n startIndex,\n endIndex,\n draggingRowKey,\n useAnimate,\n getRowFlattenIndexByKey,\n latestRangeStartCell,\n )\n\n const pingedLeft = ref(false)\n const pingedRight = ref(false)\n const noPinged = ref(false)\n\n watchEffect(() => {\n pingedLeft.value = supportSticky && !!scrollLeft.value\n pingedRight.value =\n supportSticky &&\n centerWidth.value - (bodyWidth.value - leftWidth.value - rightWidth.value) >\n scrollLeft.value\n noPinged.value = !pingedLeft.value && !pingedRight.value\n })\n\n const rootClass = computed(() =>\n classNames({\n [`${props.prefixCls}`]: true,\n [`${props.prefixCls}-support-sticky`]: supportSticky,\n [`${props.prefixCls}-stripe`]: props.stripe,\n [`${props.prefixCls}-bordered`]: props.bordered ?? table?.value?.bordered,\n [`${props.prefixCls}-${props.size}`]: true,\n [`${props.prefixCls}-ping-left`]: pingedLeft.value,\n [`${props.prefixCls}-ping-right`]: pingedRight.value,\n [`${props.prefixCls}-no-ping`]: noPinged.value,\n [`${props.prefixCls}-has-animate`]: animateRows.value,\n }),\n )\n const rootStyle = computed(() => ({\n height: typeof props.height == 'number' ? `${props.height}px` : props.height,\n maxHeight: typeof props.maxHeight == 'number' ? `${props.maxHeight}px` : props.maxHeight,\n minHeight: typeof props.minHeight == 'number' ? `${props.minHeight}px` : props.minHeight,\n }))\n\n const showHorizontalScrollbar = ref(false)\n const debounceFn = debounce(() => {\n showHorizontalScrollbar.value = bodyMaxWidth.value > bodyWidth.value\n if (bodyWidth.value > bodyScrollWidth.value) {\n bodyScrollWidth.value = bodyWidth.value\n }\n }, 100)\n\n watch([bodyMaxWidth, bodyWidth], () => {\n debounceFn()\n })\n\n const showVerticalScrollbar = eagerComputed(\n () => !!mergedScrollY.value && bodyHeight.value + 0.9 < viewportHeight.value,\n )\n const scrollToFirstRow = eagerComputed(\n () => !props.scroll || (props.scroll && props.scroll.scrollToFirstRowOnChange !== false),\n )\n\n triggerOnChange = (\n info: Partial<ChangeEventInfo<DefaultRecordType>>,\n action: TableAction,\n reset = false,\n ) => {\n if (reset) {\n refreshPagination()\n triggeronPaginationChange(1, mergedPagination.value.pageSize!)\n if (props.pagination) {\n props.pagination.onChange?.(1, mergedPagination.value.pageSize)\n }\n }\n if (scrollToFirstRow.value) {\n scrollTop.value = 0\n }\n props.onChange?.(\n info.pagination || mergedPagination.value,\n info.filters || filters.value,\n info.sorter || sorter.value,\n {\n currentDataSource: info.currentDataSource || filterData.value,\n action,\n },\n )\n }\n\n const paginationProps = computed(() => {\n return omit(mergedPagination.value, [\n 'position',\n 'onChange',\n 'onShowSizeChange',\n 'fieldNames',\n ])\n })\n\n const paginationClass = computed(() => {\n return {\n [`${props.prefixCls}-pagination`]: true,\n [`${props.prefixCls}-pagination-${pos.value.bottom}`]: true,\n [`${customUiCls}`]: true,\n }\n })\n const bottomPaginationHeight = ref(0)\n const bottomPaginationStyle = computed<any>(() => {\n if (!props.paginationSticky || counter.hasFullScreen.value || !!props.height) {\n return {}\n }\n if (props.paginationSticky === true) {\n return { position: 'sticky', 'z-index': 9, bottom: '0px' }\n }\n return {\n position: 'sticky',\n 'z-index': 9,\n bottom: `${props.paginationSticky?.offsetBottom ?? 0}px`,\n }\n })\n\n const indentSize = computed(() => (typeof props.indentSize == 'number' ? props.indentSize : 15))\n\n const cellProps = useCellProps({\n leftColumns: columns.leftColumns,\n rightColumns: columns.rightColumns,\n visibleCenterColumns: columns.visibleCenterColumns,\n allColumns: columns.allColumns,\n data,\n mergedRowHeights: cal.mergedRowHeights,\n startIndex,\n getColumnPosition: columns.getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight: cal.getRowHeight,\n customCell: toRef(props, 'customCell'),\n })\n\n watch(\n [realHeaderHeight, scrollLeft],\n () => {\n popupContainer.value?.alignPopup?.()\n },\n { flush: 'post' },\n )\n\n useProvideTable({\n ...cal,\n ...columns,\n ...cellProps,\n rootRef,\n rawData,\n getRowFlattenIndexByKey,\n prefixCls: computed(() => props.prefixCls!),\n draggingRowKey,\n insertToRowKey,\n status,\n useAnimate,\n animateRows,\n watermarkMsg,\n onResizeColumn: (w: number, col: ColumnType, action: ResizeActionType) => {\n const width = col.width\n const result = props.onResizeColumn?.(w, col, action)\n if (result !== false) {\n if (!(width === w && col.width === w)) {\n col.width = width !== col.width ? col.width : w\n triggerRef(rawColumns)\n }\n if (action === 'end') {\n emit('update:columns', rawColumns.value, 'resize')\n }\n }\n },\n onRowDragEnd: (opt: DragRowEventInfo) => {\n const { insertToRowKey, record, fromIndexs, rowKey, dir, preTargetInfo, nextTargetInfo } =\n opt\n const rawRecord = toRaw(record)\n const dragEnd = props.onRowDragEnd?.({ ...opt, record: rawRecord, fromIndexs })\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (!isMyChildren(rowKey, preTargetInfo?.rowKey as Key) && insertToRowKey !== rowKey) {\n if (insertToRowKey !== null) {\n const parentRecord = getRecordByKey(insertToRowKey)\n if (\n insertToRowKey === preTargetInfo?.rowKey ||\n insertToRowKey === nextTargetInfo?.rowKey\n ) {\n if (dir === DOWN) {\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n } else {\n if (dir === DOWN) {\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n } else {\n if (dir === DOWN && preTargetInfo) {\n addNestItemData(\n rawData.value,\n [preTargetInfo.indexs[0]!],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else if (dir === UP && nextTargetInfo) {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs ? [preTargetInfo!.indexs[0]!] : [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n triggerRef(rawData)\n emit('update:dataSource', rawData.value)\n }\n }\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n virtual,\n xVirtual,\n dataRowPosition,\n rawColumns,\n bodyHeight,\n scrollTop,\n scrollLeft,\n supportSticky,\n childrenColumnName,\n bodyScrollWidth,\n baseHeight,\n startIndex,\n data,\n pageData,\n getRecordByKey,\n getIndexsByKey,\n expandType,\n flattenData,\n expandedRowKeys,\n indentSize,\n props,\n bodyWidth,\n scrollTo,\n scrollBarSize,\n leftWidth,\n rightWidth,\n centerWidth,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getRowKey,\n selection,\n updateSelectedRowKeys: (keys: Key[]) => {\n emit('update:selectedRowKeys', keys)\n },\n locale,\n sorterStates,\n changeSorter,\n changeFilter,\n filterStates,\n onTriggerExpand: (record, key: Key) => {\n let keys: Key[]\n const hasKey = expandedRowKeys.value.has(key)\n if (hasKey) {\n expandedRowKeys.value.delete(key)\n keys = [...expandedRowKeys.value]\n } else {\n keys = [...expandedRowKeys.value, key]\n }\n defaultExpandedRowKeys.value = keys\n emit('update:expandedRowKeys', keys)\n emit('expand', !hasKey, record)\n emit('expandedRowsChange', keys)\n },\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n mergedRowSelection,\n getPopupContainer,\n allDataRowKeys,\n allDataRootRowKeys,\n dragRowsHandle,\n isMyChildren,\n getKeyByIndexs,\n getRowByFlattenIndex,\n draggingColumnKey,\n dragColumnsHandle,\n onColumnDragEnd: (arg: DragColumnEventInfo) => {\n const { dir, column, targetColumn } = arg\n const dragEnd = props.onColumnDragEnd?.(arg)\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (column === targetColumn || column.key === targetColumn.key) return\n const index = rawColumns.value.findIndex(\n (col) => col === column || col.key === column.key,\n )\n const targetIndex = rawColumns.value.findIndex(\n (col) => col === targetColumn || col.key === targetColumn.key,\n )\n if (dir === LEFT) {\n rawColumns.value.splice(index, 1)\n rawColumns.value.splice(targetIndex, 0, column)\n } else {\n rawColumns.value.splice(targetIndex + 1, 0, column)\n rawColumns.value.splice(index, 1)\n }\n triggerRef(rawColumns)\n emit('update:columns', rawColumns.value, 'drag')\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n onColumnDrag: () => {},\n columnDrag: computed(() => props.columnDrag),\n summaryFixed: mergedSummaryFixed,\n realHeaderHeight,\n bottomPaginationHeight,\n pos,\n })\n\n const tabGuardTopRef = ref()\n const tabGuardBottomRef = ref()\n\n const {\n navigationService,\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n onBodyKeydown,\n } = useProvideRangeStore({\n allColumns: columns.allColumns,\n flattenData,\n rangeSelection: computed(() => props.rangeSelection),\n getRowByFlattenIndex,\n rootRef,\n prefixCls: computed(() => props.prefixCls!),\n allCellProps: cellProps.allCellProps,\n tabGuardTopRef,\n tabGuardBottomRef,\n ensureCellColumnVisible: (cell: RangeCell) => {\n if (!cell.column || cell.column.fixed) return\n const sl = scrollLeft.value\n const pos = columns.getColumnPositionByKey(cell.column.columnKey)\n if (pos) {\n const { width, left } = pos\n const lw = leftWidth.value\n const rw = rightWidth.value\n left - lw < sl\n ? (scrollLeft.value = left - lw)\n : left + width > sl + bodyWidth.value - rw &&\n (scrollLeft.value = left + width - bodyWidth.value + rw)\n }\n },\n ensureCellRowVisible: (cell: RangeCell) => {\n const { rowIndex } = cell\n const st = scrollTop.value\n const row = getRowByFlattenIndex(rowIndex)\n const pos = cal.getRowPositionByKey(row.rowKey)\n const cprops =\n (cellProps.allCellProps.value[row.rowKey]?.[cell.column!.columnKey] || {}).props || {}\n const height = cal.getRowHeight(rowIndex, cprops.rowSpan)\n if (pos !== undefined) {\n updateAnimate()\n if (pos < st) {\n scrollTop.value = pos\n } else {\n if (pos + height > st + bodyHeight.value) {\n scrollTop.value = pos + height - bodyHeight.value\n }\n }\n }\n },\n latestRangeStartCell,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n scrollLeft,\n scrollTop,\n scrollTo,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getIndexsByKey,\n formatRangeCellText: (parmas) => {\n if (props.formatRangeCellText) {\n return props.formatRangeCellText(parmas)\n } else if (parmas.value) {\n return parmas.value\n }\n return ''\n },\n editCellKeys,\n copyDelimiter: computed(() => props.copyDelimiter),\n })\n\n expose({\n scrollTo,\n scrollLeft,\n scrollTop,\n rootRef,\n paginationRef,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n openEditor: (cellInfos: any[]) => {\n openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n },\n closeEditor: (cellInfos: any[]) => {\n if (cellInfos) {\n closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n } else {\n closeEditor()\n }\n },\n })\n\n return {\n bodyRef,\n spinProps,\n rowPosition,\n viewportHeight,\n startIndex,\n data,\n watermarkMsg,\n rootStyle,\n rootClass,\n onBodyKeydown,\n watermarkStyle: computed<any>(() => ({\n minWidth: '100px!important',\n minHeight: '40px!important',\n position: 'absolute!important',\n fontSize: '20px!important',\n opacity: '0.8!important',\n bottom: '40px!important',\n right: '40px!important',\n pointerEvents: 'none',\n display: 'block!important',\n zIndex: '999999!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n })),\n mergedPagination,\n pos,\n onPaginationChange,\n scrollBarSize,\n scrollTop,\n bodyScrollWidth,\n bodyWidth,\n scrollLeft,\n cal,\n selection,\n locale,\n paginationProps,\n slots,\n mergedScrollX,\n mergedScrollY,\n bodyHeight,\n measureWidthRef,\n flattenData,\n rootRef,\n paginationRef,\n mergedSummaryFixed,\n handleResize: (e: CustomEvent) => {\n realHeaderHeight.value = e.detail.height\n },\n handlePaginationResize: (e: CustomEvent) => {\n bottomPaginationHeight.value = e.detail.height\n },\n popupContainer,\n handleGuardTopKeydown: (e: KeyboardEvent) => {\n e.keyCode !== KeyCode.TAB ||\n e.shiftKey ||\n (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault())\n },\n handleGuardBottomKeydown: (e: KeyboardEvent) => {\n e.keyCode === KeyCode.TAB &&\n e.shiftKey &&\n (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault())\n },\n tabGuardTopRef,\n tabGuardBottomRef,\n onShowSizeChange,\n customUiCls,\n paginationClass,\n bottomPaginationStyle,\n }\n },\n})\n</script>\n\n<template>\n <TableSlotsContextProvider :value=\"{ ...slots }\">\n <Spin v-bind=\"spinProps\">\n <Pagination\n v-if=\"pos.top\"\n :class=\"`${prefixCls}-pagination ${prefixCls}-pagination-${pos.top} ${customUiCls}`\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n <div\n ref=\"tabGuardTopRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardTopKeydown\"\n ></div>\n <div key=\"content\" ref=\"rootRef\" :class=\"rootClass\" :style=\"rootStyle\">\n <template v-if=\"showHeader\">\n <AutoHeightHeader\n v-if=\"autoHeaderHeight\"\n :prefix-cls=\"prefixCls\"\n :sticky=\"sticky\"\n @resizeheight=\"handleResize\"\n />\n <ProHeader v-else :prefix-cls=\"prefixCls\" :sticky=\"sticky\" @resizeheight=\"handleResize\" />\n </template>\n <ProBody\n ref=\"bodyRef\"\n v-model:bodyScrollWidth=\"bodyScrollWidth\"\n v-model:bodyWidth=\"bodyWidth\"\n v-model:bodyHeight=\"bodyHeight\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n :scroll-x=\"mergedScrollX\"\n :height=\"mergedScrollY\"\n :summary-fixed=\"mergedSummaryFixed\"\n :summary=\"$slots.summary\"\n :empty-text=\"$slots.emptyText\"\n @keydown=\"onBodyKeydown\"\n />\n </div>\n <HorizontalScroll />\n <div\n ref=\"tabGuardBottomRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardBottomKeydown\"\n ></div>\n <div v-if=\"$slots.footer\" key=\"footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <PopupContainer ref=\"popupContainer\" :prefix-cls=\"prefixCls\" />\n <div\n v-if=\"pos.bottom\"\n v-resize:height\n ref=\"paginationRef\"\n :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap ${prefixCls}-pagination-wrap-${size}`\"\n @resizeheight=\"handlePaginationResize\"\n >\n <Pagination\n :class=\"paginationClass\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n </div>\n </Spin>\n <MeasureWidth ref=\"measureWidthRef\" />\n </TableSlotsContextProvider>\n</template>\n"],"names":["defineComponent","resize","TableSlotsContextProvider","Spin","MeasureWidth","Pagination","PopupContainer","AutoHeightHeader","Header","Body","XScroll","baseTableProps","useProConfigInject","useInjectContainer","computed","shallowRef","usePrefixCls","useEditProvider","useProvidePopup","useLicense","ref","watchEffect","devWarning","inject","DEFAULT_LOCALE","eagerComputed","watch","toRaw","triggerRef","useKVMap","onActivated","getScrollBarSize","useColumns","useSorter","sorter","sorterStates","useFilter","filters","filterStates","getPaginationParam","isReactive","usePagination","useFlattenRecords","useCal","useSelection","pos","raf","easeoutScroll","useHScrollSyncProvide","useVScrollSyncProvide","useData","supportSticky","classNames","debounce","omit","useCellProps","toRef","useProvideTable","insertToRowKey","rowKey","DOWN","addNestItemData","deleteNestItemData","UP","isPromise","LEFT","useProvideRangeStore","KeyCode"],"mappings":"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"}
@@ -7,6 +7,7 @@ var TableContext = require('../context/TableContext.js');
7
7
  var useHScrollSync = require('../../hooks/useHScrollSync.js');
8
8
  var browser = require('../../utils/browser.js');
9
9
  var _class = require('../../utils/class.js');
10
+ var useContainer = require('../../hooks/useContainer.js');
10
11
 
11
12
  var XScroll = /* @__PURE__ */ vue.defineComponent({
12
13
  props: {
@@ -19,6 +20,7 @@ var XScroll = /* @__PURE__ */ vue.defineComponent({
19
20
  },
20
21
  setup: (props) => {
21
22
  const tableContext = TableContext.useInjectTable();
23
+ const counter = useContainer.useInjectContainer();
22
24
  const prefixCls = vue.computed(() => `${tableContext.props.prefixCls}`);
23
25
  const scrollViewportRef = vue.ref();
24
26
  const rootRef = vue.ref();
@@ -35,10 +37,10 @@ var XScroll = /* @__PURE__ */ vue.defineComponent({
35
37
  });
36
38
  const isApple = browser.isMacOsUserAgent() || browser.isIOSUserAgent();
37
39
  const stickyStyle = vue.computed(() => {
38
- const scrollBarSize = `-${tableContext.scrollBarSize.value || 15}px`;
39
40
  const horizontalScrollSticky = tableContext.props.horizontalScrollSticky;
40
- const paginationSticky = tableContext.props.paginationSticky;
41
- if (horizontalScrollSticky === true) {
41
+ const scrollBarSize = `-${tableContext.scrollBarSize.value || 15}px`;
42
+ if (horizontalScrollSticky === true && !counter.hasFullScreen.value && !tableContext.props.height) {
43
+ const paginationSticky = tableContext.props.paginationSticky;
42
44
  let bottom = 0;
43
45
  if (tableContext.pos.value.bottom && !!paginationSticky) {
44
46
  bottom += paginationSticky === true ? tableContext.bottomPaginationHeight.value : (paginationSticky.offsetBottom || 0) + tableContext.bottomPaginationHeight.value;
@@ -50,7 +52,9 @@ var XScroll = /* @__PURE__ */ vue.defineComponent({
50
52
  marginTop: isApple ? scrollBarSize : 0
51
53
  };
52
54
  }
53
- return {};
55
+ return {
56
+ marginTop: isApple ? scrollBarSize : 0
57
+ };
54
58
  });
55
59
  const isIosScroll = vue.computed(() => 0 === tableContext.scrollBarSize.value && isApple);
56
60
  const rootClass = vue.computed(() => ({
@@ -91,6 +95,7 @@ var XScroll = /* @__PURE__ */ vue.defineComponent({
91
95
  };
92
96
  vue.onMounted(() => {
93
97
  vue.watch(scrollViewportRef, () => {
98
+ var _a, _b;
94
99
  if (scrollViewportRef.value) {
95
100
  removeHScrollDom(scrollViewportRef.value);
96
101
  scrollViewportRef.value.removeEventListener("scroll", onScroll);
@@ -98,6 +103,7 @@ var XScroll = /* @__PURE__ */ vue.defineComponent({
98
103
  scrollViewportRef.value.addEventListener("scroll", onScroll, {
99
104
  passive: true
100
105
  });
106
+ counter.setScrollViewportHeight(((_b = (_a = scrollViewportRef.value) == null ? void 0 : _a.getBoundingClientRect()) == null ? void 0 : _b.height) || 0);
101
107
  }
102
108
  }, {
103
109
  immediate: true
@@ -1 +1 @@
1
- {"version":3,"file":"XScroll.js","sources":["../../../../../../../../../packages/components/table/src/components/Scrollbar/XScroll.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-11-17 14:49:48\n * @Description:\n */\nimport {\n defineComponent,\n computed,\n ref,\n watch,\n onMounted,\n onBeforeUnmount,\n // withModifiers,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { isMacOsUserAgent, isIOSUserAgent } from '../../utils/browser'\nimport { addClass, removeClass } from '../../utils/class'\n\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n props: { onlyAutoShow: { type: Boolean }, notShowAuto: { type: Boolean } },\n setup: (props) => {\n const tableContext = useInjectTable()\n const prefixCls = computed(() => `${tableContext.props.prefixCls}`)\n const scrollViewportRef = ref<HTMLDivElement>()\n const rootRef = ref<HTMLDivElement>()\n const isScrollbarActive = ref(false)\n const commonStyle = computed<any>(() => {\n const scrollBarSize = `${tableContext.scrollBarSize.value || 15}px`\n const style = {\n height: scrollBarSize,\n minHeight: scrollBarSize,\n maxHeight: scrollBarSize,\n width: '100%',\n }\n return style\n })\n const isApple = isMacOsUserAgent() || isIOSUserAgent()\n\n const stickyStyle = computed(() => {\n const scrollBarSize = `-${tableContext.scrollBarSize.value || 15}px`\n const horizontalScrollSticky = tableContext.props.horizontalScrollSticky\n const paginationSticky = tableContext.props.paginationSticky\n if (horizontalScrollSticky === true) {\n let bottom = 0\n if (tableContext.pos.value.bottom && !!paginationSticky) {\n bottom +=\n paginationSticky === true\n ? tableContext.bottomPaginationHeight.value\n : (paginationSticky.offsetBottom || 0) + tableContext.bottomPaginationHeight.value\n }\n return {\n position: 'sticky',\n 'z-index': 8,\n bottom: `${bottom}px`,\n marginTop: isApple ? scrollBarSize : 0,\n }\n }\n return {}\n })\n const isIosScroll = computed(() => 0 === tableContext.scrollBarSize.value && isApple)\n const rootClass = computed(() => ({\n [`${prefixCls.value}-horizontal-scroll`]: true,\n [`${prefixCls.value}-horizontal-scroll-hidden`]: 0 === tableContext.scrollBarSize.value,\n [`${prefixCls.value}-scrollbar-active`]: isScrollbarActive.value,\n [`${prefixCls.value}-apple-scroll`]: isApple,\n }))\n\n const showHorizontalScrollbar = computed(\n () =>\n tableContext.showHorizontalScrollbar.value &&\n (!props.onlyAutoShow || isIosScroll.value) &&\n (!props.notShowAuto || !isIosScroll.value),\n )\n const showVerticalScrollbar = computed(() => tableContext.showVerticalScrollbar.value)\n const horizontalStyle = computed<any>(() => {\n const width = `${tableContext.bodyMaxWidth.value}px`\n return { ...commonStyle.value, width, minWidth: width, maxWidth: width }\n })\n const verticalStyle = computed<CSSProperties>(() => ({\n width: `${tableContext.scrollBarSize.value}px`,\n height: '100%',\n overflowX: 'hidden',\n }))\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n let timer: any = null\n const onScroll = () => {\n if (isIosScroll.value) {\n clearTimeout(timer)\n addClass(rootRef.value!, `${prefixCls.value}-scrolling`)\n timer = setTimeout(() => {\n removeClass(rootRef.value!, `${prefixCls.value}-scrolling`)\n }, 500)\n }\n }\n\n onMounted(() => {\n watch(\n scrollViewportRef,\n () => {\n if (scrollViewportRef.value) {\n removeHScrollDom(scrollViewportRef.value)\n scrollViewportRef.value.removeEventListener('scroll', onScroll)\n addHScrollDom(scrollViewportRef.value, true)\n scrollViewportRef.value.addEventListener('scroll', onScroll, { passive: true })\n }\n },\n { immediate: true },\n )\n })\n onBeforeUnmount(() => {\n clearTimeout(timer)\n if (scrollViewportRef.value) {\n removeHScrollDom(scrollViewportRef.value)\n scrollViewportRef.value.removeEventListener('scroll', onScroll)\n }\n })\n\n return () => {\n if (showHorizontalScrollbar.value) {\n return (\n <div\n ref={rootRef}\n class={rootClass.value}\n aria-hidden=\"true\"\n style={{ ...commonStyle.value, ...stickyStyle.value }}\n onMousedown={() => (isScrollbarActive.value = true)}\n onMouseenter={() => (isScrollbarActive.value = true)}\n // onTouchstart={withModifiers(() => (isScrollbarActive.value = true), ['passive'])}\n onMouseleave={() => (isScrollbarActive.value = false)}\n onTouchend={() => (isScrollbarActive.value = false)}\n >\n <div\n key=\"center\"\n ref={scrollViewportRef}\n class={`${prefixCls.value}-horizontal-scroll-viewport`}\n style={commonStyle.value}\n >\n <div\n class={`${prefixCls.value}-body-horizontal-scroll-container`}\n style={horizontalStyle.value}\n ></div>\n </div>\n {showVerticalScrollbar.value && <div style={verticalStyle.value}></div>}\n </div>\n )\n }\n return null\n }\n },\n})\n"],"names":["props","onlyAutoShow","type","Boolean","notShowAuto","setup","tableContext","useInjectTable","prefixCls","computed","scrollViewportRef","ref","rootRef","isScrollbarActive","commonStyle","scrollBarSize","value","style","height","minHeight","maxHeight","width","isApple","isMacOsUserAgent","isIOSUserAgent","stickyStyle","horizontalScrollSticky","paginationSticky","bottom","pos","bottomPaginationHeight","offsetBottom","position","marginTop","isIosScroll","rootClass","showHorizontalScrollbar","showVerticalScrollbar","horizontalStyle","bodyMaxWidth","minWidth","maxWidth","verticalStyle","overflowX","addHScrollDom","removeHScrollDom","useHScrollSyncInject","timer","onScroll","clearTimeout","addClass","setTimeout","removeClass","onMounted","watch","removeEventListener","addEventListener","passive","immediate","onBeforeUnmount","_createVNode","onMousedown","onMouseenter","onMouseleave","onTouchend"],"mappings":"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"}
1
+ {"version":3,"file":"XScroll.js","sources":["../../../../../../../../../packages/components/table/src/components/Scrollbar/XScroll.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-11-26 11:12:33\n * @Description:\n */\nimport {\n defineComponent,\n computed,\n ref,\n watch,\n onMounted,\n onBeforeUnmount,\n // withModifiers,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { isMacOsUserAgent, isIOSUserAgent } from '../../utils/browser'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n props: { onlyAutoShow: { type: Boolean }, notShowAuto: { type: Boolean } },\n setup: (props) => {\n const tableContext = useInjectTable()\n const counter = useInjectContainer()\n const prefixCls = computed(() => `${tableContext.props.prefixCls}`)\n const scrollViewportRef = ref<HTMLDivElement>()\n const rootRef = ref<HTMLDivElement>()\n const isScrollbarActive = ref(false)\n const commonStyle = computed<any>(() => {\n const scrollBarSize = `${tableContext.scrollBarSize.value || 15}px`\n const style = {\n height: scrollBarSize,\n minHeight: scrollBarSize,\n maxHeight: scrollBarSize,\n width: '100%',\n }\n return style\n })\n const isApple = isMacOsUserAgent() || isIOSUserAgent()\n\n const stickyStyle = computed(() => {\n const horizontalScrollSticky = tableContext.props.horizontalScrollSticky\n const scrollBarSize = `-${tableContext.scrollBarSize.value || 15}px`\n if (\n horizontalScrollSticky === true &&\n !counter.hasFullScreen.value &&\n !tableContext.props.height\n ) {\n const paginationSticky = tableContext.props.paginationSticky\n let bottom = 0\n if (tableContext.pos.value.bottom && !!paginationSticky) {\n bottom +=\n paginationSticky === true\n ? tableContext.bottomPaginationHeight.value\n : (paginationSticky.offsetBottom || 0) + tableContext.bottomPaginationHeight.value\n }\n return {\n position: 'sticky',\n 'z-index': 8,\n bottom: `${bottom}px`,\n marginTop: isApple ? scrollBarSize : 0,\n }\n }\n return {\n marginTop: isApple ? scrollBarSize : 0,\n }\n })\n const isIosScroll = computed(() => 0 === tableContext.scrollBarSize.value && isApple)\n const rootClass = computed(() => ({\n [`${prefixCls.value}-horizontal-scroll`]: true,\n [`${prefixCls.value}-horizontal-scroll-hidden`]: 0 === tableContext.scrollBarSize.value,\n [`${prefixCls.value}-scrollbar-active`]: isScrollbarActive.value,\n [`${prefixCls.value}-apple-scroll`]: isApple,\n }))\n\n const showHorizontalScrollbar = computed(\n () =>\n tableContext.showHorizontalScrollbar.value &&\n (!props.onlyAutoShow || isIosScroll.value) &&\n (!props.notShowAuto || !isIosScroll.value),\n )\n const showVerticalScrollbar = computed(() => tableContext.showVerticalScrollbar.value)\n const horizontalStyle = computed<any>(() => {\n const width = `${tableContext.bodyMaxWidth.value}px`\n return { ...commonStyle.value, width, minWidth: width, maxWidth: width }\n })\n const verticalStyle = computed<CSSProperties>(() => ({\n width: `${tableContext.scrollBarSize.value}px`,\n height: '100%',\n overflowX: 'hidden',\n }))\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n let timer: any = null\n const onScroll = () => {\n if (isIosScroll.value) {\n clearTimeout(timer)\n addClass(rootRef.value!, `${prefixCls.value}-scrolling`)\n timer = setTimeout(() => {\n removeClass(rootRef.value!, `${prefixCls.value}-scrolling`)\n }, 500)\n }\n }\n\n onMounted(() => {\n watch(\n scrollViewportRef,\n () => {\n if (scrollViewportRef.value) {\n removeHScrollDom(scrollViewportRef.value)\n scrollViewportRef.value.removeEventListener('scroll', onScroll)\n addHScrollDom(scrollViewportRef.value, true)\n scrollViewportRef.value.addEventListener('scroll', onScroll, { passive: true })\n counter.setScrollViewportHeight(\n scrollViewportRef.value?.getBoundingClientRect()?.height || 0,\n )\n }\n },\n { immediate: true },\n )\n })\n onBeforeUnmount(() => {\n clearTimeout(timer)\n if (scrollViewportRef.value) {\n removeHScrollDom(scrollViewportRef.value)\n scrollViewportRef.value.removeEventListener('scroll', onScroll)\n }\n })\n\n return () => {\n if (showHorizontalScrollbar.value) {\n return (\n <div\n ref={rootRef}\n class={rootClass.value}\n aria-hidden=\"true\"\n style={{ ...commonStyle.value, ...stickyStyle.value }}\n onMousedown={() => (isScrollbarActive.value = true)}\n onMouseenter={() => (isScrollbarActive.value = true)}\n // onTouchstart={withModifiers(() => (isScrollbarActive.value = true), ['passive'])}\n onMouseleave={() => (isScrollbarActive.value = false)}\n onTouchend={() => (isScrollbarActive.value = false)}\n >\n <div\n key=\"center\"\n ref={scrollViewportRef}\n class={`${prefixCls.value}-horizontal-scroll-viewport`}\n style={commonStyle.value}\n >\n <div\n class={`${prefixCls.value}-body-horizontal-scroll-container`}\n style={horizontalStyle.value}\n ></div>\n </div>\n {showVerticalScrollbar.value && <div style={verticalStyle.value}></div>}\n </div>\n )\n }\n return null\n }\n },\n})\n"],"names":["props","onlyAutoShow","type","Boolean","notShowAuto","setup","tableContext","useInjectTable","counter","useInjectContainer","prefixCls","computed","scrollViewportRef","ref","rootRef","isScrollbarActive","commonStyle","scrollBarSize","value","style","height","minHeight","maxHeight","width","isApple","isMacOsUserAgent","isIOSUserAgent","stickyStyle","horizontalScrollSticky","hasFullScreen","paginationSticky","bottom","pos","bottomPaginationHeight","offsetBottom","position","marginTop","isIosScroll","rootClass","showHorizontalScrollbar","showVerticalScrollbar","horizontalStyle","bodyMaxWidth","minWidth","maxWidth","verticalStyle","overflowX","addHScrollDom","removeHScrollDom","useHScrollSyncInject","timer","onScroll","clearTimeout","addClass","setTimeout","removeClass","onMounted","watch","removeEventListener","addEventListener","passive","setScrollViewportHeight","getBoundingClientRect","immediate","onBeforeUnmount","_createVNode","onMousedown","onMouseenter","onMouseleave","onTouchend"],"mappings":"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"}
@@ -15,6 +15,7 @@ var genProColumnToColumn = require('../utils/genProColumnToColumn.js');
15
15
  var columnSort = require('../utils/columnSort.js');
16
16
  var flatColumnsHandle = require('../utils/flatColumnsHandle.js');
17
17
  var core = require('@vueuse/core');
18
+ var browser = require('../utils/browser.js');
18
19
  var useMergedState = require('../hooks/useMergedState.js');
19
20
  var InteralTable = require('./InteralTable.vue.js');
20
21
  var ToolBar = require('./ToolBar/ToolBar.vue.js');
@@ -48,6 +49,7 @@ var Table = /* @__PURE__ */ vue.defineComponent({
48
49
  dark
49
50
  } = context.useProConfigInject();
50
51
  const prefixCls = index.usePrefixCls("table");
52
+ const isApple = browser.isMacOsUserAgent() || browser.isIOSUserAgent();
51
53
  const {
52
54
  hoverRowKey
53
55
  } = useHover.useProvideHover({
@@ -344,13 +346,13 @@ var Table = /* @__PURE__ */ vue.defineComponent({
344
346
  var _a2, _b2, _c, _d, _e, _f, _g;
345
347
  if (props.autoHeight || counter.hasFullScreen.value) {
346
348
  await vue.nextTick();
347
- const height = window.innerHeight - (((_c = (_b2 = (_a2 = tableRef.value) == null ? void 0 : _a2.rootRef) == null ? void 0 : _b2.getBoundingClientRect()) == null ? void 0 : _c.top) || 0) - (((_f = (_e = (_d = tableRef.value) == null ? void 0 : _d.paginationRef) == null ? void 0 : _e.getBoundingClientRect()) == null ? void 0 : _f.height) || 0);
349
+ const height = window.innerHeight - (((_c = (_b2 = (_a2 = tableRef.value) == null ? void 0 : _a2.rootRef) == null ? void 0 : _b2.getBoundingClientRect()) == null ? void 0 : _c.top) || 0) - (((_f = (_e = (_d = tableRef.value) == null ? void 0 : _d.paginationRef) == null ? void 0 : _e.getBoundingClientRect()) == null ? void 0 : _f.height) || 0) - (!isApple ? counter.scrollViewportHeight.value : 0);
348
350
  tableHeight.value = typeof props.autoHeight === "function" && !counter.hasFullScreen.value ? (_g = props.autoHeight) == null ? void 0 : _g.call(props, height) : height;
349
351
  } else {
350
352
  tableHeight.value = props.height;
351
353
  }
352
354
  };
353
- vue.watch(() => counter.tableSize.value, () => {
355
+ vue.watch([counter.tableSize, counter.scrollViewportHeight], () => {
354
356
  calcTableHeight();
355
357
  });
356
358
  vue.onMounted(async () => {