pro-design-vue 1.3.19 → 1.3.21
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 +60 -32
- 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 +60 -32
- package/es/components/config-provider/src/typing.d.ts +2 -1
- package/es/components/table/src/components/Body/Body.vue.d.ts +9 -0
- package/es/components/table/src/components/Body/BodyExtraCell.vue.d.ts +6 -1
- package/es/components/table/src/components/Body/BodyRow.vue.d.ts +9 -0
- package/es/components/table/src/components/Body/BodyRows.vue.d.ts +9 -0
- package/es/components/table/src/components/ExpandIcon.vue.d.ts +3 -0
- package/es/components/table/src/components/InteralTable.vue.d.ts +18 -0
- package/es/components/table/src/components/Table.d.ts +9 -0
- package/es/components/table/src/components/context/TableContext.d.ts +2 -1
- package/es/components/table/src/components/interface.d.ts +13 -0
- package/es/components/table/src/hooks/useContainer.d.ts +2 -0
- package/es/index.d.ts +15 -0
- package/es/packages/components/table/src/components/Body/BodyExtraCell.vue.mjs +2 -1
- package/es/packages/components/table/src/components/Body/BodyExtraCell.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyExtraCell.vue2.mjs +1 -0
- package/es/packages/components/table/src/components/Body/BodyExtraCell.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs +4 -2
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs +2 -0
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/ExpandIcon.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/ExpandIcon.vue2.mjs +4 -2
- package/es/packages/components/table/src/components/ExpandIcon.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs +9 -2
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Scrollbar/XScroll.mjs +10 -4
- package/es/packages/components/table/src/components/Scrollbar/XScroll.mjs.map +1 -1
- package/es/packages/components/table/src/components/Table.mjs +4 -2
- package/es/packages/components/table/src/components/Table.mjs.map +1 -1
- package/es/packages/components/table/src/components/context/TableContext.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/useContainer.mjs +4 -0
- package/es/packages/components/table/src/hooks/useContainer.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/config-provider/src/typing.d.ts +2 -1
- package/lib/components/table/src/components/Body/Body.vue.d.ts +9 -0
- package/lib/components/table/src/components/Body/BodyExtraCell.vue.d.ts +6 -1
- package/lib/components/table/src/components/Body/BodyRow.vue.d.ts +9 -0
- package/lib/components/table/src/components/Body/BodyRows.vue.d.ts +9 -0
- package/lib/components/table/src/components/ExpandIcon.vue.d.ts +3 -0
- package/lib/components/table/src/components/InteralTable.vue.d.ts +18 -0
- package/lib/components/table/src/components/Table.d.ts +9 -0
- package/lib/components/table/src/components/context/TableContext.d.ts +2 -1
- package/lib/components/table/src/components/interface.d.ts +13 -0
- package/lib/components/table/src/hooks/useContainer.d.ts +2 -0
- package/lib/index.d.ts +15 -0
- package/lib/packages/components/table/src/components/Body/BodyExtraCell.vue.js +2 -1
- package/lib/packages/components/table/src/components/Body/BodyExtraCell.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyExtraCell.vue2.js +1 -0
- package/lib/packages/components/table/src/components/Body/BodyExtraCell.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js +4 -2
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js +2 -0
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/ExpandIcon.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/ExpandIcon.vue2.js +4 -2
- package/lib/packages/components/table/src/components/ExpandIcon.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue2.js +9 -2
- package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Scrollbar/XScroll.js +10 -4
- package/lib/packages/components/table/src/components/Scrollbar/XScroll.js.map +1 -1
- package/lib/packages/components/table/src/components/Table.js +4 -2
- package/lib/packages/components/table/src/components/Table.js.map +1 -1
- package/lib/packages/components/table/src/components/context/TableContext.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/useContainer.js +7 -3
- package/lib/packages/components/table/src/hooks/useContainer.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/table.less +55 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyRow.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyRow.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-08 21:59:48\n * @LastEditors: shen\n * @LastEditTime: 2025-10-20 15:34:32\n * @Description:\n-->\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n onBeforeUnmount,\n computed,\n nextTick,\n watchEffect,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext'\nimport { ExpandColumnKey } from '../../hooks/useColumns'\nimport { RenderSlot } from '../../utils/renderVNode'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { useCellSelection } from '../../hooks/useCellSelection'\nimport { useCellKeyboard } from '../../hooks/useCellKeyboard'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport eagerComputed from '../../utils/eagerComputed'\nimport classNames from '../../utils/classNames'\nimport BodyCell from './BodyCell'\nimport ExpandedRow from './ExpandedRow.vue'\nimport BodyExtraCell from './BodyExtraCell.vue'\nimport ExpandIcon from '../ExpandIcon.vue'\n\nimport type { CSSProperties, PropType } from 'vue'\nimport type { RowClassName, RowType, Key } from '../interface'\n\nlet uniIdCount = 0\nexport default defineComponent({\n name: 'ProTableBodyRow',\n components: {\n ExpandIcon,\n BodyCell,\n ExpandedRow,\n BodyExtraCell,\n RenderSlot,\n },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n isExpandRow: Boolean as PropType<boolean>,\n record: { type: Object },\n type: { type: String as PropType<RowType> },\n rowKey: { type: [Number, String] as PropType<Key>, required: true },\n supportExpand: Boolean,\n pos: Number as PropType<number>,\n rowIndex: Number as PropType<number>,\n flattenRowIndex: Number,\n indent: Number as PropType<number>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n getRowClassName: { type: Function as PropType<RowClassName<any>> },\n },\n setup(props) {\n const rowUniId = 'row_uni_id_' + uniIdCount++\n const tableContext = useInjectTable()\n const rowInstance = getCurrentInstance()\n const { table } = useProConfigInject()\n const { editCellKeys, closeEditor, openEditor } = useEditInject()\n\n let isUnmount = false\n const bodyRow = ref()\n\n const { onCellMousedown, onCellMousemove, onCellClick } = useCellSelection()\n const { onCellKeydown } = useCellKeyboard()\n\n const calMaxHeight = () => {\n if (isUnmount) return\n let rowHeight = 0\n let autoCells: HTMLDivElement[] = []\n if (bodyRow.value) {\n autoCells = bodyRow.value.querySelectorAll('div[data-cell-auto=true]')\n }\n autoCells.forEach((autoCell: HTMLDivElement) => {\n const { offsetWidth, offsetHeight } = autoCell\n let autoCellHeight = offsetWidth ? offsetHeight : 0\n const parentStyle = getComputedStyle(autoCell.parentNode as Element)\n autoCellHeight +=\n parseFloat(parentStyle.getPropertyValue('border-top-width')) +\n parseFloat(parentStyle.getPropertyValue('border-bottom-width'))\n rowHeight = rowHeight > autoCellHeight ? rowHeight : autoCellHeight\n })\n if (autoCells.length) {\n tableContext.addRowHeight(rowUniId, props.rowKey!, rowHeight)\n } else {\n tableContext.removeRowHeight(rowUniId)\n }\n }\n\n watch(\n () => props.rowKey,\n () => {\n calMaxHeight()\n },\n { flush: 'post' },\n )\n\n const resizeObserver: ResizeObserver = new ResizeObserver(() => {\n calMaxHeight()\n })\n\n const { columns, columnStartIndex } = useInjectBodyRows()\n const mergedColumns = computed(() =>\n (props.type === 'center'\n ? tableContext.centerRowColumnsMap.value.get(props.rowKey)\n : columns.value)!.filter((item) => !!item),\n )\n\n const { tooltipOpen, leftPopupContainer, centerPopupContainer, rightPopupContainer } =\n useInjectBody()\n const { handleCellBlur, handleCellHover, hoverRowKey, hoverColumnKey, rowHover } =\n useInjectHover()\n\n const popupContainer = computed(() =>\n props.type === 'left'\n ? leftPopupContainer.value\n : props.type === 'center'\n ? centerPopupContainer.value\n : props.type === 'right'\n ? rightPopupContainer.value\n : null,\n )\n\n const isDragging = eagerComputed(() => tableContext.draggingRowKey.value === props.rowKey)\n const isRowHover = eagerComputed(() => hoverRowKey.value === props.rowKey)\n\n watch(\n [isRowHover, bodyRow],\n () => {\n bodyRow.value &&\n rowHover.value &&\n (isRowHover.value\n ? addClass(bodyRow.value, `${props.prefixCls}-row-hover`)\n : removeClass(bodyRow.value, `${props.prefixCls}-row-hover`))\n },\n { immediate: true, flush: 'post' },\n )\n\n const mergedTooltipOpen = eagerComputed(() => tooltipOpen.value && isRowHover.value)\n\n let timer: any\n onBeforeUnmount(() => {\n isUnmount = true\n resizeObserver.disconnect()\n clearTimeout(timer)\n tableContext.removeRowHeight(rowUniId)\n })\n\n const hasMultiRowSpanInfo = eagerComputed(() => {\n return !tableContext.hasMultiRowSpanInfo.value[props.rowKey!]\n })\n\n const customRowProps = computed(() => {\n return tableContext.props.customRow?.(props.record!, props.rowIndex)\n })\n\n const rowSelectionType = computed(() => {\n return tableContext.props.rowSelection?.type\n })\n\n const isExpanded = ref(false)\n const expandedRowKeys = computed(() => tableContext.expandedRowKeys.value)\n const expanded = eagerComputed(() => expandedRowKeys.value.has?.(props.rowKey!))\n const expandIconColumnIndex = computed(() => tableContext.expandIconColumnIndex.value || 0)\n const indentSize = computed(() => tableContext.indentSize.value)\n\n watchEffect(() => {\n if (expanded.value) {\n isExpanded.value = true\n }\n })\n\n const rowExpandable = computed(\n () =>\n tableContext.expandType.value === 'row' &&\n tableContext.props.rowExpandable?.(props.record!),\n )\n\n const nestExpandable = computed(() => tableContext.expandType.value === 'nest')\n\n const hasNestChildren = computed(\n () =>\n !!(\n tableContext.childrenColumnName.value &&\n props.record?.[tableContext.childrenColumnName.value]?.length\n ),\n )\n const mergedExpandable = computed(() => rowExpandable.value || nestExpandable.value)\n\n const onInternalTriggerExpand = (record: any, event: any) => {\n tableContext.onTriggerExpand(record, props.rowKey!, event)\n }\n\n const mergedRowHeights = computed(() => tableContext.mergedRowHeights.value)\n\n const height = eagerComputed(() => mergedRowHeights.value[props.rowKey!])\n const cellHeight = eagerComputed(() => tableContext.rowHeights.value[props.rowKey!])\n\n const isSelected = computed(() => {\n const highlightSelectRow =\n tableContext.props.highlightSelectRow ?? table?.value?.highlightSelectRow\n return (\n highlightSelectRow && tableContext.selection.derivedSelectedKeySet.value.has(props.rowKey!)\n )\n })\n\n const rowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n const isEven = rowIndex! % 2 == 0\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-row-level-${indent}`]: true,\n [`${prefixCls}-row-hover`]: isRowHover.value && rowHover.value,\n [`${prefixCls}-row-dragging`]: isDragging.value,\n [`${prefixCls}-row-dragging-insert-target`]:\n tableContext.insertToRowKey.value === props.rowKey,\n [`${prefixCls}-row-odd`]: !isEven,\n [`${prefixCls}-row-even`]: isEven,\n [`${prefixCls}-no-height`]: !height.value,\n [`${prefixCls}-row-selected`]: isSelected.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandRowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-expanded-row`]: true,\n [`${prefixCls}-expanded-row-level-${indent! + 1}`]: true,\n [`${prefixCls}-no-height`]: !height.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandColumnWidth = eagerComputed(() => {\n return tableContext.allCellProps.value[props.rowKey!]?.[ExpandColumnKey]?.props?.style?.width\n })\n\n const rowStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {\n opacity: 1,\n [`--${props.prefixCls}-row-bg`]: `var(--${props.prefixCls}-row-bg-${props.rowKey}, var(--${props.prefixCls}-bg))`,\n }\n if (hasMultiRowSpanInfo.value) {\n style.transform = `translateY(${props.pos}px)`\n } else {\n style.top = `${props.pos}px`\n }\n if (height.value !== undefined) {\n style.height = `${height.value}px`\n } else {\n style.height = `${tableContext.baseHeight.value}px`\n }\n if (props.isExpandRow && columnStartIndex.value === 0) {\n style.width = expandColumnWidth.value\n style.minWidth = '100%'\n }\n return style\n })\n\n watch(\n () => ({ ...rowStyle.value }),\n (newStyle, oldStyle = {}) => {\n if (tableContext.animateRows.value && !tableContext.useAnimate.value) {\n if (\n newStyle.top !== oldStyle.top ||\n newStyle.height !== oldStyle.height ||\n newStyle.transform !== oldStyle.transform\n ) {\n nextTick(() => {\n clearTimeout(timer)\n if (rowInstance?.vnode.el && rowInstance.vnode.el.style) {\n rowInstance.vnode.el.style.transition = 'none'\n timer = setTimeout(() => {\n if (rowInstance?.vnode?.el?.style) {\n rowInstance.vnode.el.style.transition = null\n }\n }, 100)\n }\n })\n }\n }\n },\n { immediate: true },\n )\n\n useProvideBodyRow({\n top: computed(() => props.pos!),\n height: computed(() =>\n height.value !== undefined ? height.value : tableContext.baseHeight.value,\n ),\n rowKey: computed(() => props.rowKey),\n })\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-position-absolute`]: true,\n }))\n\n return {\n rowClass,\n rowStyle,\n cellClass,\n tableContext,\n mergedRowHeights,\n handleCellBlur,\n handleCellHover,\n handleClick: (event: any) => {\n const expandRowByClick =\n tableContext.props.expandRowByClick ?? table?.value?.expandRowByClick\n expandRowByClick && mergedExpandable.value && onInternalTriggerExpand(props.record, event)\n },\n rowSelectionType,\n nestExpandable,\n hasNestChildren,\n mergedExpandable,\n expandIconColumnIndex,\n indentSize,\n expanded,\n onInternalTriggerExpand,\n customRowProps,\n expandColumnKey: ExpandColumnKey,\n expandRowClass,\n mergedColumns,\n height,\n cellHeight,\n columnStartIndex,\n resizeObserver,\n calMaxHeight,\n bodyRow,\n hoverRowKey,\n hoverColumnKey,\n xVirtual: eagerComputed(() => tableContext.xVirtual.value),\n getPopupContainer: () => popupContainer.value!,\n editCellKeys,\n closeEditor,\n openEditor,\n mergedTooltipOpen,\n onCellMousedown,\n onCellKeydown,\n onCellMousemove,\n onCellClick,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isExpandRow\">\n <div\n v-if=\"columnStartIndex === 0\"\n ref=\"bodyRow\"\n :data-row-key=\"rowKey\"\n :class=\"expandRowClass\"\n :style=\"rowStyle\"\n role=\"row\"\n >\n <ExpandedRow\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n />\n </div>\n </template>\n <div\n v-else\n v-bind=\"customRowProps\"\n ref=\"bodyRow\"\n :class=\"rowClass\"\n :style=\"rowStyle\"\n :data-row-key=\"rowKey\"\n role=\"row\"\n @click=\"handleClick\"\n >\n <RenderSlot>\n <template v-for=\"(column, index) in mergedColumns\" :key=\"column && column.columnKey\">\n <BodyExtraCell\n v-if=\"column && column.__Internal__Column__\"\n :prefix-cls=\"prefixCls\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex!\"\n :type=\"type\"\n :column=\"mergedColumns?.[index]\"\n :expanded=\"expanded\"\n :support-expand=\"mergedExpandable\"\n :record=\"record\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @mouseleave=\"handleCellBlur\"\n />\n <BodyCell\n v-else-if=\"column\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n @mousedown=\"onCellMousedown\"\n @mousemove=\"onCellMousemove\"\n @keydown=\"onCellKeydown\"\n @click=\"onCellClick\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyCell>\n </template>\n </RenderSlot>\n <div v-if=\"type !== 'center'\" :class=\"`${prefixCls}-cell-shadow-${type}`\"></div>\n </div>\n</template>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BodyRow.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyRow.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-08 21:59:48\n * @LastEditors: shen\n * @LastEditTime: 2025-11-26 14:33:58\n * @Description:\n-->\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n onBeforeUnmount,\n computed,\n nextTick,\n watchEffect,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext'\nimport { ExpandColumnKey } from '../../hooks/useColumns'\nimport { RenderSlot } from '../../utils/renderVNode'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { useCellSelection } from '../../hooks/useCellSelection'\nimport { useCellKeyboard } from '../../hooks/useCellKeyboard'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport eagerComputed from '../../utils/eagerComputed'\nimport classNames from '../../utils/classNames'\nimport BodyCell from './BodyCell'\nimport ExpandedRow from './ExpandedRow.vue'\nimport BodyExtraCell from './BodyExtraCell.vue'\nimport ExpandIcon from '../ExpandIcon.vue'\n\nimport type { CSSProperties, PropType } from 'vue'\nimport type { RowClassName, RowType, Key } from '../interface'\n\nlet uniIdCount = 0\nexport default defineComponent({\n name: 'ProTableBodyRow',\n components: {\n ExpandIcon,\n BodyCell,\n ExpandedRow,\n BodyExtraCell,\n RenderSlot,\n },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n isExpandRow: Boolean as PropType<boolean>,\n record: { type: Object },\n type: { type: String as PropType<RowType> },\n rowKey: { type: [Number, String] as PropType<Key>, required: true },\n supportExpand: Boolean,\n pos: Number as PropType<number>,\n rowIndex: Number as PropType<number>,\n flattenRowIndex: Number,\n indent: Number as PropType<number>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n getRowClassName: { type: Function as PropType<RowClassName<any>> },\n },\n setup(props) {\n const rowUniId = 'row_uni_id_' + uniIdCount++\n const tableContext = useInjectTable()\n const rowInstance = getCurrentInstance()\n const { table } = useProConfigInject()\n const { editCellKeys, closeEditor, openEditor } = useEditInject()\n\n let isUnmount = false\n const bodyRow = ref()\n\n const { onCellMousedown, onCellMousemove, onCellClick } = useCellSelection()\n const { onCellKeydown } = useCellKeyboard()\n\n const calMaxHeight = () => {\n if (isUnmount) return\n let rowHeight = 0\n let autoCells: HTMLDivElement[] = []\n if (bodyRow.value) {\n autoCells = bodyRow.value.querySelectorAll('div[data-cell-auto=true]')\n }\n autoCells.forEach((autoCell: HTMLDivElement) => {\n const { offsetWidth, offsetHeight } = autoCell\n let autoCellHeight = offsetWidth ? offsetHeight : 0\n const parentStyle = getComputedStyle(autoCell.parentNode as Element)\n autoCellHeight +=\n parseFloat(parentStyle.getPropertyValue('border-top-width')) +\n parseFloat(parentStyle.getPropertyValue('border-bottom-width'))\n rowHeight = rowHeight > autoCellHeight ? rowHeight : autoCellHeight\n })\n if (autoCells.length) {\n tableContext.addRowHeight(rowUniId, props.rowKey!, rowHeight)\n } else {\n tableContext.removeRowHeight(rowUniId)\n }\n }\n\n watch(\n () => props.rowKey,\n () => {\n calMaxHeight()\n },\n { flush: 'post' },\n )\n\n const resizeObserver: ResizeObserver = new ResizeObserver(() => {\n calMaxHeight()\n })\n\n const { columns, columnStartIndex } = useInjectBodyRows()\n const mergedColumns = computed(() =>\n (props.type === 'center'\n ? tableContext.centerRowColumnsMap.value.get(props.rowKey)\n : columns.value)!.filter((item) => !!item),\n )\n\n const { tooltipOpen, leftPopupContainer, centerPopupContainer, rightPopupContainer } =\n useInjectBody()\n const { handleCellBlur, handleCellHover, hoverRowKey, hoverColumnKey, rowHover } =\n useInjectHover()\n\n const popupContainer = computed(() =>\n props.type === 'left'\n ? leftPopupContainer.value\n : props.type === 'center'\n ? centerPopupContainer.value\n : props.type === 'right'\n ? rightPopupContainer.value\n : null,\n )\n\n const isDragging = eagerComputed(() => tableContext.draggingRowKey.value === props.rowKey)\n const isRowHover = eagerComputed(() => hoverRowKey.value === props.rowKey)\n\n watch(\n [isRowHover, bodyRow],\n () => {\n bodyRow.value &&\n rowHover.value &&\n (isRowHover.value\n ? addClass(bodyRow.value, `${props.prefixCls}-row-hover`)\n : removeClass(bodyRow.value, `${props.prefixCls}-row-hover`))\n },\n { immediate: true, flush: 'post' },\n )\n\n const mergedTooltipOpen = eagerComputed(() => tooltipOpen.value && isRowHover.value)\n\n let timer: any\n onBeforeUnmount(() => {\n isUnmount = true\n resizeObserver.disconnect()\n clearTimeout(timer)\n tableContext.removeRowHeight(rowUniId)\n })\n\n const hasMultiRowSpanInfo = eagerComputed(() => {\n return !tableContext.hasMultiRowSpanInfo.value[props.rowKey!]\n })\n\n const customRowProps = computed(() => {\n return tableContext.props.customRow?.(props.record!, props.rowIndex)\n })\n\n const rowSelectionType = computed(() => {\n return tableContext.props.rowSelection?.type\n })\n\n const isExpanded = ref(false)\n const expandedRowKeys = computed(() => tableContext.expandedRowKeys.value)\n const expandIconType = computed(() => tableContext.expandIconType.value)\n const expanded = eagerComputed(() => expandedRowKeys.value.has?.(props.rowKey!))\n const expandIconColumnIndex = computed(() => tableContext.expandIconColumnIndex.value || 0)\n const indentSize = computed(() => tableContext.indentSize.value)\n\n watchEffect(() => {\n if (expanded.value) {\n isExpanded.value = true\n }\n })\n\n const rowExpandable = computed(\n () =>\n tableContext.expandType.value === 'row' &&\n tableContext.props.rowExpandable?.(props.record!),\n )\n\n const nestExpandable = computed(() => tableContext.expandType.value === 'nest')\n\n const hasNestChildren = computed(\n () =>\n !!(\n tableContext.childrenColumnName.value &&\n props.record?.[tableContext.childrenColumnName.value]?.length\n ),\n )\n const mergedExpandable = computed(() => rowExpandable.value || nestExpandable.value)\n\n const onInternalTriggerExpand = (record: any, event: any) => {\n tableContext.onTriggerExpand(record, props.rowKey!, event)\n }\n\n const mergedRowHeights = computed(() => tableContext.mergedRowHeights.value)\n\n const height = eagerComputed(() => mergedRowHeights.value[props.rowKey!])\n const cellHeight = eagerComputed(() => tableContext.rowHeights.value[props.rowKey!])\n\n const isSelected = computed(() => {\n const highlightSelectRow =\n tableContext.props.highlightSelectRow ?? table?.value?.highlightSelectRow\n return (\n highlightSelectRow && tableContext.selection.derivedSelectedKeySet.value.has(props.rowKey!)\n )\n })\n\n const rowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n const isEven = rowIndex! % 2 == 0\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-row-level-${indent}`]: true,\n [`${prefixCls}-row-hover`]: isRowHover.value && rowHover.value,\n [`${prefixCls}-row-dragging`]: isDragging.value,\n [`${prefixCls}-row-dragging-insert-target`]:\n tableContext.insertToRowKey.value === props.rowKey,\n [`${prefixCls}-row-odd`]: !isEven,\n [`${prefixCls}-row-even`]: isEven,\n [`${prefixCls}-no-height`]: !height.value,\n [`${prefixCls}-row-selected`]: isSelected.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandRowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-expanded-row`]: true,\n [`${prefixCls}-expanded-row-level-${indent! + 1}`]: true,\n [`${prefixCls}-no-height`]: !height.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandColumnWidth = eagerComputed(() => {\n return tableContext.allCellProps.value[props.rowKey!]?.[ExpandColumnKey]?.props?.style?.width\n })\n\n const rowStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {\n opacity: 1,\n [`--${props.prefixCls}-row-bg`]: `var(--${props.prefixCls}-row-bg-${props.rowKey}, var(--${props.prefixCls}-bg))`,\n }\n if (hasMultiRowSpanInfo.value) {\n style.transform = `translateY(${props.pos}px)`\n } else {\n style.top = `${props.pos}px`\n }\n if (height.value !== undefined) {\n style.height = `${height.value}px`\n } else {\n style.height = `${tableContext.baseHeight.value}px`\n }\n if (props.isExpandRow && columnStartIndex.value === 0) {\n style.width = expandColumnWidth.value\n style.minWidth = '100%'\n }\n return style\n })\n\n watch(\n () => ({ ...rowStyle.value }),\n (newStyle, oldStyle = {}) => {\n if (tableContext.animateRows.value && !tableContext.useAnimate.value) {\n if (\n newStyle.top !== oldStyle.top ||\n newStyle.height !== oldStyle.height ||\n newStyle.transform !== oldStyle.transform\n ) {\n nextTick(() => {\n clearTimeout(timer)\n if (rowInstance?.vnode.el && rowInstance.vnode.el.style) {\n rowInstance.vnode.el.style.transition = 'none'\n timer = setTimeout(() => {\n if (rowInstance?.vnode?.el?.style) {\n rowInstance.vnode.el.style.transition = null\n }\n }, 100)\n }\n })\n }\n }\n },\n { immediate: true },\n )\n\n useProvideBodyRow({\n top: computed(() => props.pos!),\n height: computed(() =>\n height.value !== undefined ? height.value : tableContext.baseHeight.value,\n ),\n rowKey: computed(() => props.rowKey),\n })\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-position-absolute`]: true,\n }))\n\n return {\n rowClass,\n rowStyle,\n cellClass,\n tableContext,\n mergedRowHeights,\n handleCellBlur,\n handleCellHover,\n handleClick: (event: any) => {\n const expandRowByClick =\n tableContext.props.expandRowByClick ?? table?.value?.expandRowByClick\n expandRowByClick && mergedExpandable.value && onInternalTriggerExpand(props.record, event)\n },\n rowSelectionType,\n nestExpandable,\n hasNestChildren,\n mergedExpandable,\n expandIconColumnIndex,\n indentSize,\n expanded,\n expandIconType,\n onInternalTriggerExpand,\n customRowProps,\n expandColumnKey: ExpandColumnKey,\n expandRowClass,\n mergedColumns,\n height,\n cellHeight,\n columnStartIndex,\n resizeObserver,\n calMaxHeight,\n bodyRow,\n hoverRowKey,\n hoverColumnKey,\n xVirtual: eagerComputed(() => tableContext.xVirtual.value),\n getPopupContainer: () => popupContainer.value!,\n editCellKeys,\n closeEditor,\n openEditor,\n mergedTooltipOpen,\n onCellMousedown,\n onCellKeydown,\n onCellMousemove,\n onCellClick,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isExpandRow\">\n <div\n v-if=\"columnStartIndex === 0\"\n ref=\"bodyRow\"\n :data-row-key=\"rowKey\"\n :class=\"expandRowClass\"\n :style=\"rowStyle\"\n role=\"row\"\n >\n <ExpandedRow\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n />\n </div>\n </template>\n <div\n v-else\n v-bind=\"customRowProps\"\n ref=\"bodyRow\"\n :class=\"rowClass\"\n :style=\"rowStyle\"\n :data-row-key=\"rowKey\"\n role=\"row\"\n @click=\"handleClick\"\n >\n <RenderSlot>\n <template v-for=\"(column, index) in mergedColumns\" :key=\"column && column.columnKey\">\n <BodyExtraCell\n v-if=\"column && column.__Internal__Column__\"\n :prefix-cls=\"prefixCls\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex!\"\n :type=\"type\"\n :column=\"mergedColumns?.[index]\"\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :support-expand=\"mergedExpandable\"\n :record=\"record\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @mouseleave=\"handleCellBlur\"\n />\n <BodyCell\n v-else-if=\"column\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n @mousedown=\"onCellMousedown\"\n @mousemove=\"onCellMousemove\"\n @keydown=\"onCellKeydown\"\n @click=\"onCellClick\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyCell>\n </template>\n </RenderSlot>\n <div v-if=\"type !== 'center'\" :class=\"`${prefixCls}-cell-shadow-${type}`\"></div>\n </div>\n</template>\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandIcon.vue.mjs","sources":["../../../../../../../../packages/components/table/src/components/ExpandIcon.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 11:35:58\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"ExpandIcon.vue.mjs","sources":["../../../../../../../../packages/components/table/src/components/ExpandIcon.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 11:35:58\n * @LastEditors: shen\n * @LastEditTime: 2025-11-26 15:20:06\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { useInjectTable } from './context/TableContext'\nexport default defineComponent({\n name: 'ProTableExpandIcon',\n props: {\n prefixCls: String,\n record: Object,\n expanded: Boolean,\n expandable: Boolean,\n disabled: Boolean,\n onExpand: Function,\n expandIconType: String,\n },\n emits: ['expand'],\n setup(props, { emit }) {\n const tableContext = useInjectTable()\n\n const className = computed(() => {\n const { prefixCls, expanded, expandable, disabled, expandIconType } = props\n const expandIconClass = `${prefixCls}-row-expand-icon`\n return {\n [expandIconClass]: true,\n [`${expandIconClass}-${expandIconType}`]: true,\n [`${expandIconClass}-spaced`]: !expandable,\n [`${expandIconClass}-expanded`]: expandable && expanded,\n [`${expandIconClass}-collapsed`]: expandable && !expanded,\n [`${expandIconClass}-disabled`]: !!disabled,\n }\n })\n return {\n handleClick: () => {\n if (props.disabled) {\n return\n }\n emit('expand', props.record)\n },\n className,\n label: computed(() =>\n props.expanded ? tableContext.locale.value.collapse : tableContext.locale.value.expand,\n ),\n expandIcon: computed(() => tableContext.props.expandIcon),\n props,\n }\n },\n})\n</script>\n\n<template>\n <span v-if=\"expandIcon\" @click.stop>\n <component :is=\"() => expandIcon!(props as any)\"></component>\n </span>\n <button\n v-else\n type=\"button\"\n :class=\"className\"\n :aria-label=\"label\"\n @click.stop=\"handleClick\"\n ></button>\n</template>\n"],"names":["_openBlock","_createElementBlock","_withModifiers","_createBlock","_resolveDynamicComponent","_normalizeClass"],"mappings":";;;;;;AAwDc,EAAA,OAAA,IAAA,CAAA,UAAA,IAAAA,SAAA,EAAA,EAAZC,mBAEO,MAAA,EAAA;AAAA,IAAA,GAAA,EAAA,CAAA;AAAA,IAFkB,OAAA,EAAK,OAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAAC,cAAN,MAAA;AAAA,IAAA,CAAA,EAAW,CAAA,MAAA,CAAA,CAAA;AAAA,GAAA,EAAA;AAAA,kBACjCC,WAAA,CAA6DC,uBAAA,CAAA,MAAvC,gBAAY,IAAA,CAAA,KAAK,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA,KAAAJ,SAAA,EAAA,EAEzCC,mBAMU,QAAA,EAAA;AAAA,IAAA,GAAA,EAAA,CAAA;AAAA,IAJR,IAAA,EAAK,QAAA;AAAA,IACJ,KAAA,EAAKI,cAAA,CAAE,IAAA,CAAA,SAAS,CAAA;AAAA,IAChB,cAAY,IAAA,CAAA,KAAA;AAAA,IACZ,SAAK,MAAA,+CAAO,IAAA,CAAA,WAAA,IAAA,KAAA,WAAA,CAAA,GAAA,IAAA,CAAA,EAAW,CAAA,MAAA,CAAA,CAAA;AAAA,GAAA,EAAA,IAAA,EAAA,EAAA,EAAA,UAAA,CAAA,CAAA;;;;;;"}
|
|
@@ -9,16 +9,18 @@ var _sfc_main = defineComponent({
|
|
|
9
9
|
expanded: Boolean,
|
|
10
10
|
expandable: Boolean,
|
|
11
11
|
disabled: Boolean,
|
|
12
|
-
onExpand: Function
|
|
12
|
+
onExpand: Function,
|
|
13
|
+
expandIconType: String
|
|
13
14
|
},
|
|
14
15
|
emits: ["expand"],
|
|
15
16
|
setup(props, { emit }) {
|
|
16
17
|
const tableContext = useInjectTable();
|
|
17
18
|
const className = computed(() => {
|
|
18
|
-
const { prefixCls, expanded, expandable, disabled } = props;
|
|
19
|
+
const { prefixCls, expanded, expandable, disabled, expandIconType } = props;
|
|
19
20
|
const expandIconClass = `${prefixCls}-row-expand-icon`;
|
|
20
21
|
return {
|
|
21
22
|
[expandIconClass]: true,
|
|
23
|
+
[`${expandIconClass}-${expandIconType}`]: true,
|
|
22
24
|
[`${expandIconClass}-spaced`]: !expandable,
|
|
23
25
|
[`${expandIconClass}-expanded`]: expandable && expanded,
|
|
24
26
|
[`${expandIconClass}-collapsed`]: expandable && !expanded,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandIcon.vue2.mjs","sources":["../../../../../../../../packages/components/table/src/components/ExpandIcon.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 11:35:58\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"ExpandIcon.vue2.mjs","sources":["../../../../../../../../packages/components/table/src/components/ExpandIcon.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 11:35:58\n * @LastEditors: shen\n * @LastEditTime: 2025-11-26 15:20:06\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { useInjectTable } from './context/TableContext'\nexport default defineComponent({\n name: 'ProTableExpandIcon',\n props: {\n prefixCls: String,\n record: Object,\n expanded: Boolean,\n expandable: Boolean,\n disabled: Boolean,\n onExpand: Function,\n expandIconType: String,\n },\n emits: ['expand'],\n setup(props, { emit }) {\n const tableContext = useInjectTable()\n\n const className = computed(() => {\n const { prefixCls, expanded, expandable, disabled, expandIconType } = props\n const expandIconClass = `${prefixCls}-row-expand-icon`\n return {\n [expandIconClass]: true,\n [`${expandIconClass}-${expandIconType}`]: true,\n [`${expandIconClass}-spaced`]: !expandable,\n [`${expandIconClass}-expanded`]: expandable && expanded,\n [`${expandIconClass}-collapsed`]: expandable && !expanded,\n [`${expandIconClass}-disabled`]: !!disabled,\n }\n })\n return {\n handleClick: () => {\n if (props.disabled) {\n return\n }\n emit('expand', props.record)\n },\n className,\n label: computed(() =>\n props.expanded ? tableContext.locale.value.collapse : tableContext.locale.value.expand,\n ),\n expandIcon: computed(() => tableContext.props.expandIcon),\n props,\n }\n },\n})\n</script>\n\n<template>\n <span v-if=\"expandIcon\" @click.stop>\n <component :is=\"() => expandIcon!(props as any)\"></component>\n </span>\n <button\n v-else\n type=\"button\"\n :class=\"className\"\n :aria-label=\"label\"\n @click.stop=\"handleClick\"\n ></button>\n</template>\n"],"names":[],"mappings":";;;AAUA,gBAAe,eAAA,CAAgB;AAAA,EAC7B,IAAA,EAAM,oBAAA;AAAA,EACN,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,MAAA;AAAA,IACX,MAAA,EAAQ,MAAA;AAAA,IACR,QAAA,EAAU,OAAA;AAAA,IACV,UAAA,EAAY,OAAA;AAAA,IACZ,QAAA,EAAU,OAAA;AAAA,IACV,QAAA,EAAU,QAAA;AAAA,IACV,cAAA,EAAgB;AAAA,GAClB;AAAA,EACA,KAAA,EAAO,CAAC,QAAQ,CAAA;AAAA,EAChB,KAAA,CAAM,KAAA,EAAO,EAAE,IAAA,EAAK,EAAG;AACrB,IAAA,MAAM,eAAe,cAAA,EAAe;AAEpC,IAAA,MAAM,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAA,MAAM,EAAE,SAAA,EAAW,QAAA,EAAU,UAAA,EAAY,QAAA,EAAU,gBAAe,GAAI,KAAA;AACtE,MAAA,MAAM,eAAA,GAAkB,GAAG,SAAS,CAAA,gBAAA,CAAA;AACpC,MAAA,OAAO;AAAA,QACL,CAAC,eAAe,GAAG,IAAA;AAAA,QACnB,CAAC,CAAA,EAAG,eAAe,CAAA,CAAA,EAAI,cAAc,EAAE,GAAG,IAAA;AAAA,QAC1C,CAAC,CAAA,EAAG,eAAe,CAAA,OAAA,CAAS,GAAG,CAAC,UAAA;AAAA,QAChC,CAAC,CAAA,EAAG,eAAe,CAAA,SAAA,CAAW,GAAG,UAAA,IAAc,QAAA;AAAA,QAC/C,CAAC,CAAA,EAAG,eAAe,CAAA,UAAA,CAAY,GAAG,cAAc,CAAC,QAAA;AAAA,QACjD,CAAC,CAAA,EAAG,eAAe,CAAA,SAAA,CAAW,GAAG,CAAC,CAAC;AAAA,OACrC;AAAA,IACF,CAAC,CAAA;AACD,IAAA,OAAO;AAAA,MACL,aAAa,MAAM;AACjB,QAAA,IAAI,MAAM,QAAA,EAAU;AAClB,UAAA;AAAA,QACF;AACA,QAAA,IAAA,CAAK,QAAA,EAAU,MAAM,MAAM,CAAA;AAAA,MAC7B,CAAA;AAAA,MACA,SAAA;AAAA,MACA,KAAA,EAAO,QAAA;AAAA,QAAS,MACd,MAAM,QAAA,GAAW,YAAA,CAAa,OAAO,KAAA,CAAM,QAAA,GAAW,YAAA,CAAa,MAAA,CAAO,KAAA,CAAM;AAAA,OAClF;AAAA,MACA,UAAA,EAAY,QAAA,CAAS,MAAM,YAAA,CAAa,MAAM,UAAU,CAAA;AAAA,MACxD;AAAA,KACF;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteralTable.vue.mjs","sources":["../../../../../../../../packages/components/table/src/components/InteralTable.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-01 09:29:27\n * @LastEditors: shen\n * @LastEditTime: 2025-11-18 17:20:06\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { WatchStopHandle } from 'vue'\nimport {\n computed,\n defineComponent,\n shallowRef,\n ref,\n watchEffect,\n inject,\n watch,\n toRaw,\n triggerRef,\n onActivated,\n isReactive,\n toRef,\n} from 'vue'\nimport { Spin, Pagination } from 'ant-design-vue'\nimport { baseTableProps } from './interface'\nimport { DOWN, LEFT, UP } from './Drag/constant'\nimport { addNestItemData, deleteNestItemData } from '../utils/util'\nimport { useEditProvider } from '../hooks/useEdit'\nimport { useProvidePopup } from './context/PopupContext'\nimport { useHScrollSyncProvide } from '../hooks/useHScrollSync'\nimport { useVScrollSyncProvide } from '../hooks/useVScrollSync'\nimport { useProvideTable } from './context/TableContext'\nimport { useProvideRangeStore } from '../hooks/useRangeStore'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { resize } from '@pro-design-vue/directives'\nimport { omit, debounce, isPromise } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\nimport { useInjectContainer } from '../hooks/useContainer'\nimport useKVMap from '../hooks/useKVMap'\nimport useLicense from '../hooks/useLicense'\nimport devWarning from '../utils/devWarning'\nimport eagerComputed from '../utils/eagerComputed'\nimport getScrollBarSize from '../utils/getScrollBarSize'\nimport useColumns from '../hooks/useColumns'\nimport useSorter from '../hooks/useSorter'\nimport useFilter from '../hooks/useFilter'\nimport useCal from '../hooks/useCal'\nimport useFlattenRecords from '../hooks/useFlattenRecords'\nimport useSelection from '../hooks/useRowSelection'\nimport usePagination, { getPaginationParam } from '../hooks/usePagination'\nimport raf from '../utils/raf'\nimport easeoutScroll from '../utils/easeoutScroll'\nimport useData from '../hooks/useData'\nimport supportSticky from '../utils/supportSticky'\nimport classNames from '../utils/classNames'\nimport useCellProps from '../hooks/useCellProps'\nimport KeyCode from '../utils/KeyCode'\nimport TableSlotsContextProvider from './context/TableSlotsContext'\nimport MeasureWidth from './MeasureWidth.vue'\nimport PopupContainer from './PopupContainer.vue'\nimport AutoHeightHeader from './AutoHeightHeader/Header.vue'\nimport Header from './Header/Header.vue'\nimport Body from './Body/Body.vue'\nimport XScroll from './Scrollbar/XScroll'\n\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n GetRowKey,\n Key,\n SorterResult,\n TableLocale,\n ColumnType,\n ResizeActionType,\n DragRowEventInfo,\n DragColumnEventInfo,\n DefaultRecordType,\n TableAction,\n} from './interface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { RangeCell } from '../hooks/RangeInterface'\nimport type { SortState } from '../hooks/useSorter'\nimport type { FilterState } from '../hooks/useFilter'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport type FilterValue = (Key | boolean)[]\nexport interface ChangeEventInfo<RecordType> {\n pagination: {\n current?: number\n pageSize?: number\n total?: number\n }\n filters: Record<string, FilterValue | null>\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[]\n filterStates: FilterState<RecordType>[]\n sorterStates: SortState<RecordType>[]\n currentDataSource: RecordType[]\n action: TableAction\n}\nconst EMPTY_LIST: any[] = []\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n directives: { resize },\n components: {\n TableSlotsContextProvider,\n Spin,\n MeasureWidth,\n Pagination,\n PopupContainer,\n AutoHeightHeader,\n ProHeader: Header,\n ProBody: Body,\n HorizontalScroll: XScroll,\n },\n props: baseTableProps(),\n emits: [\n 'update:pagination',\n 'scroll',\n 'update:selectedRowKeys',\n 'update:expandedRowKeys',\n 'update:columns',\n 'update:sorter',\n 'update:filters',\n 'expand',\n 'expandedRowsChange',\n 'resizeColumn',\n 'update:dataSource',\n 'cellKeydown',\n ],\n slots: {} as CustomSlotsType<ContextSlots>,\n setup(props, { expose, emit, slots }) {\n const { table } = useProConfigInject()\n const counter = useInjectContainer()\n const rowKey = computed(() => props.rowKey ?? table?.value?.rowKey ?? 'id')\n const popupContainer = shallowRef<any>(null)\n const customUiCls = usePrefixCls('custom-ui')\n const { editCellKeys, openEditor, closeEditor } = useEditProvider()\n\n useProvidePopup()\n\n const getPopupContainer = computed(() => props.getPopupContainer!)\n const { status, watermarkMsg } = useLicense()\n\n const dragRowsHandle = new Map<Key, Set<HTMLSpanElement>>()\n const draggingRowKey = ref<Key | null>(null)\n const insertToRowKey = ref<Key | null>(null)\n const dragColumnsHandle = new Map<Key, Set<HTMLDivElement>>()\n const draggingColumnKey = ref<Key>('')\n const latestRangeStartCell = shallowRef<RangeCell | null>(null)\n const mergedSummaryFixed = computed(() =>\n props.summaryFixed === true || props.summaryFixed === ('' as any)\n ? 'bottom'\n : (props.summaryFixed ?? table?.value?.summaryFixed ?? false),\n )\n const realHeaderHeight = ref(0)\n\n watchEffect(() => {\n devWarning(\n !(typeof rowKey.value == 'function' && rowKey.value.length > 1),\n 'table',\n '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.',\n )\n })\n\n const localeData: any = inject('localeData', {\n antLocale: {\n Table: {\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n },\n },\n })\n\n const locale = computed<TableLocale>(() => {\n const antLocale = localeData?.antLocale || {}\n return {\n ...(antLocale.locale === DEFAULT_LOCALE.toLocaleLowerCase()\n ? {\n triggerDesc: '\\u70B9\\u51FB\\u964D\\u5E8F',\n triggerAsc: '\\u70B9\\u51FB\\u5347\\u5E8F',\n cancelSort: '\\u53D6\\u6D88\\u6392\\u5E8F',\n }\n : {}),\n ...(antLocale.Table || {}),\n ...(props.locale || {}),\n }\n })\n\n const scrollTop = ref(0)\n const scrollLeft = ref(0)\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\n const rootRef = ref<HTMLDivElement>()\n const paginationRef = ref<HTMLDivElement>()\n const measureWidthRef = shallowRef<HTMLDivElement>()\n\n const mergedScrollX = eagerComputed(() => props.scrollX ?? props.scroll?.x)\n const mergedScrollY = eagerComputed(() => props.scroll?.y ?? props.height ?? props.maxHeight)\n const bodyScrollWidth = ref(typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0)\n\n watch(mergedScrollX, () => {\n bodyScrollWidth.value = typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0\n })\n\n const virtual = eagerComputed<boolean>(() => !(props.virtual === false || !mergedScrollY.value))\n const xVirtual = eagerComputed<boolean>(\n () => props.xVirtual || (props.virtual !== false && props.xVirtual !== false),\n )\n\n const getRowKey = computed<GetRowKey>(() =>\n typeof rowKey.value == 'function'\n ? rowKey.value\n : (record: Record<string, any>) => {\n return record?.[rowKey.value as string]\n },\n )\n\n const rawData = shallowRef<DefaultRecordType[]>([])\n const rawColumns = shallowRef<ColumnType[]>([])\n\n let dataSourceWatchStopHandle: WatchStopHandle\n let columnsWatchStopHandle: WatchStopHandle\n watch(\n () => props.deepWatchDataSource,\n () => {\n dataSourceWatchStopHandle && dataSourceWatchStopHandle()\n dataSourceWatchStopHandle = watch(\n () => props.dataSource,\n () => {\n rawData.value = toRaw(props.dataSource) || EMPTY_LIST\n triggerRef(rawData)\n },\n { immediate: true, deep: !!props.deepWatchDataSource },\n )\n },\n { immediate: true, deep: true },\n )\n\n watch(\n () => props.deepWatchColumns,\n () => {\n columnsWatchStopHandle && columnsWatchStopHandle()\n columnsWatchStopHandle = watch(\n () => props.columns,\n () => {\n rawColumns.value = toRaw(props.columns) || EMPTY_LIST\n triggerRef(rawColumns)\n },\n { immediate: true, deep: true },\n )\n },\n { immediate: true, deep: !!props.deepWatchColumns },\n )\n\n const childrenColumnName = computed(\n () => props.childrenColumnName ?? table?.value?.childrenColumnName ?? 'children',\n )\n\n const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } =\n useKVMap(rawData, childrenColumnName, getRowKey)\n\n const defaultExpandedRowKeys = shallowRef<Key[]>([])\n watchEffect(() => {\n props.defaultExpandedRowKeys && (defaultExpandedRowKeys.value = props.defaultExpandedRowKeys)\n props.defaultExpandAllRows && (defaultExpandedRowKeys.value = allDataRowKeys.value)\n })\n\n const mergedRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true } = rowSelection\n return { ...rowSelection, checkStrictly }\n })\n\n const expandedRowKeys = computed(\n () => new Set(props.expandedRowKeys || defaultExpandedRowKeys.value || []),\n )\n\n const spinProps = computed<SpinProps>(() => {\n if (typeof props.loading === 'boolean') {\n return { spinning: props.loading }\n } else if (typeof props.loading === 'object') {\n return { spinning: true, ...props.loading }\n } else {\n return { spinning: false }\n }\n })\n\n onActivated(() => {\n scrollTo({ left: 0, top: 0 })\n })\n\n let triggerOnChange: any = () => {}\n\n const scrollBarSize = shallowRef(getScrollBarSize())\n const baseHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const expandedRowRender = computed(() => props.expandedRowRender)\n const expandType = eagerComputed(() =>\n rawData.value.some((column) => column?.[childrenColumnName.value]?.length)\n ? 'nest'\n : expandedRowRender.value\n ? 'row'\n : null,\n )\n const expandable = eagerComputed(() => !!props.expandedRowRender)\n\n const columns = useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandable,\n expandType,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n })\n\n const { sortedData, sorterStates, sorter, changeSorter } = useSorter(\n props,\n rawData,\n columns.allColumns,\n (sorter, sorterStates) => {\n scrollTop.value > bodyHeight.value && updateAnimate()\n triggerOnChange({ sorter, sorterStates }, 'sort', false)\n },\n )\n\n const { filterData, filterStates, filters, changeFilter } = useFilter(\n props,\n sortedData,\n columns.allColumns,\n (filters, filterStates) => {\n triggerOnChange({ filters, filterStates }, 'filter', true)\n },\n )\n\n const total = eagerComputed(() => filterData.value.length)\n const paginationParam = computed(() => {\n if (props.pagination === false) {\n return {}\n }\n return getPaginationParam(props.pagination, mergedPagination.value)\n })\n\n const triggeronPaginationChange = (current: number, pageSize: number) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n props['onUpdate:pagination'] &&\n emit(\n 'update:pagination',\n isReactive(props.pagination)\n ? Object.assign(props.pagination || {}, pagination)\n : pagination,\n )\n }\n\n const {\n mergedPagination,\n pos,\n refreshPagination,\n onChange: onPaginationChange,\n onShowSizeChange,\n pageData,\n } = usePagination(total, props, filterData, (current, pageSize) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n triggeronPaginationChange(current, pageSize)\n updateAnimate()\n triggerOnChange({ pagination }, 'paginate')\n })\n\n const {\n flattenData,\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n getRowFlattenIndexByKey,\n isMyChildren,\n getRowByFlattenIndex,\n } = useFlattenRecords(\n pageData,\n childrenColumnName,\n expandedRowKeys,\n getRowKey,\n expandType,\n mergedRowSelection,\n )\n\n const cal = useCal(props, flattenData, bodyHeight, scrollTop, virtual, keyEntities)\n\n const { rowPosition, viewportHeight, startIndex, endIndex } = cal\n const { leftWidth, rightWidth, centerWidth, bodyMaxWidth } = columns\n\n const selection = useSelection(props, mergedRowSelection, rawData, {\n prefixCls: computed(() => props.prefixCls!),\n pageData,\n getRowKey,\n getRecordByKey,\n childrenColumnName,\n locale,\n flattenData,\n keyEntities,\n checkboxPropsMap,\n allDataRowKeys,\n allDataRootRowKeys,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n })\n\n const bodyRef = ref<HTMLDivElement>()\n let leftRaf: any, topRaf: any\n\n const scrollTo = (options: any = {}, type = 'auto', isAnimate = false) => {\n if (!isAnimate) {\n updateAnimate()\n }\n const mergeOptions = typeof options == 'number' ? { top: options } : options\n let left, top\n if ('left' in mergeOptions) {\n left = mergeOptions.left || 0\n } else if ('columnIndex' in mergeOptions) {\n const position = columns.getColumnPosition(mergeOptions.columnIndex!)\n if (position) {\n left = position.left - leftWidth.value\n }\n } else if ('columnKey' in mergeOptions) {\n const position = columns.getColumnPositionByKey(mergeOptions.columnKey!)\n if (position) {\n left = position.left - leftWidth.value\n }\n }\n if ('top' in mergeOptions) {\n top = Math.min(Math.max(mergeOptions.top || 0, 0), maxScrollTop.value)\n } else if ('rowKey' in mergeOptions) {\n const pos = cal.getRowPositionByKey(mergeOptions.rowKey!)\n if (pos) {\n top = pos\n }\n }\n\n left = Math.max(Math.min(maxScrollLeft.value, left || 0), 0)\n if (!showVerticalScrollbar.value) {\n top = 0\n }\n if (type === 'smooth') {\n if (left !== undefined) {\n raf.cancel(leftRaf)\n leftRaf = easeoutScroll(scrollLeft.value, left, (val: number) => {\n scrollLeft.value = val\n })\n }\n if (top !== undefined) {\n raf.cancel(topRaf)\n topRaf = easeoutScroll(scrollTop.value, top, (val: number) => {\n scrollTop.value = val\n })\n }\n } else {\n if (left !== undefined) {\n scrollLeft.value = left\n }\n if (top !== undefined) {\n scrollTop.value = top\n }\n }\n }\n\n const useAnimate = ref(false)\n const animateRows = computed(() => {\n return !!(props.animateRows ?? table?.value?.animateRows)\n })\n\n let timer: any\n watch(\n animateRows,\n (newVal) => {\n useAnimate.value = newVal\n },\n { immediate: true },\n )\n\n const updateAnimate = () => {\n useAnimate.value = false\n clearTimeout(timer)\n timer = setTimeout(() => {\n useAnimate.value = animateRows.value\n }, 100)\n }\n\n const maxScrollLeft = computed(() => bodyMaxWidth.value - bodyWidth.value)\n const maxScrollTop = computed(() => viewportHeight.value - bodyHeight.value)\n const onScroll = (e) => {\n emit('scroll', e)\n }\n\n useHScrollSyncProvide({ scrollLeft, maxScrollLeft, onScroll, bodyWidth })\n useVScrollSyncProvide({ scrollTop, maxScrollTop, onScroll, updateAnimate, bodyWidth })\n\n const { data, pos: dataRowPosition } = useData(\n props,\n rowPosition,\n flattenData,\n startIndex,\n endIndex,\n draggingRowKey,\n useAnimate,\n getRowFlattenIndexByKey,\n latestRangeStartCell,\n )\n\n const pingedLeft = ref(false)\n const pingedRight = ref(false)\n const noPinged = ref(false)\n\n watchEffect(() => {\n pingedLeft.value = supportSticky && !!scrollLeft.value\n pingedRight.value =\n supportSticky &&\n centerWidth.value - (bodyWidth.value - leftWidth.value - rightWidth.value) >\n scrollLeft.value\n noPinged.value = !pingedLeft.value && !pingedRight.value\n })\n\n const rootClass = computed(() =>\n classNames({\n [`${props.prefixCls}`]: true,\n [`${props.prefixCls}-support-sticky`]: supportSticky,\n [`${props.prefixCls}-stripe`]: props.stripe,\n [`${props.prefixCls}-bordered`]: props.bordered ?? table?.value?.bordered,\n [`${props.prefixCls}-${props.size}`]: true,\n [`${props.prefixCls}-ping-left`]: pingedLeft.value,\n [`${props.prefixCls}-ping-right`]: pingedRight.value,\n [`${props.prefixCls}-no-ping`]: noPinged.value,\n [`${props.prefixCls}-has-animate`]: animateRows.value,\n }),\n )\n const rootStyle = computed(() => ({\n height: typeof props.height == 'number' ? `${props.height}px` : props.height,\n maxHeight: typeof props.maxHeight == 'number' ? `${props.maxHeight}px` : props.maxHeight,\n minHeight: typeof props.minHeight == 'number' ? `${props.minHeight}px` : props.minHeight,\n }))\n\n const showHorizontalScrollbar = ref(false)\n const debounceFn = debounce(() => {\n showHorizontalScrollbar.value = bodyMaxWidth.value > bodyWidth.value\n if (bodyWidth.value > bodyScrollWidth.value) {\n bodyScrollWidth.value = bodyWidth.value\n }\n }, 100)\n\n watch([bodyMaxWidth, bodyWidth], () => {\n debounceFn()\n })\n\n const showVerticalScrollbar = eagerComputed(\n () => !!mergedScrollY.value && bodyHeight.value + 0.9 < viewportHeight.value,\n )\n const scrollToFirstRow = eagerComputed(\n () => !props.scroll || (props.scroll && props.scroll.scrollToFirstRowOnChange !== false),\n )\n\n triggerOnChange = (\n info: Partial<ChangeEventInfo<DefaultRecordType>>,\n action: TableAction,\n reset = false,\n ) => {\n if (reset) {\n refreshPagination()\n triggeronPaginationChange(1, mergedPagination.value.pageSize!)\n if (props.pagination) {\n props.pagination.onChange?.(1, mergedPagination.value.pageSize)\n }\n }\n if (scrollToFirstRow.value) {\n scrollTop.value = 0\n }\n props.onChange?.(\n info.pagination || mergedPagination.value,\n info.filters || filters.value,\n info.sorter || sorter.value,\n {\n currentDataSource: info.currentDataSource || filterData.value,\n action,\n },\n )\n }\n\n const paginationProps = computed(() => {\n return omit(mergedPagination.value, [\n 'position',\n 'onChange',\n 'onShowSizeChange',\n 'fieldNames',\n ])\n })\n\n const paginationClass = computed(() => {\n return {\n [`${props.prefixCls}-pagination`]: true,\n [`${props.prefixCls}-pagination-${pos.value.bottom}`]: true,\n [`${customUiCls}`]: true,\n }\n })\n const bottomPaginationHeight = ref(0)\n const bottomPaginationStyle = computed<any>(() => {\n if (!props.paginationSticky) {\n return {}\n }\n if (props.paginationSticky === true) {\n return { position: 'sticky', 'z-index': 9, bottom: '0px' }\n }\n return {\n position: 'sticky',\n 'z-index': 9,\n bottom: counter.hasFullScreen.value\n ? '0px'\n : `${props.paginationSticky?.offsetBottom ?? 0}px`,\n }\n })\n\n const indentSize = computed(() => (typeof props.indentSize == 'number' ? props.indentSize : 15))\n\n const cellProps = useCellProps({\n leftColumns: columns.leftColumns,\n rightColumns: columns.rightColumns,\n visibleCenterColumns: columns.visibleCenterColumns,\n allColumns: columns.allColumns,\n data,\n mergedRowHeights: cal.mergedRowHeights,\n startIndex,\n getColumnPosition: columns.getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight: cal.getRowHeight,\n customCell: toRef(props, 'customCell'),\n })\n\n watch(\n [realHeaderHeight, scrollLeft],\n () => {\n popupContainer.value?.alignPopup?.()\n },\n { flush: 'post' },\n )\n\n useProvideTable({\n ...cal,\n ...columns,\n ...cellProps,\n rootRef,\n rawData,\n getRowFlattenIndexByKey,\n prefixCls: computed(() => props.prefixCls!),\n draggingRowKey,\n insertToRowKey,\n status,\n useAnimate,\n animateRows,\n watermarkMsg,\n onResizeColumn: (w: number, col: ColumnType, action: ResizeActionType) => {\n const width = col.width\n const result = props.onResizeColumn?.(w, col, action)\n if (result !== false) {\n if (!(width === w && col.width === w)) {\n col.width = width !== col.width ? col.width : w\n triggerRef(rawColumns)\n }\n if (action === 'end') {\n emit('update:columns', rawColumns.value, 'resize')\n }\n }\n },\n onRowDragEnd: (opt: DragRowEventInfo) => {\n const { insertToRowKey, record, fromIndexs, rowKey, dir, preTargetInfo, nextTargetInfo } =\n opt\n const rawRecord = toRaw(record)\n const dragEnd = props.onRowDragEnd?.({ ...opt, record: rawRecord, fromIndexs })\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (!isMyChildren(rowKey, preTargetInfo?.rowKey as Key) && insertToRowKey !== rowKey) {\n if (insertToRowKey !== null) {\n const parentRecord = getRecordByKey(insertToRowKey)\n if (\n insertToRowKey === preTargetInfo?.rowKey ||\n insertToRowKey === nextTargetInfo?.rowKey\n ) {\n if (dir === DOWN) {\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n } else {\n if (dir === DOWN) {\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n } else {\n if (dir === DOWN && preTargetInfo) {\n addNestItemData(\n rawData.value,\n [preTargetInfo.indexs[0]!],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else if (dir === UP && nextTargetInfo) {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs ? [preTargetInfo!.indexs[0]!] : [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n triggerRef(rawData)\n emit('update:dataSource', rawData.value)\n }\n }\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n virtual,\n xVirtual,\n dataRowPosition,\n rawColumns,\n bodyHeight,\n scrollTop,\n scrollLeft,\n supportSticky,\n childrenColumnName,\n bodyScrollWidth,\n baseHeight,\n startIndex,\n data,\n pageData,\n getRecordByKey,\n getIndexsByKey,\n expandType,\n flattenData,\n expandedRowKeys,\n indentSize,\n props,\n bodyWidth,\n scrollTo,\n scrollBarSize,\n leftWidth,\n rightWidth,\n centerWidth,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getRowKey,\n selection,\n updateSelectedRowKeys: (keys: Key[]) => {\n emit('update:selectedRowKeys', keys)\n },\n locale,\n sorterStates,\n changeSorter,\n changeFilter,\n filterStates,\n onTriggerExpand: (record, key: Key) => {\n let keys: Key[]\n const hasKey = expandedRowKeys.value.has(key)\n if (hasKey) {\n expandedRowKeys.value.delete(key)\n keys = [...expandedRowKeys.value]\n } else {\n keys = [...expandedRowKeys.value, key]\n }\n defaultExpandedRowKeys.value = keys\n emit('update:expandedRowKeys', keys)\n emit('expand', !hasKey, record)\n emit('expandedRowsChange', keys)\n },\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n mergedRowSelection,\n getPopupContainer,\n allDataRowKeys,\n allDataRootRowKeys,\n dragRowsHandle,\n isMyChildren,\n getKeyByIndexs,\n getRowByFlattenIndex,\n draggingColumnKey,\n dragColumnsHandle,\n onColumnDragEnd: (arg: DragColumnEventInfo) => {\n const { dir, column, targetColumn } = arg\n const dragEnd = props.onColumnDragEnd?.(arg)\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (column === targetColumn || column.key === targetColumn.key) return\n const index = rawColumns.value.findIndex(\n (col) => col === column || col.key === column.key,\n )\n const targetIndex = rawColumns.value.findIndex(\n (col) => col === targetColumn || col.key === targetColumn.key,\n )\n if (dir === LEFT) {\n rawColumns.value.splice(index, 1)\n rawColumns.value.splice(targetIndex, 0, column)\n } else {\n rawColumns.value.splice(targetIndex + 1, 0, column)\n rawColumns.value.splice(index, 1)\n }\n triggerRef(rawColumns)\n emit('update:columns', rawColumns.value, 'drag')\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n onColumnDrag: () => {},\n columnDrag: computed(() => props.columnDrag),\n summaryFixed: mergedSummaryFixed,\n realHeaderHeight,\n bottomPaginationHeight,\n pos,\n })\n\n const tabGuardTopRef = ref()\n const tabGuardBottomRef = ref()\n\n const {\n navigationService,\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n onBodyKeydown,\n } = useProvideRangeStore({\n allColumns: columns.allColumns,\n flattenData,\n rangeSelection: computed(() => props.rangeSelection),\n getRowByFlattenIndex,\n rootRef,\n prefixCls: computed(() => props.prefixCls!),\n allCellProps: cellProps.allCellProps,\n tabGuardTopRef,\n tabGuardBottomRef,\n ensureCellColumnVisible: (cell: RangeCell) => {\n if (!cell.column || cell.column.fixed) return\n const sl = scrollLeft.value\n const pos = columns.getColumnPositionByKey(cell.column.columnKey)\n if (pos) {\n const { width, left } = pos\n const lw = leftWidth.value\n const rw = rightWidth.value\n left - lw < sl\n ? (scrollLeft.value = left - lw)\n : left + width > sl + bodyWidth.value - rw &&\n (scrollLeft.value = left + width - bodyWidth.value + rw)\n }\n },\n ensureCellRowVisible: (cell: RangeCell) => {\n const { rowIndex } = cell\n const st = scrollTop.value\n const row = getRowByFlattenIndex(rowIndex)\n const pos = cal.getRowPositionByKey(row.rowKey)\n const cprops =\n (cellProps.allCellProps.value[row.rowKey]?.[cell.column!.columnKey] || {}).props || {}\n const height = cal.getRowHeight(rowIndex, cprops.rowSpan)\n if (pos !== undefined) {\n updateAnimate()\n if (pos < st) {\n scrollTop.value = pos\n } else {\n if (pos + height > st + bodyHeight.value) {\n scrollTop.value = pos + height - bodyHeight.value\n }\n }\n }\n },\n latestRangeStartCell,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n scrollLeft,\n scrollTop,\n scrollTo,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getIndexsByKey,\n formatRangeCellText: (parmas) => {\n if (props.formatRangeCellText) {\n return props.formatRangeCellText(parmas)\n } else if (parmas.value) {\n return parmas.value\n }\n return ''\n },\n editCellKeys,\n copyDelimiter: computed(() => props.copyDelimiter),\n })\n\n expose({\n scrollTo,\n scrollLeft,\n scrollTop,\n rootRef,\n paginationRef,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n openEditor: (cellInfos: any[]) => {\n openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n },\n closeEditor: (cellInfos: any[]) => {\n if (cellInfos) {\n closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n } else {\n closeEditor()\n }\n },\n })\n\n return {\n bodyRef,\n spinProps,\n rowPosition,\n viewportHeight,\n startIndex,\n data,\n watermarkMsg,\n rootStyle,\n rootClass,\n onBodyKeydown,\n watermarkStyle: computed<any>(() => ({\n minWidth: '100px!important',\n minHeight: '40px!important',\n position: 'absolute!important',\n fontSize: '20px!important',\n opacity: '0.8!important',\n bottom: '40px!important',\n right: '40px!important',\n pointerEvents: 'none',\n display: 'block!important',\n zIndex: '999999!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n })),\n mergedPagination,\n pos,\n onPaginationChange,\n scrollBarSize,\n scrollTop,\n bodyScrollWidth,\n bodyWidth,\n scrollLeft,\n cal,\n selection,\n locale,\n paginationProps,\n slots,\n mergedScrollX,\n mergedScrollY,\n bodyHeight,\n measureWidthRef,\n flattenData,\n rootRef,\n paginationRef,\n mergedSummaryFixed,\n handleResize: (e: CustomEvent) => {\n realHeaderHeight.value = e.detail.height\n },\n handlePaginationResize: (e: CustomEvent) => {\n bottomPaginationHeight.value = e.detail.height\n },\n popupContainer,\n handleGuardTopKeydown: (e: KeyboardEvent) => {\n e.keyCode !== KeyCode.TAB ||\n e.shiftKey ||\n (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault())\n },\n handleGuardBottomKeydown: (e: KeyboardEvent) => {\n e.keyCode === KeyCode.TAB &&\n e.shiftKey &&\n (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault())\n },\n tabGuardTopRef,\n tabGuardBottomRef,\n onShowSizeChange,\n customUiCls,\n paginationClass,\n bottomPaginationStyle,\n }\n },\n})\n</script>\n\n<template>\n <TableSlotsContextProvider :value=\"{ ...slots }\">\n <Spin v-bind=\"spinProps\">\n <Pagination\n v-if=\"pos.top\"\n :class=\"`${prefixCls}-pagination ${prefixCls}-pagination-${pos.top} ${customUiCls}`\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n <div\n ref=\"tabGuardTopRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardTopKeydown\"\n ></div>\n <div key=\"content\" ref=\"rootRef\" :class=\"rootClass\" :style=\"rootStyle\">\n <template v-if=\"showHeader\">\n <AutoHeightHeader\n v-if=\"autoHeaderHeight\"\n :prefix-cls=\"prefixCls\"\n :sticky=\"sticky\"\n @resizeheight=\"handleResize\"\n />\n <ProHeader v-else :prefix-cls=\"prefixCls\" :sticky=\"sticky\" @resizeheight=\"handleResize\" />\n </template>\n <ProBody\n ref=\"bodyRef\"\n v-model:bodyScrollWidth=\"bodyScrollWidth\"\n v-model:bodyWidth=\"bodyWidth\"\n v-model:bodyHeight=\"bodyHeight\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n :scroll-x=\"mergedScrollX\"\n :height=\"mergedScrollY\"\n :summary-fixed=\"mergedSummaryFixed\"\n :summary=\"$slots.summary\"\n :empty-text=\"$slots.emptyText\"\n @keydown=\"onBodyKeydown\"\n />\n </div>\n <HorizontalScroll />\n <div\n ref=\"tabGuardBottomRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardBottomKeydown\"\n ></div>\n <div v-if=\"$slots.footer\" key=\"footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <PopupContainer ref=\"popupContainer\" :prefix-cls=\"prefixCls\" />\n <div\n v-if=\"pos.bottom\"\n v-resize:height\n ref=\"paginationRef\"\n :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap ${prefixCls}-pagination-wrap-${size}`\"\n @resizeheight=\"handlePaginationResize\"\n >\n <Pagination\n :class=\"paginationClass\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n </div>\n </Spin>\n <MeasureWidth ref=\"measureWidthRef\" />\n </TableSlotsContextProvider>\n</template>\n"],"names":["_createBlock","_createVNode","_normalizeProps","_guardReactiveProps","_withCtx","_openBlock","_mergeProps","_createCommentVNode","_createElementVNode","_normalizeClass","_normalizeStyle","_createElementBlock","_Fragment","_renderSlot","_withDirectives"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InteralTable.vue.mjs","sources":["../../../../../../../../packages/components/table/src/components/InteralTable.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-01 09:29:27\n * @LastEditors: shen\n * @LastEditTime: 2025-11-26 14:28:35\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { WatchStopHandle } from 'vue'\nimport {\n computed,\n defineComponent,\n shallowRef,\n ref,\n watchEffect,\n inject,\n watch,\n toRaw,\n triggerRef,\n onActivated,\n isReactive,\n toRef,\n} from 'vue'\nimport { Spin, Pagination } from 'ant-design-vue'\nimport { baseTableProps } from './interface'\nimport { DOWN, LEFT, UP } from './Drag/constant'\nimport { addNestItemData, deleteNestItemData } from '../utils/util'\nimport { useEditProvider } from '../hooks/useEdit'\nimport { useProvidePopup } from './context/PopupContext'\nimport { useHScrollSyncProvide } from '../hooks/useHScrollSync'\nimport { useVScrollSyncProvide } from '../hooks/useVScrollSync'\nimport { useProvideTable } from './context/TableContext'\nimport { useProvideRangeStore } from '../hooks/useRangeStore'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { resize } from '@pro-design-vue/directives'\nimport { omit, debounce, isPromise } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\nimport { useInjectContainer } from '../hooks/useContainer'\nimport useKVMap from '../hooks/useKVMap'\nimport useLicense from '../hooks/useLicense'\nimport devWarning from '../utils/devWarning'\nimport eagerComputed from '../utils/eagerComputed'\nimport getScrollBarSize from '../utils/getScrollBarSize'\nimport useColumns from '../hooks/useColumns'\nimport useSorter from '../hooks/useSorter'\nimport useFilter from '../hooks/useFilter'\nimport useCal from '../hooks/useCal'\nimport useFlattenRecords from '../hooks/useFlattenRecords'\nimport useSelection from '../hooks/useRowSelection'\nimport usePagination, { getPaginationParam } from '../hooks/usePagination'\nimport raf from '../utils/raf'\nimport easeoutScroll from '../utils/easeoutScroll'\nimport useData from '../hooks/useData'\nimport supportSticky from '../utils/supportSticky'\nimport classNames from '../utils/classNames'\nimport useCellProps from '../hooks/useCellProps'\nimport KeyCode from '../utils/KeyCode'\nimport TableSlotsContextProvider from './context/TableSlotsContext'\nimport MeasureWidth from './MeasureWidth.vue'\nimport PopupContainer from './PopupContainer.vue'\nimport AutoHeightHeader from './AutoHeightHeader/Header.vue'\nimport Header from './Header/Header.vue'\nimport Body from './Body/Body.vue'\nimport XScroll from './Scrollbar/XScroll'\n\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n GetRowKey,\n Key,\n SorterResult,\n TableLocale,\n ColumnType,\n ResizeActionType,\n DragRowEventInfo,\n DragColumnEventInfo,\n DefaultRecordType,\n TableAction,\n} from './interface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { RangeCell } from '../hooks/RangeInterface'\nimport type { SortState } from '../hooks/useSorter'\nimport type { FilterState } from '../hooks/useFilter'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport type FilterValue = (Key | boolean)[]\nexport interface ChangeEventInfo<RecordType> {\n pagination: {\n current?: number\n pageSize?: number\n total?: number\n }\n filters: Record<string, FilterValue | null>\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[]\n filterStates: FilterState<RecordType>[]\n sorterStates: SortState<RecordType>[]\n currentDataSource: RecordType[]\n action: TableAction\n}\nconst EMPTY_LIST: any[] = []\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n directives: { resize },\n components: {\n TableSlotsContextProvider,\n Spin,\n MeasureWidth,\n Pagination,\n PopupContainer,\n AutoHeightHeader,\n ProHeader: Header,\n ProBody: Body,\n HorizontalScroll: XScroll,\n },\n props: baseTableProps(),\n emits: [\n 'update:pagination',\n 'scroll',\n 'update:selectedRowKeys',\n 'update:expandedRowKeys',\n 'update:columns',\n 'update:sorter',\n 'update:filters',\n 'expand',\n 'expandedRowsChange',\n 'resizeColumn',\n 'update:dataSource',\n 'cellKeydown',\n ],\n slots: {} as CustomSlotsType<ContextSlots>,\n setup(props, { expose, emit, slots }) {\n const { table } = useProConfigInject()\n const counter = useInjectContainer()\n const rowKey = computed(() => props.rowKey ?? table?.value?.rowKey ?? 'id')\n const popupContainer = shallowRef<any>(null)\n const customUiCls = usePrefixCls('custom-ui')\n const { editCellKeys, openEditor, closeEditor } = useEditProvider()\n\n useProvidePopup()\n\n const getPopupContainer = computed(() => props.getPopupContainer!)\n const { status, watermarkMsg } = useLicense()\n\n const dragRowsHandle = new Map<Key, Set<HTMLSpanElement>>()\n const draggingRowKey = ref<Key | null>(null)\n const insertToRowKey = ref<Key | null>(null)\n const dragColumnsHandle = new Map<Key, Set<HTMLDivElement>>()\n const draggingColumnKey = ref<Key>('')\n const latestRangeStartCell = shallowRef<RangeCell | null>(null)\n const mergedSummaryFixed = computed(() =>\n props.summaryFixed === true || props.summaryFixed === ('' as any)\n ? 'bottom'\n : (props.summaryFixed ?? table?.value?.summaryFixed ?? false),\n )\n const realHeaderHeight = ref(0)\n\n watchEffect(() => {\n devWarning(\n !(typeof rowKey.value == 'function' && rowKey.value.length > 1),\n 'table',\n '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.',\n )\n })\n\n const localeData: any = inject('localeData', {\n antLocale: {\n Table: {\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n },\n },\n })\n\n const locale = computed<TableLocale>(() => {\n const antLocale = localeData?.antLocale || {}\n return {\n ...(antLocale.locale === DEFAULT_LOCALE.toLocaleLowerCase()\n ? {\n triggerDesc: '\\u70B9\\u51FB\\u964D\\u5E8F',\n triggerAsc: '\\u70B9\\u51FB\\u5347\\u5E8F',\n cancelSort: '\\u53D6\\u6D88\\u6392\\u5E8F',\n }\n : {}),\n ...(antLocale.Table || {}),\n ...(props.locale || {}),\n }\n })\n\n const scrollTop = ref(0)\n const scrollLeft = ref(0)\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\n const rootRef = ref<HTMLDivElement>()\n const paginationRef = ref<HTMLDivElement>()\n const measureWidthRef = shallowRef<HTMLDivElement>()\n\n const mergedScrollX = eagerComputed(() => props.scrollX ?? props.scroll?.x)\n const mergedScrollY = eagerComputed(() => props.scroll?.y ?? props.height ?? props.maxHeight)\n const bodyScrollWidth = ref(typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0)\n\n watch(mergedScrollX, () => {\n bodyScrollWidth.value = typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0\n })\n\n const virtual = eagerComputed<boolean>(() => !(props.virtual === false || !mergedScrollY.value))\n const xVirtual = eagerComputed<boolean>(\n () => props.xVirtual || (props.virtual !== false && props.xVirtual !== false),\n )\n\n const getRowKey = computed<GetRowKey>(() =>\n typeof rowKey.value == 'function'\n ? rowKey.value\n : (record: Record<string, any>) => {\n return record?.[rowKey.value as string]\n },\n )\n\n const rawData = shallowRef<DefaultRecordType[]>([])\n const rawColumns = shallowRef<ColumnType[]>([])\n\n let dataSourceWatchStopHandle: WatchStopHandle\n let columnsWatchStopHandle: WatchStopHandle\n watch(\n () => props.deepWatchDataSource,\n () => {\n dataSourceWatchStopHandle && dataSourceWatchStopHandle()\n dataSourceWatchStopHandle = watch(\n () => props.dataSource,\n () => {\n rawData.value = toRaw(props.dataSource) || EMPTY_LIST\n triggerRef(rawData)\n },\n { immediate: true, deep: !!props.deepWatchDataSource },\n )\n },\n { immediate: true, deep: true },\n )\n\n watch(\n () => props.deepWatchColumns,\n () => {\n columnsWatchStopHandle && columnsWatchStopHandle()\n columnsWatchStopHandle = watch(\n () => props.columns,\n () => {\n rawColumns.value = toRaw(props.columns) || EMPTY_LIST\n triggerRef(rawColumns)\n },\n { immediate: true, deep: true },\n )\n },\n { immediate: true, deep: !!props.deepWatchColumns },\n )\n\n const childrenColumnName = computed(\n () => props.childrenColumnName ?? table?.value?.childrenColumnName ?? 'children',\n )\n\n const expandIconType = computed(\n () => props.expandIconType ?? table?.value?.expandIconType ?? 'default',\n )\n\n const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } =\n useKVMap(rawData, childrenColumnName, getRowKey)\n\n const defaultExpandedRowKeys = shallowRef<Key[]>([])\n watchEffect(() => {\n props.defaultExpandedRowKeys && (defaultExpandedRowKeys.value = props.defaultExpandedRowKeys)\n props.defaultExpandAllRows && (defaultExpandedRowKeys.value = allDataRowKeys.value)\n })\n\n const mergedRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true } = rowSelection\n return { ...rowSelection, checkStrictly }\n })\n\n const expandedRowKeys = computed(\n () => new Set(props.expandedRowKeys || defaultExpandedRowKeys.value || []),\n )\n\n const spinProps = computed<SpinProps>(() => {\n if (typeof props.loading === 'boolean') {\n return { spinning: props.loading }\n } else if (typeof props.loading === 'object') {\n return { spinning: true, ...props.loading }\n } else {\n return { spinning: false }\n }\n })\n\n onActivated(() => {\n scrollTo({ left: 0, top: 0 })\n })\n\n let triggerOnChange: any = () => {}\n\n const scrollBarSize = shallowRef(getScrollBarSize())\n const baseHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const expandedRowRender = computed(() => props.expandedRowRender)\n const expandType = eagerComputed(() =>\n rawData.value.some((column) => column?.[childrenColumnName.value]?.length)\n ? 'nest'\n : expandedRowRender.value\n ? 'row'\n : null,\n )\n const expandable = eagerComputed(() => !!props.expandedRowRender)\n\n const columns = useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandable,\n expandType,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n })\n\n const { sortedData, sorterStates, sorter, changeSorter } = useSorter(\n props,\n rawData,\n columns.allColumns,\n (sorter, sorterStates) => {\n scrollTop.value > bodyHeight.value && updateAnimate()\n triggerOnChange({ sorter, sorterStates }, 'sort', false)\n },\n )\n\n const { filterData, filterStates, filters, changeFilter } = useFilter(\n props,\n sortedData,\n columns.allColumns,\n (filters, filterStates) => {\n triggerOnChange({ filters, filterStates }, 'filter', true)\n },\n )\n\n const total = eagerComputed(() => filterData.value.length)\n const paginationParam = computed(() => {\n if (props.pagination === false) {\n return {}\n }\n return getPaginationParam(props.pagination, mergedPagination.value)\n })\n\n const triggeronPaginationChange = (current: number, pageSize: number) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n props['onUpdate:pagination'] &&\n emit(\n 'update:pagination',\n isReactive(props.pagination)\n ? Object.assign(props.pagination || {}, pagination)\n : pagination,\n )\n }\n\n const {\n mergedPagination,\n pos,\n refreshPagination,\n onChange: onPaginationChange,\n onShowSizeChange,\n pageData,\n } = usePagination(total, props, filterData, (current, pageSize) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n triggeronPaginationChange(current, pageSize)\n updateAnimate()\n triggerOnChange({ pagination }, 'paginate')\n })\n\n const {\n flattenData,\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n getRowFlattenIndexByKey,\n isMyChildren,\n getRowByFlattenIndex,\n } = useFlattenRecords(\n pageData,\n childrenColumnName,\n expandedRowKeys,\n getRowKey,\n expandType,\n mergedRowSelection,\n )\n\n const cal = useCal(props, flattenData, bodyHeight, scrollTop, virtual, keyEntities)\n\n const { rowPosition, viewportHeight, startIndex, endIndex } = cal\n const { leftWidth, rightWidth, centerWidth, bodyMaxWidth } = columns\n\n const selection = useSelection(props, mergedRowSelection, rawData, {\n prefixCls: computed(() => props.prefixCls!),\n pageData,\n getRowKey,\n getRecordByKey,\n childrenColumnName,\n locale,\n flattenData,\n keyEntities,\n checkboxPropsMap,\n allDataRowKeys,\n allDataRootRowKeys,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n })\n\n const bodyRef = ref<HTMLDivElement>()\n let leftRaf: any, topRaf: any\n\n const scrollTo = (options: any = {}, type = 'auto', isAnimate = false) => {\n if (!isAnimate) {\n updateAnimate()\n }\n const mergeOptions = typeof options == 'number' ? { top: options } : options\n let left, top\n if ('left' in mergeOptions) {\n left = mergeOptions.left || 0\n } else if ('columnIndex' in mergeOptions) {\n const position = columns.getColumnPosition(mergeOptions.columnIndex!)\n if (position) {\n left = position.left - leftWidth.value\n }\n } else if ('columnKey' in mergeOptions) {\n const position = columns.getColumnPositionByKey(mergeOptions.columnKey!)\n if (position) {\n left = position.left - leftWidth.value\n }\n }\n if ('top' in mergeOptions) {\n top = Math.min(Math.max(mergeOptions.top || 0, 0), maxScrollTop.value)\n } else if ('rowKey' in mergeOptions) {\n const pos = cal.getRowPositionByKey(mergeOptions.rowKey!)\n if (pos) {\n top = pos\n }\n }\n\n left = Math.max(Math.min(maxScrollLeft.value, left || 0), 0)\n if (!showVerticalScrollbar.value) {\n top = 0\n }\n if (type === 'smooth') {\n if (left !== undefined) {\n raf.cancel(leftRaf)\n leftRaf = easeoutScroll(scrollLeft.value, left, (val: number) => {\n scrollLeft.value = val\n })\n }\n if (top !== undefined) {\n raf.cancel(topRaf)\n topRaf = easeoutScroll(scrollTop.value, top, (val: number) => {\n scrollTop.value = val\n })\n }\n } else {\n if (left !== undefined) {\n scrollLeft.value = left\n }\n if (top !== undefined) {\n scrollTop.value = top\n }\n }\n }\n\n const useAnimate = ref(false)\n const animateRows = computed(() => {\n return !!(props.animateRows ?? table?.value?.animateRows)\n })\n\n let timer: any\n watch(\n animateRows,\n (newVal) => {\n useAnimate.value = newVal\n },\n { immediate: true },\n )\n\n const updateAnimate = () => {\n useAnimate.value = false\n clearTimeout(timer)\n timer = setTimeout(() => {\n useAnimate.value = animateRows.value\n }, 100)\n }\n\n const maxScrollLeft = computed(() => bodyMaxWidth.value - bodyWidth.value)\n const maxScrollTop = computed(() => viewportHeight.value - bodyHeight.value)\n const onScroll = (e) => {\n emit('scroll', e)\n }\n\n useHScrollSyncProvide({ scrollLeft, maxScrollLeft, onScroll, bodyWidth })\n useVScrollSyncProvide({ scrollTop, maxScrollTop, onScroll, updateAnimate, bodyWidth })\n\n const { data, pos: dataRowPosition } = useData(\n props,\n rowPosition,\n flattenData,\n startIndex,\n endIndex,\n draggingRowKey,\n useAnimate,\n getRowFlattenIndexByKey,\n latestRangeStartCell,\n )\n\n const pingedLeft = ref(false)\n const pingedRight = ref(false)\n const noPinged = ref(false)\n\n watchEffect(() => {\n pingedLeft.value = supportSticky && !!scrollLeft.value\n pingedRight.value =\n supportSticky &&\n centerWidth.value - (bodyWidth.value - leftWidth.value - rightWidth.value) >\n scrollLeft.value\n noPinged.value = !pingedLeft.value && !pingedRight.value\n })\n\n const rootClass = computed(() =>\n classNames({\n [`${props.prefixCls}`]: true,\n [`${props.prefixCls}-support-sticky`]: supportSticky,\n [`${props.prefixCls}-stripe`]: props.stripe,\n [`${props.prefixCls}-bordered`]: props.bordered ?? table?.value?.bordered,\n [`${props.prefixCls}-${props.size}`]: true,\n [`${props.prefixCls}-ping-left`]: pingedLeft.value,\n [`${props.prefixCls}-ping-right`]: pingedRight.value,\n [`${props.prefixCls}-no-ping`]: noPinged.value,\n [`${props.prefixCls}-has-animate`]: animateRows.value,\n }),\n )\n const rootStyle = computed(() => ({\n height: typeof props.height == 'number' ? `${props.height}px` : props.height,\n maxHeight: typeof props.maxHeight == 'number' ? `${props.maxHeight}px` : props.maxHeight,\n minHeight: typeof props.minHeight == 'number' ? `${props.minHeight}px` : props.minHeight,\n }))\n\n const showHorizontalScrollbar = ref(false)\n const debounceFn = debounce(() => {\n showHorizontalScrollbar.value = bodyMaxWidth.value > bodyWidth.value\n if (bodyWidth.value > bodyScrollWidth.value) {\n bodyScrollWidth.value = bodyWidth.value\n }\n }, 100)\n\n watch([bodyMaxWidth, bodyWidth], () => {\n debounceFn()\n })\n\n const showVerticalScrollbar = eagerComputed(\n () => !!mergedScrollY.value && bodyHeight.value + 0.9 < viewportHeight.value,\n )\n const scrollToFirstRow = eagerComputed(\n () => !props.scroll || (props.scroll && props.scroll.scrollToFirstRowOnChange !== false),\n )\n\n triggerOnChange = (\n info: Partial<ChangeEventInfo<DefaultRecordType>>,\n action: TableAction,\n reset = false,\n ) => {\n if (reset) {\n refreshPagination()\n triggeronPaginationChange(1, mergedPagination.value.pageSize!)\n if (props.pagination) {\n props.pagination.onChange?.(1, mergedPagination.value.pageSize)\n }\n }\n if (scrollToFirstRow.value) {\n scrollTop.value = 0\n }\n props.onChange?.(\n info.pagination || mergedPagination.value,\n info.filters || filters.value,\n info.sorter || sorter.value,\n {\n currentDataSource: info.currentDataSource || filterData.value,\n action,\n },\n )\n }\n\n const paginationProps = computed(() => {\n return omit(mergedPagination.value, [\n 'position',\n 'onChange',\n 'onShowSizeChange',\n 'fieldNames',\n ])\n })\n\n const paginationClass = computed(() => {\n return {\n [`${props.prefixCls}-pagination`]: true,\n [`${props.prefixCls}-pagination-${pos.value.bottom}`]: true,\n [`${customUiCls}`]: true,\n }\n })\n const bottomPaginationHeight = ref(0)\n const bottomPaginationStyle = computed<any>(() => {\n if (!props.paginationSticky || counter.hasFullScreen.value || !!props.height) {\n return {}\n }\n if (props.paginationSticky === true) {\n return { position: 'sticky', 'z-index': 9, bottom: '0px' }\n }\n return {\n position: 'sticky',\n 'z-index': 9,\n bottom: `${props.paginationSticky?.offsetBottom ?? 0}px`,\n }\n })\n\n const indentSize = computed(() => (typeof props.indentSize == 'number' ? props.indentSize : 15))\n\n const cellProps = useCellProps({\n leftColumns: columns.leftColumns,\n rightColumns: columns.rightColumns,\n visibleCenterColumns: columns.visibleCenterColumns,\n allColumns: columns.allColumns,\n data,\n mergedRowHeights: cal.mergedRowHeights,\n startIndex,\n getColumnPosition: columns.getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight: cal.getRowHeight,\n customCell: toRef(props, 'customCell'),\n })\n\n watch(\n [realHeaderHeight, scrollLeft],\n () => {\n popupContainer.value?.alignPopup?.()\n },\n { flush: 'post' },\n )\n\n useProvideTable({\n ...cal,\n ...columns,\n ...cellProps,\n rootRef,\n rawData,\n getRowFlattenIndexByKey,\n prefixCls: computed(() => props.prefixCls!),\n draggingRowKey,\n insertToRowKey,\n status,\n useAnimate,\n animateRows,\n expandIconType,\n watermarkMsg,\n onResizeColumn: (w: number, col: ColumnType, action: ResizeActionType) => {\n const width = col.width\n const result = props.onResizeColumn?.(w, col, action)\n if (result !== false) {\n if (!(width === w && col.width === w)) {\n col.width = width !== col.width ? col.width : w\n triggerRef(rawColumns)\n }\n if (action === 'end') {\n emit('update:columns', rawColumns.value, 'resize')\n }\n }\n },\n onRowDragEnd: (opt: DragRowEventInfo) => {\n const { insertToRowKey, record, fromIndexs, rowKey, dir, preTargetInfo, nextTargetInfo } =\n opt\n const rawRecord = toRaw(record)\n const dragEnd = props.onRowDragEnd?.({ ...opt, record: rawRecord, fromIndexs })\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (!isMyChildren(rowKey, preTargetInfo?.rowKey as Key) && insertToRowKey !== rowKey) {\n if (insertToRowKey !== null) {\n const parentRecord = getRecordByKey(insertToRowKey)\n if (\n insertToRowKey === preTargetInfo?.rowKey ||\n insertToRowKey === nextTargetInfo?.rowKey\n ) {\n if (dir === DOWN) {\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n } else {\n if (dir === DOWN) {\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n } else {\n if (dir === DOWN && preTargetInfo) {\n addNestItemData(\n rawData.value,\n [preTargetInfo.indexs[0]!],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else if (dir === UP && nextTargetInfo) {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs ? [preTargetInfo!.indexs[0]!] : [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n triggerRef(rawData)\n emit('update:dataSource', rawData.value)\n }\n }\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n virtual,\n xVirtual,\n dataRowPosition,\n rawColumns,\n bodyHeight,\n scrollTop,\n scrollLeft,\n supportSticky,\n childrenColumnName,\n bodyScrollWidth,\n baseHeight,\n startIndex,\n data,\n pageData,\n getRecordByKey,\n getIndexsByKey,\n expandType,\n flattenData,\n expandedRowKeys,\n indentSize,\n props,\n bodyWidth,\n scrollTo,\n scrollBarSize,\n leftWidth,\n rightWidth,\n centerWidth,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getRowKey,\n selection,\n updateSelectedRowKeys: (keys: Key[]) => {\n emit('update:selectedRowKeys', keys)\n },\n locale,\n sorterStates,\n changeSorter,\n changeFilter,\n filterStates,\n onTriggerExpand: (record, key: Key) => {\n let keys: Key[]\n const hasKey = expandedRowKeys.value.has(key)\n if (hasKey) {\n expandedRowKeys.value.delete(key)\n keys = [...expandedRowKeys.value]\n } else {\n keys = [...expandedRowKeys.value, key]\n }\n defaultExpandedRowKeys.value = keys\n emit('update:expandedRowKeys', keys)\n emit('expand', !hasKey, record)\n emit('expandedRowsChange', keys)\n },\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n mergedRowSelection,\n getPopupContainer,\n allDataRowKeys,\n allDataRootRowKeys,\n dragRowsHandle,\n isMyChildren,\n getKeyByIndexs,\n getRowByFlattenIndex,\n draggingColumnKey,\n dragColumnsHandle,\n onColumnDragEnd: (arg: DragColumnEventInfo) => {\n const { dir, column, targetColumn } = arg\n const dragEnd = props.onColumnDragEnd?.(arg)\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (column === targetColumn || column.key === targetColumn.key) return\n const index = rawColumns.value.findIndex(\n (col) => col === column || col.key === column.key,\n )\n const targetIndex = rawColumns.value.findIndex(\n (col) => col === targetColumn || col.key === targetColumn.key,\n )\n if (dir === LEFT) {\n rawColumns.value.splice(index, 1)\n rawColumns.value.splice(targetIndex, 0, column)\n } else {\n rawColumns.value.splice(targetIndex + 1, 0, column)\n rawColumns.value.splice(index, 1)\n }\n triggerRef(rawColumns)\n emit('update:columns', rawColumns.value, 'drag')\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n onColumnDrag: () => {},\n columnDrag: computed(() => props.columnDrag),\n summaryFixed: mergedSummaryFixed,\n realHeaderHeight,\n bottomPaginationHeight,\n pos,\n })\n\n const tabGuardTopRef = ref()\n const tabGuardBottomRef = ref()\n\n const {\n navigationService,\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n onBodyKeydown,\n } = useProvideRangeStore({\n allColumns: columns.allColumns,\n flattenData,\n rangeSelection: computed(() => props.rangeSelection),\n getRowByFlattenIndex,\n rootRef,\n prefixCls: computed(() => props.prefixCls!),\n allCellProps: cellProps.allCellProps,\n tabGuardTopRef,\n tabGuardBottomRef,\n ensureCellColumnVisible: (cell: RangeCell) => {\n if (!cell.column || cell.column.fixed) return\n const sl = scrollLeft.value\n const pos = columns.getColumnPositionByKey(cell.column.columnKey)\n if (pos) {\n const { width, left } = pos\n const lw = leftWidth.value\n const rw = rightWidth.value\n left - lw < sl\n ? (scrollLeft.value = left - lw)\n : left + width > sl + bodyWidth.value - rw &&\n (scrollLeft.value = left + width - bodyWidth.value + rw)\n }\n },\n ensureCellRowVisible: (cell: RangeCell) => {\n const { rowIndex } = cell\n const st = scrollTop.value\n const row = getRowByFlattenIndex(rowIndex)\n const pos = cal.getRowPositionByKey(row.rowKey)\n const cprops =\n (cellProps.allCellProps.value[row.rowKey]?.[cell.column!.columnKey] || {}).props || {}\n const height = cal.getRowHeight(rowIndex, cprops.rowSpan)\n if (pos !== undefined) {\n updateAnimate()\n if (pos < st) {\n scrollTop.value = pos\n } else {\n if (pos + height > st + bodyHeight.value) {\n scrollTop.value = pos + height - bodyHeight.value\n }\n }\n }\n },\n latestRangeStartCell,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n scrollLeft,\n scrollTop,\n scrollTo,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getIndexsByKey,\n formatRangeCellText: (parmas) => {\n if (props.formatRangeCellText) {\n return props.formatRangeCellText(parmas)\n } else if (parmas.value) {\n return parmas.value\n }\n return ''\n },\n editCellKeys,\n copyDelimiter: computed(() => props.copyDelimiter),\n })\n\n expose({\n scrollTo,\n scrollLeft,\n scrollTop,\n rootRef,\n paginationRef,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n openEditor: (cellInfos: any[]) => {\n openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n },\n closeEditor: (cellInfos: any[]) => {\n if (cellInfos) {\n closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n } else {\n closeEditor()\n }\n },\n })\n\n return {\n bodyRef,\n spinProps,\n rowPosition,\n viewportHeight,\n startIndex,\n data,\n watermarkMsg,\n rootStyle,\n rootClass,\n onBodyKeydown,\n watermarkStyle: computed<any>(() => ({\n minWidth: '100px!important',\n minHeight: '40px!important',\n position: 'absolute!important',\n fontSize: '20px!important',\n opacity: '0.8!important',\n bottom: '40px!important',\n right: '40px!important',\n pointerEvents: 'none',\n display: 'block!important',\n zIndex: '999999!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n })),\n mergedPagination,\n pos,\n onPaginationChange,\n scrollBarSize,\n scrollTop,\n bodyScrollWidth,\n bodyWidth,\n scrollLeft,\n cal,\n selection,\n locale,\n paginationProps,\n slots,\n mergedScrollX,\n mergedScrollY,\n bodyHeight,\n measureWidthRef,\n flattenData,\n rootRef,\n paginationRef,\n mergedSummaryFixed,\n handleResize: (e: CustomEvent) => {\n realHeaderHeight.value = e.detail.height\n },\n handlePaginationResize: (e: CustomEvent) => {\n bottomPaginationHeight.value = e.detail.height\n },\n popupContainer,\n handleGuardTopKeydown: (e: KeyboardEvent) => {\n e.keyCode !== KeyCode.TAB ||\n e.shiftKey ||\n (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault())\n },\n handleGuardBottomKeydown: (e: KeyboardEvent) => {\n e.keyCode === KeyCode.TAB &&\n e.shiftKey &&\n (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault())\n },\n tabGuardTopRef,\n tabGuardBottomRef,\n onShowSizeChange,\n customUiCls,\n paginationClass,\n bottomPaginationStyle,\n }\n },\n})\n</script>\n\n<template>\n <TableSlotsContextProvider :value=\"{ ...slots }\">\n <Spin v-bind=\"spinProps\">\n <Pagination\n v-if=\"pos.top\"\n :class=\"`${prefixCls}-pagination ${prefixCls}-pagination-${pos.top} ${customUiCls}`\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n <div\n ref=\"tabGuardTopRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardTopKeydown\"\n ></div>\n <div key=\"content\" ref=\"rootRef\" :class=\"rootClass\" :style=\"rootStyle\">\n <template v-if=\"showHeader\">\n <AutoHeightHeader\n v-if=\"autoHeaderHeight\"\n :prefix-cls=\"prefixCls\"\n :sticky=\"sticky\"\n @resizeheight=\"handleResize\"\n />\n <ProHeader v-else :prefix-cls=\"prefixCls\" :sticky=\"sticky\" @resizeheight=\"handleResize\" />\n </template>\n <ProBody\n ref=\"bodyRef\"\n v-model:bodyScrollWidth=\"bodyScrollWidth\"\n v-model:bodyWidth=\"bodyWidth\"\n v-model:bodyHeight=\"bodyHeight\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n :scroll-x=\"mergedScrollX\"\n :height=\"mergedScrollY\"\n :summary-fixed=\"mergedSummaryFixed\"\n :summary=\"$slots.summary\"\n :empty-text=\"$slots.emptyText\"\n @keydown=\"onBodyKeydown\"\n />\n </div>\n <HorizontalScroll />\n <div\n ref=\"tabGuardBottomRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardBottomKeydown\"\n ></div>\n <div v-if=\"$slots.footer\" key=\"footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <PopupContainer ref=\"popupContainer\" :prefix-cls=\"prefixCls\" />\n <div\n v-if=\"pos.bottom\"\n v-resize:height\n ref=\"paginationRef\"\n :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap ${prefixCls}-pagination-wrap-${size}`\"\n @resizeheight=\"handlePaginationResize\"\n >\n <Pagination\n :class=\"paginationClass\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n </div>\n </Spin>\n <MeasureWidth ref=\"measureWidthRef\" />\n </TableSlotsContextProvider>\n</template>\n"],"names":["_createBlock","_createVNode","_normalizeProps","_guardReactiveProps","_withCtx","_openBlock","_mergeProps","_createCommentVNode","_createElementVNode","_normalizeClass","_normalizeStyle","_createElementBlock","_Fragment","_renderSlot","_withDirectives"],"mappings":";;;;;;;;;;;;;;;sBAiiCEA,WAAA,CAsE4B,oCAAA,EAAA;AAAA,IAtEA,KAAA,EAAK,KAAO,IAAA,CAAA,KAAA;AAAK,GAAA,EAAA;AAAA,qBAC3C,MAmEO;AAAA,MAnEPC,WAAA;AAAA,QAmEO,eAAA;AAAA,QAAAC,cAAA,CAAAC,kBAAA,CAnEO,IAAA,CAAA,SAAS,CAAA,CAAA;AAAA,QAAA;AAAA,UAAA,OAAA,EAAAC,QACrB,MAME;AAAA,YALM,KAAA,GAAA,CAAI,GAAA,IAAAC,WAAA,EADZL,WAAA,CAME,uBANFM,UAAA,CAME;AAAA,cAAA,GAAA,EAAA,CAAA;AAAA,cAJC,KAAA,EAAK,CAAA,EAAK,IAAA,UAAS,CAAA,YAAA,EAAe,IAAA,CAAA,SAAS,CAAA,YAAA,EAAe,IAAA,CAAA,GAAA,CAAI,GAAG,CAAA,CAAA,EAAI,KAAA,WAAW,CAAA;AAAA,aAAA,EACzE,KAAA,eAAA,EAAe;AAAA,cACtB,UAAQ,IAAA,CAAA,kBAAA;AAAA,cACR,kBAAkB,IAAA,CAAA;AAAA,aAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,kBAAA,CAAA,CAAA,IAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,YAErBC,kBAAA;AAAA,cAMO,KAAA;AAAA,cAAA;AAAA,gBALL,GAAA,EAAI,gBAAA;AAAA,gBACJ,IAAA,EAAK,cAAA;AAAA,gBACL,QAAA,EAAS,GAAA;AAAA,gBACR,OAAO,EAAA,QAAA,EAAA,YAAA,KAAA,EAAA,GAAA,EAAA,QAAA,GAAA,EAAA;AAAA,gBACP,SAAA,EAAO,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,qBAAA,IAAA,IAAA,CAAA,qBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,eAAA;AAAA;;;;YAEZA,kBAAA;AAAA,cAwBM,KAAA;AAAA,cAAA;AAAA,gBAxBD,GAAA,EAAI,SAAA;AAAA,gBAAU,GAAA,EAAI,SAAA;AAAA,gBAAW,KAAA,EAAKC,cAAA,CAAE,IAAA,CAAA,SAAS,CAAA;AAAA,gBAAG,KAAA,EAAKC,cAAA,CAAE,IAAA,CAAA,SAAS;AAAA,eAAA;AAAA;gBACnD,IAAA,CAAA,UAAA,IAAAL,SAAA,EAAA,EAAhBM,kBAAA;AAAA,kBAQWC,QAAA;AAAA,kBAAA,EAAA,KAAA,CAAA,EAAA;AAAA,kBAAA;AAAA,oBAND,IAAA,kCADRZ,YAKE,2BAAA,EAAA;AAAA,sBAAA,GAAA,EAAA,CAAA;AAAA,sBAHC,cAAY,IAAA,CAAA,SAAA;AAAA,sBACZ,QAAQ,IAAA,CAAA,MAAA;AAAA,sBACR,gBAAc,IAAA,CAAA;AAAA,qBAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,CAAA,KAAAK,SAAA,EAAA,EAEjBL,WAAA,CAA0F,oBAAA,EAAA;AAAA,sBAAA,GAAA,EAAA,CAAA;AAAA,sBAAvE,cAAY,IAAA,CAAA,SAAA;AAAA,sBAAY,QAAQ,IAAA,CAAA,MAAA;AAAA,sBAAS,gBAAc,IAAA,CAAA;AAAA,uBAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,CAAA;AAAA;;;;gBAE5EC,YAaE,kBAAA,EAAA;AAAA,kBAZA,GAAA,EAAI,SAAA;AAAA,kBACI,iBAAiB,IAAA,CAAA,eAAA;AAAA,kBAAA,0BAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,eAAA,GAAe,MAAA,CAAA;AAAA,kBAChC,WAAW,IAAA,CAAA,SAAA;AAAA,kBAAA,oBAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,SAAA,GAAS,MAAA,CAAA;AAAA,kBACpB,YAAY,IAAA,CAAA,UAAA;AAAA,kBAAA,qBAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,UAAA,GAAU,MAAA,CAAA;AAAA,kBAC7B,cAAY,IAAA,CAAA,SAAA;AAAA,kBACZ,aAAW,IAAA,CAAA,QAAA;AAAA,kBACX,YAAU,IAAA,CAAA,aAAA;AAAA,kBACV,QAAQ,IAAA,CAAA,aAAA;AAAA,kBACR,iBAAe,IAAA,CAAA,kBAAA;AAAA,kBACf,OAAA,EAAS,KAAA,MAAA,CAAO,OAAA;AAAA,kBAChB,YAAA,EAAY,KAAA,MAAA,CAAO,SAAA;AAAA,kBACnB,WAAS,IAAA,CAAA;AAAA,iBAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,mBAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,YAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,CAAA;AAAA;;;;YAGdA,YAAoB,2BAAA,CAAA;AAAA,YACpBO,kBAAA;AAAA,cAMO,KAAA;AAAA,cAAA;AAAA,gBALL,GAAA,EAAI,mBAAA;AAAA,gBACJ,IAAA,EAAK,cAAA;AAAA,gBACL,QAAA,EAAS,GAAA;AAAA,gBACR,OAAO,EAAA,QAAA,EAAA,YAAA,KAAA,EAAA,GAAA,EAAA,QAAA,GAAA,EAAA;AAAA,gBACP,SAAA,EAAO,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,wBAAA,IAAA,IAAA,CAAA,wBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,eAAA;AAAA;;;;YAED,IAAA,CAAA,MAAA,CAAO,MAAA,IAAAH,SAAA,EAAA,EAAlBM,kBAAA;AAAA,cAEM,KAAA;AAAA,cAAA;AAAA,gBAFoB,GAAA,EAAI,QAAA;AAAA,gBAAU,KAAA,EAAKF,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,OAAA,CAAA;AAAA,eAAA;AAAA;gBACzDI,UAAA,CAAsB,IAAA,CAAA,MAAA,EAAA,QAAA;AAAA,eAAA;AAAA;;;YAExBZ,YAA+D,yBAAA,EAAA;AAAA,cAA/C,GAAA,EAAI,gBAAA;AAAA,cAAkB,cAAY,IAAA,CAAA;AAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,CAAA,CAAA;AAAA,YAE1C,IAAA,CAAA,GAAA,CAAI,MAAA,GAAAa,cAAA,EAAAT,WAAA,EADZM,kBAAA;AAAA,cAcM,KAAA;AAAA,cAAA;AAAA,gBAAA,GAAA,EAAA,CAAA;AAAA,gBAXJ,GAAA,EAAI,eAAA;AAAA,gBACH,KAAA,EAAKD,cAAA,CAAE,IAAA,CAAA,qBAAqB,CAAA;AAAA,gBAC5B,KAAA,EAAKD,cAAA,CAAA,CAAA,EAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,EAAoB,IAAA,CAAA,SAAS,CAAA,iBAAA,EAAoB,IAAA,CAAA,IAAI,CAAA,CAAA,CAAA;AAAA,gBACxE,cAAA,EAAY,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,sBAAA,IAAA,IAAA,CAAA,sBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,eAAA;AAAA;gBAEfR,WAAA,CAKE,uBALFK,UAAA,CAKE,EAJC,OAAO,IAAA,CAAA,eAAA,EAAe,EACf,IAAA,CAAA,eAAA,EAAe;AAAA,kBACtB,UAAQ,IAAA,CAAA,kBAAA;AAAA,kBACR,kBAAkB,IAAA,CAAA;AAAA,iBAAA,GAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,kBAAA,CAAA;AAAA;;;;0CAVZ,QAAM;AAAA,aAAA,CAAA,GAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA;AAAA;;;;;;;MAcnBN,WAAA;AAAA,QAAsC,uBAAA;AAAA,QAAA,EAAxB,KAAI,iBAAA,EAAiB;AAAA,QAAA,IAAA;AAAA,QAAA;AAAA;AAAA;AAAA,KAAA,CAAA;AAAA;;;;;;;;"}
|
|
@@ -198,6 +198,12 @@ var _sfc_main = defineComponent({
|
|
|
198
198
|
return (_c = (_b = props.childrenColumnName) != null ? _b : (_a = table == null ? void 0 : table.value) == null ? void 0 : _a.childrenColumnName) != null ? _c : "children";
|
|
199
199
|
}
|
|
200
200
|
);
|
|
201
|
+
const expandIconType = computed(
|
|
202
|
+
() => {
|
|
203
|
+
var _a, _b, _c;
|
|
204
|
+
return (_c = (_b = props.expandIconType) != null ? _b : (_a = table == null ? void 0 : table.value) == null ? void 0 : _a.expandIconType) != null ? _c : "default";
|
|
205
|
+
}
|
|
206
|
+
);
|
|
201
207
|
const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } = useKVMap(rawData, childrenColumnName, getRowKey);
|
|
202
208
|
const defaultExpandedRowKeys = shallowRef([]);
|
|
203
209
|
watchEffect(() => {
|
|
@@ -505,7 +511,7 @@ var _sfc_main = defineComponent({
|
|
|
505
511
|
const bottomPaginationHeight = ref(0);
|
|
506
512
|
const bottomPaginationStyle = computed(() => {
|
|
507
513
|
var _a, _b;
|
|
508
|
-
if (!props.paginationSticky) {
|
|
514
|
+
if (!props.paginationSticky || counter.hasFullScreen.value || !!props.height) {
|
|
509
515
|
return {};
|
|
510
516
|
}
|
|
511
517
|
if (props.paginationSticky === true) {
|
|
@@ -514,7 +520,7 @@ var _sfc_main = defineComponent({
|
|
|
514
520
|
return {
|
|
515
521
|
position: "sticky",
|
|
516
522
|
"z-index": 9,
|
|
517
|
-
bottom:
|
|
523
|
+
bottom: `${(_b = (_a = props.paginationSticky) == null ? void 0 : _a.offsetBottom) != null ? _b : 0}px`
|
|
518
524
|
};
|
|
519
525
|
});
|
|
520
526
|
const indentSize = computed(() => typeof props.indentSize == "number" ? props.indentSize : 15);
|
|
@@ -553,6 +559,7 @@ var _sfc_main = defineComponent({
|
|
|
553
559
|
status,
|
|
554
560
|
useAnimate,
|
|
555
561
|
animateRows,
|
|
562
|
+
expandIconType,
|
|
556
563
|
watermarkMsg,
|
|
557
564
|
onResizeColumn: (w, col, action) => {
|
|
558
565
|
var _a;
|