tdesign-vue-next 1.8.2-alpha.1 → 1.8.2-alpha.2

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 (177) hide show
  1. package/cjs/_chunks/{dep-e401fa95.js → dep-05724dfb.js} +1 -1
  2. package/cjs/_chunks/{dep-e401fa95.js.map → dep-05724dfb.js.map} +1 -1
  3. package/cjs/auto-complete/index.d.ts +10 -10
  4. package/cjs/auto-complete/index.js.map +1 -1
  5. package/cjs/auto-complete/type.d.ts +4 -0
  6. package/cjs/index-lib.js +1 -1
  7. package/cjs/index.js +1 -1
  8. package/cjs/table/base-table.js +3 -2
  9. package/cjs/table/base-table.js.map +1 -1
  10. package/cjs/table/hooks/useFixed.js +1 -1
  11. package/cjs/table/hooks/useFixed.js.map +1 -1
  12. package/cjs/table/hooks/useTreeDataExpand.js +2 -2
  13. package/cjs/table/hooks/useTreeDataExpand.js.map +1 -1
  14. package/dist/tdesign.js +6 -5
  15. package/dist/tdesign.js.map +1 -1
  16. package/dist/tdesign.min.js +2 -2
  17. package/dist/tdesign.min.js.map +1 -1
  18. package/es/_chunks/{dep-5ef9b79d.mjs → dep-25b5a758.mjs} +1 -1
  19. package/es/_chunks/{dep-5ef9b79d.mjs.map → dep-25b5a758.mjs.map} +1 -1
  20. package/es/auto-complete/index.d.ts +10 -10
  21. package/es/auto-complete/index.mjs.map +1 -1
  22. package/es/auto-complete/type.d.ts +4 -0
  23. package/es/index.mjs +1 -1
  24. package/es/nuxt/components/Affix.mjs +1 -2
  25. package/es/nuxt/components/Alert.mjs +1 -2
  26. package/es/nuxt/components/Anchor.mjs +1 -2
  27. package/es/nuxt/components/AnchorItem.mjs +1 -2
  28. package/es/nuxt/components/AnchorTarget.mjs +1 -2
  29. package/es/nuxt/components/Aside.mjs +1 -2
  30. package/es/nuxt/components/AutoComplete.mjs +1 -2
  31. package/es/nuxt/components/Avatar.mjs +1 -2
  32. package/es/nuxt/components/AvatarGroup.mjs +1 -2
  33. package/es/nuxt/components/BackTop.mjs +1 -2
  34. package/es/nuxt/components/Badge.mjs +1 -2
  35. package/es/nuxt/components/BaseTable.mjs +1 -2
  36. package/es/nuxt/components/Breadcrumb.mjs +1 -2
  37. package/es/nuxt/components/BreadcrumbItem.mjs +1 -2
  38. package/es/nuxt/components/Button.mjs +1 -2
  39. package/es/nuxt/components/Calendar.mjs +1 -2
  40. package/es/nuxt/components/Card.mjs +1 -2
  41. package/es/nuxt/components/Cascader.mjs +1 -2
  42. package/es/nuxt/components/CascaderPanel.mjs +1 -2
  43. package/es/nuxt/components/CheckTag.mjs +1 -2
  44. package/es/nuxt/components/CheckTagGroup.mjs +1 -2
  45. package/es/nuxt/components/Checkbox.mjs +1 -2
  46. package/es/nuxt/components/CheckboxGroup.mjs +1 -2
  47. package/es/nuxt/components/Col.mjs +1 -2
  48. package/es/nuxt/components/Collapse.mjs +1 -2
  49. package/es/nuxt/components/CollapsePanel.mjs +1 -2
  50. package/es/nuxt/components/ColorPicker.mjs +1 -2
  51. package/es/nuxt/components/ColorPickerPanel.mjs +1 -2
  52. package/es/nuxt/components/Comment.mjs +1 -2
  53. package/es/nuxt/components/ConfigProvider.mjs +1 -2
  54. package/es/nuxt/components/Content.mjs +1 -2
  55. package/es/nuxt/components/DatePicker.mjs +1 -2
  56. package/es/nuxt/components/DatePickerPanel.mjs +1 -2
  57. package/es/nuxt/components/DateRangePicker.mjs +1 -2
  58. package/es/nuxt/components/DateRangePickerPanel.mjs +1 -2
  59. package/es/nuxt/components/Descriptions.mjs +1 -2
  60. package/es/nuxt/components/DescriptionsItem.mjs +1 -2
  61. package/es/nuxt/components/Dialog.mjs +1 -2
  62. package/es/nuxt/components/DialogPlugin.mjs +1 -2
  63. package/es/nuxt/components/Divider.mjs +1 -2
  64. package/es/nuxt/components/Drawer.mjs +1 -2
  65. package/es/nuxt/components/Dropdown.mjs +1 -2
  66. package/es/nuxt/components/DropdownItem.mjs +1 -2
  67. package/es/nuxt/components/DropdownMenu.mjs +1 -2
  68. package/es/nuxt/components/EnhancedTable.mjs +1 -2
  69. package/es/nuxt/components/Footer.mjs +1 -2
  70. package/es/nuxt/components/Form.mjs +1 -2
  71. package/es/nuxt/components/FormItem.mjs +1 -2
  72. package/es/nuxt/components/Guide.mjs +1 -2
  73. package/es/nuxt/components/HeadMenu.mjs +1 -2
  74. package/es/nuxt/components/Header.mjs +1 -2
  75. package/es/nuxt/components/HighlightOption.mjs +1 -2
  76. package/es/nuxt/components/Icon.mjs +1 -2
  77. package/es/nuxt/components/Image.mjs +1 -2
  78. package/es/nuxt/components/ImageViewer.mjs +1 -2
  79. package/es/nuxt/components/Input.mjs +1 -2
  80. package/es/nuxt/components/InputAdornment.mjs +1 -2
  81. package/es/nuxt/components/InputGroup.mjs +1 -2
  82. package/es/nuxt/components/InputNumber.mjs +1 -2
  83. package/es/nuxt/components/Layout.mjs +1 -2
  84. package/es/nuxt/components/Link.mjs +1 -2
  85. package/es/nuxt/components/List.mjs +1 -2
  86. package/es/nuxt/components/ListItem.mjs +1 -2
  87. package/es/nuxt/components/ListItemMeta.mjs +1 -2
  88. package/es/nuxt/components/Loading.mjs +1 -2
  89. package/es/nuxt/components/LoadingPlugin.mjs +1 -2
  90. package/es/nuxt/components/Menu.mjs +1 -2
  91. package/es/nuxt/components/MenuGroup.mjs +1 -2
  92. package/es/nuxt/components/MenuItem.mjs +1 -2
  93. package/es/nuxt/components/Message.mjs +1 -2
  94. package/es/nuxt/components/MessagePlugin.mjs +1 -2
  95. package/es/nuxt/components/Notification.mjs +1 -2
  96. package/es/nuxt/components/Notify.mjs +1 -2
  97. package/es/nuxt/components/NotifyPlugin.mjs +1 -2
  98. package/es/nuxt/components/Option.mjs +1 -2
  99. package/es/nuxt/components/OptionGroup.mjs +1 -2
  100. package/es/nuxt/components/Pagination.mjs +1 -2
  101. package/es/nuxt/components/PaginationMini.mjs +1 -2
  102. package/es/nuxt/components/Popconfirm.mjs +1 -2
  103. package/es/nuxt/components/Popup.mjs +1 -2
  104. package/es/nuxt/components/PrimaryTable.mjs +1 -2
  105. package/es/nuxt/components/Progress.mjs +1 -2
  106. package/es/nuxt/components/Radio.mjs +1 -2
  107. package/es/nuxt/components/RadioButton.mjs +1 -2
  108. package/es/nuxt/components/RadioGroup.mjs +1 -2
  109. package/es/nuxt/components/RangeInput.mjs +1 -2
  110. package/es/nuxt/components/RangeInputPopup.mjs +1 -2
  111. package/es/nuxt/components/Rate.mjs +1 -2
  112. package/es/nuxt/components/Row.mjs +1 -2
  113. package/es/nuxt/components/Select.mjs +1 -2
  114. package/es/nuxt/components/SelectInput.mjs +1 -2
  115. package/es/nuxt/components/Skeleton.mjs +1 -2
  116. package/es/nuxt/components/Slider.mjs +1 -2
  117. package/es/nuxt/components/SliderButton.mjs +1 -2
  118. package/es/nuxt/components/Space.mjs +1 -2
  119. package/es/nuxt/components/Statistic.mjs +1 -2
  120. package/es/nuxt/components/StepItem.mjs +1 -2
  121. package/es/nuxt/components/Steps.mjs +1 -2
  122. package/es/nuxt/components/StickyItem.mjs +1 -2
  123. package/es/nuxt/components/StickyTool.mjs +1 -2
  124. package/es/nuxt/components/Submenu.mjs +1 -2
  125. package/es/nuxt/components/Swiper.mjs +1 -2
  126. package/es/nuxt/components/SwiperItem.mjs +1 -2
  127. package/es/nuxt/components/Switch.mjs +1 -2
  128. package/es/nuxt/components/TabPanel.mjs +1 -2
  129. package/es/nuxt/components/Table.mjs +1 -2
  130. package/es/nuxt/components/Tabs.mjs +1 -2
  131. package/es/nuxt/components/Tag.mjs +1 -2
  132. package/es/nuxt/components/TagInput.mjs +1 -2
  133. package/es/nuxt/components/Textarea.mjs +1 -2
  134. package/es/nuxt/components/TimePicker.mjs +1 -2
  135. package/es/nuxt/components/TimePickerPanel.mjs +1 -2
  136. package/es/nuxt/components/TimeRangePicker.mjs +1 -2
  137. package/es/nuxt/components/Timeline.mjs +1 -2
  138. package/es/nuxt/components/TimelineItem.mjs +1 -2
  139. package/es/nuxt/components/Tooltip.mjs +1 -2
  140. package/es/nuxt/components/Transfer.mjs +1 -2
  141. package/es/nuxt/components/Tree.mjs +1 -2
  142. package/es/nuxt/components/TreeSelect.mjs +1 -2
  143. package/es/nuxt/components/Upload.mjs +1 -2
  144. package/es/nuxt/components/Watermark.mjs +1 -2
  145. package/es/nuxt/index.mjs +1 -1
  146. package/es/table/base-table.mjs +3 -2
  147. package/es/table/base-table.mjs.map +1 -1
  148. package/es/table/hooks/useFixed.mjs +1 -1
  149. package/es/table/hooks/useFixed.mjs.map +1 -1
  150. package/es/table/hooks/useTreeDataExpand.mjs +2 -2
  151. package/es/table/hooks/useTreeDataExpand.mjs.map +1 -1
  152. package/esm/_chunks/{dep-dd6b7e27.js → dep-b9d64ff1.js} +1 -1
  153. package/esm/_chunks/{dep-dd6b7e27.js.map → dep-b9d64ff1.js.map} +1 -1
  154. package/esm/auto-complete/index.d.ts +10 -10
  155. package/esm/auto-complete/index.js.map +1 -1
  156. package/esm/auto-complete/type.d.ts +4 -0
  157. package/esm/index.js +1 -1
  158. package/esm/table/base-table.js +3 -2
  159. package/esm/table/base-table.js.map +1 -1
  160. package/esm/table/hooks/useFixed.js +1 -1
  161. package/esm/table/hooks/useFixed.js.map +1 -1
  162. package/esm/table/hooks/useTreeDataExpand.js +2 -2
  163. package/esm/table/hooks/useTreeDataExpand.js.map +1 -1
  164. package/lib/_chunks/{dep-fa2656e4.js → dep-d69c6270.js} +1 -1
  165. package/lib/_chunks/{dep-fa2656e4.js.map → dep-d69c6270.js.map} +1 -1
  166. package/lib/auto-complete/index.d.ts +10 -10
  167. package/lib/auto-complete/index.js.map +1 -1
  168. package/lib/auto-complete/type.d.ts +4 -0
  169. package/lib/index-lib.js +1 -1
  170. package/lib/index.js +1 -1
  171. package/lib/table/base-table.js +3 -2
  172. package/lib/table/base-table.js.map +1 -1
  173. package/lib/table/hooks/useFixed.js +1 -1
  174. package/lib/table/hooks/useFixed.js.map +1 -1
  175. package/lib/table/hooks/useTreeDataExpand.js +2 -2
  176. package/lib/table/hooks/useTreeDataExpand.js.map +1 -1
  177. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"base-table.js","sources":["../../src/table/base-table.tsx"],"sourcesContent":["import { computed, defineComponent, SetupContext, ref, nextTick, PropType, watch, onMounted, toRefs } from 'vue';\nimport pick from 'lodash/pick';\nimport get from 'lodash/get';\nimport props from './base-table-props';\nimport useTableHeader from './hooks/useTableHeader';\nimport useColumnResize from './hooks/useColumnResize';\nimport useFixed from './hooks/useFixed';\nimport usePagination from './hooks/usePagination';\nimport useVirtualScrollNew from '../hooks/useVirtualScrollNew';\nimport useAffix from './hooks/useAffix';\nimport Loading from '../loading';\nimport TBody, { extendTableProps } from './tbody';\nimport { BaseTableProps } from './interface';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport useStyle, { formatCSSUnit } from './hooks/useStyle';\nimport useClassName from './hooks/useClassName';\nimport { useConfig } from '../hooks/useConfig';\nimport { Affix } from '../affix';\nimport { ROW_LISTENERS } from './tr';\nimport THead from './thead';\nimport TFoot from './tfoot';\nimport { getAffixProps } from './utils';\nimport { Styles, ComponentScrollToElementParams } from '../common';\nimport { getIEVersion } from '../_common/js/utils/helper';\nimport { BaseTableInstanceFunctions } from './type';\nimport log from '../_common/js/log';\nimport { useRowHighlight } from './hooks/useRowHighlight';\nimport useHoverKeyboardEvent from './hooks/useHoverKeyboardEvent';\nimport useElementLazyRender from '../hooks/useElementLazyRender';\nimport isFunction from 'lodash/isFunction';\n\nexport const BASE_TABLE_EVENTS = ['page-change', 'cell-click', 'scroll', 'scrollX', 'scrollY'];\nexport const BASE_TABLE_ALL_EVENTS = ROW_LISTENERS.map((t) => `row-${t}`).concat(BASE_TABLE_EVENTS);\n\nexport interface TableListeners {\n [key: string]: Function;\n}\n\nexport default defineComponent({\n name: 'TBaseTable',\n\n props: {\n ...props,\n /**\n * 渲染展开行,非公开属性,请勿在业务中使用\n */\n renderExpandedRow: Function as PropType<BaseTableProps['renderExpandedRow']>,\n onLeafColumnsChange: Function as PropType<BaseTableProps['onLeafColumnsChange']>,\n thDraggable: Boolean,\n },\n\n emits: ['show-element-change'],\n\n setup(props: BaseTableProps, context: SetupContext) {\n const { lazyLoad } = toRefs(props);\n const renderTNode = useTNodeJSX();\n const tableRef = ref<HTMLDivElement>();\n const tableElmRef = ref<HTMLTableElement>();\n const tableBodyRef = ref<HTMLTableElement>();\n const bottomContentRef = ref<HTMLDivElement>();\n const tableFootHeight = ref(0);\n const { classPrefix, virtualScrollClasses, tableLayoutClasses, tableBaseClass, tableColFixedClasses } =\n useClassName();\n // 表格基础样式类\n const { tableClasses, sizeClassNames, tableContentStyles, tableElementStyles } = useStyle(props);\n const { globalConfig } = useConfig('table', props.locale);\n const { isMultipleHeader, spansAndLeafNodes, thList } = useTableHeader(props);\n const finalColumns = computed(() => spansAndLeafNodes.value?.leafColumns || props.columns);\n\n const { showElement } = useElementLazyRender(tableRef, lazyLoad);\n\n // 吸附相关ref 用来做视图resize后重新定位\n const paginationAffixRef = ref();\n const horizontalScrollAffixRef = ref();\n const headerTopAffixRef = ref();\n const footerBottomAffixRef = ref();\n\n // 固定表头和固定列逻辑\n const {\n scrollbarWidth,\n virtualScrollHeaderPos,\n tableWidth,\n tableElmWidth,\n tableContentRef,\n isFixedHeader,\n isWidthOverflow,\n isFixedColumn,\n thWidthList,\n showColumnShadow,\n rowAndColFixedPosition,\n setData,\n refreshTable,\n setTableElmWidth,\n emitScrollEvent,\n setUseFixedTableElmRef,\n updateColumnFixedShadow,\n getThWidthList,\n updateThWidthList,\n addTableResizeObserver,\n updateTableAfterColumnResize,\n } = useFixed(props, context, finalColumns, {\n paginationAffixRef,\n horizontalScrollAffixRef,\n headerTopAffixRef,\n footerBottomAffixRef,\n });\n\n // 1. 表头吸顶;2. 表尾吸底;3. 底部滚动条吸底;4. 分页器吸底\n const {\n affixHeaderRef,\n affixFooterRef,\n horizontalScrollbarRef,\n paginationRef,\n showAffixHeader,\n showAffixFooter,\n showAffixPagination,\n onHorizontalScroll,\n setTableContentRef,\n updateAffixHeaderOrFooter,\n } = useAffix(props);\n\n const { dataSource, innerPagination, isPaginateData, renderPagination } = usePagination(props, context);\n\n // 列宽拖拽逻辑\n const columnResizeParams = useColumnResize({\n isWidthOverflow,\n tableContentRef,\n showColumnShadow,\n getThWidthList,\n updateThWidthList,\n setTableElmWidth,\n updateTableAfterColumnResize,\n onColumnResizeChange: props.onColumnResizeChange,\n });\n const { resizeLineRef, resizeLineStyle, setEffectColMap } = columnResizeParams;\n\n const dynamicBaseTableClasses = computed(() => [\n tableClasses.value,\n {\n [tableBaseClass.headerFixed]: isFixedHeader.value,\n [tableBaseClass.columnFixed]: isFixedColumn.value,\n [tableBaseClass.widthOverflow]: isWidthOverflow.value,\n [tableBaseClass.multipleHeader]: isMultipleHeader.value,\n [tableColFixedClasses.leftShadow]: showColumnShadow.left,\n [tableColFixedClasses.rightShadow]: showColumnShadow.right,\n [tableBaseClass.columnResizableTable]: props.resizable,\n [`${classPrefix}-table__row--active-${props.activeRowType}`]: props.activeRowType,\n },\n ]);\n\n const tableElmClasses = computed(() => [[tableLayoutClasses[props.tableLayout]]]);\n\n const showRightDivider = computed(\n () =>\n props.bordered &&\n isFixedHeader.value &&\n ((isMultipleHeader.value && isWidthOverflow.value) || !isMultipleHeader.value),\n );\n\n const dividerBottom = computed(() => {\n if (!props.bordered) return 0;\n const bottomRect = bottomContentRef.value?.getBoundingClientRect();\n const paginationRect = paginationRef.value?.getBoundingClientRect();\n return (bottomRect?.height || 0) + (paginationRect?.height || 0);\n });\n\n // 行高亮\n const { tActiveRow, onHighlightRow, addHighlightKeyboardListener, removeHighlightKeyboardListener } =\n useRowHighlight(props, tableRef);\n\n const {\n hoverRow,\n needKeyboardRowHover,\n clearHoverRow,\n addRowHoverKeyboardListener,\n removeRowHoverKeyboardListener,\n } = useHoverKeyboardEvent(props, tableRef);\n\n watch(tableElmRef, () => {\n setUseFixedTableElmRef(tableElmRef.value);\n });\n\n watch(\n () => [props.data, dataSource],\n () => {\n setData(isPaginateData.value ? dataSource.value : props.data);\n },\n );\n\n watch(\n spansAndLeafNodes,\n () => {\n props.onLeafColumnsChange?.(spansAndLeafNodes.value.leafColumns);\n setEffectColMap(spansAndLeafNodes.value.leafColumns, null);\n },\n { immediate: true },\n );\n\n const onFixedChange = () => {\n nextTick(() => {\n onHorizontalScroll();\n updateAffixHeaderOrFooter();\n });\n };\n\n // 虚拟滚动相关数据\n const virtualScrollParams = computed(() => ({\n data: props.data,\n scroll: props.scroll,\n }));\n const virtualConfig = useVirtualScrollNew(tableContentRef, virtualScrollParams);\n\n let lastScrollY = -1;\n const onInnerVirtualScroll = (e: WheelEvent) => {\n const target = (e.target || e.srcElement) as HTMLElement;\n const top = target.scrollTop;\n // 排除横向滚动触发的纵向虚拟滚动计算\n if (lastScrollY !== top) {\n virtualConfig.isVirtualScroll.value && virtualConfig.handleScroll();\n } else {\n lastScrollY = -1;\n updateColumnFixedShadow(target);\n }\n lastScrollY = top;\n emitScrollEvent(e);\n };\n\n // used for top margin\n const getTFootHeight = () => {\n if (!tableElmRef.value) return;\n tableFootHeight.value = tableElmRef.value.querySelector('tfoot')?.getBoundingClientRect().height;\n };\n\n // 对外暴露方法,修改时需谨慎(expose)\n const scrollColumnIntoView: BaseTableInstanceFunctions['scrollColumnIntoView'] = (colKey: string) => {\n if (!tableContentRef.value) return;\n const thDom = tableContentRef.value.querySelector(`th[data-colkey=\"${colKey}\"]`);\n const fixedThDom = tableContentRef.value.querySelectorAll('th.t-table__cell--fixed-left');\n let totalWidth = 0;\n for (let i = 0, len = fixedThDom.length; i < len; i++) {\n totalWidth += fixedThDom[i].getBoundingClientRect().width;\n }\n const domRect = thDom.getBoundingClientRect();\n const contentRect = tableContentRef.value.getBoundingClientRect();\n const distance = domRect.left - contentRect.left - totalWidth;\n tableContentRef.value.scrollTo({ left: distance, behavior: 'smooth' });\n };\n\n watch(tableContentRef, () => {\n setTableContentRef(tableContentRef.value);\n });\n\n watch(tableElmRef, getTFootHeight);\n\n watch(tableRef, (tableRef) => {\n addTableResizeObserver(tableRef);\n });\n\n onMounted(() => {\n getTFootHeight();\n setTableContentRef(tableContentRef.value);\n addTableResizeObserver(tableRef.value);\n });\n\n const onTableFocus = () => {\n props.activeRowType && addHighlightKeyboardListener();\n needKeyboardRowHover.value && addRowHoverKeyboardListener();\n };\n\n const onTableBlur = () => {\n props.activeRowType && removeHighlightKeyboardListener();\n needKeyboardRowHover.value && removeRowHoverKeyboardListener();\n };\n\n const onInnerRowClick: BaseTableProps['onRowClick'] = (ctx) => {\n props.onRowClick?.(ctx);\n props.activeRowType && onHighlightRow(ctx);\n needKeyboardRowHover.value && clearHoverRow();\n };\n\n watch(\n [showElement],\n ([showElement]) => {\n context.emit('show-element-change', showElement);\n },\n { immediate: true },\n );\n\n const tableData = computed(() => (isPaginateData.value ? dataSource.value : props.data));\n\n const scrollToElement = (params: ComponentScrollToElementParams) => {\n let { index } = params;\n if (!index && index !== 0) {\n if (!params.key) {\n log.error('Table', 'scrollToElement: one of `index` or `key` must exist.');\n return;\n }\n index = tableData.value?.findIndex((item) => get(item, props.rowKey) === params.key);\n if (index < 0) {\n log.error('Table', `${params.key} does not exist in data, check \\`rowKey\\` or \\`data\\` please.`);\n }\n }\n virtualConfig.scrollToElement({ ...params, index: index - 1 });\n };\n\n return {\n thList,\n classPrefix,\n innerPagination,\n globalConfig,\n tableFootHeight,\n virtualScrollHeaderPos,\n tableWidth,\n tableElmWidth,\n tableRef,\n tableElmRef,\n sizeClassNames,\n tableBaseClass,\n spansAndLeafNodes,\n dynamicBaseTableClasses,\n tableContentStyles,\n tableElementStyles,\n dividerBottom,\n virtualScrollClasses,\n tableLayoutClasses,\n tableElmClasses,\n tableContentRef,\n isFixedHeader,\n isWidthOverflow,\n isFixedColumn,\n rowAndColFixedPosition,\n showColumnShadow,\n thWidthList,\n isPaginateData,\n dataSource,\n affixHeaderRef,\n affixFooterRef,\n bottomContentRef,\n paginationRef,\n showAffixHeader,\n showAffixFooter,\n scrollbarWidth,\n isMultipleHeader,\n showRightDivider,\n resizeLineRef,\n resizeLineStyle,\n columnResizeParams,\n horizontalScrollbarRef,\n tableBodyRef,\n virtualConfig,\n showAffixPagination,\n tActiveRow,\n hoverRow,\n showElement,\n scrollToElement,\n renderPagination,\n renderTNode,\n onFixedChange,\n onHorizontalScroll,\n updateAffixHeaderOrFooter,\n onInnerVirtualScroll,\n refreshTable,\n scrollColumnIntoView,\n onTableFocus,\n onTableBlur,\n onInnerRowClick,\n paginationAffixRef,\n horizontalScrollAffixRef,\n headerTopAffixRef,\n footerBottomAffixRef,\n };\n },\n\n render() {\n if (!this.showElement) {\n return <div ref=\"tableRef\"></div>;\n }\n\n const { rowAndColFixedPosition, tableLayout } = this;\n const data = this.isPaginateData ? this.dataSource : this.data;\n const columns = this.spansAndLeafNodes?.leafColumns || this.columns;\n\n const columnResizable = this.allowResizeColumnWidth ?? this.resizable;\n if (columnResizable && tableLayout === 'auto') {\n log.warn(\n 'Table',\n 'table-layout can not be `auto`, cause you are using column resizable, set `table-layout: fixed` please.',\n );\n }\n\n const defaultColWidth = tableLayout === 'fixed' && this.isWidthOverflow ? '100px' : undefined;\n\n const renderColGroup = (isAffixHeader = true) => (\n <colgroup>\n {columns.map((col) => {\n const style: Styles = {\n width:\n formatCSSUnit(\n (isAffixHeader || columnResizable ? this.thWidthList[col.colKey] : undefined) || col.width,\n ) || defaultColWidth,\n };\n if (col.minWidth) {\n style.minWidth = formatCSSUnit(col.minWidth);\n }\n // 没有设置任何宽度的场景下,需要保留表格正常显示的最小宽度,否则会出现因宽度过小的抖动问题\n if (!style.width && !col.minWidth && this.tableLayout === 'fixed') {\n style.minWidth = '80px';\n }\n return <col key={col.colKey} style={style}></col>;\n })}\n </colgroup>\n );\n\n const renderAffixedHeader = () => {\n if (this.showHeader === false) return null;\n return (\n !!(this.virtualConfig.isVirtualScroll.value || this.headerAffixedTop) &&\n (this.headerAffixedTop ? (\n <Affix\n offsetTop={0}\n {...getAffixProps(this.headerAffixedTop)}\n onFixedChange={this.onFixedChange}\n ref=\"headerTopAffixRef\"\n >\n {affixHeaderWithWrap}\n </Affix>\n ) : (\n this.isFixedHeader && affixHeaderWithWrap\n ))\n );\n };\n\n const renderAffixedHorizontalScrollbar = () => (\n <Affix\n offsetBottom={0}\n {...getAffixProps(this.horizontalScrollAffixedBottom)}\n style={{ marginTop: `-${this.scrollbarWidth * 2}px` }}\n horizontalScrollAffixedBottom\n ref=\"horizontalScrollAffixRef\"\n >\n <div\n ref=\"horizontalScrollbarRef\"\n class={['scrollbar', this.tableBaseClass.obviousScrollbar]}\n style={{\n width: `${this.tableWidth}px`,\n overflow: 'auto',\n opacity: Number(this.showAffixFooter),\n }}\n >\n <div style={{ width: `${this.tableElmWidth}px`, height: '5px' }}></div>\n </div>\n </Affix>\n );\n\n const headProps = {\n isFixedHeader: this.isFixedHeader,\n rowAndColFixedPosition: this.rowAndColFixedPosition,\n isMultipleHeader: this.isMultipleHeader,\n bordered: this.bordered,\n maxHeight: this.maxHeight,\n height: this.height,\n spansAndLeafNodes: this.spansAndLeafNodes,\n thList: this.thList,\n thWidthList: this.thWidthList,\n resizable: this.resizable,\n columnResizeParams: this.columnResizeParams,\n classPrefix: this.classPrefix,\n ellipsisOverlayClassName: this.size !== 'medium' ? this.sizeClassNames[this.size] : '',\n attach: this.attach,\n showColumnShadow: this.showColumnShadow,\n thDraggable: this.thDraggable,\n };\n\n /**\n * Affixed Header\n */\n // IE 浏览器需要遮挡 header 吸顶滚动条,要减去 getBoundingClientRect.height 的滚动条高度 4 像素\n const IEHeaderWrap = getIEVersion() <= 11 ? 4 : 0;\n const barWidth = this.isWidthOverflow ? this.scrollbarWidth : 0;\n const affixHeaderHeight = ref((this.affixHeaderRef?.getBoundingClientRect().height || 0) - IEHeaderWrap);\n // 等待表头渲染完成后再更新高度,有可能列变动带来多级表头的高度变化,错误高度会导致滚动条显示\n const timer = setTimeout(() => {\n affixHeaderHeight.value = (this.affixHeaderRef?.getBoundingClientRect().height || 0) - IEHeaderWrap;\n clearTimeout(timer);\n }, 0);\n const affixHeaderWrapHeight = computed(() => affixHeaderHeight.value - barWidth);\n // 两类场景:1. 虚拟滚动,永久显示表头,直到表头消失在可视区域; 2. 表头吸顶,根据滚动情况判断是否显示吸顶表头\n const headerOpacity = props.headerAffixedTop ? Number(this.showAffixHeader) : 1;\n const affixHeaderWrapHeightStyle = computed(() => {\n return {\n width: `${this.tableWidth}px`,\n height: `${affixHeaderWrapHeight.value}px`,\n opacity: headerOpacity,\n };\n });\n // 多级表头左边线缺失\n const affixedLeftBorder = this.bordered ? 1 : 0;\n const affixedHeader = Boolean(\n (this.headerAffixedTop || this.virtualConfig.isVirtualScroll.value) && this.tableWidth,\n ) && (\n <div\n ref=\"affixHeaderRef\"\n style={{\n width: `${this.tableWidth - affixedLeftBorder}px`,\n opacity: Number(this.showAffixHeader),\n }}\n class={[\n 'scrollbar',\n {\n [this.tableBaseClass.affixedHeaderElm]: this.headerAffixedTop || this.virtualConfig.isVirtualScroll.value,\n },\n ]}\n >\n <table class={this.tableElmClasses} style={{ ...this.tableElementStyles, width: `${this.tableElmWidth}px` }}>\n {renderColGroup(true)}\n <THead v-slots={this.$slots} {...headProps} />\n </table>\n </div>\n );\n\n // 添加这一层,是为了隐藏表头的横向滚动条。如果以后不需要照顾 IE 10 以下的项目,则可直接移除这一层\n // 彼时,可更为使用 CSS 样式中的 .hideScrollbar()\n const affixHeaderWithWrap = (\n <div class={this.tableBaseClass.affixedHeaderWrap} style={affixHeaderWrapHeightStyle.value}>\n {affixedHeader}\n </div>\n );\n\n /**\n * Affixed Footer\n */\n let marginScrollbarWidth = this.isWidthOverflow ? this.scrollbarWidth : 0;\n if (this.bordered) {\n marginScrollbarWidth += 1;\n }\n // Hack: Affix 组件,marginTop 临时使用 负 margin 定位位置\n const showFooter = Boolean(this.virtualConfig.isVirtualScroll.value || this.footerAffixedBottom);\n const hasFooter = this.footData?.length || this.footerSummary || this.$slots['footerSummary'];\n const affixedFooter = Boolean(showFooter && hasFooter && this.tableWidth) && (\n <Affix\n class={this.tableBaseClass.affixedFooterWrap}\n onFixedChange={this.onFixedChange}\n offsetBottom={marginScrollbarWidth || 0}\n {...getAffixProps(this.footerAffixedBottom)}\n style={{ marginTop: `${-1 * (this.tableFootHeight + marginScrollbarWidth)}px` }}\n ref=\"footerBottomAffixRef\"\n >\n <div\n ref=\"affixFooterRef\"\n style={{ width: `${this.tableWidth - affixedLeftBorder}px`, opacity: Number(this.showAffixFooter) }}\n class={[\n 'scrollbar',\n {\n [this.tableBaseClass.affixedFooterElm]:\n this.footerAffixedBottom || this.virtualConfig.isVirtualScroll.value,\n },\n ]}\n >\n <table class={this.tableElmClasses} style={{ ...this.tableElementStyles, width: `${this.tableElmWidth}px` }}>\n {/* 此处和 Vue2 不同,Vue3 里面必须每一处单独写 <colgroup> */}\n {renderColGroup(true)}\n <TFoot\n rowKey={this.rowKey}\n v-slots={this.$slots}\n isFixedHeader={this.isFixedHeader}\n rowAndColFixedPosition={rowAndColFixedPosition}\n footData={this.footData}\n columns={columns}\n rowAttributes={this.rowAttributes}\n rowClassName={this.rowClassName}\n thWidthList={this.thWidthList}\n footerSummary={this.footerSummary}\n rowspanAndColspanInFooter={this.rowspanAndColspanInFooter}\n ></TFoot>\n </table>\n </div>\n </Affix>\n );\n\n // 通过 translate 撑开虚拟滚动的高度,应该是内容高度加上表头和表尾的高度\n const translate = `translate(0, ${\n this.virtualConfig.scrollHeight.value + (this.tableFootHeight ?? 0) + (affixHeaderHeight.value ?? 0)\n }px)`;\n const virtualStyle = {\n transform: translate,\n '-ms-transform': translate,\n '-moz-transform': translate,\n '-webkit-transform': translate,\n };\n const { virtualConfig } = this;\n const tableBodyProps = {\n classPrefix: this.classPrefix,\n ellipsisOverlayClassName: this.size !== 'medium' ? this.sizeClassNames[this.size] : '',\n rowAndColFixedPosition,\n showColumnShadow: this.showColumnShadow,\n data: virtualConfig.isVirtualScroll.value ? virtualConfig.visibleData.value : data,\n virtualConfig: this.virtualConfig,\n columns: this.spansAndLeafNodes.leafColumns,\n tableElm: this.tableRef,\n tableWidth: this.tableWidth,\n isWidthOverflow: this.isWidthOverflow,\n scroll: this.scroll,\n cellEmptyContent: this.cellEmptyContent,\n tableContentElm: this.tableContentRef,\n handleRowMounted: this.virtualConfig.handleRowMounted,\n renderExpandedRow: this.renderExpandedRow,\n ...pick(this.$props, extendTableProps),\n // 内部使用分页信息必须取 innerPagination\n pagination: this.innerPagination,\n attach: this.attach,\n hoverRow: this.hoverRow,\n activeRow: this.tActiveRow,\n onRowClick: this.onInnerRowClick,\n };\n const tableContent = (\n <div\n ref=\"tableContentRef\"\n class={this.tableBaseClass.content}\n style={this.tableContentStyles}\n onScroll={this.onInnerVirtualScroll}\n >\n {this.virtualConfig.isVirtualScroll.value && (\n <div class={this.virtualScrollClasses.cursor} style={virtualStyle} />\n )}\n\n <table\n ref=\"tableElmRef\"\n class={this.tableElmClasses}\n style={{\n ...this.tableElementStyles,\n width:\n this.resizable && this.isWidthOverflow && this.tableElmWidth\n ? `${this.tableElmWidth}px`\n : this.tableElementStyles.width,\n }}\n >\n {renderColGroup(false)}\n {this.showHeader && (\n <THead v-slots={this.$slots} {...{ ...headProps, thWidthList: columnResizable ? this.thWidthList : {} }} />\n )}\n <TBody v-slots={this.$slots} {...tableBodyProps} />\n <TFoot\n v-slots={this.$slots}\n rowKey={this.rowKey}\n isFixedHeader={this.isFixedHeader}\n rowAndColFixedPosition={rowAndColFixedPosition}\n footData={this.footData}\n columns={columns}\n rowAttributes={this.rowAttributes}\n rowClassName={this.rowClassName}\n footerSummary={this.footerSummary}\n rowspanAndColspanInFooter={this.rowspanAndColspanInFooter}\n virtualScroll={this.virtualConfig.isVirtualScroll.value}\n ></TFoot>\n </table>\n </div>\n );\n\n const getCustomLoadingText = isFunction(this.loading) ? this.loading : this.$slots.loading;\n const loadingContent = this.loading !== undefined && (\n <Loading\n loading={!!this.loading}\n text={getCustomLoadingText}\n attach={this.tableRef ? () => this.tableRef : undefined}\n showOverlay\n size=\"small\"\n {...(this.loadingProps as BaseTableProps['loadingProps'])}\n ></Loading>\n );\n\n const topContent = this.renderTNode('topContent');\n const bottomContent = this.renderTNode('bottomContent');\n const pagination = (\n <div\n ref=\"paginationRef\"\n class={this.tableBaseClass.paginationWrap}\n style={{ opacity: Number(this.showAffixPagination) }}\n >\n {this.renderPagination()}\n </div>\n );\n\n const bottom = !!bottomContent && (\n <div ref=\"bottomContentRef\" class={this.tableBaseClass.bottomContent}>\n {bottomContent}\n </div>\n );\n\n return (\n <div\n ref=\"tableRef\"\n tabindex=\"0\"\n class={this.dynamicBaseTableClasses}\n onFocus={this.onTableFocus}\n onBlur={this.onTableBlur}\n >\n {!!topContent && <div class={this.tableBaseClass.topContent}>{topContent}</div>}\n\n {renderAffixedHeader()}\n\n {tableContent}\n\n {affixedFooter}\n\n {loadingContent}\n\n {bottom}\n\n {/* 右侧滚动条分隔线 */}\n {this.showRightDivider && (\n <div\n class={this.tableBaseClass.scrollbarDivider}\n style={{\n right: `${this.scrollbarWidth}px`,\n bottom: this.dividerBottom ? `${this.dividerBottom}px` : undefined,\n height: `${this.tableContentRef?.getBoundingClientRect().height}px`,\n }}\n ></div>\n )}\n\n {/* 吸底的滚动条 */}\n {this.horizontalScrollAffixedBottom && renderAffixedHorizontalScrollbar()}\n\n {/* 吸底的分页器 */}\n {this.paginationAffixedBottom ? (\n <Affix offsetBottom={0} {...getAffixProps(this.paginationAffixedBottom)} ref=\"paginationAffixRef\">\n {pagination}\n </Affix>\n ) : (\n pagination\n )}\n\n {/* 调整列宽时的指示线。由于层级需要比较高,因而放在根节点,避免被吸顶表头覆盖。非必要情况,请勿调整辅助线位置 */}\n <div ref=\"resizeLineRef\" class={this.tableBaseClass.resizeLine} style={this.resizeLineStyle}></div>\n </div>\n );\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","BASE_TABLE_EVENTS","BASE_TABLE_ALL_EVENTS","ROW_LISTENERS","map","t","concat","defineComponent","name","props","_objectSpread","renderExpandedRow","Function","onLeafColumnsChange","thDraggable","Boolean","emits","setup","context","_toRefs","toRefs","lazyLoad","renderTNode","useTNodeJSX","tableRef","ref","tableElmRef","tableBodyRef","bottomContentRef","tableFootHeight","_useClassName","useClassName","classPrefix","virtualScrollClasses","tableLayoutClasses","tableBaseClass","tableColFixedClasses","_useStyle","useStyle","tableClasses","sizeClassNames","tableContentStyles","tableElementStyles","_useConfig","useConfig","locale","globalConfig","_useTableHeader","useTableHeader","isMultipleHeader","spansAndLeafNodes","thList","finalColumns","computed","_spansAndLeafNodes$va","value","leafColumns","columns","_useElementLazyRender","useElementLazyRender","showElement","paginationAffixRef","horizontalScrollAffixRef","headerTopAffixRef","footerBottomAffixRef","_useFixed","useFixed","scrollbarWidth","virtualScrollHeaderPos","tableWidth","tableElmWidth","tableContentRef","isFixedHeader","isWidthOverflow","isFixedColumn","thWidthList","showColumnShadow","rowAndColFixedPosition","setData","refreshTable","setTableElmWidth","emitScrollEvent","setUseFixedTableElmRef","updateColumnFixedShadow","getThWidthList","updateThWidthList","addTableResizeObserver","updateTableAfterColumnResize","_useAffix","useAffix","affixHeaderRef","affixFooterRef","horizontalScrollbarRef","paginationRef","showAffixHeader","showAffixFooter","showAffixPagination","onHorizontalScroll","setTableContentRef","updateAffixHeaderOrFooter","_usePagination","usePagination","dataSource","innerPagination","isPaginateData","renderPagination","columnResizeParams","useColumnResize","onColumnResizeChange","resizeLineRef","resizeLineStyle","setEffectColMap","dynamicBaseTableClasses","_defineProperty","headerFixed","columnFixed","widthOverflow","multipleHeader","leftShadow","left","rightShadow","right","columnResizableTable","resizable","activeRowType","tableElmClasses","tableLayout","showRightDivider","bordered","dividerBottom","_bottomContentRef$val","_paginationRef$value","bottomRect","getBoundingClientRect","paginationRect","height","_useRowHighlight","useRowHighlight","tActiveRow","onHighlightRow","addHighlightKeyboardListener","removeHighlightKeyboardListener","_useHoverKeyboardEven","useHoverKeyboardEvent","hoverRow","needKeyboardRowHover","clearHoverRow","addRowHoverKeyboardListener","removeRowHoverKeyboardListener","watch","data","_props2$onLeafColumns","immediate","onFixedChange","nextTick","virtualScrollParams","scroll","virtualConfig","useVirtualScrollNew","lastScrollY","onInnerVirtualScroll","e","target","srcElement","top","scrollTop","isVirtualScroll","handleScroll","getTFootHeight","_tableElmRef$value$qu","querySelector","scrollColumnIntoView","colKey","thDom","fixedThDom","querySelectorAll","totalWidth","i","len","length","width","domRect","contentRect","distance","scrollTo","behavior","onMounted","onTableFocus","onTableBlur","onInnerRowClick","ctx","_props2$onRowClick","onRowClick","_ref2","_ref3","_slicedToArray","emit","tableData","scrollToElement","params","index","_tableData$value","key","log","error","findIndex","item","get","rowKey","render","_this$spansAndLeafNod","_this$allowResizeColu","_this","_this$affixHeaderRef","_this$footData","_this$tableFootHeight","_affixHeaderHeight$va","_this$tableContentRef","_createVNode","columnResizable","allowResizeColumnWidth","warn","defaultColWidth","renderColGroup","isAffixHeader","arguments","undefined","col","style","formatCSSUnit","minWidth","renderAffixedHeader","showHeader","headerAffixedTop","Affix","_mergeProps","getAffixProps","affixHeaderWithWrap","_default","renderAffixedHorizontalScrollbar","horizontalScrollAffixedBottom","marginTop","obviousScrollbar","overflow","opacity","Number","headProps","maxHeight","ellipsisOverlayClassName","size","attach","IEHeaderWrap","getIEVersion","barWidth","affixHeaderHeight","timer","setTimeout","_this$affixHeaderRef2","clearTimeout","affixHeaderWrapHeight","headerOpacity","affixHeaderWrapHeightStyle","affixedLeftBorder","affixedHeader","affixedHeaderElm","THead","$slots","affixedHeaderWrap","marginScrollbarWidth","showFooter","footerAffixedBottom","hasFooter","footData","footerSummary","affixedFooter","affixedFooterWrap","affixedFooterElm","TFoot","rowAttributes","rowClassName","rowspanAndColspanInFooter","translate","scrollHeight","virtualStyle","transform","tableBodyProps","visibleData","tableElm","cellEmptyContent","tableContentElm","handleRowMounted","pick","$props","extendTableProps","pagination","activeRow","tableContent","content","cursor","TBody","getCustomLoadingText","isFunction","loading","loadingContent","Loading","loadingProps","topContent","bottomContent","paginationWrap","bottom","scrollbarDivider","paginationAffixedBottom","resizeLine"],"mappings":"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"}
1
+ {"version":3,"file":"base-table.js","sources":["../../src/table/base-table.tsx"],"sourcesContent":["import { computed, defineComponent, SetupContext, ref, nextTick, PropType, watch, onMounted, toRefs } from 'vue';\nimport pick from 'lodash/pick';\nimport get from 'lodash/get';\nimport props from './base-table-props';\nimport useTableHeader from './hooks/useTableHeader';\nimport useColumnResize from './hooks/useColumnResize';\nimport useFixed from './hooks/useFixed';\nimport usePagination from './hooks/usePagination';\nimport useVirtualScrollNew from '../hooks/useVirtualScrollNew';\nimport useAffix from './hooks/useAffix';\nimport Loading from '../loading';\nimport TBody, { extendTableProps } from './tbody';\nimport { BaseTableProps } from './interface';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport useStyle, { formatCSSUnit } from './hooks/useStyle';\nimport useClassName from './hooks/useClassName';\nimport { useConfig } from '../hooks/useConfig';\nimport { Affix } from '../affix';\nimport { ROW_LISTENERS } from './tr';\nimport THead from './thead';\nimport TFoot from './tfoot';\nimport { getAffixProps } from './utils';\nimport { Styles, ComponentScrollToElementParams } from '../common';\nimport { getIEVersion } from '../_common/js/utils/helper';\nimport { BaseTableInstanceFunctions } from './type';\nimport log from '../_common/js/log';\nimport { useRowHighlight } from './hooks/useRowHighlight';\nimport useHoverKeyboardEvent from './hooks/useHoverKeyboardEvent';\nimport useElementLazyRender from '../hooks/useElementLazyRender';\nimport isFunction from 'lodash/isFunction';\n\nexport const BASE_TABLE_EVENTS = ['page-change', 'cell-click', 'scroll', 'scrollX', 'scrollY'];\nexport const BASE_TABLE_ALL_EVENTS = ROW_LISTENERS.map((t) => `row-${t}`).concat(BASE_TABLE_EVENTS);\n\nexport interface TableListeners {\n [key: string]: Function;\n}\n\nexport default defineComponent({\n name: 'TBaseTable',\n\n props: {\n ...props,\n /**\n * 渲染展开行,非公开属性,请勿在业务中使用\n */\n renderExpandedRow: Function as PropType<BaseTableProps['renderExpandedRow']>,\n onLeafColumnsChange: Function as PropType<BaseTableProps['onLeafColumnsChange']>,\n thDraggable: Boolean,\n },\n\n emits: ['show-element-change'],\n\n setup(props: BaseTableProps, context: SetupContext) {\n const { lazyLoad } = toRefs(props);\n const renderTNode = useTNodeJSX();\n const tableRef = ref<HTMLDivElement>();\n const tableElmRef = ref<HTMLTableElement>();\n const tableBodyRef = ref<HTMLTableElement>();\n const bottomContentRef = ref<HTMLDivElement>();\n const tableFootHeight = ref(0);\n const { classPrefix, virtualScrollClasses, tableLayoutClasses, tableBaseClass, tableColFixedClasses } =\n useClassName();\n // 表格基础样式类\n const { tableClasses, sizeClassNames, tableContentStyles, tableElementStyles } = useStyle(props);\n const { globalConfig } = useConfig('table', props.locale);\n const { isMultipleHeader, spansAndLeafNodes, thList } = useTableHeader(props);\n const finalColumns = computed(() => spansAndLeafNodes.value?.leafColumns || props.columns);\n\n const { showElement } = useElementLazyRender(tableRef, lazyLoad);\n\n // 吸附相关ref 用来做视图resize后重新定位\n const paginationAffixRef = ref();\n const horizontalScrollAffixRef = ref();\n const headerTopAffixRef = ref();\n const footerBottomAffixRef = ref();\n\n // 固定表头和固定列逻辑\n const {\n scrollbarWidth,\n virtualScrollHeaderPos,\n tableWidth,\n tableElmWidth,\n tableContentRef,\n isFixedHeader,\n isWidthOverflow,\n isFixedColumn,\n thWidthList,\n showColumnShadow,\n rowAndColFixedPosition,\n setData,\n refreshTable,\n setTableElmWidth,\n emitScrollEvent,\n setUseFixedTableElmRef,\n updateColumnFixedShadow,\n getThWidthList,\n updateThWidthList,\n addTableResizeObserver,\n updateTableAfterColumnResize,\n } = useFixed(props, context, finalColumns, {\n paginationAffixRef,\n horizontalScrollAffixRef,\n headerTopAffixRef,\n footerBottomAffixRef,\n });\n\n // 1. 表头吸顶;2. 表尾吸底;3. 底部滚动条吸底;4. 分页器吸底\n const {\n affixHeaderRef,\n affixFooterRef,\n horizontalScrollbarRef,\n paginationRef,\n showAffixHeader,\n showAffixFooter,\n showAffixPagination,\n onHorizontalScroll,\n setTableContentRef,\n updateAffixHeaderOrFooter,\n } = useAffix(props);\n\n const { dataSource, innerPagination, isPaginateData, renderPagination } = usePagination(props, context);\n\n // 列宽拖拽逻辑\n const columnResizeParams = useColumnResize({\n isWidthOverflow,\n tableContentRef,\n showColumnShadow,\n getThWidthList,\n updateThWidthList,\n setTableElmWidth,\n updateTableAfterColumnResize,\n onColumnResizeChange: props.onColumnResizeChange,\n });\n const { resizeLineRef, resizeLineStyle, setEffectColMap } = columnResizeParams;\n\n const dynamicBaseTableClasses = computed(() => [\n tableClasses.value,\n {\n [tableBaseClass.headerFixed]: isFixedHeader.value,\n [tableBaseClass.columnFixed]: isFixedColumn.value,\n [tableBaseClass.widthOverflow]: isWidthOverflow.value,\n [tableBaseClass.multipleHeader]: isMultipleHeader.value,\n [tableColFixedClasses.leftShadow]: showColumnShadow.left,\n [tableColFixedClasses.rightShadow]: showColumnShadow.right,\n [tableBaseClass.columnResizableTable]: props.resizable,\n [`${classPrefix}-table__row--active-${props.activeRowType}`]: props.activeRowType,\n },\n ]);\n\n const tableElmClasses = computed(() => [[tableLayoutClasses[props.tableLayout]]]);\n\n const showRightDivider = computed(\n () =>\n props.bordered &&\n isFixedHeader.value &&\n ((isMultipleHeader.value && isWidthOverflow.value) || !isMultipleHeader.value),\n );\n\n const dividerBottom = computed(() => {\n if (!props.bordered) return 0;\n const bottomRect = bottomContentRef.value?.getBoundingClientRect();\n const paginationRect = paginationRef.value?.getBoundingClientRect();\n return (bottomRect?.height || 0) + (paginationRect?.height || 0);\n });\n\n // 行高亮\n const { tActiveRow, onHighlightRow, addHighlightKeyboardListener, removeHighlightKeyboardListener } =\n useRowHighlight(props, tableRef);\n\n const {\n hoverRow,\n needKeyboardRowHover,\n clearHoverRow,\n addRowHoverKeyboardListener,\n removeRowHoverKeyboardListener,\n } = useHoverKeyboardEvent(props, tableRef);\n\n watch(tableElmRef, () => {\n setUseFixedTableElmRef(tableElmRef.value);\n });\n\n watch(\n () => [props.data, dataSource],\n () => {\n setData(isPaginateData.value ? dataSource.value : props.data);\n },\n );\n\n watch(\n spansAndLeafNodes,\n () => {\n props.onLeafColumnsChange?.(spansAndLeafNodes.value.leafColumns);\n setEffectColMap(spansAndLeafNodes.value.leafColumns, null);\n },\n { immediate: true },\n );\n\n const onFixedChange = () => {\n nextTick(() => {\n onHorizontalScroll();\n updateAffixHeaderOrFooter();\n });\n };\n\n // 虚拟滚动相关数据\n const virtualScrollParams = computed(() => ({\n data: props.data,\n scroll: props.scroll,\n }));\n const virtualConfig = useVirtualScrollNew(tableContentRef, virtualScrollParams);\n\n let lastScrollY = -1;\n const onInnerVirtualScroll = (e: WheelEvent) => {\n const target = (e.target || e.srcElement) as HTMLElement;\n const top = target.scrollTop;\n // 排除横向滚动触发的纵向虚拟滚动计算\n if (lastScrollY !== top) {\n virtualConfig.isVirtualScroll.value && virtualConfig.handleScroll();\n } else {\n lastScrollY = -1;\n updateColumnFixedShadow(target);\n }\n lastScrollY = top;\n emitScrollEvent(e);\n };\n\n // used for top margin\n const getTFootHeight = () => {\n if (!tableElmRef.value) return;\n tableFootHeight.value = tableElmRef.value.querySelector('tfoot')?.getBoundingClientRect().height;\n };\n\n // 对外暴露方法,修改时需谨慎(expose)\n const scrollColumnIntoView: BaseTableInstanceFunctions['scrollColumnIntoView'] = (colKey: string) => {\n if (!tableContentRef.value) return;\n const thDom = tableContentRef.value.querySelector(`th[data-colkey=\"${colKey}\"]`);\n const fixedThDom = tableContentRef.value.querySelectorAll('th.t-table__cell--fixed-left');\n let totalWidth = 0;\n for (let i = 0, len = fixedThDom.length; i < len; i++) {\n totalWidth += fixedThDom[i].getBoundingClientRect().width;\n }\n const domRect = thDom.getBoundingClientRect();\n const contentRect = tableContentRef.value.getBoundingClientRect();\n const distance = domRect.left - contentRect.left - totalWidth;\n tableContentRef.value.scrollTo({ left: distance, behavior: 'smooth' });\n };\n\n watch(tableContentRef, () => {\n setTableContentRef(tableContentRef.value);\n });\n\n watch(tableElmRef, getTFootHeight);\n\n watch(tableRef, (tableRef) => {\n addTableResizeObserver(tableRef);\n });\n\n onMounted(() => {\n getTFootHeight();\n setTableContentRef(tableContentRef.value);\n addTableResizeObserver(tableRef.value);\n });\n\n const onTableFocus = () => {\n props.activeRowType && addHighlightKeyboardListener();\n needKeyboardRowHover.value && addRowHoverKeyboardListener();\n };\n\n const onTableBlur = () => {\n props.activeRowType && removeHighlightKeyboardListener();\n needKeyboardRowHover.value && removeRowHoverKeyboardListener();\n };\n\n const onInnerRowClick: BaseTableProps['onRowClick'] = (ctx) => {\n props.onRowClick?.(ctx);\n props.activeRowType && onHighlightRow(ctx);\n needKeyboardRowHover.value && clearHoverRow();\n };\n\n watch(\n [showElement],\n ([showElement]) => {\n context.emit('show-element-change', showElement);\n },\n { immediate: true },\n );\n\n const tableData = computed(() => (isPaginateData.value ? dataSource.value : props.data));\n\n const scrollToElement = (params: ComponentScrollToElementParams) => {\n let { index } = params;\n if (!index && index !== 0) {\n if (!params.key) {\n log.error('Table', 'scrollToElement: one of `index` or `key` must exist.');\n return;\n }\n index = tableData.value?.findIndex((item) => get(item, props.rowKey) === params.key);\n if (index < 0) {\n log.error('Table', `${params.key} does not exist in data, check \\`rowKey\\` or \\`data\\` please.`);\n }\n }\n virtualConfig.scrollToElement({ ...params, index: index - 1 });\n };\n\n return {\n thList,\n classPrefix,\n innerPagination,\n globalConfig,\n tableFootHeight,\n virtualScrollHeaderPos,\n tableWidth,\n tableElmWidth,\n tableRef,\n tableElmRef,\n sizeClassNames,\n tableBaseClass,\n spansAndLeafNodes,\n dynamicBaseTableClasses,\n tableContentStyles,\n tableElementStyles,\n dividerBottom,\n virtualScrollClasses,\n tableLayoutClasses,\n tableElmClasses,\n tableContentRef,\n isFixedHeader,\n isWidthOverflow,\n isFixedColumn,\n rowAndColFixedPosition,\n showColumnShadow,\n thWidthList,\n isPaginateData,\n dataSource,\n affixHeaderRef,\n affixFooterRef,\n bottomContentRef,\n paginationRef,\n showAffixHeader,\n showAffixFooter,\n scrollbarWidth,\n isMultipleHeader,\n showRightDivider,\n resizeLineRef,\n resizeLineStyle,\n columnResizeParams,\n horizontalScrollbarRef,\n tableBodyRef,\n virtualConfig,\n showAffixPagination,\n tActiveRow,\n hoverRow,\n showElement,\n scrollToElement,\n renderPagination,\n renderTNode,\n onFixedChange,\n onHorizontalScroll,\n updateAffixHeaderOrFooter,\n onInnerVirtualScroll,\n refreshTable,\n scrollColumnIntoView,\n onTableFocus,\n onTableBlur,\n onInnerRowClick,\n paginationAffixRef,\n horizontalScrollAffixRef,\n headerTopAffixRef,\n footerBottomAffixRef,\n };\n },\n\n render() {\n if (!this.showElement) {\n return <div ref=\"tableRef\"></div>;\n }\n\n const { rowAndColFixedPosition, tableLayout } = this;\n const data = this.isPaginateData ? this.dataSource : this.data;\n const columns = this.spansAndLeafNodes?.leafColumns || this.columns;\n\n const columnResizable = this.allowResizeColumnWidth ?? this.resizable;\n if (columnResizable && tableLayout === 'auto') {\n log.warn(\n 'Table',\n 'table-layout can not be `auto`, cause you are using column resizable, set `table-layout: fixed` please.',\n );\n }\n\n const defaultColWidth = tableLayout === 'fixed' && this.isWidthOverflow ? '100px' : undefined;\n\n const renderColGroup = (isAffixHeader = true) => (\n <colgroup>\n {columns.map((col) => {\n const style: Styles = {\n width:\n formatCSSUnit(\n (isAffixHeader || columnResizable ? this.thWidthList[col.colKey] : undefined) || col.width,\n ) || defaultColWidth,\n };\n if (col.minWidth) {\n style.minWidth = formatCSSUnit(col.minWidth);\n }\n // 没有设置任何宽度的场景下,需要保留表格正常显示的最小宽度,否则会出现因宽度过小的抖动问题\n if (!style.width && !col.minWidth && this.tableLayout === 'fixed') {\n style.minWidth = '80px';\n }\n return <col key={col.colKey} style={style}></col>;\n })}\n </colgroup>\n );\n\n const renderAffixedHeader = () => {\n if (this.showHeader === false) return null;\n return (\n !!(this.virtualConfig.isVirtualScroll.value || this.headerAffixedTop) &&\n (this.headerAffixedTop ? (\n <Affix\n offsetTop={0}\n {...getAffixProps(this.headerAffixedTop)}\n onFixedChange={this.onFixedChange}\n ref=\"headerTopAffixRef\"\n >\n {affixHeaderWithWrap}\n </Affix>\n ) : (\n this.isFixedHeader && affixHeaderWithWrap\n ))\n );\n };\n\n const renderAffixedHorizontalScrollbar = () => (\n <Affix\n offsetBottom={0}\n {...getAffixProps(this.horizontalScrollAffixedBottom)}\n style={{ marginTop: `-${this.scrollbarWidth * 2}px` }}\n horizontalScrollAffixedBottom\n ref=\"horizontalScrollAffixRef\"\n >\n <div\n ref=\"horizontalScrollbarRef\"\n class={['scrollbar', this.tableBaseClass.obviousScrollbar]}\n style={{\n width: `${this.tableWidth}px`,\n overflow: 'auto',\n opacity: Number(this.showAffixFooter),\n }}\n >\n <div style={{ width: `${this.tableElmWidth}px`, height: '5px' }}></div>\n </div>\n </Affix>\n );\n\n const headProps = {\n isFixedHeader: this.isFixedHeader,\n rowAndColFixedPosition: this.rowAndColFixedPosition,\n isMultipleHeader: this.isMultipleHeader,\n bordered: this.bordered,\n maxHeight: this.maxHeight,\n height: this.height,\n spansAndLeafNodes: this.spansAndLeafNodes,\n thList: this.thList,\n thWidthList: this.thWidthList,\n resizable: this.resizable,\n columnResizeParams: this.columnResizeParams,\n classPrefix: this.classPrefix,\n ellipsisOverlayClassName: this.size !== 'medium' ? this.sizeClassNames[this.size] : '',\n attach: this.attach,\n showColumnShadow: this.showColumnShadow,\n thDraggable: this.thDraggable,\n };\n\n /**\n * Affixed Header\n */\n // IE 浏览器需要遮挡 header 吸顶滚动条,要减去 getBoundingClientRect.height 的滚动条高度 4 像素\n const IEHeaderWrap = getIEVersion() <= 11 ? 4 : 0;\n const barWidth = this.isWidthOverflow ? this.scrollbarWidth : 0;\n const affixHeaderHeight = ref((this.affixHeaderRef?.getBoundingClientRect().height || 0) - IEHeaderWrap);\n // 等待表头渲染完成后再更新高度,有可能列变动带来多级表头的高度变化,错误高度会导致滚动条显示\n const timer = setTimeout(() => {\n affixHeaderHeight.value = (this.affixHeaderRef?.getBoundingClientRect().height || 0) - IEHeaderWrap;\n clearTimeout(timer);\n }, 0);\n const affixHeaderWrapHeight = computed(() => affixHeaderHeight.value - barWidth);\n // 两类场景:1. 虚拟滚动,永久显示表头,直到表头消失在可视区域; 2. 表头吸顶,根据滚动情况判断是否显示吸顶表头\n const headerOpacity = props.headerAffixedTop ? Number(this.showAffixHeader) : 1;\n const affixHeaderWrapHeightStyle = computed(() => {\n return {\n width: `${this.tableWidth}px`,\n height: `${affixHeaderWrapHeight.value}px`,\n opacity: headerOpacity,\n };\n });\n // 多级表头左边线缺失\n const affixedLeftBorder = this.bordered ? 1 : 0;\n const affixedHeader = Boolean(\n (this.headerAffixedTop || this.virtualConfig.isVirtualScroll.value) && this.tableWidth,\n ) && (\n <div\n ref=\"affixHeaderRef\"\n style={{\n width: `${this.tableWidth - affixedLeftBorder}px`,\n opacity: Number(this.showAffixHeader),\n }}\n class={[\n 'scrollbar',\n {\n [this.tableBaseClass.affixedHeaderElm]: this.headerAffixedTop || this.virtualConfig.isVirtualScroll.value,\n },\n ]}\n >\n <table class={this.tableElmClasses} style={{ ...this.tableElementStyles, width: `${this.tableElmWidth}px` }}>\n {renderColGroup(true)}\n <THead v-slots={this.$slots} {...headProps} />\n </table>\n </div>\n );\n\n // 添加这一层,是为了隐藏表头的横向滚动条。如果以后不需要照顾 IE 10 以下的项目,则可直接移除这一层\n // 彼时,可更为使用 CSS 样式中的 .hideScrollbar()\n const affixHeaderWithWrap = (\n <div class={this.tableBaseClass.affixedHeaderWrap} style={affixHeaderWrapHeightStyle.value}>\n {affixedHeader}\n </div>\n );\n\n /**\n * Affixed Footer\n */\n let marginScrollbarWidth = this.isWidthOverflow ? this.scrollbarWidth : 0;\n if (this.bordered) {\n marginScrollbarWidth += 1;\n }\n // Hack: Affix 组件,marginTop 临时使用 负 margin 定位位置\n const showFooter = Boolean(this.virtualConfig.isVirtualScroll.value || this.footerAffixedBottom);\n const hasFooter = this.footData?.length || this.footerSummary || this.$slots['footerSummary'];\n const affixedFooter = Boolean(showFooter && hasFooter && this.tableWidth) && (\n <Affix\n class={this.tableBaseClass.affixedFooterWrap}\n onFixedChange={this.onFixedChange}\n offsetBottom={marginScrollbarWidth || 0}\n {...getAffixProps(this.footerAffixedBottom)}\n style={{ marginTop: `${-1 * ((this.tableFootHeight ?? 0) + marginScrollbarWidth)}px` }}\n ref=\"footerBottomAffixRef\"\n >\n <div\n ref=\"affixFooterRef\"\n style={{ width: `${this.tableWidth - affixedLeftBorder}px`, opacity: Number(this.showAffixFooter) }}\n class={[\n 'scrollbar',\n {\n [this.tableBaseClass.affixedFooterElm]:\n this.footerAffixedBottom || this.virtualConfig.isVirtualScroll.value,\n },\n ]}\n >\n <table class={this.tableElmClasses} style={{ ...this.tableElementStyles, width: `${this.tableElmWidth}px` }}>\n {/* 此处和 Vue2 不同,Vue3 里面必须每一处单独写 <colgroup> */}\n {renderColGroup(true)}\n <TFoot\n rowKey={this.rowKey}\n v-slots={this.$slots}\n isFixedHeader={this.isFixedHeader}\n rowAndColFixedPosition={rowAndColFixedPosition}\n footData={this.footData}\n columns={columns}\n rowAttributes={this.rowAttributes}\n rowClassName={this.rowClassName}\n thWidthList={this.thWidthList}\n footerSummary={this.footerSummary}\n rowspanAndColspanInFooter={this.rowspanAndColspanInFooter}\n ></TFoot>\n </table>\n </div>\n </Affix>\n );\n\n // 通过 translate 撑开虚拟滚动的高度,应该是内容高度加上表头和表尾的高度\n const translate = `translate(0, ${\n this.virtualConfig.scrollHeight.value + (this.tableFootHeight ?? 0) + (affixHeaderHeight.value ?? 0)\n }px)`;\n const virtualStyle = {\n transform: translate,\n '-ms-transform': translate,\n '-moz-transform': translate,\n '-webkit-transform': translate,\n };\n const { virtualConfig } = this;\n const tableBodyProps = {\n classPrefix: this.classPrefix,\n ellipsisOverlayClassName: this.size !== 'medium' ? this.sizeClassNames[this.size] : '',\n rowAndColFixedPosition,\n showColumnShadow: this.showColumnShadow,\n data: virtualConfig.isVirtualScroll.value ? virtualConfig.visibleData.value : data,\n virtualConfig: this.virtualConfig,\n columns: this.spansAndLeafNodes.leafColumns,\n tableElm: this.tableRef,\n tableWidth: this.tableWidth,\n isWidthOverflow: this.isWidthOverflow,\n scroll: this.scroll,\n cellEmptyContent: this.cellEmptyContent,\n tableContentElm: this.tableContentRef,\n handleRowMounted: this.virtualConfig.handleRowMounted,\n renderExpandedRow: this.renderExpandedRow,\n ...pick(this.$props, extendTableProps),\n // 内部使用分页信息必须取 innerPagination\n pagination: this.innerPagination,\n attach: this.attach,\n hoverRow: this.hoverRow,\n activeRow: this.tActiveRow,\n onRowClick: this.onInnerRowClick,\n };\n const tableContent = (\n <div\n ref=\"tableContentRef\"\n class={this.tableBaseClass.content}\n style={this.tableContentStyles}\n onScroll={this.onInnerVirtualScroll}\n >\n {this.virtualConfig.isVirtualScroll.value && (\n <div class={this.virtualScrollClasses.cursor} style={virtualStyle} />\n )}\n\n <table\n ref=\"tableElmRef\"\n class={this.tableElmClasses}\n style={{\n ...this.tableElementStyles,\n width:\n this.resizable && this.isWidthOverflow && this.tableElmWidth\n ? `${this.tableElmWidth}px`\n : this.tableElementStyles.width,\n }}\n >\n {renderColGroup(false)}\n {this.showHeader && (\n <THead v-slots={this.$slots} {...{ ...headProps, thWidthList: columnResizable ? this.thWidthList : {} }} />\n )}\n <TBody v-slots={this.$slots} {...tableBodyProps} />\n <TFoot\n v-slots={this.$slots}\n rowKey={this.rowKey}\n isFixedHeader={this.isFixedHeader}\n rowAndColFixedPosition={rowAndColFixedPosition}\n footData={this.footData}\n columns={columns}\n rowAttributes={this.rowAttributes}\n rowClassName={this.rowClassName}\n footerSummary={this.footerSummary}\n rowspanAndColspanInFooter={this.rowspanAndColspanInFooter}\n virtualScroll={this.virtualConfig.isVirtualScroll.value}\n ></TFoot>\n </table>\n </div>\n );\n\n const getCustomLoadingText = isFunction(this.loading) ? this.loading : this.$slots.loading;\n const loadingContent = this.loading !== undefined && (\n <Loading\n loading={!!this.loading}\n text={getCustomLoadingText}\n attach={this.tableRef ? () => this.tableRef : undefined}\n showOverlay\n size=\"small\"\n {...(this.loadingProps as BaseTableProps['loadingProps'])}\n ></Loading>\n );\n\n const topContent = this.renderTNode('topContent');\n const bottomContent = this.renderTNode('bottomContent');\n const pagination = (\n <div\n ref=\"paginationRef\"\n class={this.tableBaseClass.paginationWrap}\n style={{ opacity: Number(this.showAffixPagination) }}\n >\n {this.renderPagination()}\n </div>\n );\n\n const bottom = !!bottomContent && (\n <div ref=\"bottomContentRef\" class={this.tableBaseClass.bottomContent}>\n {bottomContent}\n </div>\n );\n\n return (\n <div\n ref=\"tableRef\"\n tabindex=\"0\"\n class={this.dynamicBaseTableClasses}\n onFocus={this.onTableFocus}\n onBlur={this.onTableBlur}\n >\n {!!topContent && <div class={this.tableBaseClass.topContent}>{topContent}</div>}\n\n {renderAffixedHeader()}\n\n {tableContent}\n\n {affixedFooter}\n\n {loadingContent}\n\n {bottom}\n\n {/* 右侧滚动条分隔线 */}\n {this.showRightDivider && (\n <div\n class={this.tableBaseClass.scrollbarDivider}\n style={{\n right: `${this.scrollbarWidth}px`,\n bottom: this.dividerBottom ? `${this.dividerBottom}px` : undefined,\n height: `${this.tableContentRef?.getBoundingClientRect().height}px`,\n }}\n ></div>\n )}\n\n {/* 吸底的滚动条 */}\n {this.horizontalScrollAffixedBottom && renderAffixedHorizontalScrollbar()}\n\n {/* 吸底的分页器 */}\n {this.paginationAffixedBottom ? (\n <Affix offsetBottom={0} {...getAffixProps(this.paginationAffixedBottom)} ref=\"paginationAffixRef\">\n {pagination}\n </Affix>\n ) : (\n pagination\n )}\n\n {/* 调整列宽时的指示线。由于层级需要比较高,因而放在根节点,避免被吸顶表头覆盖。非必要情况,请勿调整辅助线位置 */}\n <div ref=\"resizeLineRef\" class={this.tableBaseClass.resizeLine} style={this.resizeLineStyle}></div>\n </div>\n );\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","BASE_TABLE_EVENTS","BASE_TABLE_ALL_EVENTS","ROW_LISTENERS","map","t","concat","defineComponent","name","props","_objectSpread","renderExpandedRow","Function","onLeafColumnsChange","thDraggable","Boolean","emits","setup","context","_toRefs","toRefs","lazyLoad","renderTNode","useTNodeJSX","tableRef","ref","tableElmRef","tableBodyRef","bottomContentRef","tableFootHeight","_useClassName","useClassName","classPrefix","virtualScrollClasses","tableLayoutClasses","tableBaseClass","tableColFixedClasses","_useStyle","useStyle","tableClasses","sizeClassNames","tableContentStyles","tableElementStyles","_useConfig","useConfig","locale","globalConfig","_useTableHeader","useTableHeader","isMultipleHeader","spansAndLeafNodes","thList","finalColumns","computed","_spansAndLeafNodes$va","value","leafColumns","columns","_useElementLazyRender","useElementLazyRender","showElement","paginationAffixRef","horizontalScrollAffixRef","headerTopAffixRef","footerBottomAffixRef","_useFixed","useFixed","scrollbarWidth","virtualScrollHeaderPos","tableWidth","tableElmWidth","tableContentRef","isFixedHeader","isWidthOverflow","isFixedColumn","thWidthList","showColumnShadow","rowAndColFixedPosition","setData","refreshTable","setTableElmWidth","emitScrollEvent","setUseFixedTableElmRef","updateColumnFixedShadow","getThWidthList","updateThWidthList","addTableResizeObserver","updateTableAfterColumnResize","_useAffix","useAffix","affixHeaderRef","affixFooterRef","horizontalScrollbarRef","paginationRef","showAffixHeader","showAffixFooter","showAffixPagination","onHorizontalScroll","setTableContentRef","updateAffixHeaderOrFooter","_usePagination","usePagination","dataSource","innerPagination","isPaginateData","renderPagination","columnResizeParams","useColumnResize","onColumnResizeChange","resizeLineRef","resizeLineStyle","setEffectColMap","dynamicBaseTableClasses","_defineProperty","headerFixed","columnFixed","widthOverflow","multipleHeader","leftShadow","left","rightShadow","right","columnResizableTable","resizable","activeRowType","tableElmClasses","tableLayout","showRightDivider","bordered","dividerBottom","_bottomContentRef$val","_paginationRef$value","bottomRect","getBoundingClientRect","paginationRect","height","_useRowHighlight","useRowHighlight","tActiveRow","onHighlightRow","addHighlightKeyboardListener","removeHighlightKeyboardListener","_useHoverKeyboardEven","useHoverKeyboardEvent","hoverRow","needKeyboardRowHover","clearHoverRow","addRowHoverKeyboardListener","removeRowHoverKeyboardListener","watch","data","_props2$onLeafColumns","immediate","onFixedChange","nextTick","virtualScrollParams","scroll","virtualConfig","useVirtualScrollNew","lastScrollY","onInnerVirtualScroll","e","target","srcElement","top","scrollTop","isVirtualScroll","handleScroll","getTFootHeight","_tableElmRef$value$qu","querySelector","scrollColumnIntoView","colKey","thDom","fixedThDom","querySelectorAll","totalWidth","i","len","length","width","domRect","contentRect","distance","scrollTo","behavior","onMounted","onTableFocus","onTableBlur","onInnerRowClick","ctx","_props2$onRowClick","onRowClick","_ref2","_ref3","_slicedToArray","emit","tableData","scrollToElement","params","index","_tableData$value","key","log","error","findIndex","item","get","rowKey","render","_this$spansAndLeafNod","_this$allowResizeColu","_this","_this$affixHeaderRef","_this$footData","_this$tableFootHeight","_this$tableFootHeight2","_affixHeaderHeight$va","_this$tableContentRef","_createVNode","columnResizable","allowResizeColumnWidth","warn","defaultColWidth","renderColGroup","isAffixHeader","arguments","undefined","col","style","formatCSSUnit","minWidth","renderAffixedHeader","showHeader","headerAffixedTop","Affix","_mergeProps","getAffixProps","affixHeaderWithWrap","_default","renderAffixedHorizontalScrollbar","horizontalScrollAffixedBottom","marginTop","obviousScrollbar","overflow","opacity","Number","headProps","maxHeight","ellipsisOverlayClassName","size","attach","IEHeaderWrap","getIEVersion","barWidth","affixHeaderHeight","timer","setTimeout","_this$affixHeaderRef2","clearTimeout","affixHeaderWrapHeight","headerOpacity","affixHeaderWrapHeightStyle","affixedLeftBorder","affixedHeader","affixedHeaderElm","THead","$slots","affixedHeaderWrap","marginScrollbarWidth","showFooter","footerAffixedBottom","hasFooter","footData","footerSummary","affixedFooter","affixedFooterWrap","affixedFooterElm","TFoot","rowAttributes","rowClassName","rowspanAndColspanInFooter","translate","scrollHeight","virtualStyle","transform","tableBodyProps","visibleData","tableElm","cellEmptyContent","tableContentElm","handleRowMounted","pick","$props","extendTableProps","pagination","activeRow","tableContent","content","cursor","TBody","getCustomLoadingText","isFunction","loading","loadingContent","Loading","loadingProps","topContent","bottomContent","paginationWrap","bottom","scrollbarDivider","paginationAffixedBottom","resizeLine"],"mappings":"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"}
@@ -486,7 +486,7 @@ function useFixed(props, context, finalColumns, affixRef) {
486
486
  var timer = setTimeout(function () {
487
487
  refreshTable();
488
488
  clearTimeout(timer);
489
- }, 60);
489
+ }, 200);
490
490
  });
491
491
  resizeObserver.observe(tableElement);
492
492
  tableRef.value = tableElement;
@@ -1 +1 @@
1
- {"version":3,"file":"useFixed.js","sources":["../../../src/table/hooks/useFixed.ts"],"sourcesContent":["import {\n ref,\n reactive,\n watch,\n toRefs,\n SetupContext,\n onMounted,\n computed,\n ComputedRef,\n onBeforeUnmount,\n Ref,\n} from 'vue';\nimport get from 'lodash/get';\nimport debounce from 'lodash/debounce';\nimport xorWith from 'lodash/xorWith';\nimport log from '../../_common/js/log';\nimport { ClassName, Styles } from '../../common';\nimport { BaseTableCol, BaseTableInstanceFunctions, TableRowData, TdBaseTableProps } from '../type';\nimport { getScrollbarWidthWithCSS } from '../../_common/js/utils/getScrollbarWidth';\nimport { on, off } from '../../utils/dom';\nimport { FixedColumnInfo, TableRowFixedClasses, RowAndColFixedPosition, TableColFixedClasses } from '../interface';\nimport { getIEVersion } from '../../_common/js/utils/helper';\nimport pick from 'lodash/pick';\n\n// 固定列相关类名处理\nexport function getColumnFixedStyles(\n col: TdBaseTableProps['columns'][0],\n index: number,\n rowAndColFixedPosition: RowAndColFixedPosition,\n tableColFixedClasses: TableColFixedClasses,\n): { style?: Styles; classes?: ClassName } {\n const fixedPos = rowAndColFixedPosition?.get(col.colKey || index);\n if (!fixedPos) return {};\n const thClasses = {\n [tableColFixedClasses.left]: col.fixed === 'left',\n [tableColFixedClasses.right]: col.fixed === 'right',\n [tableColFixedClasses.lastLeft]: col.fixed === 'left' && fixedPos.lastLeftFixedCol,\n [tableColFixedClasses.firstRight]: col.fixed === 'right' && fixedPos.firstRightFixedCol,\n };\n const thStyles = {\n left: col.fixed === 'left' ? `${fixedPos.left}px` : undefined,\n right: col.fixed === 'right' ? `${fixedPos.right}px` : undefined,\n };\n return {\n style: thStyles,\n classes: thClasses,\n };\n}\n\n// 固定行相关类名处理\nexport function getRowFixedStyles(\n rowId: string | number,\n rowIndex: number,\n rowLength: number,\n fixedRows: TdBaseTableProps['fixedRows'],\n rowAndColFixedPosition: RowAndColFixedPosition,\n tableRowFixedClasses: TableRowFixedClasses,\n): { style: Styles; classes: ClassName } {\n if (!fixedRows || !fixedRows.length) return { style: undefined, classes: undefined };\n const fixedTop = rowIndex < fixedRows[0];\n const fixedBottom = rowIndex > rowLength - 1 - fixedRows[1];\n const firstFixedBottomRow = rowLength - fixedRows[1];\n const fixedPos = rowAndColFixedPosition?.get(rowId) || {};\n const rowClasses = {\n [tableRowFixedClasses.top]: fixedTop,\n [tableRowFixedClasses.bottom]: fixedBottom,\n [tableRowFixedClasses.firstBottom]: rowIndex === firstFixedBottomRow,\n [tableRowFixedClasses.withoutBorderBottom]: rowIndex === firstFixedBottomRow - 1,\n };\n const rowStyles = {\n top: fixedTop ? `${fixedPos.top}px` : undefined,\n bottom: fixedBottom ? `${fixedPos.bottom}px` : undefined,\n };\n return {\n style: rowStyles,\n classes: rowClasses,\n };\n}\n\nexport default function useFixed(\n props: TdBaseTableProps,\n context: SetupContext,\n finalColumns: ComputedRef<BaseTableCol<TableRowData>[]>,\n affixRef: Record<string, Ref>,\n) {\n const {\n columns,\n tableLayout,\n tableContentWidth,\n fixedRows,\n firstFullRow,\n lastFullRow,\n maxHeight,\n headerAffixedTop,\n footerAffixedBottom,\n bordered,\n resizable,\n allowResizeColumnWidth,\n } = toRefs(props);\n const data = ref<TableRowData[]>([]);\n const tableRef = ref<HTMLDivElement>();\n const tableContentRef = ref<HTMLDivElement>();\n const isFixedHeader = ref(false);\n const isWidthOverflow = ref(false);\n const tableElmRef = ref<HTMLTableElement>();\n // CSS 样式设置了固定 6px\n const scrollbarWidth = ref(6);\n // 固定列、固定表头、固定表尾等内容的位置信息\n const rowAndColFixedPosition = ref<RowAndColFixedPosition>(new Map());\n const showColumnShadow = reactive({\n left: false,\n right: false,\n });\n // 虚拟滚动不能使用 CSS sticky 固定表头\n const virtualScrollHeaderPos = ref<{ left: number; top: number }>({ left: 0, top: 0 });\n const tableWidth = ref(0);\n const tableElmWidth = ref(0);\n const thWidthList = ref<{ [colKey: string]: number }>({});\n\n const isFixedColumn = ref(false);\n const isFixedRightColumn = ref(false);\n const isFixedLeftColumn = ref(false);\n\n const columnResizable = computed(() => allowResizeColumnWidth.value ?? resizable.value ?? false);\n\n // 没有表头吸顶,没有虚拟滚动,则不需要表头宽度计算\n const notNeedThWidthList = computed(\n () =>\n !(\n props.headerAffixedTop ||\n props.footerAffixedBottom ||\n props.horizontalScrollAffixedBottom ||\n props.scroll?.type === 'virtual'\n ),\n );\n\n function setUseFixedTableElmRef(val: HTMLTableElement) {\n tableElmRef.value = val;\n }\n\n function getColumnMap(\n columns: BaseTableCol[],\n map: RowAndColFixedPosition = new Map(),\n levelNodes: FixedColumnInfo[][] = [],\n level = 0,\n parent?: FixedColumnInfo,\n ) {\n for (let i = 0, len = columns.length; i < len; i++) {\n const col = columns[i];\n if (['left', 'right'].includes(col.fixed)) {\n isFixedColumn.value = true;\n }\n if (col.fixed === 'right') {\n isFixedRightColumn.value = true;\n }\n if (col.fixed === 'left') {\n isFixedLeftColumn.value = true;\n }\n const key = col.colKey || i;\n const columnInfo: FixedColumnInfo = { col, parent, index: i };\n map.set(key, columnInfo);\n if (col.children?.length) {\n getColumnMap(col.children, map, levelNodes, level + 1, columnInfo);\n }\n if (levelNodes[level]) {\n levelNodes[level].push(columnInfo);\n } else {\n // eslint-disable-next-line no-param-reassign\n levelNodes[level] = [columnInfo];\n }\n }\n return {\n newColumnsMap: map,\n levelNodes,\n };\n }\n\n const setFixedLeftPos = (\n columns: BaseTableCol[],\n initialColumnMap: RowAndColFixedPosition,\n parent: FixedColumnInfo = {},\n ) => {\n for (let i = 0, len = columns.length; i < len; i++) {\n const col = columns[i];\n if (col.fixed === 'right') return;\n const colInfo = initialColumnMap.get(col.colKey || i);\n let lastColIndex = i - 1;\n while (lastColIndex >= 0 && columns[lastColIndex].fixed !== 'left') {\n lastColIndex -= 1;\n }\n const lastCol = columns[lastColIndex];\n // 多级表头,使用父元素作为初始基本位置\n const defaultWidth = i === 0 ? parent?.left || 0 : 0;\n const lastColInfo = initialColumnMap.get(lastCol?.colKey || i - 1);\n if (colInfo) {\n colInfo.left = (lastColInfo?.left || defaultWidth) + (lastColInfo?.width || 0);\n }\n // 多级表头\n if (col.children?.length) {\n setFixedLeftPos(col.children, initialColumnMap, colInfo);\n }\n }\n };\n\n const setFixedRightPos = (\n columns: BaseTableCol[],\n initialColumnMap: RowAndColFixedPosition,\n parent: FixedColumnInfo = {},\n ) => {\n for (let i = columns.length - 1; i >= 0; i--) {\n const col = columns[i];\n if (col.fixed === 'left') return;\n const colInfo = initialColumnMap.get(col.colKey || i);\n let lastColIndex = i + 1;\n while (lastColIndex < columns.length && columns[lastColIndex].fixed !== 'right') {\n lastColIndex += 1;\n }\n const lastCol = columns[lastColIndex];\n // 多级表头,使用父元素作为初始基本位置\n const defaultWidth = i === columns.length - 1 ? parent?.right || 0 : 0;\n const lastColInfo = initialColumnMap.get(lastCol?.colKey || i + 1);\n if (colInfo) {\n colInfo.right = (lastColInfo?.right || defaultWidth) + (lastColInfo?.width || 0);\n }\n // 多级表头\n if (col.children?.length) {\n setFixedRightPos(col.children, initialColumnMap, colInfo);\n }\n }\n };\n\n // 获取固定列位置信息。先获取节点宽度,再计算\n const setFixedColPosition = (trList: HTMLCollection, initialColumnMap: RowAndColFixedPosition) => {\n if (!trList) return;\n for (let i = 0, len = trList.length; i < len; i++) {\n const thList = trList[i].children;\n for (let j = 0, thLen = thList.length; j < thLen; j++) {\n const th = thList[j] as HTMLElement;\n const colKey = th.dataset.colkey;\n if (!colKey) {\n log.warn('TDesign Table', `${th.innerText} missing colKey. colKey is required for fixed column feature.`);\n }\n const obj = initialColumnMap.get(colKey || j);\n if (obj?.col?.fixed) {\n initialColumnMap.set(colKey, { ...obj, width: th.getBoundingClientRect().width });\n }\n }\n }\n setFixedLeftPos(columns.value, initialColumnMap);\n setFixedRightPos(columns.value, initialColumnMap);\n };\n\n // 设置固定行位置信息 top/bottom\n const setFixedRowPosition = (\n trList: HTMLCollection,\n initialColumnMap: RowAndColFixedPosition,\n thead: HTMLTableSectionElement,\n tfoot: HTMLTableSectionElement,\n ) => {\n const [fixedTopRows, fixedBottomRows] = fixedRows.value || [];\n const { data, rowKey = 'id' } = props;\n for (let i = 0; i < fixedTopRows; i++) {\n const tr = trList[i] as HTMLElement;\n const rowId = get(data[i], rowKey);\n const thisRowInfo = initialColumnMap.get(rowId) || {};\n const lastRowId = get(data[i - 1], rowKey);\n const lastRowInfo = initialColumnMap.get(lastRowId) || {};\n let defaultBottom = 0;\n if (i === 0) {\n defaultBottom = thead?.getBoundingClientRect().height || 0;\n }\n thisRowInfo.top = (lastRowInfo.top || defaultBottom) + (lastRowInfo.height || 0);\n initialColumnMap.set(rowId, { ...thisRowInfo, height: tr?.getBoundingClientRect().height || 0 });\n }\n for (let i = data.length - 1; i >= data.length - fixedBottomRows; i--) {\n const tr = trList[i] as HTMLElement;\n const rowId = get(data[i], rowKey);\n const thisRowInfo = initialColumnMap.get(rowId) || {};\n const lastRowId = get(data[i + 1], rowKey);\n const lastRowInfo = initialColumnMap.get(lastRowId) || {};\n let defaultBottom = 0;\n if (i === data.length - 1) {\n defaultBottom = tfoot?.getBoundingClientRect().height || 0;\n }\n thisRowInfo.bottom = (lastRowInfo.bottom || defaultBottom) + (lastRowInfo.height || 0);\n initialColumnMap.set(rowId, { ...thisRowInfo, height: tr?.getBoundingClientRect().height || 0 });\n }\n };\n\n const updateRowAndColFixedPosition = (tableContentElm: HTMLElement, initialColumnMap: RowAndColFixedPosition) => {\n rowAndColFixedPosition.value.clear();\n if (!tableContentElm) return;\n const thead = tableContentElm.querySelector('thead');\n // 处理固定列\n thead && setFixedColPosition(thead.children, initialColumnMap);\n // 处理冻结行\n const tbody = tableContentElm.querySelector('tbody');\n const tfoot = tableContentElm.querySelector('tfoot');\n tbody && setFixedRowPosition(tbody.children, initialColumnMap, thead, tfoot);\n // 更新最终 Map\n rowAndColFixedPosition.value = initialColumnMap;\n };\n\n let shadowLastScrollLeft: number;\n const updateColumnFixedShadow = (target: HTMLElement, extra?: { skipScrollLimit?: boolean }) => {\n if (!isFixedColumn.value || !target) return;\n const { scrollLeft } = target;\n // 只有左右滚动,需要更新固定列阴影\n if (shadowLastScrollLeft === scrollLeft && (!extra || !extra.skipScrollLimit)) return;\n shadowLastScrollLeft = scrollLeft;\n const isShowRight = target.clientWidth + scrollLeft < target.scrollWidth;\n const isShowLeft = scrollLeft > 0;\n if (showColumnShadow.left === isShowLeft && showColumnShadow.right === isShowRight) return;\n showColumnShadow.left = isShowLeft && isFixedLeftColumn.value;\n showColumnShadow.right = isShowRight && isFixedRightColumn.value;\n };\n\n // 多级表头场景较为复杂:为了滚动的阴影效果,需要知道哪些列是边界列,左侧固定列的最后一列,右侧固定列的第一列,每一层表头都需要兼顾\n const setIsLastOrFirstFixedCol = (levelNodes: FixedColumnInfo[][]) => {\n for (let t = 0; t < levelNodes.length; t++) {\n const nodes = levelNodes[t];\n for (let i = 0, len = nodes.length; i < len; i++) {\n const colMapInfo = nodes[i];\n const nextColMapInfo = nodes[i + 1];\n const { parent } = colMapInfo;\n const isParentLastLeftFixedCol = !parent || parent?.lastLeftFixedCol;\n if (isParentLastLeftFixedCol && colMapInfo.col.fixed === 'left' && nextColMapInfo?.col.fixed !== 'left') {\n colMapInfo.lastLeftFixedCol = true;\n }\n const lastColMapInfo = nodes[i - 1];\n const isParentFirstRightFixedCol = !parent || parent?.firstRightFixedCol;\n if (isParentFirstRightFixedCol && colMapInfo.col.fixed === 'right' && lastColMapInfo?.col.fixed !== 'right') {\n colMapInfo.firstRightFixedCol = true;\n }\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const updateFixedStatus = () => {\n const { newColumnsMap, levelNodes } = getColumnMap(columns.value);\n setIsLastOrFirstFixedCol(levelNodes);\n const timer = setTimeout(() => {\n if (isFixedColumn.value || fixedRows.value?.length) {\n updateRowAndColFixedPosition(tableContentRef.value, newColumnsMap);\n }\n clearTimeout(timer);\n }, 0);\n return () => {\n clearTimeout(timer);\n };\n };\n\n const updateFixedHeader = () => {\n const timer = setTimeout(() => {\n if (!tableContentRef.value) return;\n isFixedHeader.value = tableContentRef.value.scrollHeight > tableContentRef.value.clientHeight;\n isWidthOverflow.value = tableContentRef.value.scrollWidth > tableContentRef.value.clientWidth;\n const pos = tableContentRef.value.getBoundingClientRect();\n virtualScrollHeaderPos.value = {\n top: pos.top,\n left: pos.left,\n };\n clearTimeout(timer);\n }, 0);\n };\n\n const setTableElmWidth = (width: number) => {\n if (tableElmWidth.value === width) return;\n tableElmWidth.value = width;\n };\n\n const updateTableWidth = () => {\n const rect = tableContentRef.value?.getBoundingClientRect();\n if (!rect) return;\n // 存在纵向滚动条,且固定表头时,需去除滚动条宽度\n const reduceWidth = isFixedHeader.value ? scrollbarWidth.value : 0;\n tableWidth.value = rect.width - reduceWidth - (props.bordered ? 1 : 0);\n const elmRect = tableElmRef?.value?.getBoundingClientRect();\n elmRect?.width && setTableElmWidth(elmRect.width);\n };\n\n const updateAffixPosition = () => {\n // 在表格高度变化的时候 需要手动调整affix的位置 因为affix本身无法监听到这些变化触发重新计算\n affixRef.paginationAffixRef.value?.handleScroll?.();\n affixRef.horizontalScrollAffixRef.value?.handleScroll?.();\n affixRef.headerTopAffixRef.value?.handleScroll?.();\n affixRef.footerBottomAffixRef.value?.handleScroll?.();\n };\n\n const calculateThWidthList = (trList: HTMLCollection) => {\n const widthMap: { [colKey: string]: number } = {};\n for (let i = 0, len = trList.length; i < len; i++) {\n const thList = trList[i].children;\n // second for used for multiple row header\n for (let j = 0, thLen = thList.length; j < thLen; j++) {\n const th = thList[j] as HTMLElement;\n const colKey = th.dataset.colkey;\n widthMap[colKey] = th.getBoundingClientRect().width;\n }\n }\n return widthMap;\n };\n\n const updateThWidthList = (trList: HTMLCollection | { [colKey: string]: number }) => {\n if (trList instanceof HTMLCollection) {\n if (columnResizable.value) return;\n thWidthList.value = calculateThWidthList(trList);\n } else {\n thWidthList.value = thWidthList.value || {};\n Object.entries(trList).forEach(([colKey, width]) => {\n thWidthList.value[colKey] = width;\n });\n }\n return thWidthList.value;\n };\n\n const updateThWidthListHandler = () => {\n const timer = setTimeout(() => {\n updateTableWidth();\n if (notNeedThWidthList.value) return;\n const thead = tableContentRef.value?.querySelector('thead');\n if (!thead) return;\n updateThWidthList(thead.children);\n clearTimeout(timer);\n }, 0);\n };\n\n const resetThWidthList = () => {\n thWidthList.value = {};\n };\n\n const emitScrollEvent = (e: WheelEvent) => {\n props.onScrollX?.({ e });\n props.onScrollY?.({ e });\n props.onScroll?.({ e });\n };\n\n const getThWidthList = (type?: 'default' | 'calculate') => {\n if (type === 'calculate') {\n const trList = tableContentRef.value?.querySelector('thead')?.children;\n return calculateThWidthList(trList);\n }\n return thWidthList.value || {};\n };\n\n watch(\n [\n data,\n columns,\n bordered,\n tableLayout,\n tableContentWidth,\n isFixedHeader,\n isWidthOverflow,\n isFixedColumn,\n fixedRows,\n firstFullRow,\n lastFullRow,\n ],\n updateFixedStatus,\n { immediate: true },\n );\n\n watch(\n [isFixedColumn, columns],\n () => {\n const timer = setTimeout(() => {\n if (isFixedColumn.value) {\n updateColumnFixedShadow(tableContentRef.value);\n }\n clearTimeout(timer);\n }, 0);\n },\n { immediate: true },\n );\n\n watch(\n [maxHeight, data, columns, bordered, tableContentRef],\n () => {\n if (tableContentRef.value) {\n // 如果不监听元素的ref,会出现watch在ref还没ready的时候触发,此时没有触发这个判断的更新,导致表头消失\n updateFixedHeader();\n }\n },\n { immediate: true },\n );\n\n watch(finalColumns, () => {\n resetThWidthList();\n });\n\n // 影响表头宽度的元素\n watch(\n [data, bordered, tableLayout, fixedRows, isFixedHeader, headerAffixedTop, footerAffixedBottom, tableContentWidth],\n () => {\n const timer = setTimeout(() => {\n updateThWidthListHandler();\n updateAffixPosition();\n clearTimeout(timer);\n }, 60);\n },\n { immediate: true },\n );\n\n watch([finalColumns], ([finalColumns], [preFinalColumns]) => {\n const finalColKeys = finalColumns.map((t) => t.colKey);\n const preColKeys = preFinalColumns.map((t) => t.colKey);\n if (finalColKeys.length < preColKeys.length) {\n const reduceKeys = xorWith(preColKeys, finalColKeys);\n const thWidthList = getThWidthList('calculate');\n let reduceWidth = 0;\n reduceKeys.forEach((key) => {\n reduceWidth += thWidthList[key];\n });\n const rootThWidthList = pick(thWidthList, preColKeys);\n const oldTotalWidth = Object.values(rootThWidthList).reduce((r = 0, n) => r + n);\n // 保留原有可能编辑过的列宽度,但是当剩余列过小时,表头小于内容宽,需要缩放回内容宽度\n // 使用不包含滚动条的可视化区域宽度,意味着当不再溢出的时候,将宽度设置回完整宽度\n const contentWidth = tableContentRef.value.clientWidth;\n const widthToReserve = oldTotalWidth - reduceWidth;\n setTableElmWidth(Math.max(contentWidth, widthToReserve));\n }\n });\n\n const refreshTable: BaseTableInstanceFunctions['refreshTable'] = () => {\n // updateTableWidth();\n updateThWidthListHandler();\n updateFixedHeader();\n updateAffixPosition();\n\n if (isFixedColumn.value || isFixedHeader.value) {\n updateFixedStatus();\n updateColumnFixedShadow(tableContentRef.value, { skipScrollLimit: true });\n }\n };\n\n const onResize = debounce(() => {\n refreshTable();\n }, 30);\n\n let resizeObserver: ResizeObserver = null;\n function addTableResizeObserver(tableElement: HTMLDivElement) {\n if (typeof window === 'undefined') return;\n // IE 11 以下使用 window resize;IE 11 以上使用 ResizeObserver\n if (getIEVersion() < 11 || typeof window.ResizeObserver === 'undefined') return;\n off(window, 'resize', onResize);\n resizeObserver = new window.ResizeObserver(() => {\n const timer = setTimeout(() => {\n refreshTable();\n clearTimeout(timer);\n }, 60);\n });\n resizeObserver.observe(tableElement);\n tableRef.value = tableElement;\n }\n\n onMounted(() => {\n const scrollWidth = getScrollbarWidthWithCSS();\n scrollbarWidth.value = scrollWidth;\n updateThWidthListHandler();\n const isWatchResize = isFixedColumn.value || isFixedHeader.value || !notNeedThWidthList.value || !data.value.length;\n // IE 11 以下使用 window resize;IE 11 以上使用 ResizeObserver\n const hasWindow = typeof window !== 'undefined';\n const hasResizeObserver = hasWindow && typeof window.ResizeObserver !== 'undefined';\n if ((isWatchResize && getIEVersion() < 11) || !hasResizeObserver) {\n on(window, 'resize', onResize);\n }\n });\n\n onBeforeUnmount(() => {\n if (typeof window !== 'undefined') {\n off(window, 'resize', onResize);\n }\n resizeObserver?.unobserve(tableRef.value);\n resizeObserver?.disconnect();\n });\n\n const setData = (dataSource: TableRowData[]) => {\n data.value = dataSource;\n };\n\n const updateTableAfterColumnResize = () => {\n updateFixedStatus();\n updateFixedHeader();\n };\n\n return {\n tableWidth,\n tableElmWidth,\n thWidthList,\n isFixedHeader,\n isWidthOverflow,\n tableContentRef,\n isFixedColumn,\n showColumnShadow,\n rowAndColFixedPosition,\n virtualScrollHeaderPos,\n scrollbarWidth,\n setData,\n refreshTable,\n setTableElmWidth,\n emitScrollEvent,\n updateThWidthListHandler,\n updateColumnFixedShadow,\n setUseFixedTableElmRef,\n getThWidthList,\n updateThWidthList,\n addTableResizeObserver,\n updateTableAfterColumnResize,\n };\n}\n"],"names":["getColumnFixedStyles","col","index","rowAndColFixedPosition","tableColFixedClasses","fixedPos","get","colKey","thClasses","_defineProperty","left","fixed","right","lastLeft","lastLeftFixedCol","firstRight","firstRightFixedCol","thStyles","concat","style","classes","getRowFixedStyles","rowId","rowIndex","rowLength","fixedRows","tableRowFixedClasses","length","fixedTop","fixedBottom","firstFixedBottomRow","rowClasses","top","bottom","firstBottom","withoutBorderBottom","rowStyles","useFixed","props","context","finalColumns","affixRef","_toRefs","toRefs","columns","tableLayout","tableContentWidth","firstFullRow","lastFullRow","maxHeight","headerAffixedTop","footerAffixedBottom","bordered","resizable","allowResizeColumnWidth","data","ref","tableRef","tableContentRef","isFixedHeader","isWidthOverflow","tableElmRef","scrollbarWidth","Map","showColumnShadow","reactive","virtualScrollHeaderPos","tableWidth","tableElmWidth","thWidthList","isFixedColumn","isFixedRightColumn","isFixedLeftColumn","columnResizable","computed","_ref","_allowResizeColumnWid","value","notNeedThWidthList","_props$scroll","horizontalScrollAffixedBottom","scroll","type","setUseFixedTableElmRef","val","getColumnMap","map","arguments","undefined","levelNodes","level","parent","i","len","_col$children","includes","key","columnInfo","set","children","push","newColumnsMap","setFixedLeftPos","initialColumnMap","_col$children2","colInfo","lastColIndex","lastCol","defaultWidth","lastColInfo","width","setFixedRightPos","_col$children3","setFixedColPosition","trList","thList","j","thLen","_obj$col","th","dataset","colkey","log","warn","innerText","obj","_objectSpread","getBoundingClientRect","setFixedRowPosition","thead","tfoot","_ref2","_ref3","_slicedToArray","fixedTopRows","fixedBottomRows","_props$rowKey","rowKey","tr","thisRowInfo","lastRowId","lastRowInfo","defaultBottom","height","updateRowAndColFixedPosition","tableContentElm","clear","querySelector","tbody","shadowLastScrollLeft","updateColumnFixedShadow","target","extra","scrollLeft","skipScrollLimit","isShowRight","clientWidth","scrollWidth","isShowLeft","setIsLastOrFirstFixedCol","t","nodes","colMapInfo","nextColMapInfo","isParentLastLeftFixedCol","lastColMapInfo","isParentFirstRightFixedCol","updateFixedStatus","_getColumnMap","timer","setTimeout","_fixedRows$value","clearTimeout","updateFixedHeader","scrollHeight","clientHeight","pos","setTableElmWidth","updateTableWidth","_tableContentRef$valu","_tableElmRef$value","rect","reduceWidth","elmRect","updateAffixPosition","_affixRef$paginationA","_affixRef$paginationA2","_affixRef$horizontalS","_affixRef$horizontalS2","_affixRef$headerTopAf","_affixRef$headerTopAf2","_affixRef$footerBotto","_affixRef$footerBotto2","paginationAffixRef","handleScroll","call","horizontalScrollAffixRef","headerTopAffixRef","footerBottomAffixRef","calculateThWidthList","widthMap","updateThWidthList","HTMLCollection","Object","entries","forEach","_ref4","_ref5","updateThWidthListHandler","_tableContentRef$valu2","resetThWidthList","emitScrollEvent","e","_props$onScrollX","_props$onScrollY","_props$onScroll","onScrollX","onScrollY","onScroll","getThWidthList","_tableContentRef$valu3","watch","immediate","_ref6","_ref7","_ref8","_ref9","preFinalColumns","finalColKeys","preColKeys","reduceKeys","xorWith","rootThWidthList","pick","oldTotalWidth","values","reduce","r","n","contentWidth","widthToReserve","Math","max","refreshTable","onResize","debounce","resizeObserver","addTableResizeObserver","tableElement","window","getIEVersion","ResizeObserver","off","observe","onMounted","getScrollbarWidthWithCSS","isWatchResize","hasWindow","hasResizeObserver","on","onBeforeUnmount","_resizeObserver","_resizeObserver2","unobserve","disconnect","setData","dataSource","updateTableAfterColumnResize"],"mappings":"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"}
1
+ {"version":3,"file":"useFixed.js","sources":["../../../src/table/hooks/useFixed.ts"],"sourcesContent":["import {\n ref,\n reactive,\n watch,\n toRefs,\n SetupContext,\n onMounted,\n computed,\n ComputedRef,\n onBeforeUnmount,\n Ref,\n} from 'vue';\nimport get from 'lodash/get';\nimport debounce from 'lodash/debounce';\nimport xorWith from 'lodash/xorWith';\nimport log from '../../_common/js/log';\nimport { ClassName, Styles } from '../../common';\nimport { BaseTableCol, BaseTableInstanceFunctions, TableRowData, TdBaseTableProps } from '../type';\nimport { getScrollbarWidthWithCSS } from '../../_common/js/utils/getScrollbarWidth';\nimport { on, off } from '../../utils/dom';\nimport { FixedColumnInfo, TableRowFixedClasses, RowAndColFixedPosition, TableColFixedClasses } from '../interface';\nimport { getIEVersion } from '../../_common/js/utils/helper';\nimport pick from 'lodash/pick';\n\n// 固定列相关类名处理\nexport function getColumnFixedStyles(\n col: TdBaseTableProps['columns'][0],\n index: number,\n rowAndColFixedPosition: RowAndColFixedPosition,\n tableColFixedClasses: TableColFixedClasses,\n): { style?: Styles; classes?: ClassName } {\n const fixedPos = rowAndColFixedPosition?.get(col.colKey || index);\n if (!fixedPos) return {};\n const thClasses = {\n [tableColFixedClasses.left]: col.fixed === 'left',\n [tableColFixedClasses.right]: col.fixed === 'right',\n [tableColFixedClasses.lastLeft]: col.fixed === 'left' && fixedPos.lastLeftFixedCol,\n [tableColFixedClasses.firstRight]: col.fixed === 'right' && fixedPos.firstRightFixedCol,\n };\n const thStyles = {\n left: col.fixed === 'left' ? `${fixedPos.left}px` : undefined,\n right: col.fixed === 'right' ? `${fixedPos.right}px` : undefined,\n };\n return {\n style: thStyles,\n classes: thClasses,\n };\n}\n\n// 固定行相关类名处理\nexport function getRowFixedStyles(\n rowId: string | number,\n rowIndex: number,\n rowLength: number,\n fixedRows: TdBaseTableProps['fixedRows'],\n rowAndColFixedPosition: RowAndColFixedPosition,\n tableRowFixedClasses: TableRowFixedClasses,\n): { style: Styles; classes: ClassName } {\n if (!fixedRows || !fixedRows.length) return { style: undefined, classes: undefined };\n const fixedTop = rowIndex < fixedRows[0];\n const fixedBottom = rowIndex > rowLength - 1 - fixedRows[1];\n const firstFixedBottomRow = rowLength - fixedRows[1];\n const fixedPos = rowAndColFixedPosition?.get(rowId) || {};\n const rowClasses = {\n [tableRowFixedClasses.top]: fixedTop,\n [tableRowFixedClasses.bottom]: fixedBottom,\n [tableRowFixedClasses.firstBottom]: rowIndex === firstFixedBottomRow,\n [tableRowFixedClasses.withoutBorderBottom]: rowIndex === firstFixedBottomRow - 1,\n };\n const rowStyles = {\n top: fixedTop ? `${fixedPos.top}px` : undefined,\n bottom: fixedBottom ? `${fixedPos.bottom}px` : undefined,\n };\n return {\n style: rowStyles,\n classes: rowClasses,\n };\n}\n\nexport default function useFixed(\n props: TdBaseTableProps,\n context: SetupContext,\n finalColumns: ComputedRef<BaseTableCol<TableRowData>[]>,\n affixRef: Record<string, Ref>,\n) {\n const {\n columns,\n tableLayout,\n tableContentWidth,\n fixedRows,\n firstFullRow,\n lastFullRow,\n maxHeight,\n headerAffixedTop,\n footerAffixedBottom,\n bordered,\n resizable,\n allowResizeColumnWidth,\n } = toRefs(props);\n const data = ref<TableRowData[]>([]);\n const tableRef = ref<HTMLDivElement>();\n const tableContentRef = ref<HTMLDivElement>();\n const isFixedHeader = ref(false);\n const isWidthOverflow = ref(false);\n const tableElmRef = ref<HTMLTableElement>();\n // CSS 样式设置了固定 6px\n const scrollbarWidth = ref(6);\n // 固定列、固定表头、固定表尾等内容的位置信息\n const rowAndColFixedPosition = ref<RowAndColFixedPosition>(new Map());\n const showColumnShadow = reactive({\n left: false,\n right: false,\n });\n // 虚拟滚动不能使用 CSS sticky 固定表头\n const virtualScrollHeaderPos = ref<{ left: number; top: number }>({ left: 0, top: 0 });\n const tableWidth = ref(0);\n const tableElmWidth = ref(0);\n const thWidthList = ref<{ [colKey: string]: number }>({});\n\n const isFixedColumn = ref(false);\n const isFixedRightColumn = ref(false);\n const isFixedLeftColumn = ref(false);\n\n const columnResizable = computed(() => allowResizeColumnWidth.value ?? resizable.value ?? false);\n\n // 没有表头吸顶,没有虚拟滚动,则不需要表头宽度计算\n const notNeedThWidthList = computed(\n () =>\n !(\n props.headerAffixedTop ||\n props.footerAffixedBottom ||\n props.horizontalScrollAffixedBottom ||\n props.scroll?.type === 'virtual'\n ),\n );\n\n function setUseFixedTableElmRef(val: HTMLTableElement) {\n tableElmRef.value = val;\n }\n\n function getColumnMap(\n columns: BaseTableCol[],\n map: RowAndColFixedPosition = new Map(),\n levelNodes: FixedColumnInfo[][] = [],\n level = 0,\n parent?: FixedColumnInfo,\n ) {\n for (let i = 0, len = columns.length; i < len; i++) {\n const col = columns[i];\n if (['left', 'right'].includes(col.fixed)) {\n isFixedColumn.value = true;\n }\n if (col.fixed === 'right') {\n isFixedRightColumn.value = true;\n }\n if (col.fixed === 'left') {\n isFixedLeftColumn.value = true;\n }\n const key = col.colKey || i;\n const columnInfo: FixedColumnInfo = { col, parent, index: i };\n map.set(key, columnInfo);\n if (col.children?.length) {\n getColumnMap(col.children, map, levelNodes, level + 1, columnInfo);\n }\n if (levelNodes[level]) {\n levelNodes[level].push(columnInfo);\n } else {\n // eslint-disable-next-line no-param-reassign\n levelNodes[level] = [columnInfo];\n }\n }\n return {\n newColumnsMap: map,\n levelNodes,\n };\n }\n\n const setFixedLeftPos = (\n columns: BaseTableCol[],\n initialColumnMap: RowAndColFixedPosition,\n parent: FixedColumnInfo = {},\n ) => {\n for (let i = 0, len = columns.length; i < len; i++) {\n const col = columns[i];\n if (col.fixed === 'right') return;\n const colInfo = initialColumnMap.get(col.colKey || i);\n let lastColIndex = i - 1;\n while (lastColIndex >= 0 && columns[lastColIndex].fixed !== 'left') {\n lastColIndex -= 1;\n }\n const lastCol = columns[lastColIndex];\n // 多级表头,使用父元素作为初始基本位置\n const defaultWidth = i === 0 ? parent?.left || 0 : 0;\n const lastColInfo = initialColumnMap.get(lastCol?.colKey || i - 1);\n if (colInfo) {\n colInfo.left = (lastColInfo?.left || defaultWidth) + (lastColInfo?.width || 0);\n }\n // 多级表头\n if (col.children?.length) {\n setFixedLeftPos(col.children, initialColumnMap, colInfo);\n }\n }\n };\n\n const setFixedRightPos = (\n columns: BaseTableCol[],\n initialColumnMap: RowAndColFixedPosition,\n parent: FixedColumnInfo = {},\n ) => {\n for (let i = columns.length - 1; i >= 0; i--) {\n const col = columns[i];\n if (col.fixed === 'left') return;\n const colInfo = initialColumnMap.get(col.colKey || i);\n let lastColIndex = i + 1;\n while (lastColIndex < columns.length && columns[lastColIndex].fixed !== 'right') {\n lastColIndex += 1;\n }\n const lastCol = columns[lastColIndex];\n // 多级表头,使用父元素作为初始基本位置\n const defaultWidth = i === columns.length - 1 ? parent?.right || 0 : 0;\n const lastColInfo = initialColumnMap.get(lastCol?.colKey || i + 1);\n if (colInfo) {\n colInfo.right = (lastColInfo?.right || defaultWidth) + (lastColInfo?.width || 0);\n }\n // 多级表头\n if (col.children?.length) {\n setFixedRightPos(col.children, initialColumnMap, colInfo);\n }\n }\n };\n\n // 获取固定列位置信息。先获取节点宽度,再计算\n const setFixedColPosition = (trList: HTMLCollection, initialColumnMap: RowAndColFixedPosition) => {\n if (!trList) return;\n for (let i = 0, len = trList.length; i < len; i++) {\n const thList = trList[i].children;\n for (let j = 0, thLen = thList.length; j < thLen; j++) {\n const th = thList[j] as HTMLElement;\n const colKey = th.dataset.colkey;\n if (!colKey) {\n log.warn('TDesign Table', `${th.innerText} missing colKey. colKey is required for fixed column feature.`);\n }\n const obj = initialColumnMap.get(colKey || j);\n if (obj?.col?.fixed) {\n initialColumnMap.set(colKey, { ...obj, width: th.getBoundingClientRect().width });\n }\n }\n }\n setFixedLeftPos(columns.value, initialColumnMap);\n setFixedRightPos(columns.value, initialColumnMap);\n };\n\n // 设置固定行位置信息 top/bottom\n const setFixedRowPosition = (\n trList: HTMLCollection,\n initialColumnMap: RowAndColFixedPosition,\n thead: HTMLTableSectionElement,\n tfoot: HTMLTableSectionElement,\n ) => {\n const [fixedTopRows, fixedBottomRows] = fixedRows.value || [];\n const { data, rowKey = 'id' } = props;\n for (let i = 0; i < fixedTopRows; i++) {\n const tr = trList[i] as HTMLElement;\n const rowId = get(data[i], rowKey);\n const thisRowInfo = initialColumnMap.get(rowId) || {};\n const lastRowId = get(data[i - 1], rowKey);\n const lastRowInfo = initialColumnMap.get(lastRowId) || {};\n let defaultBottom = 0;\n if (i === 0) {\n defaultBottom = thead?.getBoundingClientRect().height || 0;\n }\n thisRowInfo.top = (lastRowInfo.top || defaultBottom) + (lastRowInfo.height || 0);\n initialColumnMap.set(rowId, { ...thisRowInfo, height: tr?.getBoundingClientRect().height || 0 });\n }\n for (let i = data.length - 1; i >= data.length - fixedBottomRows; i--) {\n const tr = trList[i] as HTMLElement;\n const rowId = get(data[i], rowKey);\n const thisRowInfo = initialColumnMap.get(rowId) || {};\n const lastRowId = get(data[i + 1], rowKey);\n const lastRowInfo = initialColumnMap.get(lastRowId) || {};\n let defaultBottom = 0;\n if (i === data.length - 1) {\n defaultBottom = tfoot?.getBoundingClientRect().height || 0;\n }\n thisRowInfo.bottom = (lastRowInfo.bottom || defaultBottom) + (lastRowInfo.height || 0);\n initialColumnMap.set(rowId, { ...thisRowInfo, height: tr?.getBoundingClientRect().height || 0 });\n }\n };\n\n const updateRowAndColFixedPosition = (tableContentElm: HTMLElement, initialColumnMap: RowAndColFixedPosition) => {\n rowAndColFixedPosition.value.clear();\n if (!tableContentElm) return;\n const thead = tableContentElm.querySelector('thead');\n // 处理固定列\n thead && setFixedColPosition(thead.children, initialColumnMap);\n // 处理冻结行\n const tbody = tableContentElm.querySelector('tbody');\n const tfoot = tableContentElm.querySelector('tfoot');\n tbody && setFixedRowPosition(tbody.children, initialColumnMap, thead, tfoot);\n // 更新最终 Map\n rowAndColFixedPosition.value = initialColumnMap;\n };\n\n let shadowLastScrollLeft: number;\n const updateColumnFixedShadow = (target: HTMLElement, extra?: { skipScrollLimit?: boolean }) => {\n if (!isFixedColumn.value || !target) return;\n const { scrollLeft } = target;\n // 只有左右滚动,需要更新固定列阴影\n if (shadowLastScrollLeft === scrollLeft && (!extra || !extra.skipScrollLimit)) return;\n shadowLastScrollLeft = scrollLeft;\n const isShowRight = target.clientWidth + scrollLeft < target.scrollWidth;\n const isShowLeft = scrollLeft > 0;\n if (showColumnShadow.left === isShowLeft && showColumnShadow.right === isShowRight) return;\n showColumnShadow.left = isShowLeft && isFixedLeftColumn.value;\n showColumnShadow.right = isShowRight && isFixedRightColumn.value;\n };\n\n // 多级表头场景较为复杂:为了滚动的阴影效果,需要知道哪些列是边界列,左侧固定列的最后一列,右侧固定列的第一列,每一层表头都需要兼顾\n const setIsLastOrFirstFixedCol = (levelNodes: FixedColumnInfo[][]) => {\n for (let t = 0; t < levelNodes.length; t++) {\n const nodes = levelNodes[t];\n for (let i = 0, len = nodes.length; i < len; i++) {\n const colMapInfo = nodes[i];\n const nextColMapInfo = nodes[i + 1];\n const { parent } = colMapInfo;\n const isParentLastLeftFixedCol = !parent || parent?.lastLeftFixedCol;\n if (isParentLastLeftFixedCol && colMapInfo.col.fixed === 'left' && nextColMapInfo?.col.fixed !== 'left') {\n colMapInfo.lastLeftFixedCol = true;\n }\n const lastColMapInfo = nodes[i - 1];\n const isParentFirstRightFixedCol = !parent || parent?.firstRightFixedCol;\n if (isParentFirstRightFixedCol && colMapInfo.col.fixed === 'right' && lastColMapInfo?.col.fixed !== 'right') {\n colMapInfo.firstRightFixedCol = true;\n }\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const updateFixedStatus = () => {\n const { newColumnsMap, levelNodes } = getColumnMap(columns.value);\n setIsLastOrFirstFixedCol(levelNodes);\n const timer = setTimeout(() => {\n if (isFixedColumn.value || fixedRows.value?.length) {\n updateRowAndColFixedPosition(tableContentRef.value, newColumnsMap);\n }\n clearTimeout(timer);\n }, 0);\n return () => {\n clearTimeout(timer);\n };\n };\n\n const updateFixedHeader = () => {\n const timer = setTimeout(() => {\n if (!tableContentRef.value) return;\n isFixedHeader.value = tableContentRef.value.scrollHeight > tableContentRef.value.clientHeight;\n isWidthOverflow.value = tableContentRef.value.scrollWidth > tableContentRef.value.clientWidth;\n const pos = tableContentRef.value.getBoundingClientRect();\n virtualScrollHeaderPos.value = {\n top: pos.top,\n left: pos.left,\n };\n clearTimeout(timer);\n }, 0);\n };\n\n const setTableElmWidth = (width: number) => {\n if (tableElmWidth.value === width) return;\n tableElmWidth.value = width;\n };\n\n const updateTableWidth = () => {\n const rect = tableContentRef.value?.getBoundingClientRect();\n if (!rect) return;\n // 存在纵向滚动条,且固定表头时,需去除滚动条宽度\n const reduceWidth = isFixedHeader.value ? scrollbarWidth.value : 0;\n tableWidth.value = rect.width - reduceWidth - (props.bordered ? 1 : 0);\n const elmRect = tableElmRef?.value?.getBoundingClientRect();\n elmRect?.width && setTableElmWidth(elmRect.width);\n };\n\n const updateAffixPosition = () => {\n // 在表格高度变化的时候 需要手动调整affix的位置 因为affix本身无法监听到这些变化触发重新计算\n affixRef.paginationAffixRef.value?.handleScroll?.();\n affixRef.horizontalScrollAffixRef.value?.handleScroll?.();\n affixRef.headerTopAffixRef.value?.handleScroll?.();\n affixRef.footerBottomAffixRef.value?.handleScroll?.();\n };\n\n const calculateThWidthList = (trList: HTMLCollection) => {\n const widthMap: { [colKey: string]: number } = {};\n for (let i = 0, len = trList.length; i < len; i++) {\n const thList = trList[i].children;\n // second for used for multiple row header\n for (let j = 0, thLen = thList.length; j < thLen; j++) {\n const th = thList[j] as HTMLElement;\n const colKey = th.dataset.colkey;\n widthMap[colKey] = th.getBoundingClientRect().width;\n }\n }\n return widthMap;\n };\n\n const updateThWidthList = (trList: HTMLCollection | { [colKey: string]: number }) => {\n if (trList instanceof HTMLCollection) {\n if (columnResizable.value) return;\n thWidthList.value = calculateThWidthList(trList);\n } else {\n thWidthList.value = thWidthList.value || {};\n Object.entries(trList).forEach(([colKey, width]) => {\n thWidthList.value[colKey] = width;\n });\n }\n return thWidthList.value;\n };\n\n const updateThWidthListHandler = () => {\n const timer = setTimeout(() => {\n updateTableWidth();\n if (notNeedThWidthList.value) return;\n const thead = tableContentRef.value?.querySelector('thead');\n if (!thead) return;\n updateThWidthList(thead.children);\n clearTimeout(timer);\n }, 0);\n };\n\n const resetThWidthList = () => {\n thWidthList.value = {};\n };\n\n const emitScrollEvent = (e: WheelEvent) => {\n props.onScrollX?.({ e });\n props.onScrollY?.({ e });\n props.onScroll?.({ e });\n };\n\n const getThWidthList = (type?: 'default' | 'calculate') => {\n if (type === 'calculate') {\n const trList = tableContentRef.value?.querySelector('thead')?.children;\n return calculateThWidthList(trList);\n }\n return thWidthList.value || {};\n };\n\n watch(\n [\n data,\n columns,\n bordered,\n tableLayout,\n tableContentWidth,\n isFixedHeader,\n isWidthOverflow,\n isFixedColumn,\n fixedRows,\n firstFullRow,\n lastFullRow,\n ],\n updateFixedStatus,\n { immediate: true },\n );\n\n watch(\n [isFixedColumn, columns],\n () => {\n const timer = setTimeout(() => {\n if (isFixedColumn.value) {\n updateColumnFixedShadow(tableContentRef.value);\n }\n clearTimeout(timer);\n }, 0);\n },\n { immediate: true },\n );\n\n watch(\n [maxHeight, data, columns, bordered, tableContentRef],\n () => {\n if (tableContentRef.value) {\n // 如果不监听元素的ref,会出现watch在ref还没ready的时候触发,此时没有触发这个判断的更新,导致表头消失\n updateFixedHeader();\n }\n },\n { immediate: true },\n );\n\n watch(finalColumns, () => {\n resetThWidthList();\n });\n\n // 影响表头宽度的元素\n watch(\n [data, bordered, tableLayout, fixedRows, isFixedHeader, headerAffixedTop, footerAffixedBottom, tableContentWidth],\n () => {\n const timer = setTimeout(() => {\n updateThWidthListHandler();\n updateAffixPosition();\n clearTimeout(timer);\n }, 60);\n },\n { immediate: true },\n );\n\n watch([finalColumns], ([finalColumns], [preFinalColumns]) => {\n const finalColKeys = finalColumns.map((t) => t.colKey);\n const preColKeys = preFinalColumns.map((t) => t.colKey);\n if (finalColKeys.length < preColKeys.length) {\n const reduceKeys = xorWith(preColKeys, finalColKeys);\n const thWidthList = getThWidthList('calculate');\n let reduceWidth = 0;\n reduceKeys.forEach((key) => {\n reduceWidth += thWidthList[key];\n });\n const rootThWidthList = pick(thWidthList, preColKeys);\n const oldTotalWidth = Object.values(rootThWidthList).reduce((r = 0, n) => r + n);\n // 保留原有可能编辑过的列宽度,但是当剩余列过小时,表头小于内容宽,需要缩放回内容宽度\n // 使用不包含滚动条的可视化区域宽度,意味着当不再溢出的时候,将宽度设置回完整宽度\n const contentWidth = tableContentRef.value.clientWidth;\n const widthToReserve = oldTotalWidth - reduceWidth;\n setTableElmWidth(Math.max(contentWidth, widthToReserve));\n }\n });\n\n const refreshTable: BaseTableInstanceFunctions['refreshTable'] = () => {\n // updateTableWidth();\n updateThWidthListHandler();\n updateFixedHeader();\n updateAffixPosition();\n\n if (isFixedColumn.value || isFixedHeader.value) {\n updateFixedStatus();\n updateColumnFixedShadow(tableContentRef.value, { skipScrollLimit: true });\n }\n };\n\n const onResize = debounce(() => {\n refreshTable();\n }, 30);\n\n let resizeObserver: ResizeObserver = null;\n function addTableResizeObserver(tableElement: HTMLDivElement) {\n if (typeof window === 'undefined') return;\n // IE 11 以下使用 window resize;IE 11 以上使用 ResizeObserver\n if (getIEVersion() < 11 || typeof window.ResizeObserver === 'undefined') return;\n off(window, 'resize', onResize);\n resizeObserver = new window.ResizeObserver(() => {\n const timer = setTimeout(() => {\n refreshTable();\n clearTimeout(timer);\n }, 200);\n });\n resizeObserver.observe(tableElement);\n tableRef.value = tableElement;\n }\n\n onMounted(() => {\n const scrollWidth = getScrollbarWidthWithCSS();\n scrollbarWidth.value = scrollWidth;\n updateThWidthListHandler();\n const isWatchResize = isFixedColumn.value || isFixedHeader.value || !notNeedThWidthList.value || !data.value.length;\n // IE 11 以下使用 window resize;IE 11 以上使用 ResizeObserver\n const hasWindow = typeof window !== 'undefined';\n const hasResizeObserver = hasWindow && typeof window.ResizeObserver !== 'undefined';\n if ((isWatchResize && getIEVersion() < 11) || !hasResizeObserver) {\n on(window, 'resize', onResize);\n }\n });\n\n onBeforeUnmount(() => {\n if (typeof window !== 'undefined') {\n off(window, 'resize', onResize);\n }\n resizeObserver?.unobserve(tableRef.value);\n resizeObserver?.disconnect();\n });\n\n const setData = (dataSource: TableRowData[]) => {\n data.value = dataSource;\n };\n\n const updateTableAfterColumnResize = () => {\n updateFixedStatus();\n updateFixedHeader();\n };\n\n return {\n tableWidth,\n tableElmWidth,\n thWidthList,\n isFixedHeader,\n isWidthOverflow,\n tableContentRef,\n isFixedColumn,\n showColumnShadow,\n rowAndColFixedPosition,\n virtualScrollHeaderPos,\n scrollbarWidth,\n setData,\n refreshTable,\n setTableElmWidth,\n emitScrollEvent,\n updateThWidthListHandler,\n updateColumnFixedShadow,\n setUseFixedTableElmRef,\n getThWidthList,\n updateThWidthList,\n addTableResizeObserver,\n updateTableAfterColumnResize,\n };\n}\n"],"names":["getColumnFixedStyles","col","index","rowAndColFixedPosition","tableColFixedClasses","fixedPos","get","colKey","thClasses","_defineProperty","left","fixed","right","lastLeft","lastLeftFixedCol","firstRight","firstRightFixedCol","thStyles","concat","style","classes","getRowFixedStyles","rowId","rowIndex","rowLength","fixedRows","tableRowFixedClasses","length","fixedTop","fixedBottom","firstFixedBottomRow","rowClasses","top","bottom","firstBottom","withoutBorderBottom","rowStyles","useFixed","props","context","finalColumns","affixRef","_toRefs","toRefs","columns","tableLayout","tableContentWidth","firstFullRow","lastFullRow","maxHeight","headerAffixedTop","footerAffixedBottom","bordered","resizable","allowResizeColumnWidth","data","ref","tableRef","tableContentRef","isFixedHeader","isWidthOverflow","tableElmRef","scrollbarWidth","Map","showColumnShadow","reactive","virtualScrollHeaderPos","tableWidth","tableElmWidth","thWidthList","isFixedColumn","isFixedRightColumn","isFixedLeftColumn","columnResizable","computed","_ref","_allowResizeColumnWid","value","notNeedThWidthList","_props$scroll","horizontalScrollAffixedBottom","scroll","type","setUseFixedTableElmRef","val","getColumnMap","map","arguments","undefined","levelNodes","level","parent","i","len","_col$children","includes","key","columnInfo","set","children","push","newColumnsMap","setFixedLeftPos","initialColumnMap","_col$children2","colInfo","lastColIndex","lastCol","defaultWidth","lastColInfo","width","setFixedRightPos","_col$children3","setFixedColPosition","trList","thList","j","thLen","_obj$col","th","dataset","colkey","log","warn","innerText","obj","_objectSpread","getBoundingClientRect","setFixedRowPosition","thead","tfoot","_ref2","_ref3","_slicedToArray","fixedTopRows","fixedBottomRows","_props$rowKey","rowKey","tr","thisRowInfo","lastRowId","lastRowInfo","defaultBottom","height","updateRowAndColFixedPosition","tableContentElm","clear","querySelector","tbody","shadowLastScrollLeft","updateColumnFixedShadow","target","extra","scrollLeft","skipScrollLimit","isShowRight","clientWidth","scrollWidth","isShowLeft","setIsLastOrFirstFixedCol","t","nodes","colMapInfo","nextColMapInfo","isParentLastLeftFixedCol","lastColMapInfo","isParentFirstRightFixedCol","updateFixedStatus","_getColumnMap","timer","setTimeout","_fixedRows$value","clearTimeout","updateFixedHeader","scrollHeight","clientHeight","pos","setTableElmWidth","updateTableWidth","_tableContentRef$valu","_tableElmRef$value","rect","reduceWidth","elmRect","updateAffixPosition","_affixRef$paginationA","_affixRef$paginationA2","_affixRef$horizontalS","_affixRef$horizontalS2","_affixRef$headerTopAf","_affixRef$headerTopAf2","_affixRef$footerBotto","_affixRef$footerBotto2","paginationAffixRef","handleScroll","call","horizontalScrollAffixRef","headerTopAffixRef","footerBottomAffixRef","calculateThWidthList","widthMap","updateThWidthList","HTMLCollection","Object","entries","forEach","_ref4","_ref5","updateThWidthListHandler","_tableContentRef$valu2","resetThWidthList","emitScrollEvent","e","_props$onScrollX","_props$onScrollY","_props$onScroll","onScrollX","onScrollY","onScroll","getThWidthList","_tableContentRef$valu3","watch","immediate","_ref6","_ref7","_ref8","_ref9","preFinalColumns","finalColKeys","preColKeys","reduceKeys","xorWith","rootThWidthList","pick","oldTotalWidth","values","reduce","r","n","contentWidth","widthToReserve","Math","max","refreshTable","onResize","debounce","resizeObserver","addTableResizeObserver","tableElement","window","getIEVersion","ResizeObserver","off","observe","onMounted","getScrollbarWidthWithCSS","isWatchResize","hasWindow","hasResizeObserver","on","onBeforeUnmount","_resizeObserver","_resizeObserver2","unobserve","disconnect","setData","dataSource","updateTableAfterColumnResize"],"mappings":"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"}
@@ -110,12 +110,12 @@ function useTreeDataExpand(props, params) {
110
110
  store.value.foldTreeNode(removedList, data2, rowDataKeys.value);
111
111
  return _toConsumableArray(data2);
112
112
  }
113
- watch([tExpandedTreeNode], function (_ref, _ref2) {
113
+ watch([tExpandedTreeNode, data], function (_ref, _ref2) {
114
114
  var _ref3 = _slicedToArray(_ref, 1),
115
115
  tExpandedTreeNode2 = _ref3[0];
116
116
  var _ref4 = _slicedToArray(_ref2, 1),
117
117
  oldExpandedTreeNode = _ref4[0];
118
- if (!store.value.treeDataMap.size) return;
118
+ if (!store.value.treeDataMap.size || !data.value.length) return;
119
119
  if (changedExpandTreeNode.value.type === "user-reaction-change") {
120
120
  var _ref5 = changedExpandTreeNode.value || {},
121
121
  row = _ref5.row,