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.
- package/dist/index.css +1 -1
- package/dist/index.full.js +107 -90
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +107 -90
- package/es/components/table/src/components/Body/Body.vue.d.ts +0 -18
- package/es/components/table/src/components/Body/EditInput.vue.d.ts +1 -1
- package/es/components/table/src/components/Form/Form.d.ts +9 -0
- package/es/components/table/src/components/InteralTable.vue.d.ts +28 -18
- package/es/components/table/src/components/Table.d.ts +9 -0
- package/es/components/table/src/components/ToolBar/FullscreenIcon.vue.d.ts +1 -1
- package/es/components/table/src/components/ToolBar/ToolBar.vue.d.ts +1 -1
- package/es/components/table/src/components/interface.d.ts +13 -0
- package/es/index.d.ts +14 -0
- package/es/packages/components/table/src/components/Body/Body.vue.mjs +2 -3
- package/es/packages/components/table/src/components/Body/Body.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/Body.vue2.mjs +5 -6
- package/es/packages/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyCell.mjs +1 -0
- package/es/packages/components/table/src/components/Body/BodyCell.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyCellTooltip.mjs +8 -9
- package/es/packages/components/table/src/components/Body/BodyCellTooltip.mjs.map +1 -1
- package/es/packages/components/table/src/components/Form/Form.mjs +7 -2
- package/es/packages/components/table/src/components/Form/Form.mjs.map +1 -1
- package/es/packages/components/table/src/components/Header/HeaderCell.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Header/HeaderCell.vue2.mjs +1 -0
- package/es/packages/components/table/src/components/Header/HeaderCell.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Header/HeaderRowsWrap.vue.mjs +3 -4
- package/es/packages/components/table/src/components/Header/HeaderRowsWrap.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Header/HeaderRowsWrap.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue.mjs +5 -2
- package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs +8 -2
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Scrollbar/XScroll.mjs +2 -2
- package/es/packages/components/table/src/components/Scrollbar/XScroll.mjs.map +1 -1
- package/es/packages/components/table/src/components/Table.mjs +61 -53
- package/es/packages/components/table/src/components/Table.mjs.map +1 -1
- package/es/packages/components/table/src/components/ToolBar/FullscreenIcon.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/ToolBar/FullscreenIcon.vue2.mjs +4 -11
- package/es/packages/components/table/src/components/ToolBar/FullscreenIcon.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/interface.mjs +4 -0
- package/es/packages/components/table/src/components/interface.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useColumns.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue.d.ts +0 -18
- package/lib/components/table/src/components/Body/EditInput.vue.d.ts +1 -1
- package/lib/components/table/src/components/Form/Form.d.ts +9 -0
- package/lib/components/table/src/components/InteralTable.vue.d.ts +28 -18
- package/lib/components/table/src/components/Table.d.ts +9 -0
- package/lib/components/table/src/components/ToolBar/FullscreenIcon.vue.d.ts +1 -1
- package/lib/components/table/src/components/ToolBar/ToolBar.vue.d.ts +1 -1
- package/lib/components/table/src/components/interface.d.ts +13 -0
- package/lib/index.d.ts +14 -0
- package/lib/packages/components/table/src/components/Body/Body.vue.js +1 -2
- package/lib/packages/components/table/src/components/Body/Body.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/Body.vue2.js +5 -6
- package/lib/packages/components/table/src/components/Body/Body.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyCell.js +1 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyCellTooltip.js +8 -9
- package/lib/packages/components/table/src/components/Body/BodyCellTooltip.js.map +1 -1
- package/lib/packages/components/table/src/components/Form/Form.js +7 -2
- package/lib/packages/components/table/src/components/Form/Form.js.map +1 -1
- package/lib/packages/components/table/src/components/Header/HeaderCell.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Header/HeaderCell.vue2.js +1 -0
- package/lib/packages/components/table/src/components/Header/HeaderCell.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Header/HeaderRowsWrap.vue.js +3 -4
- package/lib/packages/components/table/src/components/Header/HeaderRowsWrap.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Header/HeaderRowsWrap.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue.js +5 -2
- package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue2.js +8 -2
- package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Scrollbar/XScroll.js +2 -2
- package/lib/packages/components/table/src/components/Scrollbar/XScroll.js.map +1 -1
- package/lib/packages/components/table/src/components/Table.js +59 -51
- package/lib/packages/components/table/src/components/Table.js.map +1 -1
- package/lib/packages/components/table/src/components/ToolBar/FullscreenIcon.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/ToolBar/FullscreenIcon.vue2.js +3 -10
- package/lib/packages/components/table/src/components/ToolBar/FullscreenIcon.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/interface.js +4 -0
- package/lib/packages/components/table/src/components/interface.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useColumns.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table/bordered.less +13 -6
- package/theme-chalk/src/table/size.less +1 -0
- 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.
|
|
1
|
+
export declare const version = "1.3.7";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.3.
|
|
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").
|
|
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").
|
|
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.
|
|
556
|
+
vue.createCommentVNode(" <HorizontalScroll /> ")
|
|
558
557
|
],
|
|
559
558
|
64
|
|
560
559
|
/* STABLE_FRAGMENT */
|