pro-design-vue 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +28 -14
  3. package/dist/index.full.min.js +8 -8
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +8 -8
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +28 -14
  8. package/es/components/table/src/hooks/useContainer.d.ts +1 -0
  9. package/es/packages/components/config-provider/src/useCssVariables.mjs +5 -4
  10. package/es/packages/components/config-provider/src/useCssVariables.mjs.map +1 -1
  11. package/es/packages/components/form/src/layouts/QueryFilter.mjs.map +1 -1
  12. package/es/packages/components/form/src/utils/getSlot.mjs +7 -2
  13. package/es/packages/components/form/src/utils/getSlot.mjs.map +1 -1
  14. package/es/packages/components/table/src/components/AutoHeightHeader/Header.vue.mjs.map +1 -1
  15. package/es/packages/components/table/src/components/AutoHeightHeader/Header.vue2.mjs +3 -1
  16. package/es/packages/components/table/src/components/AutoHeightHeader/Header.vue2.mjs.map +1 -1
  17. package/es/packages/components/table/src/components/Form/Form.mjs +1 -0
  18. package/es/packages/components/table/src/components/Form/Form.mjs.map +1 -1
  19. package/es/packages/components/table/src/components/Header/Header.vue.mjs.map +1 -1
  20. package/es/packages/components/table/src/components/Header/Header.vue2.mjs +3 -1
  21. package/es/packages/components/table/src/components/Header/Header.vue2.mjs.map +1 -1
  22. package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
  23. package/es/packages/components/table/src/components/InteralTable.vue2.mjs +3 -1
  24. package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
  25. package/es/packages/components/table/src/components/Table.mjs +4 -1
  26. package/es/packages/components/table/src/components/Table.mjs.map +1 -1
  27. package/es/packages/components/table/src/hooks/useContainer.mjs +2 -1
  28. package/es/packages/components/table/src/hooks/useContainer.mjs.map +1 -1
  29. package/es/packages/utils/antd/confirm.mjs +1 -1
  30. package/es/packages/utils/antd/confirm.mjs.map +1 -1
  31. package/es/version.d.ts +1 -1
  32. package/es/version.mjs +1 -1
  33. package/es/version.mjs.map +1 -1
  34. package/lib/components/table/src/hooks/useContainer.d.ts +1 -0
  35. package/lib/packages/components/config-provider/src/useCssVariables.js +5 -4
  36. package/lib/packages/components/config-provider/src/useCssVariables.js.map +1 -1
  37. package/lib/packages/components/form/src/layouts/QueryFilter.js.map +1 -1
  38. package/lib/packages/components/form/src/utils/getSlot.js +7 -2
  39. package/lib/packages/components/form/src/utils/getSlot.js.map +1 -1
  40. package/lib/packages/components/table/src/components/AutoHeightHeader/Header.vue.js.map +1 -1
  41. package/lib/packages/components/table/src/components/AutoHeightHeader/Header.vue2.js +3 -1
  42. package/lib/packages/components/table/src/components/AutoHeightHeader/Header.vue2.js.map +1 -1
  43. package/lib/packages/components/table/src/components/Form/Form.js +1 -0
  44. package/lib/packages/components/table/src/components/Form/Form.js.map +1 -1
  45. package/lib/packages/components/table/src/components/Header/Header.vue.js.map +1 -1
  46. package/lib/packages/components/table/src/components/Header/Header.vue2.js +3 -1
  47. package/lib/packages/components/table/src/components/Header/Header.vue2.js.map +1 -1
  48. package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
  49. package/lib/packages/components/table/src/components/InteralTable.vue2.js +3 -1
  50. package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
  51. package/lib/packages/components/table/src/components/Table.js +4 -1
  52. package/lib/packages/components/table/src/components/Table.js.map +1 -1
  53. package/lib/packages/components/table/src/hooks/useContainer.js +2 -1
  54. package/lib/packages/components/table/src/hooks/useContainer.js.map +1 -1
  55. package/lib/packages/utils/antd/confirm.js +1 -1
  56. package/lib/packages/utils/antd/confirm.js.map +1 -1
  57. package/lib/version.d.ts +1 -1
  58. package/lib/version.js +1 -1
  59. package/lib/version.js.map +1 -1
  60. package/package.json +1 -1
  61. package/theme-chalk/css-var.css +1 -1
  62. package/theme-chalk/index.css +1 -1
  63. package/theme-chalk/pro-form.css +1 -1
  64. package/theme-chalk/src/css-var.less +28 -28
  65. package/theme-chalk/src/form.less +40 -2
@@ -1 +1 @@
1
- {"version":3,"file":"InteralTable.vue2.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-10-12 13:45:48\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'\n\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'\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'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\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 },\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 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 rootRef = ref<HTMLDivElement>()\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\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])\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, ['position', 'onChange', 'onShowSizeChange'])\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: `${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 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 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=\"ref\" :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 <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 :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap`\"\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":["sorter","sorterStates","filters","filterStates","pos","insertToRowKey","rowKey"],"mappings":"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"}
1
+ {"version":3,"file":"InteralTable.vue2.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-10-13 11:10:50\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'\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 },\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 rootRef = ref<HTMLDivElement>()\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\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])\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, ['position', 'onChange', 'onShowSizeChange'])\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 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 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=\"ref\" :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 <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 :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap`\"\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":["sorter","sorterStates","filters","filterStates","pos","insertToRowKey","rowKey"],"mappings":"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"}
@@ -341,15 +341,18 @@ var Table = /* @__PURE__ */ defineComponent({
341
341
  ...actions,
342
342
  fullScreen: () => {
343
343
  var _a3;
344
+ console.log(document.fullscreenElement);
344
345
  if (!counter.rootDomRef.value || !document.fullscreenEnabled) {
345
346
  return;
346
347
  }
347
- console.log("q234234", document.fullscreenElement);
348
348
  if (document.fullscreenElement) {
349
349
  document.exitFullscreen();
350
+ counter.hasFullScreen.value = false;
350
351
  } else {
351
352
  (_a3 = counter.rootDomRef.value) == null ? void 0 : _a3.requestFullscreen();
353
+ counter.hasFullScreen.value = true;
352
354
  }
355
+ console.log(counter.hasFullScreen.value);
353
356
  }
354
357
  },
355
358
  "tableColumn": tableColumn.value,
@@ -1 +1 @@
1
- {"version":3,"file":"Table.mjs","sources":["../../../../../../../../packages/components/table/src/components/Table.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 09:26:05\n * @LastEditors: shen\n * @LastEditTime: 2025-10-12 22:04:30\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref } from 'vue'\nimport { Card, ConfigProvider } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType } from '@pro-design-vue/components/form'\nimport type {\n ColumnsType,\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const tableRef = ref()\n const { table } = useProConfigInject()\n\n const prefixCls = usePrefixCls('table')\n\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n rowHover: computed(() => props.rowHover ?? table?.value?.rowHover),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n\n // useStyle(primaryColor, mergedPrefixCls, theme)\n\n useProvideLevel()\n\n watch(\n hoverRowKey,\n (newValue, oldValue) => {\n if (counter.rootDomRef.value) {\n counter.rootDomRef.value.style.removeProperty(\n `--${mergedPrefixCls.value}-row-bg-${oldValue}`,\n )\n counter.rootDomRef.value.style.setProperty(\n `--${mergedPrefixCls.value}-row-bg-${newValue}`,\n `hsl(var(--pro-accent))`,\n )\n }\n },\n { flush: 'post' },\n )\n\n const onKeydown = (ev: KeyboardEvent) => {\n ev.stopPropagation()\n emit('keydown', ev)\n }\n\n const fetchData = computed(() => {\n if (!props.request) return undefined\n\n return async (\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => {\n const actionParams = {\n ...(params || {}),\n ...(props.params || {}),\n }\n const response = await props.request!(actionParams, sorters, filter)\n return response as RequestData\n }\n })\n\n const actions = useFetchData(fetchData, props)\n const { dataSource, loading, pagination, pollingLoading, onTableChange, reload, reset } =\n actions\n const mergePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n return pagination.value\n })\n\n const formSubmitLoading = computed(() => {\n if (typeof loading.value === 'boolean') {\n return loading.value\n } else if (typeof loading.value === 'object') {\n return loading.value.spinning\n } else {\n return undefined\n }\n })\n\n const onFormSearchSubmit = (values: any) => {\n // 判断search.onSearch返回值决定是否更新formSearch\n if (props.options && props.options.search) {\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(\n actions.keyword.value!,\n )\n\n if (success !== false) {\n actions.setFormSearch({\n ...values,\n [name]: actions.keyword.value,\n })\n return\n }\n }\n\n actions.setFormSearch(values)\n }\n\n const counter = useContainer(props)\n\n // ---------- 列计算相关 start -----------------\n const tableColumn = computed(() => {\n return genProColumnToColumn({\n columns: props.columns,\n counter,\n }).sort(columnSort(counter.columnsMap.value))\n })\n\n watch(\n tableColumn,\n () => {\n if (tableColumn.value && tableColumn.value.length > 0) {\n // 重新生成key的字符串用于排序\n const columnKeys = tableColumn.value.map((item) => genColumnKey(item.key, item.index))\n counter.setSortKeyColumns(columnKeys)\n }\n },\n {\n immediate: true,\n },\n )\n\n /** 需要遍历一下,不然不支持嵌套表格 */\n const columns = computed(() => {\n const loopFilter = (column: any[]): any[] => {\n return column\n .map((item) => {\n // 删掉不应该显示的\n const columnKey = genColumnKey(item.key, item.index)\n const config = counter.columnsMap.value[columnKey]\n if (config && config.show === false) {\n return false\n }\n if (item.children) {\n return {\n ...item,\n children: loopFilter(item.children),\n }\n }\n return item\n })\n .filter(Boolean)\n }\n return loopFilter(tableColumn.value)\n })\n\n const onColumnsChange = (rawColumns, action: 'resize' | 'drag') => {\n const newMap = { ...counter.columnsMap.value }\n const newColumns = rawColumns.map((item) => genColumnKey(item.key, item.index))\n if (action === 'resize') {\n const loopSetWidth = (rawColumns) => {\n rawColumns.forEach((item) => {\n const key = genColumnKey(item.key, item.index)\n const newSetting = { ...newMap[key] }\n if (item.children?.length) {\n loopSetWidth(item.children)\n } else {\n newSetting.width = item.width\n newMap[key] = newSetting\n }\n })\n }\n loopSetWidth(rawColumns)\n } else {\n newColumns.forEach((key, order) => {\n newMap[key] = { ...(newMap[key] || {}), order }\n })\n }\n counter.setColumnsMap(newMap)\n counter.setSortKeyColumns(newColumns)\n props['onUpdate:columns']?.(rawColumns as ColumnsType, action)\n }\n const formItems = computed(() => {\n if (props.search === false) {\n return []\n }\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n return omitKeysAndUndefined(\n {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n ['dataIndex', 'width'],\n ) as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey || 'id') as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n onCleanSelected()\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined),\n {\n value: computed(\n () =>\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection.selectedRowKeys : undefined),\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = () => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange([], [])\n }\n props['onUpdate:selectedRowKeys']?.([], [])\n setSelectedRowKeys([])\n }\n\n const hideToolbar = computed(\n () =>\n props.options === false &&\n !props.title &&\n !slots.title &&\n !slots.toolbar &&\n !slots.searchExtra &&\n !slots.toolbarActions,\n )\n\n /**\n * 是否需要 card 来包裹\n */\n const notNeedCardDom = computed(() => {\n if ((props.search === false || !formItems.value?.length) && props.toolBar === false) {\n return true\n }\n return false\n })\n\n const cardBodyStyle = computed(() => {\n if (props.cardProps === false || notNeedCardDom.value === true) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n tableRef.value?.scrollTo(pos, behavior)\n },\n scrollLeft: computed(() => {\n return unref(tableRef.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(tableRef.value?.scrollTop)\n }),\n bodyRef: computed(() => {\n return unref(tableRef.value?.bodyRef)\n }),\n copySelectedRange: () => {\n return tableRef.value?.copySelectedRange()\n },\n getSelectedRange: () => {\n return tableRef.value?.getSelectedRange()\n },\n clearAllSelectedRange: () => {\n return tableRef.value?.clearAllSelectedRange()\n },\n clearDataSource: () => {\n dataSource.value = []\n },\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return tableRef.value?.appendCellToSelectedRange(params)\n },\n openEditor: (cellInfos: any[]) => {\n return tableRef.value?.openEditor(cellInfos)\n },\n closeEditor: (cellInfos: any[]) => {\n return tableRef.value?.closeEditor(cellInfos)\n },\n reload,\n reset,\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={props.options}\n actionsRef={{\n ...actions,\n fullScreen: () => {\n if (!counter.rootDomRef.value || !document.fullscreenEnabled) {\n return\n }\n console.log('q234234', document.fullscreenElement)\n if (document.fullscreenElement) {\n document.exitFullscreen()\n } else {\n counter.rootDomRef.value?.requestFullscreen()\n }\n },\n }}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n }}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n !!selectedRowKeys.value!.length && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions }}\n />\n )}\n <InteralTable\n ref={tableRef}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n onUpdate:columns={onColumnsChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (!(props.cardProps === false || notNeedCardDom.value)) {\n tableDom = (\n <Card\n bordered={isBordered('table', props.cardBordered)}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <ConfigProvider\n getPopupContainer={() => {\n return (counter.rootDomRef.value || document.body) as any as HTMLElement\n }}\n >\n <div\n ref={counter.rootDomRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered}\n search={props.search}\n tableShowCard={props.cardProps !== false}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n manual={props.manual || props.manualRequest}\n v-slots={slots}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {tableDom}\n </div>\n </ConfigProvider>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","tableRef","ref","table","useProConfigInject","prefixCls","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","_a","value","mergedPrefixCls","useProvideLevel","watch","newValue","oldValue","counter","rootDomRef","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","undefined","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","formSubmitLoading","spinning","onFormSearchSubmit","values","options","search","success","onSearch","keyword","setFormSearch","useContainer","tableColumn","genProColumnToColumn","columns","sort","columnSort","columnsMap","length","columnKeys","map","item","genColumnKey","key","index","setSortKeyColumns","immediate","loopFilter","column","columnKey","config","show","children","Boolean","onColumnsChange","rawColumns","action","newMap","newColumns","loopSetWidth","forEach","newSetting","width","order","setColumnsMap","formItems","items","flatColumnsHandle","hideInSearch","omitKeysAndUndefined","tooltip","headerTooltip","dataIndex","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","cardBodyStyle","cardProps","padding","paddingBlockEnd","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","fullScreen","document","fullscreenEnabled","console","log","fullscreenElement","exitFullscreen","requestFullscreen","newValues","formSearch","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","InteralTable","_mergeProps","omit","tableSize","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","ConfigProvider","getPopupContainer","body","bordered","theme","class","FormRender","beforeSearchSubmit","manual","manualRequest","onReset","onSubmit"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2BoC,SAAAA,QAAAC,CAAAA,EAAA;AAAA,EAAA,OAAA,OAAAA,CAAAA,KAAA,UAAA,IAAAC,MAAAA,CAAAC,SAAAA,CAAAC,QAAAA,CAAAC,IAAAA,CAAAJ,CAAA,CAAA,KAAA,iBAAA,IAAA,CAAAK,OAAAA,CAAAL,CAAA,CAAA;AAAA;AAiBpC,4CAA+B;AAAA,EAC7BM,IAAAA,EAAM,UAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdC,OAAOC,UAAAA,EAAW;AAAA,EAClBC,OAAO,EAAC;AAAA,EACRC,KAAAA,EAAO,CAAC,SAAS,CAAA;AAAA,EACjBC,MAAMJ,KAAAA,EAAO;AAAA,IAAEK,MAAAA;AAAAA,IAAQH,KAAAA;AAAAA,IAAOI,KAAAA;AAAAA,IAAOC;AAAAA,GAAK,EAAG;AAlD/C,IAAA,IAAA,EAAA;AAmDI,IAAA,MAAMC,WAAWC,GAAAA,EAAI;AACrB,IAAA,MAAM;AAAA,MAAEC;AAAAA,QAAUC,kBAAAA,EAAmB;AAErC,IAAA,MAAMC,SAAAA,GAAYC,aAAa,OAAO,CAAA;AAEtC,IAAA,MAAM;AAAA,MAAEC;AAAAA,QAAgBC,eAAAA,CAAgB;AAAA,MACtCC,aAAAA,EAAeC,QAAAA,CAAS,MAAMjB,KAAAA,CAAMgB,aAAa,CAAA;AAAA,MACjDE,QAAAA,EAAUD,SAAS,MAAA;AA1DzB,QAAA,IAAAE,GAAAA,EAAA,EAAA;AA0D+BnB,QAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMkB,aAANlB,IAAAA,GAAAA,EAAAA,GAAAA,CAAkBU,GAAAA,GAAAA,KAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,KAAAA,CAAOU,KAAAA,KAAPV,gBAAAA,GAAAA,CAAcQ,QAAAA;AAAAA,MAAAA,CAAQ;AAAA,KAClE,CAAA;AAED,IAAA,MAAMG,eAAAA,GAAkBJ,SAAS,MAAA;AA7DrC,MAAA,IAAAE,GAAAA;AA6D2CnB,MAAAA,OAAAA,CAAAA,GAAAA,GAAAA,KAAAA,CAAMY,SAAAA,KAANZ,IAAAA,GAAAA,GAAAA,GAAmBY,SAAAA;AAAAA,IAAAA,CAAS,CAAA;AAInEU,IAAAA,eAAAA,EAAgB;AAEhBC,IAAAA,KAAAA,CACET,WAAAA,EACA,CAACU,QAAAA,EAAUC,QAAAA,KAAa;AACtB,MAAA,IAAIC,OAAAA,CAAQC,WAAWP,KAAAA,EAAO;AAC5BM,QAAAA,OAAAA,CAAQC,UAAAA,CAAWP,MAAMQ,KAAAA,CAAMC,cAAAA,CAC7B,KAAKR,eAAAA,CAAgBD,KAAK,CAAA,QAAA,EAAWK,QAAQ,CAAA,CAC/C,CAAA;AACAC,QAAAA,OAAAA,CAAQC,UAAAA,CAAWP,KAAAA,CAAMQ,KAAAA,CAAME,WAAAA,CAC7B,CAAA,EAAA,EAAKT,gBAAgBD,KAAK,CAAA,QAAA,EAAWI,QAAQ,CAAA,CAAA,EAC7C,CAAA,sBAAA,CACF,CAAA;AAAA,MACF;AAAA,IACF,CAAA,EACA;AAAA,MAAEO,KAAAA,EAAO;AAAA,KACX,CAAA;AAEA,IAAA,MAAMC,YAAaC,CAAAA,EAAAA,KAAsB;AACvCA,MAAAA,EAAAA,CAAGC,eAAAA,EAAgB;AACnB3B,MAAAA,IAAAA,CAAK,WAAW0B,EAAE,CAAA;AAAA,IACpB,CAAA;AAEA,IAAA,MAAME,SAAAA,GAAYlB,SAAS,MAAM;AAC/B,MAAA,IAAI,CAACjB,KAAAA,CAAMoC,OAAAA,EAAS,OAAOC,MAAAA;AAE3B,MAAA,OAAO,OACLC,MAAAA,EACAC,OAAAA,EACAC,MAAAA,KACG;AACH,QAAA,MAAMC,YAAAA,GAAe;AAAA,UACnB,GAAIH,UAAU,EAAC;AAAA,UACf,GAAItC,KAAAA,CAAMsC,MAAAA,IAAU;AAAC,SACvB;AACA,QAAA,MAAMI,WAAW,MAAM1C,KAAAA,CAAMoC,OAAAA,CAASK,YAAAA,EAAcF,SAASC,MAAM,CAAA;AACnE,QAAA,OAAOE,QAAAA;AAAAA,MACT,CAAA;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAMC,OAAAA,GAAUC,YAAAA,CAAaT,SAAAA,EAAWnC,KAAK,CAAA;AAC7C,IAAA,MAAM;AAAA,MAAE6C,UAAAA;AAAAA,MAAYC,OAAAA;AAAAA,MAASC,UAAAA;AAAAA,MAAYC,cAAAA;AAAAA,MAAgBC,aAAAA;AAAAA,MAAeC,MAAAA;AAAAA,MAAQC;AAAAA,KAAM,GACpFR,OAAAA;AACF,IAAA,MAAMS,eAAAA,GAAkBnC,SAAS,MAAM;AACrC,MAAA,IAAIjB,KAAAA,CAAM+C,eAAe,KAAA,EAAO;AAC9B,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,OAAOA,UAAAA,CAAW3B,KAAAA;AAAAA,IACpB,CAAC,CAAA;AAED,IAAA,MAAMiC,iBAAAA,GAAoBpC,SAAS,MAAM;AACvC,MAAA,IAAI,OAAO6B,OAAAA,CAAQ1B,KAAAA,KAAU,SAAA,EAAW;AACtC,QAAA,OAAO0B,OAAAA,CAAQ1B,KAAAA;AAAAA,MACjB,CAAA,MAAA,IAAW,OAAO0B,OAAAA,CAAQ1B,KAAAA,KAAU,QAAA,EAAU;AAC5C,QAAA,OAAO0B,QAAQ1B,KAAAA,CAAMkC,QAAAA;AAAAA,MACvB,CAAA,MAAO;AACL,QAAA,OAAOjB,MAAAA;AAAAA,MACT;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAMkB,qBAAsBC,CAAAA,MAAAA,KAAgB;AA7HhD,MAAA,IAAArC,GAAAA,EAAA,EAAA;AA+HM,MAAA,IAAInB,KAAAA,CAAMyD,OAAAA,IAAWzD,KAAAA,CAAMyD,OAAAA,CAAQC,MAAAA,EAAQ;AACzC,QAAA,MAAM;AAAA,UAAE5D,IAAAA,GAAO;AAAA,SAAU,GAAIE,MAAMyD,OAAAA,CAAQC,MAAAA,KAAW,OAAO,EAAC,GAAI1D,MAAMyD,OAAAA,CAAQC,MAAAA;AAGhF,QAAA,MAAMC,OAAAA,GAAAA,CAAW3D,EAAAA,GAAAA,CAAAA,GAAAA,GAAAA,KAAAA,CAAMyD,OAAAA,CAAQC,MAAAA,KAAd1D,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAA4C4D,QAAAA,KAA5C5D,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,GAAAA,EACf2C,OAAAA,CAAQkB,OAAAA,CAAQzC,KAAAA,CAAAA;AAGlB,QAAA,IAAIuC,YAAY,KAAA,EAAO;AACrBhB,UAAAA,OAAAA,CAAQmB,aAAAA,CAAc;AAAA,YACpB,GAAGN,MAAAA;AAAAA,YACH,CAAC1D,IAAI,GAAG6C,OAAAA,CAAQkB,OAAAA,CAAQzC;AAAAA,WACzB,CAAA;AACD,UAAA;AAAA,QACF;AAAA,MACF;AAEAuB,MAAAA,OAAAA,CAAQmB,cAAcN,MAAM,CAAA;AAAA,IAC9B,CAAA;AAEA,IAAA,MAAM9B,OAAAA,GAAUqC,aAAa/D,KAAK,CAAA;AAGlC,IAAA,MAAMgE,WAAAA,GAAc/C,SAAS,MAAM;AACjC,MAAA,OAAOgD,oBAAAA,CAAqB;AAAA,QAC1BC,SAASlE,KAAAA,CAAMkE,OAAAA;AAAAA,QACfxC;AAAAA,OACD,CAAA,CAAEyC,IAAAA,CAAKC,WAAW1C,OAAAA,CAAQ2C,UAAAA,CAAWjD,KAAK,CAAC,CAAA;AAAA,IAC9C,CAAC,CAAA;AAEDG,IAAAA,KAAAA,CACEyC,aACA,MAAM;AACJ,MAAA,IAAIA,WAAAA,CAAY5C,KAAAA,IAAS4C,WAAAA,CAAY5C,KAAAA,CAAMkD,SAAS,CAAA,EAAG;AAErD,QAAA,MAAMC,UAAAA,GAAaP,WAAAA,CAAY5C,KAAAA,CAAMoD,GAAAA,CAAKC,CAAAA,IAAAA,KAASC,aAAaD,IAAAA,CAAKE,GAAAA,EAAKF,IAAAA,CAAKG,KAAK,CAAC,CAAA;AACrFlD,QAAAA,OAAAA,CAAQmD,kBAAkBN,UAAU,CAAA;AAAA,MACtC;AAAA,IACF,CAAA,EACA;AAAA,MACEO,SAAAA,EAAW;AAAA,KAEf,CAAA;AAGA,IAAA,MAAMZ,OAAAA,GAAUjD,SAAS,MAAM;AAC7B,MAAA,MAAM8D,aAAcC,CAAAA,MAAAA,KAAyB;AAC3C,QAAA,OAAOA,MAAAA,CACJR,IAAKC,CAAAA,IAAAA,KAAS;AAEb,UAAA,MAAMQ,SAAAA,GAAYP,YAAAA,CAAaD,IAAAA,CAAKE,GAAAA,EAAKF,KAAKG,KAAK,CAAA;AACnD,UAAA,MAAMM,MAAAA,GAASxD,OAAAA,CAAQ2C,UAAAA,CAAWjD,KAAAA,CAAM6D,SAAS,CAAA;AACjD,UAAA,IAAIC,MAAAA,IAAUA,MAAAA,CAAOC,IAAAA,KAAS,KAAA,EAAO;AACnC,YAAA,OAAO,KAAA;AAAA,UACT;AACA,UAAA,IAAIV,KAAKW,QAAAA,EAAU;AACjB,YAAA,OAAO;AAAA,cACL,GAAGX,IAAAA;AAAAA,cACHW,QAAAA,EAAUL,UAAAA,CAAWN,IAAAA,CAAKW,QAAQ;AAAA,aACpC;AAAA,UACF;AACA,UAAA,OAAOX,IAAAA;AAAAA,QACT,CAAC,CAAA,CACAjC,MAAAA,CAAO6C,OAAO,CAAA;AAAA,MACnB,CAAA;AACA,MAAA,OAAON,UAAAA,CAAWf,YAAY5C,KAAK,CAAA;AAAA,IACrC,CAAC,CAAA;AAED,IAAA,MAAMkE,eAAAA,GAAkBA,CAACC,UAAAA,EAAYC,MAAAA,KAA8B;AAnMvE,MAAA,IAAArE,GAAAA;AAoMM,MAAA,MAAMsE,MAAAA,GAAS;AAAA,QAAE,GAAG/D,QAAQ2C,UAAAA,CAAWjD;AAAAA,OAAM;AAC7C,MAAA,MAAMsE,UAAAA,GAAaH,WAAWf,GAAAA,CAAKC,CAAAA,IAAAA,KAASC,aAAaD,IAAAA,CAAKE,GAAAA,EAAKF,IAAAA,CAAKG,KAAK,CAAC,CAAA;AAC9E,MAAA,IAAIY,WAAW,QAAA,EAAU;AACvB,QAAA,MAAMG,YAAAA,GAAgBJ,CAAAA,WAAAA,KAAe;AACnCA,UAAAA,WAAAA,CAAWK,QAASnB,CAAAA,IAAAA,KAAS;AAxMvC,YAAA,IAAAtD,GAAAA;AAyMY,YAAA,MAAMwD,GAAAA,GAAMD,YAAAA,CAAaD,IAAAA,CAAKE,GAAAA,EAAKF,KAAKG,KAAK,CAAA;AAC7C,YAAA,MAAMiB,UAAAA,GAAa;AAAA,cAAE,GAAGJ,OAAOd,GAAG;AAAA,aAAE;AACpC,YAAA,IAAA,CAAIF,GAAAA,GAAAA,IAAAA,CAAKW,QAAAA,KAALX,IAAAA,GAAAA,MAAAA,GAAAA,IAAeH,MAAAA,EAAQ;AACzBqB,cAAAA,YAAAA,CAAalB,KAAKW,QAAQ,CAAA;AAAA,YAC5B,CAAA,MAAO;AACLS,cAAAA,UAAAA,CAAWC,QAAQrB,IAAAA,CAAKqB,KAAAA;AACxBL,cAAAA,MAAAA,CAAOd,GAAG,CAAA,GAAIkB,UAAAA;AAAAA,YAChB;AAAA,UACF,CAAC,CAAA;AAAA,QACH,CAAA;AACAF,QAAAA,YAAAA,CAAaJ,UAAU,CAAA;AAAA,MACzB,CAAA,MAAO;AACLG,QAAAA,UAAAA,CAAWE,OAAAA,CAAQ,CAACjB,GAAAA,EAAKoB,KAAAA,KAAU;AACjCN,UAAAA,MAAAA,CAAOd,GAAG,CAAA,GAAI;AAAA,YAAE,GAAIc,MAAAA,CAAOd,GAAG,CAAA,IAAK,EAAC;AAAA,YAAIoB;AAAAA,WAAM;AAAA,QAChD,CAAC,CAAA;AAAA,MACH;AACArE,MAAAA,OAAAA,CAAQsE,cAAcP,MAAM,CAAA;AAC5B/D,MAAAA,OAAAA,CAAQmD,kBAAkBa,UAAU,CAAA;AACpC1F,MAAAA,CAAAA,MAAAA,KAAAA,CAAM,kBAAA,CAAA,KAANA,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAAA,YAA4BuF,UAAAA,EAA2BC,MAAAA,CAAAA;AAAAA,IACzD,CAAA;AACA,IAAA,MAAMS,SAAAA,GAAYhF,SAAS,MAAM;AA7NrC,MAAA,IAAAE,GAAAA,EAAA,EAAA,EAAA,EAAA;AA8NM,MAAA,IAAInB,KAAAA,CAAM0D,WAAW,KAAA,EAAO;AAC1B,QAAA,OAAO,EAAA;AAAA,MACT;AACA,MAAA,IAAA,CAAI1D,EAAAA,GAAAA,CAAAA,MAAAA,KAAAA,CAAM0D,MAAAA,KAAN1D,gBAAAA,GAAAA,CAAckG,KAAAA,KAAdlG,mBAAqBsE,MAAAA,EAAQ;AAC/B,QAAA,OAAA,CAAOtE,EAAAA,GAAAA,KAAAA,CAAM0D,WAAN1D,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAckG,KAAAA;AAAAA,MACvB;AACA,MAAA,OAAOC,iBAAAA,CAAkBnG,KAAAA,CAAMkE,OAAO,CAAA,CACnC1B,OAAQiC,CAAAA,IAAAA,KAAS;AAChB,QAAA,IAAIA,KAAK2B,YAAAA,EAAc;AACrB,UAAA,OAAO,KAAA;AAAA,QACT;AACA,QAAA,OAAO,IAAA;AAAA,MACT,CAAC,CAAA,CACA5B,GAAAA,CAAKC,CAAAA,IAAAA,KAAS;AACb,QAAA,OAAO4B,oBAAAA,CACL;AAAA,UACE,GAAG5B,IAAAA;AAAAA,UACHqB,KAAAA,EAAOzD,MAAAA;AAAAA,UACPiE,SAAS7B,IAAAA,CAAK8B,aAAAA;AAAAA,UACdzG,MAAM2E,IAAAA,CAAK+B;AAAAA,SACb,EACA,CAAC,WAAA,EAAa,OAAO,CACvB,CAAA;AAAA,MACF,CAAC,CAAA;AAAA,IACL,CAAC,CAAA;AAGD,IAAA,MAAMC,kBAAAA,GAAqBhG,GAAAA,iBAAI,IAAIiG,GAAAA,EAAe,CAAA;AAElD,IAAA,MAAMC,SAAAA,GAAY1F,SAAoB,MACpC,OAAOjB,MAAM4G,MAAAA,IAAU,UAAA,GACnB5G,KAAAA,CAAM4G,MAAAA,GACLC,CAAAA,MAAAA,KAAgC;AAC/B,MAAA,OAAOA,MAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,MAAAA,CAAU7G,MAAM4G,MAAAA,IAAU,IAAA,CAAA;AAAA,IACnC,CACN,CAAA;AAEArF,IAAAA,KAAAA,CAAM,CAAC,MAAMsB,UAAAA,CAAWzB,KAAAA,EAAOuF,SAAS,GAAG,MAAM;AAnQrD,MAAA,IAAAxF,GAAAA;AAoQM,MAAA,IAAA,CAAI0B,GAAAA,GAAAA,UAAAA,CAAWzB,KAAAA,KAAXyB,IAAAA,GAAAA,MAAAA,GAAAA,IAAkByB,MAAAA,EAAQ;AAC5BzB,QAAAA,UAAAA,CAAWzB,KAAAA,CAAMwE,QAASkB,CAAAA,IAAAA,KAAS;AACjC,UAAA,MAAMC,UAAAA,GAAaJ,SAAAA,CAAUvF,KAAAA,CAAM0F,IAAAA,EAAM,EAAE,CAAA;AAC3CL,UAAAA,kBAAAA,CAAmBrF,KAAAA,CAAM4F,GAAAA,CAAID,UAAAA,EAAYD,IAAI,CAAA;AAAA,QAC/C,CAAC,CAAA;AAAA,MACH;AACAG,MAAAA,eAAAA,EAAgB;AAAA,IAClB,CAAC,CAAA;AAGD,IAAA,MAAM,CAACC,eAAAA,EAAiBC,kBAAkB,CAAA,GAAIC,eAC5CpH,KAAAA,CAAMkH,eAAAA,KACHlH,KAAAA,CAAMqH,YAAAA,GAAAA,CAAAA,CAAerH,WAAMqH,YAAAA,KAANrH,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAoBsH,sBAAAA,KAA0B,KAAKjF,MAAAA,CAAAA,EAC3E;AAAA,MACEjB,KAAAA,EAAOH,QAAAA,CACL,MACEjB,KAAAA,CAAMkH,eAAAA,KACLlH,MAAMqH,YAAAA,GAAerH,KAAAA,CAAMqH,YAAAA,CAAaH,eAAAA,GAAkB7E,MAAAA,CAC/D;AAAA,KAEJ,CAAA;AAEA,IAAA,MAAMgF,YAAAA,GAAepG,SAA4B,OAAO;AAAA,MACtDiG,iBAAiBA,eAAAA,CAAgB9F,KAAAA;AAAAA,MACjCmG,uBAAAA,EAAyB,IAAA;AAAA,MACzB,GAAGvH,KAAAA,CAAMqH,YAAAA;AAAAA,MACTG,QAAAA,EAAUA,CAACN,gBAAAA,EAAwBO,aAAAA,KAAwB;AA9RjE,QAAA,IAAAtG,GAAAA;AA+RQ,QAAA,IAAInB,KAAAA,CAAMqH,YAAAA,IAAgBrH,KAAAA,CAAMqH,YAAAA,CAAaG,QAAAA,EAAU;AACrDxH,UAAAA,KAAAA,CAAMqH,YAAAA,CAAaG,QAAAA,CAASN,gBAAAA,EAAiBO,aAAY,CAAA;AAAA,QAC3D;AACAzH,QAAAA,CAAAA,MAAAA,KAAAA,CAAM,0BAAA,CAAA,KAANA,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAAA,YAAoCkH,gBAAAA,EAAiBO,aAAAA,CAAAA;AACrDN,QAAAA,kBAAAA,CAAmBD,gBAAe,CAAA;AAAA,MACpC;AAAA,KACF,CAAE,CAAA;AAEF,IAAA,MAAMO,YAAAA,GAAexG,SAAS;AAvSlC,MAAA,IAAAE,GAAAA;AAwSM+F,MAAAA,OAAAA,CAAAA,MAAAA,eAAAA,CAAgB9F,KAAAA,KAAhB8F,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAuB1C,IAAKG,CAAAA,GAAAA,KAAG;AAxSrC,QAAA,IAAAxD,GAAAA;AAwS0CsF,QAAAA,OAAAA,CAAAA,GAAAA,GAAAA,kBAAAA,CAAmBrF,KAAAA,KAAnBqF,IAAAA,GAAAA,MAAAA,GAAAA,IAA0BiB,GAAAA,CAAI/C,GAAAA,CAAAA;AAAAA,MAAAA,CAAAA,CAAAA;AAAAA,IAAAA,CACpE,CAAA;AAEA,IAAA,MAAMsC,kBAAkBA,MAAM;AA3SlC,MAAA,IAAA9F,GAAAA;AA4SM,MAAA,IAAInB,KAAAA,CAAMqH,YAAAA,IAAgBrH,KAAAA,CAAMqH,YAAAA,CAAaG,QAAAA,EAAU;AACrDxH,QAAAA,KAAAA,CAAMqH,YAAAA,CAAaG,QAAAA,CAAS,EAAA,EAAI,EAAE,CAAA;AAAA,MACpC;AACAxH,MAAAA,CAAAA,GAAAA,GAAAA,MAAM,0BAAA,CAAA,KAANA,IAAAA,GAAAA,MAAAA,GAAAA,IAAAA,IAAAA,CAAAA,KAAAA,EAAoC,IAAI;AACxCmH,MAAAA,kBAAAA,CAAmB,EAAE,CAAA;AAAA,IACvB,CAAA;AAEA,IAAA,MAAMQ,WAAAA,GAAc1G,SAClB,MACEjB,KAAAA,CAAMyD,YAAY,KAAA,IAClB,CAACzD,MAAM4H,KAAAA,IACP,CAAC1H,MAAM0H,KAAAA,IACP,CAAC1H,MAAM2H,OAAAA,IACP,CAAC3H,MAAM4H,WAAAA,IACP,CAAC5H,MAAM6H,cACX,CAAA;AAKA,IAAA,MAAMC,cAAAA,GAAiB/G,SAAS,MAAM;AAhU1C,MAAA,IAAAE,GAAAA;AAiUM,MAAA,IAAA,CAAKnB,KAAAA,CAAM0D,MAAAA,KAAW,KAAA,IAAS,EAAA,CAACuC,GAAAA,GAAAA,SAAAA,CAAU7E,KAAAA,KAAV6E,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAiB3B,MAAAA,CAAAA,KAAWtE,KAAAA,CAAMiI,OAAAA,KAAY,KAAA,EAAO;AACnF,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMC,aAAAA,GAAgBjH,SAAS,MAAM;AACnC,MAAA,IAAIjB,MAAMmI,SAAAA,KAAc,KAAA,IAASH,eAAe5G,KAAAA,KAAU,IAAA,SAAa,EAAC;AAExE,MAAA,IAAIuG,YAAYvG,KAAAA,EAAO;AACrB,QAAA,OAAO;AAAA,UACLgH,OAAAA,EAAS;AAAA,SACX;AAAA,MACF;AAaA,MAAA,IAAIpI,KAAAA,CAAM+C,eAAe,KAAA,EAAO;AAC9B,QAAA,OAAO;AAAA,UACLsF,eAAAA,EAAiB;AAAA,SACnB;AAAA,MACF;AACA,MAAA,OAAO,EAAC;AAAA,IACV,CAAC,CAAA;AAEDhI,IAAAA,MAAAA,CAAO;AAAA,MACLiI,QAAAA,EAAUA,CAACC,GAAAA,EAAwBC,QAAAA,KAAgC;AApWzE,QAAA,IAAArH,GAAAA;AAqWQX,QAAAA,CAAAA,MAAAA,QAAAA,CAASY,KAAAA,KAATZ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAgB8H,SAASC,GAAAA,EAAKC,QAAAA,CAAAA;AAAAA,MAChC,CAAA;AAAA,MACAC,UAAAA,EAAYxH,SAAS,MAAM;AAvWjC,QAAA,IAAAE,GAAAA;AAwWQ,QAAA,OAAOuH,OAAMlI,GAAAA,GAAAA,QAAAA,CAASY,KAAAA,KAATZ,IAAAA,GAAAA,MAAAA,GAAAA,IAAgBiI,UAAU,CAAA;AAAA,MACzC,CAAC,CAAA;AAAA,MACDE,SAAAA,EAAW1H,SAAS,MAAM;AA1WhC,QAAA,IAAAE,GAAAA;AA2WQ,QAAA,OAAOuH,OAAMlI,GAAAA,GAAAA,QAAAA,CAASY,KAAAA,KAATZ,IAAAA,GAAAA,MAAAA,GAAAA,IAAgBmI,SAAS,CAAA;AAAA,MACxC,CAAC,CAAA;AAAA,MACDC,OAAAA,EAAS3H,SAAS,MAAM;AA7W9B,QAAA,IAAAE,GAAAA;AA8WQ,QAAA,OAAOuH,OAAMlI,GAAAA,GAAAA,QAAAA,CAASY,KAAAA,KAATZ,IAAAA,GAAAA,MAAAA,GAAAA,IAAgBoI,OAAO,CAAA;AAAA,MACtC,CAAC,CAAA;AAAA,MACDC,mBAAmBA,MAAM;AAhX/B,QAAA,IAAA1H,GAAAA;AAiXQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,QAAAA,CAASY,KAAAA,KAATZ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAgBqI,iBAAAA,EAAAA;AAAAA,MACzB,CAAA;AAAA,MACAC,kBAAkBA,MAAM;AAnX9B,QAAA,IAAA3H,GAAAA;AAoXQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,QAAAA,CAASY,KAAAA,KAATZ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAgBsI,gBAAAA,EAAAA;AAAAA,MACzB,CAAA;AAAA,MACAC,uBAAuBA,MAAM;AAtXnC,QAAA,IAAA5H,GAAAA;AAuXQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,QAAAA,CAASY,KAAAA,KAATZ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAgBuI,qBAAAA,EAAAA;AAAAA,MACzB,CAAA;AAAA,MACAC,iBAAiBA,MAAM;AACrBnG,QAAAA,UAAAA,CAAWzB,QAAQ,EAAA;AAAA,MACrB,CAAA;AAAA,MACA6H,2BAA4B3G,CAAAA,MAAAA,KAA4B;AA5X9D,QAAA,IAAAnB,GAAAA;AA6XQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,QAAAA,CAASY,KAAAA,KAATZ,IAAAA,GAAAA,MAAAA,GAAAA,IAAgByI,yBAAAA,CAA0B3G,MAAAA,CAAAA;AAAAA,MACnD,CAAA;AAAA,MACA4G,YAAaC,CAAAA,SAAAA,KAAqB;AA/XxC,QAAA,IAAAhI,GAAAA;AAgYQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,QAAAA,CAASY,KAAAA,KAATZ,IAAAA,GAAAA,MAAAA,GAAAA,IAAgB0I,UAAAA,CAAWC,SAAAA,CAAAA;AAAAA,MACpC,CAAA;AAAA,MACAC,aAAcD,CAAAA,SAAAA,KAAqB;AAlYzC,QAAA,IAAAhI,GAAAA;AAmYQ,QAAA,OAAA,CAAOX,GAAAA,GAAAA,QAAAA,CAASY,KAAAA,KAATZ,IAAAA,GAAAA,MAAAA,GAAAA,IAAgB4I,WAAAA,CAAYD,SAAAA,CAAAA;AAAAA,MACrC,CAAA;AAAA,MACAjG,MAAAA;AAAAA,MACAC;AAAAA,KACD,CAAA;AAED,IAAA,OAAO,MAAM;AAzYjB,MAAA,IAAAhC,GAAAA,EAAA,EAAA;AA0YM,MAAA,MAAM;AAAA,QAAEkI,aAAanJ,KAAAA,CAAMmJ,UAAAA;AAAAA,QAAYC,oBAAoBpJ,KAAAA,CAAMoJ;AAAAA,OAAkB,GAAItJ,KAAAA;AACvF,MAAA,MAAMuJ,YAAAA,GAAerF,OAAAA,CAAQ9C,KAAAA,IAASoI,wBAAAA,CAAAA,CAAyBtJ,GAAAA,GAAAA,KAAAA,CAAMuJ,OAAAA,KAANvJ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAiB,CAAA,IAAK,EAAA;AACrF,MAAA,IAAIwJ,QAAAA,GAAQC,WAAAA,CAAAC,QAAAA,EAAA,IAAA,EAAA,CAEP5J,KAAAA,CAAMiI,OAAAA,KAAY,KAAA,IAAS,CAACN,WAAAA,CAAYvG,KAAAA,IAAKuI,WAAAA,CAAAE,OAAAA,EAAA;AAAA,QAAA,SAEnC7J,KAAAA,CAAM4H,KAAAA;AAAAA,QAAK,YACR5H,KAAAA,CAAM8J,QAAAA;AAAAA,QAAQ,WACf9J,KAAAA,CAAMsG,OAAAA;AAAAA,QAAO,aACXjF,eAAAA,CAAgBD,KAAAA;AAAAA,QAAK,WACvBpB,KAAAA,CAAMyD,OAAAA;AAAAA,QAAO,YAAA,EACV;AAAA,UACV,GAAGd,OAAAA;AAAAA,UACHoH,YAAYA,MAAM;AAvZlC,YAAA,IAAA5I,GAAAA;AAwZkB,YAAA,IAAI,CAACO,OAAAA,CAAQC,UAAAA,CAAWP,KAAAA,IAAS,CAAC4I,SAASC,iBAAAA,EAAmB;AAC5D,cAAA;AAAA,YACF;AACAC,YAAAA,OAAAA,CAAQC,GAAAA,CAAI,SAAA,EAAWH,QAAAA,CAASI,iBAAiB,CAAA;AACjD,YAAA,IAAIJ,SAASI,iBAAAA,EAAmB;AAC9BJ,cAAAA,QAAAA,CAASK,cAAAA,EAAe;AAAA,YAC1B,CAAA,MAAO;AACL3I,cAAAA,CAAAA,GAAAA,GAAAA,OAAAA,CAAQC,UAAAA,CAAWP,KAAAA,KAAnBM,gBAAAA,GAAAA,CAA0B4I,iBAAAA,EAAAA;AAAAA,YAC5B;AAAA,UACF;AAAA,SACF;AAAA,QAAC,eACYtG,WAAAA,CAAY5C,KAAAA;AAAAA,QAAK,mBACb8F,eAAAA,CAAgB9F,KAAAA;AAAAA,QAAK,gBACxBqG,YAAAA,CAAarG,KAAAA;AAAAA,QAAK,sBAOXmJ,CAAAA,SAAAA,KAAc;AACjC5H,UAAAA,OAAAA,CAAQmB,aAAAA,CAAc;AAAA,YACpB,GAAGnB,QAAQ6H,UAAAA,CAAWpJ,KAAAA;AAAAA,YACtB,GAAGmJ;AAAAA,WACJ,CAAA;AAAA,QACH;AAAA,OAAC,EAXQ;AAAA,QACP1C,SAAS3H,KAAAA,CAAM2H,OAAAA;AAAAA,QACfD,OAAO1H,KAAAA,CAAM0H,KAAAA;AAAAA,QACbE,aAAa5H,KAAAA,CAAM4H,WAAAA;AAAAA,QACnBnF,SAASzC,KAAAA,CAAM6H;AAAAA,OAChB,GASJ,CAAC,CAAC/H,MAAMqH,YAAAA,IAAAA,CAAAA,CACPrH,EAAAA,GAAAA,KAAAA,CAAMqH,iBAANrH,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAoByK,IAAAA,MAAS,WAC7BzK,KAAAA,CAAM0K,eAAAA,KAAoB,SAC1B,CAAC,CAACxD,gBAAgB9F,KAAAA,CAAOkD,MAAAA,IAAMqF,YAAAgB,KAAAA,EAAA;AAAA,QAAA,aAEhBtJ,eAAAA,CAAgBD,KAAAA;AAAAA,QAAK,mBACf8F,eAAAA,CAAgB9F,KAAAA;AAAAA,QAAK,gBACxBqG,YAAAA,CAAarG,KAAAA;AAAAA,QAAK,iBAAA,EACf6F;AAAAA,OAAe,EACvB;AAAA,QAAE2D,MAAM1K,KAAAA,CAAM2K,SAAAA;AAAAA,QAAWlI,SAASzC,KAAAA,CAAM4K;AAAAA,OAAc,CAAA,EAElEnB,WAAAA,CAAAoB,YAAAA,EAAAC,UAAAA,CAAA;AAAA,QAAA,KAAA,EAEIxK;AAAAA,OAAQ,EACTyK,KAAKjL,KAAAA,EAAO,CACd,YACA,qBAAA,EACA,0BAAA,EACA,kBAAkB,CACnB,CAAA,EAAC;AAAA,QAAA,aACSqB,eAAAA,CAAgBD,KAAAA;AAAAA,QAAK,SAAA,EACvBmI,gBAAgB,EAAA;AAAA,QAAE,MAAA,EACrB7H,QAAQwJ,SAAAA,CAAU9J,KAAAA;AAAAA,QAAK,cACjByB,UAAAA,CAAWzB,KAAAA;AAAAA,QAAK,WACnB0B,OAAAA,CAAQ1B,KAAAA;AAAAA,QAAK,cAAA,EACRpB,KAAAA,CAAMqH,YAAAA,GAAeA,YAAAA,CAAajG,KAAAA,GAAQiB,MAAAA;AAAAA,QAAS,cACrDe,eAAAA,CAAgBhC,KAAAA;AAAAA,QAAK,YAAA,EACrBiI,UAAAA;AAAAA,QAAU,mBAAA,EACHC,iBAAAA;AAAAA,QAAiB,qBAAA,EACf,CAAC,CAACpJ,KAAAA,CAAMiL,gBAAAA;AAAAA,QAAgB,UAAA,EACnClI,aAAAA;AAAAA,QAAa,kBAAA,EACLqC;AAAAA,OAAe,CAAA,EACxB;AAAA,QACP,GAAGpF,KAAAA;AAAAA,QACHkL,MAAAA,EAAQpL,KAAAA,CAAMoL,MAAAA,IAAUlL,KAAAA,CAAMkL;AAAAA,OAC/B,CAAA,CAAA,CAAA;AAKP,MAAA,IAAI,EAAEpL,KAAAA,CAAMmI,SAAAA,KAAc,KAAA,IAASH,eAAe5G,KAAAA,CAAAA,EAAQ;AAAA,QAAA,MAAAiK,4BAAA,CAAA,WAAA;AAAA,UAAA,OAOnD3B,QAAAA;AAAAA,QAAQ,CAAA,GAAA;AANbA,QAAAA,QAAAA,GAAQC,WAAAA,CAAA2B,MAAAN,UAAAA,CAAA;AAAA,UAAA,UAAA,EAEMO,UAAAA,CAAW,OAAA,EAASvL,KAAAA,CAAMwL,YAAY,CAAA;AAAA,UAAC,aACtCtD,aAAAA,CAAc9G;AAAAA,WACrBpB,KAAAA,CAAMmI,SAAS,GAAA5I,OAAAA,CAElBmK,QAAQ,IAARA,QAAAA,GAAQ;AAAA,UAAAD,OAAAA,EAAAA,MAAA,CAAA4B,SAAA;AAAA,SAAA,CAAA;AAAA,MAGf;AAEA,MAAA,OAAA1B,YAAA8B,cAAAA,EAAA;AAAA,QAAA,qBAEuBC,MAAM;AACvB,UAAA,OAAQhK,OAAAA,CAAQC,UAAAA,CAAWP,KAAAA,IAAS4I,QAAAA,CAAS2B,IAAAA;AAAAA,QAC/C;AAAA,OAAC,EAAA;AAAA,QAAAlC,SAAAA,MAAA;AA5eX,UAAA,IAAAtI,GAAAA;AA4eW,UAAA,OAAA,CAAAwI,WAAAA,QAAAqB,UAAAA,CAAA;AAAA,YAAA,OAGMtJ,OAAAA,CAAQC;AAAAA,aACTrB,KAAAA,EAAK;AAAA,YAAA,OAAA,EACF,CACL,CAAA,EAAGe,eAAAA,CAAgBD,KAAK,CAAA,SAAA,EAAYpB,KAAAA,CAAM4L,QAAAA,GAAWvK,eAAAA,CAAgBD,KAAAA,GAAQ,mBAAA,GAAsB,EAAE,CAAA,CAAA,EACnG,MAAA,KAAWyK,KAAAA,CAAMzK,KAAAA,GAAQC,eAAAA,CAAgBD,KAAAA,GAAQ,eAAA,GAAkB,EAAE,CAAA,CAAA,EACnE4B,cAAAA,CAAe5B,KAAAA,GAAQC,eAAAA,CAAgBD,KAAAA,GAAQ,kBAAA,GAAqB,EAAE,CAAA,CAAA,EAC1Ed,MAAMwL,KAAK,CAAA;AAAA,YACZ,WAAA,EACU9J;AAAAA,WAAS,CAAA,EAAA,CAEnBhC,KAAAA,CAAM0D,WAAW,KAAA,IAAS,CAAC,EAAA,CAACuC,GAAAA,GAAAA,UAAU7E,KAAAA,KAAV6E,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAiB3B,MAAAA,CAAAA,IAAMqF,YAAAoC,UAAAA,EAAA;AAAA,YAAA,aAErC1K,eAAAA,CAAgBD,KAAAA;AAAAA,YAAK,SACzB6E,SAAAA,CAAU7E,KAAAA;AAAAA,YAAK,gBACRpB,KAAAA,CAAMwL,YAAAA;AAAAA,YAAY,UACxBxL,KAAAA,CAAM0D,MAAAA;AAAAA,YAAM,eAAA,EACL1D,MAAMmI,SAAAA,KAAc,KAAA;AAAA,YAAK,WAC/B9E,iBAAAA,CAAkBjC,KAAAA;AAAAA,YAAK,sBACZpB,KAAAA,CAAMgM,kBAAAA;AAAAA,YAAkB,QAAA,EACpChM,KAAAA,CAAMiM,MAAAA,IAAUjM,KAAAA,CAAMkM,aAAAA;AAAAA,YAAa,WAElClM,KAAAA,CAAMmM,OAAAA;AAAAA,YAAO,YACZnM,KAAAA,CAAMoM,QAAAA;AAAAA,YAAQ,oBAAA,EACJ7I,kBAAAA;AAAAA,YAAkB,qBAClBgH,CAAAA,SAAAA,KAAc;AAChC5H,cAAAA,OAAAA,CAAQmB,aAAAA,CAAc;AAAA,gBACpB,GAAGnB,QAAQ6H,UAAAA,CAAWpJ,KAAAA;AAAAA,gBACtB,GAAGmJ;AAAAA,eACJ,CAAA;AAAA,YACH;AAAA,WAAC,EATQrK,KAAK,CAAA,EAYjBwJ,QAAQ,CAAA,CAAA,CAAA;AAAA,QAAA;AAAA,OAAA,CAAA;AAAA,IAIjB,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"Table.mjs","sources":["../../../../../../../../packages/components/table/src/components/Table.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 09:26:05\n * @LastEditors: shen\n * @LastEditTime: 2025-10-13 11:05:40\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref } from 'vue'\nimport { Card, ConfigProvider } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType } from '@pro-design-vue/components/form'\nimport type {\n ColumnsType,\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const tableRef = ref()\n const { table } = useProConfigInject()\n\n const prefixCls = usePrefixCls('table')\n\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n rowHover: computed(() => props.rowHover ?? table?.value?.rowHover),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n\n // useStyle(primaryColor, mergedPrefixCls, theme)\n\n useProvideLevel()\n\n watch(\n hoverRowKey,\n (newValue, oldValue) => {\n if (counter.rootDomRef.value) {\n counter.rootDomRef.value.style.removeProperty(\n `--${mergedPrefixCls.value}-row-bg-${oldValue}`,\n )\n counter.rootDomRef.value.style.setProperty(\n `--${mergedPrefixCls.value}-row-bg-${newValue}`,\n `hsl(var(--pro-accent))`,\n )\n }\n },\n { flush: 'post' },\n )\n\n const onKeydown = (ev: KeyboardEvent) => {\n ev.stopPropagation()\n emit('keydown', ev)\n }\n\n const fetchData = computed(() => {\n if (!props.request) return undefined\n\n return async (\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => {\n const actionParams = {\n ...(params || {}),\n ...(props.params || {}),\n }\n const response = await props.request!(actionParams, sorters, filter)\n return response as RequestData\n }\n })\n\n const actions = useFetchData(fetchData, props)\n const { dataSource, loading, pagination, pollingLoading, onTableChange, reload, reset } =\n actions\n const mergePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n return pagination.value\n })\n\n const formSubmitLoading = computed(() => {\n if (typeof loading.value === 'boolean') {\n return loading.value\n } else if (typeof loading.value === 'object') {\n return loading.value.spinning\n } else {\n return undefined\n }\n })\n\n const onFormSearchSubmit = (values: any) => {\n // 判断search.onSearch返回值决定是否更新formSearch\n if (props.options && props.options.search) {\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(\n actions.keyword.value!,\n )\n\n if (success !== false) {\n actions.setFormSearch({\n ...values,\n [name]: actions.keyword.value,\n })\n return\n }\n }\n\n actions.setFormSearch(values)\n }\n\n const counter = useContainer(props)\n\n // ---------- 列计算相关 start -----------------\n const tableColumn = computed(() => {\n return genProColumnToColumn({\n columns: props.columns,\n counter,\n }).sort(columnSort(counter.columnsMap.value))\n })\n\n watch(\n tableColumn,\n () => {\n if (tableColumn.value && tableColumn.value.length > 0) {\n // 重新生成key的字符串用于排序\n const columnKeys = tableColumn.value.map((item) => genColumnKey(item.key, item.index))\n counter.setSortKeyColumns(columnKeys)\n }\n },\n {\n immediate: true,\n },\n )\n\n /** 需要遍历一下,不然不支持嵌套表格 */\n const columns = computed(() => {\n const loopFilter = (column: any[]): any[] => {\n return column\n .map((item) => {\n // 删掉不应该显示的\n const columnKey = genColumnKey(item.key, item.index)\n const config = counter.columnsMap.value[columnKey]\n if (config && config.show === false) {\n return false\n }\n if (item.children) {\n return {\n ...item,\n children: loopFilter(item.children),\n }\n }\n return item\n })\n .filter(Boolean)\n }\n return loopFilter(tableColumn.value)\n })\n\n const onColumnsChange = (rawColumns, action: 'resize' | 'drag') => {\n const newMap = { ...counter.columnsMap.value }\n const newColumns = rawColumns.map((item) => genColumnKey(item.key, item.index))\n if (action === 'resize') {\n const loopSetWidth = (rawColumns) => {\n rawColumns.forEach((item) => {\n const key = genColumnKey(item.key, item.index)\n const newSetting = { ...newMap[key] }\n if (item.children?.length) {\n loopSetWidth(item.children)\n } else {\n newSetting.width = item.width\n newMap[key] = newSetting\n }\n })\n }\n loopSetWidth(rawColumns)\n } else {\n newColumns.forEach((key, order) => {\n newMap[key] = { ...(newMap[key] || {}), order }\n })\n }\n counter.setColumnsMap(newMap)\n counter.setSortKeyColumns(newColumns)\n props['onUpdate:columns']?.(rawColumns as ColumnsType, action)\n }\n const formItems = computed(() => {\n if (props.search === false) {\n return []\n }\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n return omitKeysAndUndefined(\n {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n ['dataIndex', 'width'],\n ) as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey || 'id') as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n onCleanSelected()\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined),\n {\n value: computed(\n () =>\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection.selectedRowKeys : undefined),\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = () => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange([], [])\n }\n props['onUpdate:selectedRowKeys']?.([], [])\n setSelectedRowKeys([])\n }\n\n const hideToolbar = computed(\n () =>\n props.options === false &&\n !props.title &&\n !slots.title &&\n !slots.toolbar &&\n !slots.searchExtra &&\n !slots.toolbarActions,\n )\n\n /**\n * 是否需要 card 来包裹\n */\n const notNeedCardDom = computed(() => {\n if ((props.search === false || !formItems.value?.length) && props.toolBar === false) {\n return true\n }\n return false\n })\n\n const cardBodyStyle = computed(() => {\n if (props.cardProps === false || notNeedCardDom.value === true) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n tableRef.value?.scrollTo(pos, behavior)\n },\n scrollLeft: computed(() => {\n return unref(tableRef.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(tableRef.value?.scrollTop)\n }),\n bodyRef: computed(() => {\n return unref(tableRef.value?.bodyRef)\n }),\n copySelectedRange: () => {\n return tableRef.value?.copySelectedRange()\n },\n getSelectedRange: () => {\n return tableRef.value?.getSelectedRange()\n },\n clearAllSelectedRange: () => {\n return tableRef.value?.clearAllSelectedRange()\n },\n clearDataSource: () => {\n dataSource.value = []\n },\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return tableRef.value?.appendCellToSelectedRange(params)\n },\n openEditor: (cellInfos: any[]) => {\n return tableRef.value?.openEditor(cellInfos)\n },\n closeEditor: (cellInfos: any[]) => {\n return tableRef.value?.closeEditor(cellInfos)\n },\n reload,\n reset,\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={props.options}\n actionsRef={{\n ...actions,\n fullScreen: () => {\n console.log(document.fullscreenElement)\n if (!counter.rootDomRef.value || !document.fullscreenEnabled) {\n return\n }\n if (document.fullscreenElement) {\n document.exitFullscreen()\n counter.hasFullScreen.value = false\n } else {\n counter.rootDomRef.value?.requestFullscreen()\n counter.hasFullScreen.value = true\n }\n console.log(counter.hasFullScreen.value)\n },\n }}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n }}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n !!selectedRowKeys.value!.length && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions }}\n />\n )}\n <InteralTable\n ref={tableRef}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n onUpdate:columns={onColumnsChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (!(props.cardProps === false || notNeedCardDom.value)) {\n tableDom = (\n <Card\n bordered={isBordered('table', props.cardBordered)}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <ConfigProvider\n getPopupContainer={() => {\n return (counter.rootDomRef.value || document.body) as any as HTMLElement\n }}\n >\n <div\n ref={counter.rootDomRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered}\n search={props.search}\n tableShowCard={props.cardProps !== false}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n manual={props.manual || props.manualRequest}\n v-slots={slots}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {tableDom}\n </div>\n </ConfigProvider>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","tableRef","ref","table","useProConfigInject","prefixCls","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","_a","value","mergedPrefixCls","useProvideLevel","watch","newValue","oldValue","counter","rootDomRef","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","undefined","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","formSubmitLoading","spinning","onFormSearchSubmit","values","options","search","success","onSearch","keyword","setFormSearch","useContainer","tableColumn","genProColumnToColumn","columns","sort","columnSort","columnsMap","length","columnKeys","map","item","genColumnKey","key","index","setSortKeyColumns","immediate","loopFilter","column","columnKey","config","show","children","Boolean","onColumnsChange","rawColumns","action","newMap","newColumns","loopSetWidth","forEach","newSetting","width","order","setColumnsMap","formItems","items","flatColumnsHandle","hideInSearch","omitKeysAndUndefined","tooltip","headerTooltip","dataIndex","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","cardBodyStyle","cardProps","padding","paddingBlockEnd","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","fullScreen","console","log","document","fullscreenElement","fullscreenEnabled","exitFullscreen","hasFullScreen","requestFullscreen","newValues","formSearch","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","InteralTable","_mergeProps","omit","tableSize","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","ConfigProvider","getPopupContainer","body","bordered","theme","class","FormRender","beforeSearchSubmit","manual","manualRequest","onReset","onSubmit"],"mappings":"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"}
@@ -7,8 +7,8 @@ const ContainerContextKey = Symbol("ContainerContextKey");
7
7
  const useContainer = (props) => {
8
8
  var _a;
9
9
  const rootDomRef = ref();
10
+ const hasFullScreen = ref(false);
10
11
  const { componentSize } = useProConfigInject();
11
- console.log("\u{1F680} ~ useContainer ~ componentSize:", componentSize == null ? void 0 : componentSize.value);
12
12
  const sortKeyColumns = ref([]);
13
13
  const [tableSize, setTableSize] = useMergedState(
14
14
  () => {
@@ -148,6 +148,7 @@ const useContainer = (props) => {
148
148
  );
149
149
  const context = {
150
150
  props,
151
+ hasFullScreen,
151
152
  rootDomRef,
152
153
  tableSize,
153
154
  setTableSize,