pro-design-vue 1.3.5 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +107 -90
  3. package/dist/index.full.min.js +8 -8
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +8 -8
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +107 -90
  8. package/es/components/table/src/components/Body/Body.vue.d.ts +0 -18
  9. package/es/components/table/src/components/Body/EditInput.vue.d.ts +1 -1
  10. package/es/components/table/src/components/Form/Form.d.ts +9 -0
  11. package/es/components/table/src/components/InteralTable.vue.d.ts +28 -18
  12. package/es/components/table/src/components/Table.d.ts +9 -0
  13. package/es/components/table/src/components/ToolBar/FullscreenIcon.vue.d.ts +1 -1
  14. package/es/components/table/src/components/ToolBar/ToolBar.vue.d.ts +1 -1
  15. package/es/components/table/src/components/interface.d.ts +13 -0
  16. package/es/index.d.ts +14 -0
  17. package/es/packages/components/table/src/components/Body/Body.vue.mjs +2 -3
  18. package/es/packages/components/table/src/components/Body/Body.vue.mjs.map +1 -1
  19. package/es/packages/components/table/src/components/Body/Body.vue2.mjs +5 -6
  20. package/es/packages/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
  21. package/es/packages/components/table/src/components/Body/BodyCell.mjs +1 -0
  22. package/es/packages/components/table/src/components/Body/BodyCell.mjs.map +1 -1
  23. package/es/packages/components/table/src/components/Body/BodyCellTooltip.mjs +8 -9
  24. package/es/packages/components/table/src/components/Body/BodyCellTooltip.mjs.map +1 -1
  25. package/es/packages/components/table/src/components/Form/Form.mjs +7 -2
  26. package/es/packages/components/table/src/components/Form/Form.mjs.map +1 -1
  27. package/es/packages/components/table/src/components/Header/HeaderCell.vue.mjs.map +1 -1
  28. package/es/packages/components/table/src/components/Header/HeaderCell.vue2.mjs +1 -0
  29. package/es/packages/components/table/src/components/Header/HeaderCell.vue2.mjs.map +1 -1
  30. package/es/packages/components/table/src/components/Header/HeaderRowsWrap.vue.mjs +3 -4
  31. package/es/packages/components/table/src/components/Header/HeaderRowsWrap.vue.mjs.map +1 -1
  32. package/es/packages/components/table/src/components/Header/HeaderRowsWrap.vue2.mjs.map +1 -1
  33. package/es/packages/components/table/src/components/InteralTable.vue.mjs +5 -2
  34. package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
  35. package/es/packages/components/table/src/components/InteralTable.vue2.mjs +8 -2
  36. package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
  37. package/es/packages/components/table/src/components/Scrollbar/XScroll.mjs +2 -2
  38. package/es/packages/components/table/src/components/Scrollbar/XScroll.mjs.map +1 -1
  39. package/es/packages/components/table/src/components/Table.mjs +61 -53
  40. package/es/packages/components/table/src/components/Table.mjs.map +1 -1
  41. package/es/packages/components/table/src/components/ToolBar/FullscreenIcon.vue.mjs.map +1 -1
  42. package/es/packages/components/table/src/components/ToolBar/FullscreenIcon.vue2.mjs +4 -11
  43. package/es/packages/components/table/src/components/ToolBar/FullscreenIcon.vue2.mjs.map +1 -1
  44. package/es/packages/components/table/src/components/interface.mjs +4 -0
  45. package/es/packages/components/table/src/components/interface.mjs.map +1 -1
  46. package/es/packages/components/table/src/hooks/useColumns.mjs.map +1 -1
  47. package/es/version.d.ts +1 -1
  48. package/es/version.mjs +1 -1
  49. package/es/version.mjs.map +1 -1
  50. package/lib/components/table/src/components/Body/Body.vue.d.ts +0 -18
  51. package/lib/components/table/src/components/Body/EditInput.vue.d.ts +1 -1
  52. package/lib/components/table/src/components/Form/Form.d.ts +9 -0
  53. package/lib/components/table/src/components/InteralTable.vue.d.ts +28 -18
  54. package/lib/components/table/src/components/Table.d.ts +9 -0
  55. package/lib/components/table/src/components/ToolBar/FullscreenIcon.vue.d.ts +1 -1
  56. package/lib/components/table/src/components/ToolBar/ToolBar.vue.d.ts +1 -1
  57. package/lib/components/table/src/components/interface.d.ts +13 -0
  58. package/lib/index.d.ts +14 -0
  59. package/lib/packages/components/table/src/components/Body/Body.vue.js +1 -2
  60. package/lib/packages/components/table/src/components/Body/Body.vue.js.map +1 -1
  61. package/lib/packages/components/table/src/components/Body/Body.vue2.js +5 -6
  62. package/lib/packages/components/table/src/components/Body/Body.vue2.js.map +1 -1
  63. package/lib/packages/components/table/src/components/Body/BodyCell.js +1 -0
  64. package/lib/packages/components/table/src/components/Body/BodyCell.js.map +1 -1
  65. package/lib/packages/components/table/src/components/Body/BodyCellTooltip.js +8 -9
  66. package/lib/packages/components/table/src/components/Body/BodyCellTooltip.js.map +1 -1
  67. package/lib/packages/components/table/src/components/Form/Form.js +7 -2
  68. package/lib/packages/components/table/src/components/Form/Form.js.map +1 -1
  69. package/lib/packages/components/table/src/components/Header/HeaderCell.vue.js.map +1 -1
  70. package/lib/packages/components/table/src/components/Header/HeaderCell.vue2.js +1 -0
  71. package/lib/packages/components/table/src/components/Header/HeaderCell.vue2.js.map +1 -1
  72. package/lib/packages/components/table/src/components/Header/HeaderRowsWrap.vue.js +3 -4
  73. package/lib/packages/components/table/src/components/Header/HeaderRowsWrap.vue.js.map +1 -1
  74. package/lib/packages/components/table/src/components/Header/HeaderRowsWrap.vue2.js.map +1 -1
  75. package/lib/packages/components/table/src/components/InteralTable.vue.js +5 -2
  76. package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
  77. package/lib/packages/components/table/src/components/InteralTable.vue2.js +8 -2
  78. package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
  79. package/lib/packages/components/table/src/components/Scrollbar/XScroll.js +2 -2
  80. package/lib/packages/components/table/src/components/Scrollbar/XScroll.js.map +1 -1
  81. package/lib/packages/components/table/src/components/Table.js +59 -51
  82. package/lib/packages/components/table/src/components/Table.js.map +1 -1
  83. package/lib/packages/components/table/src/components/ToolBar/FullscreenIcon.vue.js.map +1 -1
  84. package/lib/packages/components/table/src/components/ToolBar/FullscreenIcon.vue2.js +3 -10
  85. package/lib/packages/components/table/src/components/ToolBar/FullscreenIcon.vue2.js.map +1 -1
  86. package/lib/packages/components/table/src/components/interface.js +4 -0
  87. package/lib/packages/components/table/src/components/interface.js.map +1 -1
  88. package/lib/packages/components/table/src/hooks/useColumns.js.map +1 -1
  89. package/lib/version.d.ts +1 -1
  90. package/lib/version.js +1 -1
  91. package/lib/version.js.map +1 -1
  92. package/package.json +1 -1
  93. package/theme-chalk/index.css +1 -1
  94. package/theme-chalk/src/table/bordered.less +13 -6
  95. package/theme-chalk/src/table/size.less +1 -0
  96. package/theme-chalk/src/table/table.less +17 -11
@@ -1 +1 @@
1
- {"version":3,"file":"useColumns.mjs","sources":["../../../../../../../../packages/components/table/src/hooks/useColumns.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-11-04 16:42:09\n * @LastEditors: shen\n * @LastEditTime: 2025-09-01 11:00:18\n * @Description:\n */\nimport type {\n ColumnsType,\n ProTableProps,\n ExpandType,\n FinallyColumnType,\n Key,\n HeaderCellType,\n StickyOffsets,\n ColumnType,\n FixedType,\n} from '../components/interface'\nimport type { RangeCell } from './RangeInterface'\nimport type { ComputedRef, Ref, ShallowRef } from 'vue'\n\nimport { shallowRef, watchEffect, computed, watch, ref } from 'vue'\nimport { getColumnPos } from '../utils/util'\nimport { X_BUFF } from '../utils/constant'\nimport useColumnWidthByString from './useColumnWidthByString'\nimport eagerComputed from '../utils/eagerComputed'\nimport supportSticky from '../utils/supportSticky'\nimport searchColumns from '../utils/searchColumns'\nimport devWarning from '../utils/devWarning'\n\nexport const CheckboxColumnKey = '__Internal__Checkbox__Columnkey'\nexport const ExpandColumnKey = '__Internal__Expand__Columnkey'\nexport interface UseColumnsType {\n leftColumns: ShallowRef<FinallyColumnType[]>\n rightColumns: ShallowRef<FinallyColumnType[]>\n centerColumns: ShallowRef<FinallyColumnType[]>\n allColumns: ShallowRef<FinallyColumnType[]>\n visibleCenterColumns: ShallowRef<FinallyColumnType[]>\n visibleCenterHeaderColumns: ShallowRef<FinallyColumnType[]>\n leftWidth: Ref<number>\n rightWidth: Ref<number>\n centerWidth: Ref<number>\n bodyMaxWidth: ComputedRef<number>\n leftHeaderColumns: ShallowRef<FinallyColumnType[]>\n rightHeaderColumns: ShallowRef<FinallyColumnType[]>\n centerHeaderColumns: ShallowRef<FinallyColumnType[]>\n maxRowSpan: Ref<number>\n headerHeight: ShallowRef<number[]>\n maxHeaderHeight: Ref<number>\n getColumnPosition: (\n _index: number,\n _colSpan?: number,\n ) => {\n width: number\n left: number\n minWidth: number\n maxWidth: number\n }\n getColumnPositionByKey: (_key: Key) =>\n | {\n width: number\n left: number\n minWidth: number\n maxWidth: number\n }\n | undefined\n columnKeyIndexMap: ShallowRef<Record<string, number>>\n expandIconColumnIndex: Ref<number>\n columnRowsForAutoHeaderHeight: ShallowRef<HeaderCellType[][]>\n stickyOffsets: ShallowRef<StickyOffsets>\n}\nexport const defaultMinWidth = 50\n\nfunction parseColumnFixed(column: ColumnType) {\n return column?.fixed === true ? 'left' : column?.fixed\n}\n\nconst getAutoHeaderHeight = (allHeaderColumns: FinallyColumnType[]) => {\n const autoHeaderHeight: HeaderCellType[][] = []\n const parseColumns = (columns: FinallyColumnType[], colStart: number, autoHeightIndex = 0) => {\n autoHeaderHeight[autoHeightIndex] = autoHeaderHeight[autoHeightIndex] || []\n let innerColStart = colStart\n return columns.filter(Boolean).map((column: FinallyColumnType) => {\n const cell: HeaderCellType = { key: column.columnKey, column, colStart: innerColStart }\n let colSpan = 1\n const children = column.children\n if (children && children.length > 0) {\n colSpan = parseColumns(children, innerColStart, autoHeightIndex + 1).reduce(\n (pre, cur) => pre + cur,\n 0,\n )\n cell.hasSubColumns = true\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan\n }\n cell.colSpan = colSpan\n cell.colEnd = cell.colStart! + colSpan - 1\n autoHeaderHeight[autoHeightIndex]?.push(cell)\n innerColStart += colSpan\n return colSpan\n })\n }\n parseColumns(allHeaderColumns, 0)\n const len = autoHeaderHeight.length\n for (let i = 0; i < len; i += 1) {\n autoHeaderHeight[i]?.forEach((cell: HeaderCellType) => {\n if (!('rowSpan' in cell || cell.hasSubColumns)) {\n cell.rowSpan = len - i\n }\n })\n }\n return autoHeaderHeight\n}\n\nexport default function useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandType,\n expandable,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n}: {\n props: ProTableProps\n rawColumns: Ref<ColumnsType>\n bodyScrollWidth: Ref<number>\n baseHeight: Ref<number>\n measureWidthRef: Ref<any>\n expandable: Ref<boolean>\n rowExpandable?: Ref<(_record: any) => boolean>\n direction?: Ref<'ltr' | 'rtl'>\n expandType: Ref<ExpandType>\n scrollLeft: Ref<number>\n bodyWidth: Ref<number>\n xVirtual: Ref<boolean>\n draggingColumnKey: Ref<Key>\n latestRangeStartCell: ShallowRef<RangeCell | null>\n}): UseColumnsType {\n const leftColumns = shallowRef<FinallyColumnType[]>([])\n const rightColumns = shallowRef<FinallyColumnType[]>([])\n const centerColumns = shallowRef<FinallyColumnType[]>([])\n\n const autoHeightColumns = shallowRef<FinallyColumnType[]>([])\n\n const leftHeaderColumns = shallowRef<FinallyColumnType[]>([])\n const rightHeaderColumns = shallowRef<FinallyColumnType[]>([])\n const centerHeaderColumns = shallowRef<FinallyColumnType[]>([])\n\n const maxRowSpan = shallowRef<number>(1)\n const headerHeight = shallowRef<number[]>([])\n const keyColumnMap = shallowRef<Map<Key, FinallyColumnType>>(new Map())\n const maxHeaderHeight = shallowRef<number>(0)\n\n watchEffect(() => {\n maxHeaderHeight.value = headerHeight.value.reduce((pre, current) => pre + current, 0)\n })\n\n const columnWidthByString = useColumnWidthByString()\n\n const mergeColumns = shallowRef<ColumnsType>([])\n const mergeRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true, fixed } = rowSelection\n return { ...rowSelection, checkStrictly, fixed: fixed === true ? 'left' : fixed }\n })\n\n const expandIconColumnIndex = eagerComputed<number>(() => {\n if (expandType.value === 'nest' && props.expandIconColumnIndex === undefined) {\n return props.rowSelection ? 1 : 0\n } else if (props.expandIconColumnIndex! > 0 && props.rowSelection) {\n return props.expandIconColumnIndex! - 1\n }\n return props.expandIconColumnIndex!\n })\n\n watchEffect(() => {\n let newColumns = rawColumns.value.slice()\n if (expandable.value) {\n const expandColumnIndex = expandIconColumnIndex.value || 0\n const expandColumn = rawColumns.value[expandColumnIndex]\n const expandColumnWidth = props.expandColumnWidth || 48\n const expandFixed = props.expandFixed === true ? 'left' : props.expandFixed\n let parsedExpandFixed: any\n if (expandFixed !== 'left' || expandIconColumnIndex.value) {\n if (expandFixed === 'right' && expandIconColumnIndex.value === rawColumns.value.length) {\n parsedExpandFixed = 'right'\n } else {\n parsedExpandFixed = parseColumnFixed(expandColumn!)\n }\n } else {\n parsedExpandFixed = 'left'\n }\n const newExpandColumn = {\n title: '',\n fixed: parsedExpandFixed,\n width: expandColumnWidth,\n minWidth: expandColumnWidth,\n maxWidth: expandColumnWidth,\n columnKey: ExpandColumnKey,\n type: 'expand',\n finallyWidth: expandColumnWidth,\n __Internal__Column__: true,\n }\n if (expandColumnIndex >= 0) {\n newColumns.splice(expandColumnIndex, 0, newExpandColumn)\n }\n }\n if (props.rowSelection) {\n const { columnWidth = 48, fixed, columnTitle } = mergeRowSelection.value\n const rowSelectionColumn = {\n width: columnWidth,\n minWidth: columnWidth,\n maxWidth: columnWidth,\n finallyWidth: columnWidth,\n title: columnTitle,\n type: 'checkbox',\n columnKey: CheckboxColumnKey,\n __Internal__Column__: true,\n }\n if (expandType.value === 'row' && newColumns.length && !expandIconColumnIndex.value) {\n const [firstColumn, ...rest] = newColumns\n const fixedValue = fixed || parseColumnFixed(rest[0]!)\n if (fixedValue) {\n firstColumn!.fixed = fixedValue as FixedType\n }\n newColumns = [\n firstColumn!,\n { ...(rowSelectionColumn as ColumnType), fixed: fixedValue as FixedType },\n ...rest,\n ]\n } else {\n newColumns = [\n {\n ...(rowSelectionColumn as ColumnType),\n fixed: (fixed || parseColumnFixed(newColumns[0]!)) as FixedType,\n },\n ...newColumns,\n ]\n }\n }\n if (!newColumns.length) {\n newColumns = [{ customRender: () => null }]\n }\n mergeColumns.value = newColumns\n })\n\n watch(\n [mergeColumns, baseHeight, bodyScrollWidth, measureWidthRef],\n () => {\n const originMergeColumns = mergeColumns.value\n let newMaxRowSpan = 1\n const newLeftColumns: FinallyColumnType[] = []\n const newRightColumns: FinallyColumnType[] = []\n const newCenterColumns: FinallyColumnType[] = []\n const newAutoHeightColumns: FinallyColumnType[] = []\n const newLeftHeaderColumns: FinallyColumnType[] = []\n const newRightHeaderColumns: FinallyColumnType[] = []\n const newCenterHeaderColumns: FinallyColumnType[] = []\n keyColumnMap.value = new Map()\n if (!measureWidthRef.value) {\n return\n }\n const autoWidthColumns: FinallyColumnType[] = []\n let finallyWidthTotal = 0\n const genColumns = (\n allCols: ColumnsType,\n leftHeaderCols: FinallyColumnType[],\n centerHeaderCols: FinallyColumnType[],\n rightHeaderCols: FinallyColumnType[],\n rowSpan: number,\n pos: string,\n fix?: FixedType,\n ) => {\n for (let i = 0, len = allCols.length; i < len; i++) {\n const originColumn = allCols[i] as FinallyColumnType\n if (!originColumn) {\n continue\n }\n const {\n width,\n fixed = fix,\n children,\n ellipsis = false,\n tooltip,\n minWidth,\n maxWidth,\n } = originColumn\n const columnWidth = columnWidthByString(\n measureWidthRef.value,\n bodyScrollWidth.value,\n width,\n )\n const columnMinWidth = columnWidthByString(\n measureWidthRef.value,\n bodyScrollWidth.value,\n minWidth,\n )\n const columnMaxWidth = maxWidth\n ? columnWidthByString(measureWidthRef.value, bodyScrollWidth.value, maxWidth)\n : 1 / 0\n const finallyWidth = Math.min(Math.max(columnWidth, columnMinWidth), columnMaxWidth)\n const columnPos = getColumnPos(i, pos)\n const columnKey = originColumn.columnKey || originColumn.key || columnPos\n const parseFiexed = fixed === true ? 'left' : fixed\n const finallyColumn = Object.assign({}, originColumn, {\n finallyWidth,\n columnKey,\n originColumn,\n showTitle:\n !tooltip &&\n (ellipsis === true ||\n (typeof ellipsis === 'object' && ellipsis?.showTitle !== false)),\n fixed: parseFiexed,\n hidden: true === originColumn.hidden,\n })\n keyColumnMap.value.set(columnKey, finallyColumn)\n if (finallyColumn.hidden) {\n break\n }\n if (children && children.length) {\n finallyColumn.children = []\n if (parseFiexed === 'left') {\n leftHeaderCols.push(finallyColumn)\n } else if (parseFiexed === 'right') {\n rightHeaderCols.push(finallyColumn)\n } else {\n centerHeaderCols.push(finallyColumn)\n }\n newMaxRowSpan = Math.max(newMaxRowSpan, rowSpan + 1)\n genColumns(\n children,\n finallyColumn.children,\n finallyColumn.children,\n finallyColumn.children,\n rowSpan + 1,\n columnPos,\n parseFiexed,\n )\n } else {\n if (finallyColumn.width === undefined) {\n autoWidthColumns.push(finallyColumn)\n }\n finallyWidthTotal += finallyColumn.finallyWidth\n if (parseFiexed === 'left') {\n newLeftColumns.push(finallyColumn)\n leftHeaderCols.push(finallyColumn)\n } else if (parseFiexed === 'right') {\n newRightColumns.push(finallyColumn)\n rightHeaderCols.push(finallyColumn)\n } else {\n newCenterColumns.push(finallyColumn)\n if (finallyColumn.autoHeight) {\n newAutoHeightColumns.push(finallyColumn)\n }\n centerHeaderCols.push(finallyColumn)\n }\n }\n }\n }\n\n genColumns(\n originMergeColumns,\n newLeftHeaderColumns,\n newCenterHeaderColumns,\n newRightHeaderColumns,\n 1,\n '__S_TABLE_COLUMN_Key__',\n )\n let differenceWidth = bodyScrollWidth.value - finallyWidthTotal\n const nonResizableColumns = autoWidthColumns.length\n ? autoWidthColumns\n : newLeftColumns\n .concat(newCenterColumns, newRightColumns)\n .filter((column) => !column.resizable || !column.__Internal__Column__)\n const widthDiffAverage = Math.floor(differenceWidth / nonResizableColumns.length)\n if (differenceWidth > 0) {\n for (let i = 0, len = nonResizableColumns.length; i < len; i++) {\n const column = nonResizableColumns[i]!\n let finallyWidth = 0\n if (i == len - 1 && differenceWidth > widthDiffAverage) {\n finallyWidth = column.finallyWidth! + differenceWidth\n } else {\n finallyWidth = Math.max(\n Math.min(column.finallyWidth! + widthDiffAverage, column.maxWidth ?? 1 / 0),\n column.minWidth ?? 50,\n )\n }\n differenceWidth -= finallyWidth - column.finallyWidth!\n column.finallyWidth = finallyWidth\n }\n } else {\n for (let i = 0, len = autoWidthColumns.length; i < len; i++) {\n const column = autoWidthColumns[i]!\n column.finallyWidth = Math.min(column.minWidth ?? 50, column.maxWidth ?? 1 / 0)\n }\n }\n if (props.headerHeight !== undefined) {\n if (Array.isArray(props.headerHeight)) {\n headerHeight.value = props.headerHeight\n .concat(new Array(newMaxRowSpan).fill(baseHeight.value))\n .slice(0, newMaxRowSpan)\n } else {\n headerHeight.value = new Array(newMaxRowSpan).fill(props.headerHeight)\n }\n } else {\n headerHeight.value = new Array(newMaxRowSpan).fill(baseHeight.value)\n }\n\n const genHeaderColumns = (\n headerColumns: FinallyColumnType[],\n left: number,\n top: number,\n rowSpan: number,\n ) => {\n let totalFinallyWidth = 0\n let totalLeft = left\n headerColumns.forEach((column) => {\n column.left = totalLeft\n column.top = top\n if (column.children) {\n column.rowSpan = 1\n column.height = headerHeight.value[newMaxRowSpan - rowSpan]\n column.finallyWidth = genHeaderColumns(\n column.children,\n totalLeft,\n column.height!,\n rowSpan - 1,\n )\n } else {\n column.rowSpan = rowSpan\n column.height = headerHeight.value\n .slice(newMaxRowSpan - rowSpan)\n .reduce((pre, cur) => pre + cur, 0)\n }\n totalLeft += column.finallyWidth!\n totalFinallyWidth += column.finallyWidth!\n })\n return totalFinallyWidth\n }\n\n genHeaderColumns(\n newLeftHeaderColumns.concat(newCenterHeaderColumns, newRightHeaderColumns),\n 0,\n 0,\n newMaxRowSpan,\n )\n\n leftColumns.value = newLeftColumns\n rightColumns.value = newRightColumns\n centerColumns.value = newCenterColumns\n autoHeightColumns.value = newAutoHeightColumns\n leftHeaderColumns.value = newLeftHeaderColumns\n rightHeaderColumns.value = newRightHeaderColumns\n centerHeaderColumns.value = newCenterHeaderColumns\n maxRowSpan.value = newMaxRowSpan\n },\n { immediate: true },\n )\n\n const allColumns = shallowRef<FinallyColumnType[]>([])\n let cacheColumnKeyPositonMap = {}\n const columnKeyIndexMap = shallowRef<Record<Key, number>>({})\n watchEffect(() => {\n cacheColumnKeyPositonMap = {}\n const newColumnKeyIndexMap: Record<Key, number> = {}\n allColumns.value = ([] as FinallyColumnType[])\n .concat(leftColumns.value, centerColumns.value, rightColumns.value)\n .map((column: FinallyColumnType, index) => {\n column.columnIndex = index\n newColumnKeyIndexMap[column.columnKey] = index\n return column\n })\n columnKeyIndexMap.value = newColumnKeyIndexMap\n })\n\n const columnRowsForAutoHeaderHeight = shallowRef<HeaderCellType[][]>([])\n const stickyOffsets = shallowRef<StickyOffsets>({} as StickyOffsets)\n watchEffect(() => {\n if (props.autoHeaderHeight) {\n columnRowsForAutoHeaderHeight.value = getAutoHeaderHeight(\n ([] as FinallyColumnType[]).concat(\n leftHeaderColumns.value,\n centerHeaderColumns.value,\n rightHeaderColumns.value,\n ),\n )\n const leftOffsets: number[] = []\n const rightOffsets: number[] = []\n let leftOffset = 0\n let rightOffset = 0\n const columns = allColumns.value\n const len = columns.length\n const dir = props.direction\n for (let i = 0; i < len; i += 1) {\n if (dir === 'rtl') {\n rightOffsets[i] = rightOffset\n rightOffset += columns[i]?.finallyWidth || 0\n const index = len - i - 1\n leftOffsets[index] = leftOffset\n leftOffset += columns[index]?.finallyWidth || 0\n } else {\n leftOffsets[i] = leftOffset\n leftOffset += columns[i]?.finallyWidth || 0\n const index = len - i - 1\n rightOffsets[index] = rightOffset\n rightOffset += columns[index]?.finallyWidth || 0\n }\n }\n\n stickyOffsets.value = { left: leftOffsets, right: rightOffsets }\n } else {\n columnRowsForAutoHeaderHeight.value = []\n }\n })\n\n const leftWidth = ref(0)\n const centerWidth = ref(0)\n const rightWidth = ref(0)\n const bodyMaxWidth = eagerComputed(() => leftWidth.value + centerWidth.value + rightWidth.value)\n watchEffect(() => {\n leftWidth.value = leftColumns.value.reduce(\n (preWidth: number, column: FinallyColumnType) => preWidth + (column.finallyWidth || 0),\n 0,\n )\n centerWidth.value = centerColumns.value.reduce(\n (preWidth: number, column: FinallyColumnType) => preWidth + (column.finallyWidth || 0),\n 0,\n )\n rightWidth.value = rightColumns.value.reduce(\n (preWidth: number, column: FinallyColumnType) => preWidth + (column.finallyWidth || 0),\n 0,\n )\n })\n\n const getColumnPosition = (index: number, colSpan = 1) => {\n if (`${index}-${colSpan}` in cacheColumnKeyPositonMap) {\n return cacheColumnKeyPositonMap[`${index}-${colSpan}`]\n }\n const columns = allColumns.value\n let width = 0,\n minWidth = 0,\n maxWidth = 0\n if (columns[index]) {\n const left = columns[index].left\n for (let i = index, len = index + colSpan; i < len; i++) {\n const column = columns[i]!\n width += column.finallyWidth || 0\n minWidth += column.minWidth!\n maxWidth += column.maxWidth!\n }\n cacheColumnKeyPositonMap[`${index}-${colSpan}`] = {\n width,\n left,\n minWidth,\n maxWidth,\n }\n }\n\n return cacheColumnKeyPositonMap[`${index}-${colSpan}`] || { width, left: 0, minWidth, maxWidth }\n }\n\n const visibleCenterColumns = shallowRef<FinallyColumnType[]>([])\n const visibleCenterHeaderColumns = shallowRef<FinallyColumnType[]>([])\n const visibleColumnsRefresh = ref(false)\n const leftCenterWidth = eagerComputed(\n () => bodyWidth.value - (supportSticky ? rightWidth.value : 0),\n )\n const getValidColumns = (columns: FinallyColumnType[]) =>\n columns.length > 2e3 ? columns.slice(0, 2e3) : columns\n\n watch(\n [scrollLeft, leftCenterWidth, centerColumns, xVirtual],\n ([newScrollLeft, newLeftCenterWidth, newCenterColumns]) => {\n if (!xVirtual.value) {\n visibleCenterColumns.value = getValidColumns(newCenterColumns)\n visibleColumnsRefresh.value = !visibleColumnsRefresh.value\n return\n }\n const visibleColumns: FinallyColumnType[] = searchColumns(\n newCenterColumns,\n newScrollLeft - X_BUFF,\n newLeftCenterWidth + newScrollLeft + X_BUFF,\n )\n const autoHeightVisibleColumns: FinallyColumnType[] = autoHeightColumns.value.filter(\n (autoCol) => !visibleColumns.find((visibleCol) => autoCol === visibleCol),\n )\n\n visibleCenterColumns.value = getValidColumns(\n ([] as FinallyColumnType[]).concat(autoHeightVisibleColumns, visibleColumns),\n )\n\n if (latestRangeStartCell.value?.column) {\n const column = keyColumnMap.value.get(latestRangeStartCell.value?.column.columnKey)\n if (\n column &&\n !column.fixed &&\n !visibleCenterColumns.value.find((col) => col.columnKey === column.columnKey)\n ) {\n visibleCenterColumns.value.splice(0, 0, column)\n }\n }\n visibleColumnsRefresh.value = !visibleColumnsRefresh.value\n },\n )\n\n const deepSearchVisibleColumns = (\n childColumns: FinallyColumnType[],\n leftPos: number,\n rightPos: number,\n ): FinallyColumnType[] => {\n return searchColumns(childColumns, leftPos, rightPos).map((column) =>\n Object.assign(\n {},\n column,\n column.children\n ? { children: deepSearchVisibleColumns(column.children, leftPos, rightPos) }\n : {},\n ),\n )\n }\n\n watch(visibleColumnsRefresh, () => {\n if (!xVirtual.value) {\n visibleCenterHeaderColumns.value = getValidColumns(centerHeaderColumns.value)\n return\n }\n const leftPos = scrollLeft.value - X_BUFF\n const rightPos = leftCenterWidth.value + scrollLeft.value + X_BUFF\n const visibleColumns = searchColumns(centerHeaderColumns.value, leftPos, rightPos)\n const firstColumn = visibleColumns[0]\n const lastIndex = visibleColumns.length - 1\n const lastColumn = visibleColumns[lastIndex]\n\n if (firstColumn?.children) {\n visibleColumns[0] = Object.assign({}, visibleColumns[0], {\n children: deepSearchVisibleColumns(firstColumn.children, leftPos, rightPos),\n })\n }\n if (lastColumn && lastColumn !== firstColumn && lastColumn.children) {\n visibleColumns[lastIndex] = Object.assign({}, visibleColumns[lastIndex], {\n children: deepSearchVisibleColumns(lastColumn.children, leftPos, rightPos),\n })\n }\n visibleCenterHeaderColumns.value = getValidColumns(visibleColumns)\n if (\n draggingColumnKey.value &&\n !visibleCenterHeaderColumns.value.find(\n (column) => column.columnKey === draggingColumnKey.value,\n )\n ) {\n const column = keyColumnMap.value.get(draggingColumnKey.value)!\n visibleCenterHeaderColumns.value.push(\n column.children ? Object.assign({}, column, { children: [] }) : column,\n )\n }\n })\n\n return {\n leftColumns,\n rightColumns,\n centerColumns,\n leftHeaderColumns,\n rightHeaderColumns,\n centerHeaderColumns,\n leftWidth,\n rightWidth,\n centerWidth,\n bodyMaxWidth,\n maxRowSpan,\n headerHeight,\n maxHeaderHeight,\n allColumns,\n getColumnPosition,\n getColumnPositionByKey: (key: Key) => {\n const index = columnKeyIndexMap.value[key]\n if (!index) {\n devWarning(false, 'scrollTo', `\\`columnKey = ${key}\\` is Invalid`)\n return\n }\n return getColumnPosition(index)\n },\n columnKeyIndexMap,\n expandIconColumnIndex,\n visibleCenterColumns,\n visibleCenterHeaderColumns,\n columnRowsForAutoHeaderHeight,\n stickyOffsets,\n }\n}\n"],"names":["_a"],"mappings":"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"}
1
+ {"version":3,"file":"useColumns.mjs","sources":["../../../../../../../../packages/components/table/src/hooks/useColumns.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-11-04 16:42:09\n * @LastEditors: shen\n * @LastEditTime: 2025-11-17 17:33:25\n * @Description:\n */\nimport type {\n ColumnsType,\n ProTableProps,\n ExpandType,\n FinallyColumnType,\n Key,\n HeaderCellType,\n StickyOffsets,\n ColumnType,\n FixedType,\n} from '../components/interface'\nimport type { RangeCell } from './RangeInterface'\nimport type { ComputedRef, Ref, ShallowRef } from 'vue'\n\nimport { shallowRef, watchEffect, computed, watch, ref } from 'vue'\nimport { getColumnPos } from '../utils/util'\nimport { X_BUFF } from '../utils/constant'\nimport useColumnWidthByString from './useColumnWidthByString'\nimport eagerComputed from '../utils/eagerComputed'\nimport supportSticky from '../utils/supportSticky'\nimport searchColumns from '../utils/searchColumns'\nimport devWarning from '../utils/devWarning'\n\nexport const CheckboxColumnKey = '__Internal__Checkbox__Columnkey'\nexport const ExpandColumnKey = '__Internal__Expand__Columnkey'\nexport interface UseColumnsType {\n leftColumns: ShallowRef<FinallyColumnType[]>\n rightColumns: ShallowRef<FinallyColumnType[]>\n centerColumns: ShallowRef<FinallyColumnType[]>\n allColumns: ShallowRef<FinallyColumnType[]>\n visibleCenterColumns: ShallowRef<FinallyColumnType[]>\n visibleCenterHeaderColumns: ShallowRef<FinallyColumnType[]>\n leftWidth: Ref<number>\n rightWidth: Ref<number>\n centerWidth: Ref<number>\n bodyMaxWidth: ComputedRef<number>\n leftHeaderColumns: ShallowRef<FinallyColumnType[]>\n rightHeaderColumns: ShallowRef<FinallyColumnType[]>\n centerHeaderColumns: ShallowRef<FinallyColumnType[]>\n maxRowSpan: Ref<number>\n headerHeight: ShallowRef<number[]>\n maxHeaderHeight: Ref<number>\n getColumnPosition: (\n _index: number,\n _colSpan?: number,\n ) => {\n width: number\n left: number\n minWidth: number\n maxWidth: number\n }\n getColumnPositionByKey: (_key: Key) =>\n | {\n width: number\n left: number\n minWidth: number\n maxWidth: number\n }\n | undefined\n columnKeyIndexMap: ShallowRef<Record<string, number>>\n expandIconColumnIndex: Ref<number>\n columnRowsForAutoHeaderHeight: ShallowRef<HeaderCellType[][]>\n stickyOffsets: ShallowRef<StickyOffsets>\n}\nexport const defaultMinWidth = 50\n\nfunction parseColumnFixed(column: ColumnType) {\n return column?.fixed === true ? 'left' : column?.fixed\n}\n\nconst getAutoHeaderHeight = (allHeaderColumns: FinallyColumnType[]) => {\n const autoHeaderHeight: HeaderCellType[][] = []\n const parseColumns = (columns: FinallyColumnType[], colStart: number, autoHeightIndex = 0) => {\n autoHeaderHeight[autoHeightIndex] = autoHeaderHeight[autoHeightIndex] || []\n let innerColStart = colStart\n return columns.filter(Boolean).map((column: FinallyColumnType) => {\n const cell: HeaderCellType = { key: column.columnKey, column, colStart: innerColStart }\n let colSpan = 1\n const children = column.children\n if (children && children.length > 0) {\n colSpan = parseColumns(children, innerColStart, autoHeightIndex + 1).reduce(\n (pre, cur) => pre + cur,\n 0,\n )\n cell.hasSubColumns = true\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan\n }\n cell.colSpan = colSpan\n cell.colEnd = cell.colStart! + colSpan - 1\n autoHeaderHeight[autoHeightIndex]?.push(cell)\n innerColStart += colSpan\n return colSpan\n })\n }\n parseColumns(allHeaderColumns, 0)\n const len = autoHeaderHeight.length\n for (let i = 0; i < len; i += 1) {\n autoHeaderHeight[i]?.forEach((cell: HeaderCellType) => {\n if (!('rowSpan' in cell || cell.hasSubColumns)) {\n cell.rowSpan = len - i\n }\n })\n }\n return autoHeaderHeight\n}\n\nexport default function useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandType,\n expandable,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n}: {\n props: ProTableProps\n rawColumns: Ref<ColumnsType>\n bodyScrollWidth: Ref<number>\n baseHeight: Ref<number>\n measureWidthRef: Ref<any>\n expandable: Ref<boolean>\n rowExpandable?: Ref<(_record: any) => boolean>\n direction?: Ref<'ltr' | 'rtl'>\n expandType: Ref<ExpandType>\n scrollLeft: Ref<number>\n bodyWidth: Ref<number>\n xVirtual: Ref<boolean>\n draggingColumnKey: Ref<Key>\n latestRangeStartCell: ShallowRef<RangeCell | null>\n}): UseColumnsType {\n const leftColumns = shallowRef<FinallyColumnType[]>([])\n const rightColumns = shallowRef<FinallyColumnType[]>([])\n const centerColumns = shallowRef<FinallyColumnType[]>([])\n\n const autoHeightColumns = shallowRef<FinallyColumnType[]>([])\n\n const leftHeaderColumns = shallowRef<FinallyColumnType[]>([])\n const rightHeaderColumns = shallowRef<FinallyColumnType[]>([])\n const centerHeaderColumns = shallowRef<FinallyColumnType[]>([])\n\n const maxRowSpan = shallowRef<number>(1)\n const headerHeight = shallowRef<number[]>([])\n const keyColumnMap = shallowRef<Map<Key, FinallyColumnType>>(new Map())\n const maxHeaderHeight = shallowRef<number>(0)\n\n watchEffect(() => {\n maxHeaderHeight.value = headerHeight.value.reduce((pre, current) => pre + current, 0)\n })\n\n const columnWidthByString = useColumnWidthByString()\n\n const mergeColumns = shallowRef<ColumnsType>([])\n const mergeRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true, fixed } = rowSelection\n return { ...rowSelection, checkStrictly, fixed: fixed === true ? 'left' : fixed }\n })\n\n const expandIconColumnIndex = eagerComputed<number>(() => {\n if (expandType.value === 'nest' && props.expandIconColumnIndex === undefined) {\n return props.rowSelection ? 1 : 0\n } else if (props.expandIconColumnIndex! > 0 && props.rowSelection) {\n return props.expandIconColumnIndex! - 1\n }\n return props.expandIconColumnIndex!\n })\n\n watchEffect(() => {\n let newColumns = rawColumns.value.slice()\n if (expandable.value) {\n const expandColumnIndex = expandIconColumnIndex.value || 0\n const expandColumn = rawColumns.value[expandColumnIndex]\n const expandColumnWidth = props.expandColumnWidth || 48\n const expandFixed = props.expandFixed === true ? 'left' : props.expandFixed\n let parsedExpandFixed: any\n if (expandFixed !== 'left' || expandIconColumnIndex.value) {\n if (expandFixed === 'right' && expandIconColumnIndex.value === rawColumns.value.length) {\n parsedExpandFixed = 'right'\n } else {\n parsedExpandFixed = parseColumnFixed(expandColumn!)\n }\n } else {\n parsedExpandFixed = 'left'\n }\n const newExpandColumn = {\n title: '',\n fixed: parsedExpandFixed,\n width: expandColumnWidth,\n minWidth: expandColumnWidth,\n maxWidth: expandColumnWidth,\n columnKey: ExpandColumnKey,\n type: 'expand',\n finallyWidth: expandColumnWidth,\n __Internal__Column__: true,\n }\n if (expandColumnIndex >= 0) {\n newColumns.splice(expandColumnIndex, 0, newExpandColumn)\n }\n }\n if (props.rowSelection) {\n const { columnWidth = 48, fixed, columnTitle } = mergeRowSelection.value\n const rowSelectionColumn = {\n width: columnWidth,\n minWidth: columnWidth,\n maxWidth: columnWidth,\n finallyWidth: columnWidth,\n title: columnTitle,\n type: 'checkbox',\n columnKey: CheckboxColumnKey,\n __Internal__Column__: true,\n }\n if (expandType.value === 'row' && newColumns.length && !expandIconColumnIndex.value) {\n const [firstColumn, ...rest] = newColumns\n const fixedValue = fixed || parseColumnFixed(rest[0]!)\n if (fixedValue) {\n firstColumn!.fixed = fixedValue as FixedType\n }\n newColumns = [\n firstColumn!,\n { ...(rowSelectionColumn as ColumnType), fixed: fixedValue as FixedType },\n ...rest,\n ]\n } else {\n newColumns = [\n {\n ...(rowSelectionColumn as ColumnType),\n fixed: (fixed || parseColumnFixed(newColumns[0]!)) as FixedType,\n },\n ...newColumns,\n ]\n }\n }\n if (!newColumns.length) {\n newColumns = [{ customRender: () => null }]\n }\n mergeColumns.value = newColumns\n })\n\n watch(\n [mergeColumns, baseHeight, bodyScrollWidth, measureWidthRef],\n () => {\n const originMergeColumns = mergeColumns.value\n let newMaxRowSpan = 1\n const newLeftColumns: FinallyColumnType[] = []\n const newRightColumns: FinallyColumnType[] = []\n const newCenterColumns: FinallyColumnType[] = []\n const newAutoHeightColumns: FinallyColumnType[] = []\n const newLeftHeaderColumns: FinallyColumnType[] = []\n const newRightHeaderColumns: FinallyColumnType[] = []\n const newCenterHeaderColumns: FinallyColumnType[] = []\n keyColumnMap.value = new Map()\n if (!measureWidthRef.value) {\n return\n }\n const autoWidthColumns: FinallyColumnType[] = []\n let finallyWidthTotal = 0\n const genColumns = (\n allCols: ColumnsType,\n leftHeaderCols: FinallyColumnType[],\n centerHeaderCols: FinallyColumnType[],\n rightHeaderCols: FinallyColumnType[],\n rowSpan: number,\n pos: string,\n fix?: FixedType,\n ) => {\n for (let i = 0, len = allCols.length; i < len; i++) {\n const originColumn = allCols[i] as FinallyColumnType\n if (!originColumn) {\n continue\n }\n const {\n width,\n fixed = fix,\n children,\n ellipsis = false,\n tooltip,\n minWidth,\n maxWidth,\n } = originColumn\n const columnWidth = columnWidthByString(\n measureWidthRef.value,\n bodyScrollWidth.value,\n width,\n )\n const columnMinWidth = columnWidthByString(\n measureWidthRef.value,\n bodyScrollWidth.value,\n minWidth,\n )\n const columnMaxWidth = maxWidth\n ? columnWidthByString(measureWidthRef.value, bodyScrollWidth.value, maxWidth)\n : 1 / 0\n const finallyWidth = Math.min(Math.max(columnWidth, columnMinWidth), columnMaxWidth)\n const columnPos = getColumnPos(i, pos)\n const columnKey = originColumn.columnKey || originColumn.key || columnPos\n const parseFiexed = fixed === true ? 'left' : fixed\n const finallyColumn = Object.assign({}, originColumn, {\n finallyWidth,\n columnKey,\n originColumn,\n showTitle:\n !tooltip &&\n (ellipsis === true ||\n (typeof ellipsis === 'object' && ellipsis?.showTitle !== false)),\n fixed: parseFiexed,\n hidden: true === originColumn.hidden,\n })\n keyColumnMap.value.set(columnKey, finallyColumn)\n if (finallyColumn.hidden) {\n break\n }\n if (children && children.length) {\n finallyColumn.children = []\n if (parseFiexed === 'left') {\n leftHeaderCols.push(finallyColumn)\n } else if (parseFiexed === 'right') {\n rightHeaderCols.push(finallyColumn)\n } else {\n centerHeaderCols.push(finallyColumn)\n }\n newMaxRowSpan = Math.max(newMaxRowSpan, rowSpan + 1)\n genColumns(\n children,\n finallyColumn.children,\n finallyColumn.children,\n finallyColumn.children,\n rowSpan + 1,\n columnPos,\n parseFiexed,\n )\n } else {\n if (finallyColumn.width === undefined) {\n autoWidthColumns.push(finallyColumn)\n }\n finallyWidthTotal += finallyColumn.finallyWidth\n if (parseFiexed === 'left') {\n newLeftColumns.push(finallyColumn)\n leftHeaderCols.push(finallyColumn)\n } else if (parseFiexed === 'right') {\n newRightColumns.push(finallyColumn)\n rightHeaderCols.push(finallyColumn)\n } else {\n newCenterColumns.push(finallyColumn)\n if (finallyColumn.autoHeight) {\n newAutoHeightColumns.push(finallyColumn)\n }\n centerHeaderCols.push(finallyColumn)\n }\n }\n }\n }\n\n genColumns(\n originMergeColumns,\n newLeftHeaderColumns,\n newCenterHeaderColumns,\n newRightHeaderColumns,\n 1,\n '__S_TABLE_COLUMN_Key__',\n )\n let differenceWidth = bodyScrollWidth.value - finallyWidthTotal\n const nonResizableColumns = autoWidthColumns.length\n ? autoWidthColumns\n : newLeftColumns\n .concat(newCenterColumns, newRightColumns)\n .filter((column) => !column.resizable || !column.__Internal__Column__)\n const widthDiffAverage = Math.floor(differenceWidth / nonResizableColumns.length)\n if (differenceWidth > 0) {\n for (let i = 0, len = nonResizableColumns.length; i < len; i++) {\n const column = nonResizableColumns[i]!\n let finallyWidth = 0\n if (i == len - 1 && differenceWidth > widthDiffAverage) {\n finallyWidth = column.finallyWidth! + differenceWidth\n } else {\n finallyWidth = Math.max(\n Math.min(column.finallyWidth! + widthDiffAverage, column.maxWidth ?? 1 / 0),\n column.minWidth ?? 50,\n )\n }\n differenceWidth -= finallyWidth - column.finallyWidth!\n column.finallyWidth = finallyWidth\n }\n } else {\n for (let i = 0, len = autoWidthColumns.length; i < len; i++) {\n const column = autoWidthColumns[i]!\n column.finallyWidth = Math.min(column.minWidth ?? 50, column.maxWidth ?? 1 / 0)\n }\n }\n if (props.headerHeight !== undefined) {\n if (Array.isArray(props.headerHeight)) {\n headerHeight.value = props.headerHeight\n .concat(new Array(newMaxRowSpan).fill(baseHeight.value))\n .slice(0, newMaxRowSpan)\n } else {\n headerHeight.value = new Array(newMaxRowSpan).fill(props.headerHeight)\n }\n } else {\n headerHeight.value = new Array(newMaxRowSpan).fill(baseHeight.value)\n }\n\n const genHeaderColumns = (\n headerColumns: FinallyColumnType[],\n left: number,\n top: number,\n rowSpan: number,\n ) => {\n let totalFinallyWidth = 0\n let totalLeft = left\n headerColumns.forEach((column) => {\n column.left = totalLeft\n column.top = top\n if (column.children) {\n column.rowSpan = 1\n column.height = headerHeight.value[newMaxRowSpan - rowSpan]\n column.finallyWidth = genHeaderColumns(\n column.children,\n totalLeft,\n column.height!,\n rowSpan - 1,\n )\n } else {\n column.rowSpan = rowSpan\n column.height = headerHeight.value\n .slice(newMaxRowSpan - rowSpan)\n .reduce((pre, cur) => pre + cur, 0)\n }\n totalLeft += column.finallyWidth!\n totalFinallyWidth += column.finallyWidth!\n })\n return totalFinallyWidth\n }\n\n genHeaderColumns(\n newLeftHeaderColumns.concat(newCenterHeaderColumns, newRightHeaderColumns),\n 0,\n 0,\n newMaxRowSpan,\n )\n\n leftColumns.value = newLeftColumns\n rightColumns.value = newRightColumns\n centerColumns.value = newCenterColumns\n autoHeightColumns.value = newAutoHeightColumns\n leftHeaderColumns.value = newLeftHeaderColumns\n rightHeaderColumns.value = newRightHeaderColumns\n centerHeaderColumns.value = newCenterHeaderColumns\n maxRowSpan.value = newMaxRowSpan\n },\n { immediate: true },\n )\n\n const allColumns = shallowRef<FinallyColumnType[]>([])\n let cacheColumnKeyPositonMap = {}\n const columnKeyIndexMap = shallowRef<Record<Key, number>>({})\n watchEffect(() => {\n cacheColumnKeyPositonMap = {}\n const newColumnKeyIndexMap: Record<Key, number> = {}\n allColumns.value = ([] as FinallyColumnType[])\n .concat(leftColumns.value, centerColumns.value, rightColumns.value)\n .map((column: FinallyColumnType, index) => {\n column.columnIndex = index\n newColumnKeyIndexMap[column.columnKey] = index\n return column\n })\n columnKeyIndexMap.value = newColumnKeyIndexMap\n })\n\n const columnRowsForAutoHeaderHeight = shallowRef<HeaderCellType[][]>([])\n const stickyOffsets = shallowRef<StickyOffsets>({} as StickyOffsets)\n watchEffect(() => {\n if (props.autoHeaderHeight) {\n columnRowsForAutoHeaderHeight.value = getAutoHeaderHeight(\n ([] as FinallyColumnType[]).concat(\n leftHeaderColumns.value,\n centerHeaderColumns.value,\n rightHeaderColumns.value,\n ),\n )\n const leftOffsets: number[] = []\n const rightOffsets: number[] = []\n let leftOffset = 0\n let rightOffset = 0\n const columns = allColumns.value\n const len = columns.length\n const dir = props.direction\n for (let i = 0; i < len; i += 1) {\n if (dir === 'rtl') {\n rightOffsets[i] = rightOffset\n rightOffset += columns[i]?.finallyWidth || 0\n const index = len - i - 1\n leftOffsets[index] = leftOffset\n leftOffset += columns[index]?.finallyWidth || 0\n } else {\n leftOffsets[i] = leftOffset\n leftOffset += columns[i]?.finallyWidth || 0\n const index = len - i - 1\n rightOffsets[index] = rightOffset\n rightOffset += columns[index]?.finallyWidth || 0\n }\n }\n\n stickyOffsets.value = { left: leftOffsets, right: rightOffsets }\n } else {\n columnRowsForAutoHeaderHeight.value = []\n }\n })\n\n const leftWidth = ref(0)\n const centerWidth = ref(0)\n const rightWidth = ref(0)\n const bodyMaxWidth = eagerComputed(() => leftWidth.value + centerWidth.value + rightWidth.value)\n watchEffect(() => {\n leftWidth.value = leftColumns.value.reduce(\n (preWidth: number, column: FinallyColumnType) => preWidth + (column.finallyWidth || 0),\n 0,\n )\n centerWidth.value = centerColumns.value.reduce(\n (preWidth: number, column: FinallyColumnType) => preWidth + (column.finallyWidth || 0),\n 0,\n )\n rightWidth.value = rightColumns.value.reduce(\n (preWidth: number, column: FinallyColumnType) => preWidth + (column.finallyWidth || 0),\n 0,\n )\n })\n\n const getColumnPosition = (index: number, colSpan = 1) => {\n if (`${index}-${colSpan}` in cacheColumnKeyPositonMap) {\n return cacheColumnKeyPositonMap[`${index}-${colSpan}`]\n }\n const columns = allColumns.value\n let width = 0,\n minWidth = 0,\n maxWidth = 0\n if (columns[index]) {\n const left = columns[index].left\n for (let i = index, len = index + colSpan; i < len; i++) {\n const column = columns[i]!\n width += column.finallyWidth || 0\n minWidth += column.minWidth!\n maxWidth += column.maxWidth!\n }\n cacheColumnKeyPositonMap[`${index}-${colSpan}`] = {\n width,\n left,\n minWidth,\n maxWidth,\n }\n }\n\n return cacheColumnKeyPositonMap[`${index}-${colSpan}`] || { width, left: 0, minWidth, maxWidth }\n }\n\n const visibleCenterColumns = shallowRef<FinallyColumnType[]>([])\n const visibleCenterHeaderColumns = shallowRef<FinallyColumnType[]>([])\n const visibleColumnsRefresh = ref(false)\n const leftCenterWidth = eagerComputed(\n () => bodyWidth.value - (supportSticky ? rightWidth.value : 0),\n )\n const getValidColumns = (columns: FinallyColumnType[]) =>\n columns.length > 2e3 ? columns.slice(0, 2e3) : columns\n\n watch(\n [scrollLeft, leftCenterWidth, centerColumns, xVirtual],\n ([newScrollLeft, newLeftCenterWidth, newCenterColumns]) => {\n if (!xVirtual.value) {\n visibleCenterColumns.value = getValidColumns(newCenterColumns)\n visibleColumnsRefresh.value = !visibleColumnsRefresh.value\n return\n }\n const visibleColumns: FinallyColumnType[] = searchColumns(\n newCenterColumns,\n newScrollLeft - X_BUFF,\n newLeftCenterWidth + newScrollLeft + X_BUFF,\n )\n const autoHeightVisibleColumns: FinallyColumnType[] = autoHeightColumns.value.filter(\n (autoCol) => !visibleColumns.find((visibleCol) => autoCol === visibleCol),\n )\n\n visibleCenterColumns.value = getValidColumns(\n ([] as FinallyColumnType[]).concat(autoHeightVisibleColumns, visibleColumns),\n )\n\n if (latestRangeStartCell.value?.column) {\n const column = keyColumnMap.value.get(latestRangeStartCell.value?.column.columnKey)\n if (\n column &&\n !column.fixed &&\n !visibleCenterColumns.value.find((col) => col.columnKey === column.columnKey)\n ) {\n visibleCenterColumns.value.splice(0, 0, column)\n }\n }\n visibleColumnsRefresh.value = !visibleColumnsRefresh.value\n },\n )\n\n const deepSearchVisibleColumns = (\n childColumns: FinallyColumnType[],\n leftPos: number,\n rightPos: number,\n ): FinallyColumnType[] => {\n return searchColumns(childColumns, leftPos, rightPos).map((column) =>\n Object.assign(\n {},\n column,\n column.children\n ? { children: deepSearchVisibleColumns(column.children, leftPos, rightPos) }\n : {},\n ),\n )\n }\n\n watch(visibleColumnsRefresh, () => {\n if (!xVirtual.value) {\n visibleCenterHeaderColumns.value = getValidColumns(centerHeaderColumns.value)\n return\n }\n const leftPos = scrollLeft.value - X_BUFF\n const rightPos = leftCenterWidth.value + scrollLeft.value + X_BUFF\n const visibleColumns = searchColumns(centerHeaderColumns.value, leftPos, rightPos)\n const firstColumn = visibleColumns[0]\n const lastIndex = visibleColumns.length - 1\n const lastColumn = visibleColumns[lastIndex]\n\n if (firstColumn?.children) {\n visibleColumns[0] = Object.assign({}, visibleColumns[0], {\n children: deepSearchVisibleColumns(firstColumn.children, leftPos, rightPos),\n })\n }\n if (lastColumn && lastColumn !== firstColumn && lastColumn.children) {\n visibleColumns[lastIndex] = Object.assign({}, visibleColumns[lastIndex], {\n children: deepSearchVisibleColumns(lastColumn.children, leftPos, rightPos),\n })\n }\n visibleCenterHeaderColumns.value = getValidColumns(visibleColumns)\n if (\n draggingColumnKey.value &&\n !visibleCenterHeaderColumns.value.find(\n (column) => column.columnKey === draggingColumnKey.value,\n )\n ) {\n const column = keyColumnMap.value.get(draggingColumnKey.value)!\n visibleCenterHeaderColumns.value.push(\n column.children ? Object.assign({}, column, { children: [] }) : column,\n )\n }\n })\n\n return {\n leftColumns,\n rightColumns,\n centerColumns,\n leftHeaderColumns,\n rightHeaderColumns,\n centerHeaderColumns,\n leftWidth,\n rightWidth,\n centerWidth,\n bodyMaxWidth,\n maxRowSpan,\n headerHeight,\n maxHeaderHeight,\n allColumns,\n getColumnPosition,\n getColumnPositionByKey: (key: Key) => {\n const index = columnKeyIndexMap.value[key]\n if (!index) {\n devWarning(false, 'scrollTo', `\\`columnKey = ${key}\\` is Invalid`)\n return\n }\n return getColumnPosition(index)\n },\n columnKeyIndexMap,\n expandIconColumnIndex,\n visibleCenterColumns,\n visibleCenterHeaderColumns,\n columnRowsForAutoHeaderHeight,\n stickyOffsets,\n }\n}\n"],"names":["_a"],"mappings":"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"}
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "1.3.5";
1
+ export declare const version = "1.3.7";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "1.3.5";
1
+ const version = "1.3.7";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.3.5'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.3.7'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
@@ -2160,24 +2160,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2160
2160
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & (import("vue").AllowedComponentProps & (import("vue").ComponentCustomProps & import("vue").Plugin<any[], any[]>));
2161
2161
  RenderVNode: import("vue").FunctionalComponent<any, {}, any, {}>;
2162
2162
  RenderSlot: import("vue").FunctionalComponent<any, {}, any, {}>;
2163
- HorizontalScroll: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2164
- onlyAutoShow: {
2165
- type: BooleanConstructor;
2166
- };
2167
- notShowAuto: {
2168
- type: BooleanConstructor;
2169
- };
2170
- }>, () => import("vue/jsx-runtime").JSX.Element | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
2171
- onlyAutoShow: {
2172
- type: BooleanConstructor;
2173
- };
2174
- notShowAuto: {
2175
- type: BooleanConstructor;
2176
- };
2177
- }>> & Readonly<{}>, {
2178
- onlyAutoShow: boolean;
2179
- notShowAuto: boolean;
2180
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2181
2163
  YScroll: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2182
2164
  onlyAutoShow: {
2183
2165
  type: BooleanConstructor;
@@ -94,9 +94,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
94
94
  onCloseEditor?: ((...args: any[]) => any) | undefined;
95
95
  }>, {
96
96
  record: any;
97
+ autoHeight: boolean;
97
98
  multiple: boolean;
98
99
  column: FinallyColumnType<import("../interface").DefaultRecordType>;
99
- autoHeight: boolean;
100
100
  customEditable: boolean;
101
101
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
102
102
  export default _default;
@@ -38,6 +38,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
38
38
  type: PropType<(params: any) => void>;
39
39
  default: undefined;
40
40
  };
41
+ onCollapse: {
42
+ type: PropType<(val: boolean) => void>;
43
+ default: undefined;
44
+ };
41
45
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
42
46
  prefixCls: StringConstructor;
43
47
  items: {
@@ -75,12 +79,17 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
75
79
  type: PropType<(params: any) => void>;
76
80
  default: undefined;
77
81
  };
82
+ onCollapse: {
83
+ type: PropType<(val: boolean) => void>;
84
+ default: undefined;
85
+ };
78
86
  }>> & Readonly<{}>, {
79
87
  loading: boolean;
80
88
  search: SearchConfig;
81
89
  onReset: ((formData?: import("pro-design-vue").Entity | undefined) => void) | undefined;
82
90
  onSubmit: ((formData: import("pro-design-vue").Entity) => Promise<boolean | void> | boolean | void) | undefined;
83
91
  items: ProFormItemType[];
92
+ onCollapse: (val: boolean) => void;
84
93
  beforeSearchSubmit: (params: Partial<any>) => any;
85
94
  cardBordered: Bordered;
86
95
  manual: boolean;
@@ -303,6 +303,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
303
303
  }>;
304
304
  default: undefined;
305
305
  };
306
+ autoHeight: {
307
+ type: import("vue").PropType<boolean | ((autoHeight: number) => number)>;
308
+ default: boolean;
309
+ };
306
310
  rangeSelection: {
307
311
  type: import("vue").PropType<boolean | "single">;
308
312
  default: boolean;
@@ -527,6 +531,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
527
531
  measureWidthRef: import("vue").ShallowRef<HTMLDivElement | undefined, HTMLDivElement | undefined>;
528
532
  flattenData: import("vue").Ref<import("./interface").FlatRecord<DefaultRecordType>[], import("./interface").FlatRecord<DefaultRecordType>[]>;
529
533
  rootRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
534
+ paginationRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
530
535
  mergedSummaryFixed: import("vue").ComputedRef<boolean | "top" | "bottom">;
531
536
  handleResize: (e: CustomEvent) => void;
532
537
  handlePaginationResize: (e: CustomEvent) => void;
@@ -825,6 +830,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
825
830
  }>;
826
831
  default: undefined;
827
832
  };
833
+ autoHeight: {
834
+ type: import("vue").PropType<boolean | ((autoHeight: number) => number)>;
835
+ default: boolean;
836
+ };
828
837
  rangeSelection: {
829
838
  type: import("vue").PropType<boolean | "single">;
830
839
  default: boolean;
@@ -1122,6 +1131,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1122
1131
  onOpenChange: import("vue").PropType<(vis: boolean) => void>;
1123
1132
  'onUpdate:open': import("vue").PropType<(vis: boolean) => void>;
1124
1133
  }>>;
1134
+ autoHeight: boolean | ((autoHeight: number) => number);
1125
1135
  rangeSelection: boolean | "single";
1126
1136
  copyDelimiter: string;
1127
1137
  summaryFixed: import("./interface").SummaryFixed;
@@ -18423,24 +18433,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
18423
18433
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & (import("vue").AllowedComponentProps & (import("vue").ComponentCustomProps & import("vue").Plugin<any[], any[]>));
18424
18434
  RenderVNode: import("vue").FunctionalComponent<any, {}, any, {}>;
18425
18435
  RenderSlot: import("vue").FunctionalComponent<any, {}, any, {}>;
18426
- HorizontalScroll: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
18427
- onlyAutoShow: {
18428
- type: BooleanConstructor;
18429
- };
18430
- notShowAuto: {
18431
- type: BooleanConstructor;
18432
- };
18433
- }>, () => import("vue/jsx-runtime").JSX.Element | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
18434
- onlyAutoShow: {
18435
- type: BooleanConstructor;
18436
- };
18437
- notShowAuto: {
18438
- type: BooleanConstructor;
18439
- };
18440
- }>> & Readonly<{}>, {
18441
- onlyAutoShow: boolean;
18442
- notShowAuto: boolean;
18443
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18444
18436
  YScroll: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
18445
18437
  onlyAutoShow: {
18446
18438
  type: BooleanConstructor;
@@ -18462,6 +18454,24 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
18462
18454
  }, {
18463
18455
  resize: import("vue").Directive;
18464
18456
  }, string, import("vue").ComponentProvideOptions, true, {}, any>;
18457
+ HorizontalScroll: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
18458
+ onlyAutoShow: {
18459
+ type: BooleanConstructor;
18460
+ };
18461
+ notShowAuto: {
18462
+ type: BooleanConstructor;
18463
+ };
18464
+ }>, () => import("vue/jsx-runtime").JSX.Element | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
18465
+ onlyAutoShow: {
18466
+ type: BooleanConstructor;
18467
+ };
18468
+ notShowAuto: {
18469
+ type: BooleanConstructor;
18470
+ };
18471
+ }>> & Readonly<{}>, {
18472
+ onlyAutoShow: boolean;
18473
+ notShowAuto: boolean;
18474
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18465
18475
  }, {
18466
18476
  resize: import("vue").Directive;
18467
18477
  }, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -346,6 +346,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
346
346
  }>;
347
347
  default: undefined;
348
348
  };
349
+ autoHeight: {
350
+ type: import("vue").PropType<boolean | ((autoHeight: number) => number)>;
351
+ default: boolean;
352
+ };
349
353
  rangeSelection: {
350
354
  type: import("vue").PropType<boolean | "single">;
351
355
  default: boolean;
@@ -837,6 +841,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
837
841
  }>;
838
842
  default: undefined;
839
843
  };
844
+ autoHeight: {
845
+ type: import("vue").PropType<boolean | ((autoHeight: number) => number)>;
846
+ default: boolean;
847
+ };
840
848
  rangeSelection: {
841
849
  type: import("vue").PropType<boolean | "single">;
842
850
  default: boolean;
@@ -1168,6 +1176,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1168
1176
  onOpenChange: import("vue").PropType<(vis: boolean) => void>;
1169
1177
  'onUpdate:open': import("vue").PropType<(vis: boolean) => void>;
1170
1178
  }>>;
1179
+ autoHeight: boolean | ((autoHeight: number) => number);
1171
1180
  rangeSelection: boolean | "single";
1172
1181
  copyDelimiter: string;
1173
1182
  summaryFixed: import("./interface").SummaryFixed;
@@ -4,7 +4,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4
4
  }>, {
5
5
  h: typeof h;
6
6
  intl: import("pro-design-vue").IntlType;
7
- fullscreen: import("vue").Ref<boolean, boolean>;
7
+ fullscreen: import("vue").ComputedRef<boolean>;
8
8
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
9
9
  prefixCls: StringConstructor;
10
10
  }>> & Readonly<{}>, {}, {}, {
@@ -5408,7 +5408,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
5408
5408
  }>, {
5409
5409
  h: typeof h;
5410
5410
  intl: import("pro-design-vue").IntlType;
5411
- fullscreen: import("vue").Ref<boolean, boolean>;
5411
+ fullscreen: import("vue").ComputedRef<boolean>;
5412
5412
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
5413
5413
  prefixCls: StringConstructor;
5414
5414
  }>> & Readonly<{}>, {}, {}, {
@@ -375,6 +375,10 @@ export declare const baseTableProps: <T = DefaultRecordType>() => {
375
375
  type: PropType<Scroll>;
376
376
  default: undefined;
377
377
  };
378
+ autoHeight: {
379
+ type: PropType<boolean | ((autoHeight: number) => number)>;
380
+ default: boolean;
381
+ };
378
382
  rangeSelection: {
379
383
  type: PropType<boolean | "single">;
380
384
  default: boolean;
@@ -822,6 +826,10 @@ export declare const tableProps: <T = DefaultRecordType>() => {
822
826
  type: PropType<Scroll>;
823
827
  default: undefined;
824
828
  };
829
+ autoHeight: {
830
+ type: PropType<boolean | ((autoHeight: number) => number)>;
831
+ default: boolean;
832
+ };
825
833
  rangeSelection: {
826
834
  type: PropType<boolean | "single">;
827
835
  default: boolean;
@@ -1311,6 +1319,10 @@ declare class Helper<T extends DefaultRecordType> {
1311
1319
  type: PropType<Scroll>;
1312
1320
  default: undefined;
1313
1321
  };
1322
+ autoHeight: {
1323
+ type: PropType<boolean | ((autoHeight: number) => number)>;
1324
+ default: boolean;
1325
+ };
1314
1326
  rangeSelection: {
1315
1327
  type: PropType<boolean | "single">;
1316
1328
  default: boolean;
@@ -1739,6 +1751,7 @@ export interface TableExposeType {
1739
1751
  closeEditor: (cellInfos?: CellInfo[]) => void;
1740
1752
  reload: (resetPageIndex?: boolean) => Promise<void>;
1741
1753
  reset: () => void;
1754
+ calcTableHeight: () => Promise<void>;
1742
1755
  }
1743
1756
  export interface DragRowsHandleInfo {
1744
1757
  y: number;
package/lib/index.d.ts CHANGED
@@ -2106,6 +2106,10 @@ declare const _default_17: DefineComponent<ExtractPropTypes<{
2106
2106
  }>;
2107
2107
  default: undefined;
2108
2108
  };
2109
+ autoHeight: {
2110
+ type: PropType<boolean | ((autoHeight: number) => number)>;
2111
+ default: boolean;
2112
+ };
2109
2113
  rangeSelection: {
2110
2114
  type: PropType<boolean | "single">;
2111
2115
  default: boolean;
@@ -2597,6 +2601,10 @@ declare const _default_17: DefineComponent<ExtractPropTypes<{
2597
2601
  }>;
2598
2602
  default: undefined;
2599
2603
  };
2604
+ autoHeight: {
2605
+ type: PropType<boolean | ((autoHeight: number) => number)>;
2606
+ default: boolean;
2607
+ };
2600
2608
  rangeSelection: {
2601
2609
  type: PropType<boolean | "single">;
2602
2610
  default: boolean;
@@ -2928,6 +2936,7 @@ declare const _default_17: DefineComponent<ExtractPropTypes<{
2928
2936
  onOpenChange: PropType<(vis: boolean) => void>;
2929
2937
  "onUpdate:open": PropType<(vis: boolean) => void>;
2930
2938
  }>>;
2939
+ autoHeight: boolean | ((autoHeight: number) => number);
2931
2940
  rangeSelection: boolean | "single";
2932
2941
  copyDelimiter: string;
2933
2942
  summaryFixed: SummaryFixed;
@@ -5781,6 +5790,10 @@ declare class Helper<T extends DefaultRecordType> {
5781
5790
  type: PropType<Scroll>;
5782
5791
  default: undefined;
5783
5792
  };
5793
+ autoHeight: {
5794
+ type: PropType<boolean | ((autoHeight: number) => number)>;
5795
+ default: boolean;
5796
+ };
5784
5797
  rangeSelection: {
5785
5798
  type: PropType<boolean | "single">;
5786
5799
  default: boolean;
@@ -7036,6 +7049,7 @@ export declare interface ProTableExposeType {
7036
7049
  closeEditor: (cellInfos?: CellInfo[]) => void;
7037
7050
  reload: (resetPageIndex?: boolean) => Promise<void>;
7038
7051
  reset: () => void;
7052
+ calcTableHeight: () => Promise<void>;
7039
7053
  }
7040
7054
  export declare type ProTableInstance = InstanceType<typeof _default_17> & ProTableExposeType;
7041
7055
  export declare type ProTableKey = string | number;
@@ -18,7 +18,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
18
18
  const _component_BodyRows = vue.resolveComponent("BodyRows");
19
19
  const _component_Empty = vue.resolveComponent("Empty");
20
20
  const _component_YScroll = vue.resolveComponent("YScroll");
21
- const _component_HorizontalScroll = vue.resolveComponent("HorizontalScroll");
22
21
  const _directive_resize = vue.resolveDirective("resize");
23
22
  return vue.openBlock(), vue.createElementBlock(
24
23
  vue.Fragment,
@@ -554,7 +553,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
554
553
  _: 1
555
554
  /* STABLE */
556
555
  }),
557
- vue.createVNode(_component_HorizontalScroll)
556
+ vue.createCommentVNode(" <HorizontalScroll /> ")
558
557
  ],
559
558
  64
560
559
  /* STABLE_FRAGMENT */