pro-design-vue 1.3.19 → 1.3.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.full.js +36 -27
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +36 -27
- package/es/components/table/src/hooks/useContainer.d.ts +2 -0
- package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs +2 -2
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Scrollbar/XScroll.mjs +10 -4
- package/es/packages/components/table/src/components/Scrollbar/XScroll.mjs.map +1 -1
- package/es/packages/components/table/src/components/Table.mjs +4 -2
- package/es/packages/components/table/src/components/Table.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useContainer.mjs +4 -0
- package/es/packages/components/table/src/hooks/useContainer.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/table/src/hooks/useContainer.d.ts +2 -0
- package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue2.js +2 -2
- package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Scrollbar/XScroll.js +10 -4
- package/lib/packages/components/table/src/components/Scrollbar/XScroll.js.map +1 -1
- package/lib/packages/components/table/src/components/Table.js +4 -2
- package/lib/packages/components/table/src/components/Table.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useContainer.js +7 -3
- package/lib/packages/components/table/src/hooks/useContainer.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table/table.less +6 -1
|
@@ -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-11-25 10:01:21\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref, onMounted, nextTick } from 'vue'\nimport { Card } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls, useState } 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 { merge, omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { promiseTimeout } from '@vueuse/core'\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, ProFormActionType } 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, dark } = useProConfigInject()\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 const mergeOptions = computed(() => {\n if (props.options === false) {\n return false\n }\n if (props.options === undefined) {\n return table?.value?.options\n }\n return { ...table?.value?.options, ...props.options }\n })\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 (mergeOptions.value && mergeOptions.value.search) {\n const { name = 'keyword' } =\n mergeOptions.value.search === true ? {} : mergeOptions.value.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (mergeOptions.value.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 const mergeItem = merge(\n {\n ...item,\n\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n item.search,\n )\n return omitKeysAndUndefined(mergeItem, [\n 'dataIndex',\n 'width',\n 'headerTooltip',\n 'search',\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 ?? (table?.value?.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 } else {\n onCleanSelected()\n }\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 = (keys?: Key[]) => {\n let newSelectedRowKeys: Key[] = []\n if (keys?.length) {\n newSelectedRowKeys = selectedRowKeys.value?.filter((key) => !keys.includes(key)) ?? []\n }\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(newSelectedRowKeys, selectedRows.value ?? [])\n }\n props['onUpdate:selectedRowKeys']?.(newSelectedRowKeys, selectedRows.value ?? [])\n setSelectedRowKeys(newSelectedRowKeys)\n }\n\n const setRowSelected = (keys: Key[], rows?: []) => {\n if (keys?.length) {\n if (rows?.length) {\n rows.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n const newKeys = Array.from(new Set([...(selectedRowKeys.value ?? []), ...keys]))\n setSelectedRowKeys(newKeys)\n }\n }\n\n const hideToolbar = computed(\n () =>\n mergeOptions.value === 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 showTableCard = computed(() => {\n if (counter.hasFullScreen.value) {\n return false\n }\n return props.cardProps !== false && !notNeedCardDom.value\n })\n\n const cardBodyStyle = computed(() => {\n if (!showTableCard.value) 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 const [formAction, setFormAction] = useState<ProFormActionType>()\n\n const [mergeShowAlert, setMergeShowAlert] = useMergedState<boolean>(\n !!selectedRowKeys.value?.length,\n {\n value: computed(() => props.showAlert!),\n onChange(val) {\n props['onUpdate:showAlert']?.(val)\n },\n },\n )\n\n watch(selectedRowKeys, (selectedKeys) => {\n if (selectedKeys?.length) {\n setMergeShowAlert(true)\n } else {\n setMergeShowAlert(false)\n }\n })\n\n const tableHeight = ref<number | undefined | string>(props.height)\n const calcTableHeight = async () => {\n if (props.autoHeight || counter.hasFullScreen.value) {\n await nextTick()\n const height =\n window.innerHeight -\n (tableRef.value?.rootRef?.getBoundingClientRect()?.top || 0) -\n (tableRef.value?.paginationRef?.getBoundingClientRect()?.height || 0)\n tableHeight.value =\n typeof props.autoHeight === 'function' && !counter.hasFullScreen.value\n ? props.autoHeight?.(height)\n : height\n } else {\n tableHeight.value = props.height\n }\n }\n\n watch(\n () => counter.tableSize.value,\n () => {\n calcTableHeight()\n },\n )\n\n onMounted(async () => {\n await promiseTimeout(0)\n calcTableHeight()\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 rootRef: computed(() => {\n return unref(tableRef.value?.rootRef)\n }),\n paginationRef: computed(() => {\n return unref(tableRef.value?.paginationRef)\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 cleanSelected: onCleanSelected,\n setSelected: setRowSelected,\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 calcTableHeight,\n formAction: computed(() => {\n return unref(formAction.value)\n }),\n formSearchSubmit: () => {\n const fieldValues = formAction.value?.getFieldsValue() ?? {}\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...fieldValues,\n })\n },\n getSearchParams: () => {\n return actions.searchParams.value ?? {}\n },\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={mergeOptions.value}\n actionsRef={{\n ...actions,\n fullScreen: () => {\n counter.hasFullScreen.value = !counter.hasFullScreen.value\n calcTableHeight()\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 bottom: slots.toolbarBottom,\n top: slots.toolbarTop,\n }}\n onCleanSelected={onCleanSelected}\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 mergeShowAlert.value && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n actionsRef={actions}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions, alert: slots.alert }}\n />\n )}\n <InteralTable\n ref={tableRef}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n height={tableHeight.value}\n virtual={!!props.autoHeight || !!counter.hasFullScreen.value || props.virtual}\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 (showTableCard.value) {\n tableDom = (\n <Card\n bordered={isBordered(\n 'table',\n props.cardBordered ?? table?.value?.cardBordered ?? dark?.value,\n )}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\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 {\n [`${mergedPrefixCls.value}-maximize`]: counter.hasFullScreen.value,\n },\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 ?? table?.value?.cardBordered ?? dark?.value}\n search={props.search}\n tableShowCard={showTableCard.value}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n setFormAction={setFormAction}\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 onCollapse={calcTableHeight}\n />\n )}\n {tableDom}\n </div>\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","dark","useProConfigInject","prefixCls","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","_a","_b","value","mergedPrefixCls","mergeOptions","options","undefined","useProvideLevel","watch","newValue","oldValue","counter","rootDomRef","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","formSubmitLoading","spinning","onFormSearchSubmit","values","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","mergeItem","merge","tooltip","headerTooltip","dataIndex","omitKeysAndUndefined","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","keys","newSelectedRowKeys","includes","setRowSelected","rows","newKeys","Array","from","Set","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","showTableCard","hasFullScreen","cardProps","cardBodyStyle","padding","paddingBlockEnd","formAction","setFormAction","useState","mergeShowAlert","setMergeShowAlert","showAlert","val","selectedKeys","tableHeight","height","calcTableHeight","autoHeight","nextTick","window","innerHeight","rootRef","getBoundingClientRect","top","paginationRef","tableSize","onMounted","promiseTimeout","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","cleanSelected","setSelected","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","formSearchSubmit","fieldValues","getFieldsValue","formSearch","getSearchParams","searchParams","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","fullScreen","newValues","bottom","toolbarBottom","toolbarTop","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","alert","InteralTable","_mergeProps","omit","virtual","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","bordered","theme","class","FormRender","beforeSearchSubmit","manual","manualRequest","onReset","onSubmit"],"mappings":"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"}
|
|
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-11-26 11:10:33\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref, onMounted, nextTick } from 'vue'\nimport { Card } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls, useState } 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 { merge, omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { promiseTimeout } from '@vueuse/core'\nimport { isMacOsUserAgent, isIOSUserAgent } from '../utils/browser'\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, ProFormActionType } 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, dark } = useProConfigInject()\n const prefixCls = usePrefixCls('table')\n const isApple = isMacOsUserAgent() || isIOSUserAgent()\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 const mergeOptions = computed(() => {\n if (props.options === false) {\n return false\n }\n if (props.options === undefined) {\n return table?.value?.options\n }\n return { ...table?.value?.options, ...props.options }\n })\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 (mergeOptions.value && mergeOptions.value.search) {\n const { name = 'keyword' } =\n mergeOptions.value.search === true ? {} : mergeOptions.value.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (mergeOptions.value.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 const mergeItem = merge(\n {\n ...item,\n\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n item.search,\n )\n return omitKeysAndUndefined(mergeItem, [\n 'dataIndex',\n 'width',\n 'headerTooltip',\n 'search',\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 ?? (table?.value?.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 } else {\n onCleanSelected()\n }\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 = (keys?: Key[]) => {\n let newSelectedRowKeys: Key[] = []\n if (keys?.length) {\n newSelectedRowKeys = selectedRowKeys.value?.filter((key) => !keys.includes(key)) ?? []\n }\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(newSelectedRowKeys, selectedRows.value ?? [])\n }\n props['onUpdate:selectedRowKeys']?.(newSelectedRowKeys, selectedRows.value ?? [])\n setSelectedRowKeys(newSelectedRowKeys)\n }\n\n const setRowSelected = (keys: Key[], rows?: []) => {\n if (keys?.length) {\n if (rows?.length) {\n rows.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n const newKeys = Array.from(new Set([...(selectedRowKeys.value ?? []), ...keys]))\n setSelectedRowKeys(newKeys)\n }\n }\n\n const hideToolbar = computed(\n () =>\n mergeOptions.value === 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 showTableCard = computed(() => {\n if (counter.hasFullScreen.value) {\n return false\n }\n return props.cardProps !== false && !notNeedCardDom.value\n })\n\n const cardBodyStyle = computed(() => {\n if (!showTableCard.value) 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 const [formAction, setFormAction] = useState<ProFormActionType>()\n\n const [mergeShowAlert, setMergeShowAlert] = useMergedState<boolean>(\n !!selectedRowKeys.value?.length,\n {\n value: computed(() => props.showAlert!),\n onChange(val) {\n props['onUpdate:showAlert']?.(val)\n },\n },\n )\n\n watch(selectedRowKeys, (selectedKeys) => {\n if (selectedKeys?.length) {\n setMergeShowAlert(true)\n } else {\n setMergeShowAlert(false)\n }\n })\n\n const tableHeight = ref<number | undefined | string>(props.height)\n const calcTableHeight = async () => {\n if (props.autoHeight || counter.hasFullScreen.value) {\n await nextTick()\n const height =\n window.innerHeight -\n (tableRef.value?.rootRef?.getBoundingClientRect()?.top || 0) -\n (tableRef.value?.paginationRef?.getBoundingClientRect()?.height || 0) -\n (!isApple ? counter.scrollViewportHeight.value : 0)\n\n tableHeight.value =\n typeof props.autoHeight === 'function' && !counter.hasFullScreen.value\n ? props.autoHeight?.(height)\n : height\n } else {\n tableHeight.value = props.height\n }\n }\n\n watch([counter.tableSize, counter.scrollViewportHeight], () => {\n calcTableHeight()\n })\n\n onMounted(async () => {\n await promiseTimeout(0)\n calcTableHeight()\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 rootRef: computed(() => {\n return unref(tableRef.value?.rootRef)\n }),\n paginationRef: computed(() => {\n return unref(tableRef.value?.paginationRef)\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 cleanSelected: onCleanSelected,\n setSelected: setRowSelected,\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 calcTableHeight,\n formAction: computed(() => {\n return unref(formAction.value)\n }),\n formSearchSubmit: () => {\n const fieldValues = formAction.value?.getFieldsValue() ?? {}\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...fieldValues,\n })\n },\n getSearchParams: () => {\n return actions.searchParams.value ?? {}\n },\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={mergeOptions.value}\n actionsRef={{\n ...actions,\n fullScreen: () => {\n counter.hasFullScreen.value = !counter.hasFullScreen.value\n calcTableHeight()\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 bottom: slots.toolbarBottom,\n top: slots.toolbarTop,\n }}\n onCleanSelected={onCleanSelected}\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 mergeShowAlert.value && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n actionsRef={actions}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions, alert: slots.alert }}\n />\n )}\n <InteralTable\n ref={tableRef}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n height={tableHeight.value}\n virtual={!!props.autoHeight || !!counter.hasFullScreen.value || props.virtual}\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 (showTableCard.value) {\n tableDom = (\n <Card\n bordered={isBordered(\n 'table',\n props.cardBordered ?? table?.value?.cardBordered ?? dark?.value,\n )}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\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 {\n [`${mergedPrefixCls.value}-maximize`]: counter.hasFullScreen.value,\n },\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 ?? table?.value?.cardBordered ?? dark?.value}\n search={props.search}\n tableShowCard={showTableCard.value}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n setFormAction={setFormAction}\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 onCollapse={calcTableHeight}\n />\n )}\n {tableDom}\n </div>\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","dark","useProConfigInject","prefixCls","usePrefixCls","isApple","isMacOsUserAgent","isIOSUserAgent","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","_a","_b","value","mergedPrefixCls","mergeOptions","options","undefined","useProvideLevel","watch","newValue","oldValue","counter","rootDomRef","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","formSubmitLoading","spinning","onFormSearchSubmit","values","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","mergeItem","merge","tooltip","headerTooltip","dataIndex","omitKeysAndUndefined","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","keys","newSelectedRowKeys","includes","setRowSelected","rows","newKeys","Array","from","Set","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","showTableCard","hasFullScreen","cardProps","cardBodyStyle","padding","paddingBlockEnd","formAction","setFormAction","useState","mergeShowAlert","setMergeShowAlert","showAlert","val","selectedKeys","tableHeight","height","calcTableHeight","autoHeight","nextTick","window","innerHeight","rootRef","getBoundingClientRect","top","paginationRef","scrollViewportHeight","tableSize","onMounted","promiseTimeout","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","cleanSelected","setSelected","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","formSearchSubmit","fieldValues","getFieldsValue","formSearch","getSearchParams","searchParams","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","fullScreen","newValues","bottom","toolbarBottom","toolbarTop","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","alert","InteralTable","_mergeProps","omit","virtual","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","bordered","theme","class","FormRender","beforeSearchSubmit","manual","manualRequest","onReset","onSubmit"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ref, computed, watch, provide, inject } from 'vue';
|
|
2
2
|
import { genColumnKey } from '../utils/util.mjs';
|
|
3
3
|
import { useProConfigInject } from '../../../config-provider/src/context.mjs';
|
|
4
|
+
import { useState } from '../../../../hooks/use-state/index.mjs';
|
|
4
5
|
import { useMergedState } from '../../../../hooks/use-merged-state/index.mjs';
|
|
5
6
|
|
|
6
7
|
const ContainerContextKey = Symbol("ContainerContextKey");
|
|
@@ -10,6 +11,7 @@ const useContainer = (props) => {
|
|
|
10
11
|
const hasFullScreen = ref(false);
|
|
11
12
|
const { componentSize, table } = useProConfigInject();
|
|
12
13
|
const sortKeyColumns = ref([]);
|
|
14
|
+
const [scrollViewportHeight, setScrollViewportHeight] = useState(0);
|
|
13
15
|
const [tableSize, setTableSize] = useMergedState(
|
|
14
16
|
() => {
|
|
15
17
|
var _a2, _b, _c, _d;
|
|
@@ -151,6 +153,8 @@ const useContainer = (props) => {
|
|
|
151
153
|
hasFullScreen,
|
|
152
154
|
rootDomRef,
|
|
153
155
|
tableSize,
|
|
156
|
+
scrollViewportHeight,
|
|
157
|
+
setScrollViewportHeight,
|
|
154
158
|
setTableSize,
|
|
155
159
|
sortKeyColumns,
|
|
156
160
|
setSortKeyColumns: (keys) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContainer.mjs","sources":["../../../../../../../../packages/components/table/src/hooks/useContainer.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-15 10:14:14\n * @LastEditors: shen\n * @LastEditTime: 2025-11-12 13:30:49\n * @Description:\n */\nimport type { ColumnsState, DensitySize, Key, ProTableProps } from '../components/interface'\nimport type { Ref, InjectionKey, ComputedRef } from 'vue'\n\nimport { computed, provide, inject, watch, ref } from 'vue'\nimport { genColumnKey } from '../utils/util'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\n\nexport type ContainerContextProps = {\n props: ProTableProps\n tableSize: Ref<DensitySize>\n hasFullScreen: Ref<boolean>\n setTableSize: (val: DensitySize) => void\n sortKeyColumns: Ref<string[]>\n setSortKeyColumns: (keys: string[]) => void\n columnsMap: Ref<Record<string, ColumnsState>>\n setColumnsMap: (val: Record<string, ColumnsState>) => void\n clearPersistenceStorage: () => void\n defaultColumnKeyMap: ComputedRef<{}>\n rootDomRef: Ref<HTMLDivElement | undefined>\n}\n\nconst ContainerContextKey: InjectionKey<ContainerContextProps> = Symbol('ContainerContextKey')\nexport const useContainer = (props: ProTableProps): ContainerContextProps => {\n const rootDomRef = ref<HTMLDivElement>()\n const hasFullScreen = ref(false)\n const { componentSize, table } = useProConfigInject()\n const sortKeyColumns = ref<string[]>([])\n\n const [tableSize, setTableSize] = useMergedState<DensitySize>(\n () => props.size ?? table?.value?.size ?? componentSize?.value ?? 'middle',\n {\n value: computed(() => props.size),\n onChange: props.onSizeChange,\n },\n )\n\n /** 默认全选中 */\n const defaultColumnKeyMap = computed(() => {\n if (props?.columnsState?.defaultValue) {\n const columnKeyMap = {}\n props.columns?.forEach(({ key, dataIndex, fixed, disable }, index) => {\n const columnKey = genColumnKey(key ?? (dataIndex as Key), index)\n if (columnKey) {\n if (fixed || disable) {\n columnKeyMap[columnKey] = {\n fixed,\n disable,\n show: true,\n }\n }\n }\n })\n return { ...columnKeyMap, ...props.columnsState.defaultValue }\n }\n const columnKeyMap = {}\n props.columns?.forEach(({ key, dataIndex, fixed, disable }, index) => {\n const columnKey = genColumnKey(key ?? (dataIndex as Key), index)\n if (columnKey) {\n columnKeyMap[columnKey] = {\n show: true,\n fixed,\n disable,\n }\n }\n })\n return columnKeyMap\n })\n\n const [columnsMap, setColumnsMap] = useMergedState<Record<string, ColumnsState>>(\n () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n if (persistenceKey && persistenceType && typeof window !== 'undefined') {\n /** 从持久化中读取数据 */\n const storage = window[persistenceType]\n try {\n const storageValue = storage?.getItem(persistenceKey)\n if (storageValue) {\n return JSON.parse(storageValue)\n }\n } catch (error) {\n console.warn(error)\n }\n }\n return (\n props.columnsState?.value || props.columnsState?.defaultValue || defaultColumnKeyMap.value\n )\n },\n {\n value: computed(() => props.columnsState?.value as any),\n onChange: props.columnsState?.onChange,\n },\n )\n\n watch(\n [\n () => props.columnsState?.persistenceKey,\n defaultColumnKeyMap,\n () => props.columnsState?.persistenceType,\n ],\n () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n if (persistenceKey && persistenceType && typeof window !== 'undefined') {\n /** 从持久化中读取数据 */\n const storage = window[persistenceType]\n try {\n const storageValue = storage?.getItem(persistenceKey)\n if (storageValue) {\n setColumnsMap(JSON.parse(storageValue))\n } else {\n setColumnsMap(defaultColumnKeyMap.value)\n }\n } catch (error) {\n console.warn(error)\n }\n }\n },\n {\n immediate: true,\n },\n )\n\n const clearPersistenceStorage = () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n\n if (!persistenceKey || !persistenceType || typeof window === 'undefined') return\n\n /** 给持久化中设置数据 */\n const storage = window[persistenceType]\n try {\n storage?.removeItem(persistenceKey)\n } catch (error) {\n console.warn(error)\n }\n }\n\n watch(\n [\n () => props.columnsState?.persistenceKey,\n () => columnsMap.value,\n () => props.columnsState?.persistenceType,\n ],\n () => {\n if (!props.columnsState?.persistenceKey || !props.columnsState?.persistenceType) {\n return\n }\n if (typeof window === 'undefined') return\n /** 给持久化中设置数据 */\n const { persistenceType, persistenceKey } = props.columnsState\n const storage = window[persistenceType]\n try {\n storage?.setItem(persistenceKey, JSON.stringify(columnsMap.value))\n } catch (error) {\n console.warn(error)\n clearPersistenceStorage()\n }\n },\n )\n\n const context = {\n props,\n hasFullScreen,\n rootDomRef,\n tableSize,\n setTableSize,\n sortKeyColumns,\n setSortKeyColumns: (keys: string[]) => {\n sortKeyColumns.value = keys\n },\n columnsMap,\n setColumnsMap,\n clearPersistenceStorage,\n defaultColumnKeyMap,\n }\n\n provide(ContainerContextKey, context)\n\n return context\n}\n\nexport const useInjectContainer = () => {\n return inject(ContainerContextKey, {} as ContainerContextProps)\n}\n"],"names":["_a","columnKeyMap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useContainer.mjs","sources":["../../../../../../../../packages/components/table/src/hooks/useContainer.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-15 10:14:14\n * @LastEditors: shen\n * @LastEditTime: 2025-11-26 10:57:37\n * @Description:\n */\nimport type { ColumnsState, DensitySize, Key, ProTableProps } from '../components/interface'\nimport type { Ref, InjectionKey, ComputedRef } from 'vue'\n\nimport { computed, provide, inject, watch, ref } from 'vue'\nimport { genColumnKey } from '../utils/util'\nimport { useMergedState, useState } from '@pro-design-vue/hooks'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\n\nexport type ContainerContextProps = {\n props: ProTableProps\n tableSize: Ref<DensitySize>\n hasFullScreen: Ref<boolean>\n scrollViewportHeight: Ref<number>\n setScrollViewportHeight: (val: number) => void\n setTableSize: (val: DensitySize) => void\n sortKeyColumns: Ref<string[]>\n setSortKeyColumns: (keys: string[]) => void\n columnsMap: Ref<Record<string, ColumnsState>>\n setColumnsMap: (val: Record<string, ColumnsState>) => void\n clearPersistenceStorage: () => void\n defaultColumnKeyMap: ComputedRef<{}>\n rootDomRef: Ref<HTMLDivElement | undefined>\n}\n\nconst ContainerContextKey: InjectionKey<ContainerContextProps> = Symbol('ContainerContextKey')\nexport const useContainer = (props: ProTableProps): ContainerContextProps => {\n const rootDomRef = ref<HTMLDivElement>()\n const hasFullScreen = ref(false)\n const { componentSize, table } = useProConfigInject()\n const sortKeyColumns = ref<string[]>([])\n const [scrollViewportHeight, setScrollViewportHeight] = useState(0)\n const [tableSize, setTableSize] = useMergedState<DensitySize>(\n () => props.size ?? table?.value?.size ?? componentSize?.value ?? 'middle',\n {\n value: computed(() => props.size),\n onChange: props.onSizeChange,\n },\n )\n\n /** 默认全选中 */\n const defaultColumnKeyMap = computed(() => {\n if (props?.columnsState?.defaultValue) {\n const columnKeyMap = {}\n props.columns?.forEach(({ key, dataIndex, fixed, disable }, index) => {\n const columnKey = genColumnKey(key ?? (dataIndex as Key), index)\n if (columnKey) {\n if (fixed || disable) {\n columnKeyMap[columnKey] = {\n fixed,\n disable,\n show: true,\n }\n }\n }\n })\n return { ...columnKeyMap, ...props.columnsState.defaultValue }\n }\n const columnKeyMap = {}\n props.columns?.forEach(({ key, dataIndex, fixed, disable }, index) => {\n const columnKey = genColumnKey(key ?? (dataIndex as Key), index)\n if (columnKey) {\n columnKeyMap[columnKey] = {\n show: true,\n fixed,\n disable,\n }\n }\n })\n return columnKeyMap\n })\n\n const [columnsMap, setColumnsMap] = useMergedState<Record<string, ColumnsState>>(\n () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n if (persistenceKey && persistenceType && typeof window !== 'undefined') {\n /** 从持久化中读取数据 */\n const storage = window[persistenceType]\n try {\n const storageValue = storage?.getItem(persistenceKey)\n if (storageValue) {\n return JSON.parse(storageValue)\n }\n } catch (error) {\n console.warn(error)\n }\n }\n return (\n props.columnsState?.value || props.columnsState?.defaultValue || defaultColumnKeyMap.value\n )\n },\n {\n value: computed(() => props.columnsState?.value as any),\n onChange: props.columnsState?.onChange,\n },\n )\n\n watch(\n [\n () => props.columnsState?.persistenceKey,\n defaultColumnKeyMap,\n () => props.columnsState?.persistenceType,\n ],\n () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n if (persistenceKey && persistenceType && typeof window !== 'undefined') {\n /** 从持久化中读取数据 */\n const storage = window[persistenceType]\n try {\n const storageValue = storage?.getItem(persistenceKey)\n if (storageValue) {\n setColumnsMap(JSON.parse(storageValue))\n } else {\n setColumnsMap(defaultColumnKeyMap.value)\n }\n } catch (error) {\n console.warn(error)\n }\n }\n },\n {\n immediate: true,\n },\n )\n\n const clearPersistenceStorage = () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n\n if (!persistenceKey || !persistenceType || typeof window === 'undefined') return\n\n /** 给持久化中设置数据 */\n const storage = window[persistenceType]\n try {\n storage?.removeItem(persistenceKey)\n } catch (error) {\n console.warn(error)\n }\n }\n\n watch(\n [\n () => props.columnsState?.persistenceKey,\n () => columnsMap.value,\n () => props.columnsState?.persistenceType,\n ],\n () => {\n if (!props.columnsState?.persistenceKey || !props.columnsState?.persistenceType) {\n return\n }\n if (typeof window === 'undefined') return\n /** 给持久化中设置数据 */\n const { persistenceType, persistenceKey } = props.columnsState\n const storage = window[persistenceType]\n try {\n storage?.setItem(persistenceKey, JSON.stringify(columnsMap.value))\n } catch (error) {\n console.warn(error)\n clearPersistenceStorage()\n }\n },\n )\n\n const context = {\n props,\n hasFullScreen,\n rootDomRef,\n tableSize,\n scrollViewportHeight,\n setScrollViewportHeight,\n setTableSize,\n sortKeyColumns,\n setSortKeyColumns: (keys: string[]) => {\n sortKeyColumns.value = keys\n },\n columnsMap,\n setColumnsMap,\n clearPersistenceStorage,\n defaultColumnKeyMap,\n }\n\n provide(ContainerContextKey, context)\n\n return context\n}\n\nexport const useInjectContainer = () => {\n return inject(ContainerContextKey, {} as ContainerContextProps)\n}\n"],"names":["_a","columnKeyMap"],"mappings":"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"}
|
package/es/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "1.3.
|
|
1
|
+
export declare const version = "1.3.20";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.3.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.3.20'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
|
|
@@ -4,6 +4,8 @@ export type ContainerContextProps = {
|
|
|
4
4
|
props: ProTableProps;
|
|
5
5
|
tableSize: Ref<DensitySize>;
|
|
6
6
|
hasFullScreen: Ref<boolean>;
|
|
7
|
+
scrollViewportHeight: Ref<number>;
|
|
8
|
+
setScrollViewportHeight: (val: number) => void;
|
|
7
9
|
setTableSize: (val: DensitySize) => void;
|
|
8
10
|
sortKeyColumns: Ref<string[]>;
|
|
9
11
|
setSortKeyColumns: (keys: string[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteralTable.vue.js","sources":["../../../../../../../../packages/components/table/src/components/InteralTable.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-01 09:29:27\n * @LastEditors: shen\n * @LastEditTime: 2025-11-18 17:20:06\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { WatchStopHandle } from 'vue'\nimport {\n computed,\n defineComponent,\n shallowRef,\n ref,\n watchEffect,\n inject,\n watch,\n toRaw,\n triggerRef,\n onActivated,\n isReactive,\n toRef,\n} from 'vue'\nimport { Spin, Pagination } from 'ant-design-vue'\nimport { baseTableProps } from './interface'\nimport { DOWN, LEFT, UP } from './Drag/constant'\nimport { addNestItemData, deleteNestItemData } from '../utils/util'\nimport { useEditProvider } from '../hooks/useEdit'\nimport { useProvidePopup } from './context/PopupContext'\nimport { useHScrollSyncProvide } from '../hooks/useHScrollSync'\nimport { useVScrollSyncProvide } from '../hooks/useVScrollSync'\nimport { useProvideTable } from './context/TableContext'\nimport { useProvideRangeStore } from '../hooks/useRangeStore'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { resize } from '@pro-design-vue/directives'\nimport { omit, debounce, isPromise } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\nimport { useInjectContainer } from '../hooks/useContainer'\nimport useKVMap from '../hooks/useKVMap'\nimport useLicense from '../hooks/useLicense'\nimport devWarning from '../utils/devWarning'\nimport eagerComputed from '../utils/eagerComputed'\nimport getScrollBarSize from '../utils/getScrollBarSize'\nimport useColumns from '../hooks/useColumns'\nimport useSorter from '../hooks/useSorter'\nimport useFilter from '../hooks/useFilter'\nimport useCal from '../hooks/useCal'\nimport useFlattenRecords from '../hooks/useFlattenRecords'\nimport useSelection from '../hooks/useRowSelection'\nimport usePagination, { getPaginationParam } from '../hooks/usePagination'\nimport raf from '../utils/raf'\nimport easeoutScroll from '../utils/easeoutScroll'\nimport useData from '../hooks/useData'\nimport supportSticky from '../utils/supportSticky'\nimport classNames from '../utils/classNames'\nimport useCellProps from '../hooks/useCellProps'\nimport KeyCode from '../utils/KeyCode'\nimport TableSlotsContextProvider from './context/TableSlotsContext'\nimport MeasureWidth from './MeasureWidth.vue'\nimport PopupContainer from './PopupContainer.vue'\nimport AutoHeightHeader from './AutoHeightHeader/Header.vue'\nimport Header from './Header/Header.vue'\nimport Body from './Body/Body.vue'\nimport XScroll from './Scrollbar/XScroll'\n\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n GetRowKey,\n Key,\n SorterResult,\n TableLocale,\n ColumnType,\n ResizeActionType,\n DragRowEventInfo,\n DragColumnEventInfo,\n DefaultRecordType,\n TableAction,\n} from './interface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { RangeCell } from '../hooks/RangeInterface'\nimport type { SortState } from '../hooks/useSorter'\nimport type { FilterState } from '../hooks/useFilter'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport type FilterValue = (Key | boolean)[]\nexport interface ChangeEventInfo<RecordType> {\n pagination: {\n current?: number\n pageSize?: number\n total?: number\n }\n filters: Record<string, FilterValue | null>\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[]\n filterStates: FilterState<RecordType>[]\n sorterStates: SortState<RecordType>[]\n currentDataSource: RecordType[]\n action: TableAction\n}\nconst EMPTY_LIST: any[] = []\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n directives: { resize },\n components: {\n TableSlotsContextProvider,\n Spin,\n MeasureWidth,\n Pagination,\n PopupContainer,\n AutoHeightHeader,\n ProHeader: Header,\n ProBody: Body,\n HorizontalScroll: XScroll,\n },\n props: baseTableProps(),\n emits: [\n 'update:pagination',\n 'scroll',\n 'update:selectedRowKeys',\n 'update:expandedRowKeys',\n 'update:columns',\n 'update:sorter',\n 'update:filters',\n 'expand',\n 'expandedRowsChange',\n 'resizeColumn',\n 'update:dataSource',\n 'cellKeydown',\n ],\n slots: {} as CustomSlotsType<ContextSlots>,\n setup(props, { expose, emit, slots }) {\n const { table } = useProConfigInject()\n const counter = useInjectContainer()\n const rowKey = computed(() => props.rowKey ?? table?.value?.rowKey ?? 'id')\n const popupContainer = shallowRef<any>(null)\n const customUiCls = usePrefixCls('custom-ui')\n const { editCellKeys, openEditor, closeEditor } = useEditProvider()\n\n useProvidePopup()\n\n const getPopupContainer = computed(() => props.getPopupContainer!)\n const { status, watermarkMsg } = useLicense()\n\n const dragRowsHandle = new Map<Key, Set<HTMLSpanElement>>()\n const draggingRowKey = ref<Key | null>(null)\n const insertToRowKey = ref<Key | null>(null)\n const dragColumnsHandle = new Map<Key, Set<HTMLDivElement>>()\n const draggingColumnKey = ref<Key>('')\n const latestRangeStartCell = shallowRef<RangeCell | null>(null)\n const mergedSummaryFixed = computed(() =>\n props.summaryFixed === true || props.summaryFixed === ('' as any)\n ? 'bottom'\n : (props.summaryFixed ?? table?.value?.summaryFixed ?? false),\n )\n const realHeaderHeight = ref(0)\n\n watchEffect(() => {\n devWarning(\n !(typeof rowKey.value == 'function' && rowKey.value.length > 1),\n 'table',\n '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.',\n )\n })\n\n const localeData: any = inject('localeData', {\n antLocale: {\n Table: {\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n },\n },\n })\n\n const locale = computed<TableLocale>(() => {\n const antLocale = localeData?.antLocale || {}\n return {\n ...(antLocale.locale === DEFAULT_LOCALE.toLocaleLowerCase()\n ? {\n triggerDesc: '\\u70B9\\u51FB\\u964D\\u5E8F',\n triggerAsc: '\\u70B9\\u51FB\\u5347\\u5E8F',\n cancelSort: '\\u53D6\\u6D88\\u6392\\u5E8F',\n }\n : {}),\n ...(antLocale.Table || {}),\n ...(props.locale || {}),\n }\n })\n\n const scrollTop = ref(0)\n const scrollLeft = ref(0)\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\n const rootRef = ref<HTMLDivElement>()\n const paginationRef = ref<HTMLDivElement>()\n const measureWidthRef = shallowRef<HTMLDivElement>()\n\n const mergedScrollX = eagerComputed(() => props.scrollX ?? props.scroll?.x)\n const mergedScrollY = eagerComputed(() => props.scroll?.y ?? props.height ?? props.maxHeight)\n const bodyScrollWidth = ref(typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0)\n\n watch(mergedScrollX, () => {\n bodyScrollWidth.value = typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0\n })\n\n const virtual = eagerComputed<boolean>(() => !(props.virtual === false || !mergedScrollY.value))\n const xVirtual = eagerComputed<boolean>(\n () => props.xVirtual || (props.virtual !== false && props.xVirtual !== false),\n )\n\n const getRowKey = computed<GetRowKey>(() =>\n typeof rowKey.value == 'function'\n ? rowKey.value\n : (record: Record<string, any>) => {\n return record?.[rowKey.value as string]\n },\n )\n\n const rawData = shallowRef<DefaultRecordType[]>([])\n const rawColumns = shallowRef<ColumnType[]>([])\n\n let dataSourceWatchStopHandle: WatchStopHandle\n let columnsWatchStopHandle: WatchStopHandle\n watch(\n () => props.deepWatchDataSource,\n () => {\n dataSourceWatchStopHandle && dataSourceWatchStopHandle()\n dataSourceWatchStopHandle = watch(\n () => props.dataSource,\n () => {\n rawData.value = toRaw(props.dataSource) || EMPTY_LIST\n triggerRef(rawData)\n },\n { immediate: true, deep: !!props.deepWatchDataSource },\n )\n },\n { immediate: true, deep: true },\n )\n\n watch(\n () => props.deepWatchColumns,\n () => {\n columnsWatchStopHandle && columnsWatchStopHandle()\n columnsWatchStopHandle = watch(\n () => props.columns,\n () => {\n rawColumns.value = toRaw(props.columns) || EMPTY_LIST\n triggerRef(rawColumns)\n },\n { immediate: true, deep: true },\n )\n },\n { immediate: true, deep: !!props.deepWatchColumns },\n )\n\n const childrenColumnName = computed(\n () => props.childrenColumnName ?? table?.value?.childrenColumnName ?? 'children',\n )\n\n const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } =\n useKVMap(rawData, childrenColumnName, getRowKey)\n\n const defaultExpandedRowKeys = shallowRef<Key[]>([])\n watchEffect(() => {\n props.defaultExpandedRowKeys && (defaultExpandedRowKeys.value = props.defaultExpandedRowKeys)\n props.defaultExpandAllRows && (defaultExpandedRowKeys.value = allDataRowKeys.value)\n })\n\n const mergedRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true } = rowSelection\n return { ...rowSelection, checkStrictly }\n })\n\n const expandedRowKeys = computed(\n () => new Set(props.expandedRowKeys || defaultExpandedRowKeys.value || []),\n )\n\n const spinProps = computed<SpinProps>(() => {\n if (typeof props.loading === 'boolean') {\n return { spinning: props.loading }\n } else if (typeof props.loading === 'object') {\n return { spinning: true, ...props.loading }\n } else {\n return { spinning: false }\n }\n })\n\n onActivated(() => {\n scrollTo({ left: 0, top: 0 })\n })\n\n let triggerOnChange: any = () => {}\n\n const scrollBarSize = shallowRef(getScrollBarSize())\n const baseHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const expandedRowRender = computed(() => props.expandedRowRender)\n const expandType = eagerComputed(() =>\n rawData.value.some((column) => column?.[childrenColumnName.value]?.length)\n ? 'nest'\n : expandedRowRender.value\n ? 'row'\n : null,\n )\n const expandable = eagerComputed(() => !!props.expandedRowRender)\n\n const columns = useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandable,\n expandType,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n })\n\n const { sortedData, sorterStates, sorter, changeSorter } = useSorter(\n props,\n rawData,\n columns.allColumns,\n (sorter, sorterStates) => {\n scrollTop.value > bodyHeight.value && updateAnimate()\n triggerOnChange({ sorter, sorterStates }, 'sort', false)\n },\n )\n\n const { filterData, filterStates, filters, changeFilter } = useFilter(\n props,\n sortedData,\n columns.allColumns,\n (filters, filterStates) => {\n triggerOnChange({ filters, filterStates }, 'filter', true)\n },\n )\n\n const total = eagerComputed(() => filterData.value.length)\n const paginationParam = computed(() => {\n if (props.pagination === false) {\n return {}\n }\n return getPaginationParam(props.pagination, mergedPagination.value)\n })\n\n const triggeronPaginationChange = (current: number, pageSize: number) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n props['onUpdate:pagination'] &&\n emit(\n 'update:pagination',\n isReactive(props.pagination)\n ? Object.assign(props.pagination || {}, pagination)\n : pagination,\n )\n }\n\n const {\n mergedPagination,\n pos,\n refreshPagination,\n onChange: onPaginationChange,\n onShowSizeChange,\n pageData,\n } = usePagination(total, props, filterData, (current, pageSize) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n triggeronPaginationChange(current, pageSize)\n updateAnimate()\n triggerOnChange({ pagination }, 'paginate')\n })\n\n const {\n flattenData,\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n getRowFlattenIndexByKey,\n isMyChildren,\n getRowByFlattenIndex,\n } = useFlattenRecords(\n pageData,\n childrenColumnName,\n expandedRowKeys,\n getRowKey,\n expandType,\n mergedRowSelection,\n )\n\n const cal = useCal(props, flattenData, bodyHeight, scrollTop, virtual, keyEntities)\n\n const { rowPosition, viewportHeight, startIndex, endIndex } = cal\n const { leftWidth, rightWidth, centerWidth, bodyMaxWidth } = columns\n\n const selection = useSelection(props, mergedRowSelection, rawData, {\n prefixCls: computed(() => props.prefixCls!),\n pageData,\n getRowKey,\n getRecordByKey,\n childrenColumnName,\n locale,\n flattenData,\n keyEntities,\n checkboxPropsMap,\n allDataRowKeys,\n allDataRootRowKeys,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n })\n\n const bodyRef = ref<HTMLDivElement>()\n let leftRaf: any, topRaf: any\n\n const scrollTo = (options: any = {}, type = 'auto', isAnimate = false) => {\n if (!isAnimate) {\n updateAnimate()\n }\n const mergeOptions = typeof options == 'number' ? { top: options } : options\n let left, top\n if ('left' in mergeOptions) {\n left = mergeOptions.left || 0\n } else if ('columnIndex' in mergeOptions) {\n const position = columns.getColumnPosition(mergeOptions.columnIndex!)\n if (position) {\n left = position.left - leftWidth.value\n }\n } else if ('columnKey' in mergeOptions) {\n const position = columns.getColumnPositionByKey(mergeOptions.columnKey!)\n if (position) {\n left = position.left - leftWidth.value\n }\n }\n if ('top' in mergeOptions) {\n top = Math.min(Math.max(mergeOptions.top || 0, 0), maxScrollTop.value)\n } else if ('rowKey' in mergeOptions) {\n const pos = cal.getRowPositionByKey(mergeOptions.rowKey!)\n if (pos) {\n top = pos\n }\n }\n\n left = Math.max(Math.min(maxScrollLeft.value, left || 0), 0)\n if (!showVerticalScrollbar.value) {\n top = 0\n }\n if (type === 'smooth') {\n if (left !== undefined) {\n raf.cancel(leftRaf)\n leftRaf = easeoutScroll(scrollLeft.value, left, (val: number) => {\n scrollLeft.value = val\n })\n }\n if (top !== undefined) {\n raf.cancel(topRaf)\n topRaf = easeoutScroll(scrollTop.value, top, (val: number) => {\n scrollTop.value = val\n })\n }\n } else {\n if (left !== undefined) {\n scrollLeft.value = left\n }\n if (top !== undefined) {\n scrollTop.value = top\n }\n }\n }\n\n const useAnimate = ref(false)\n const animateRows = computed(() => {\n return !!(props.animateRows ?? table?.value?.animateRows)\n })\n\n let timer: any\n watch(\n animateRows,\n (newVal) => {\n useAnimate.value = newVal\n },\n { immediate: true },\n )\n\n const updateAnimate = () => {\n useAnimate.value = false\n clearTimeout(timer)\n timer = setTimeout(() => {\n useAnimate.value = animateRows.value\n }, 100)\n }\n\n const maxScrollLeft = computed(() => bodyMaxWidth.value - bodyWidth.value)\n const maxScrollTop = computed(() => viewportHeight.value - bodyHeight.value)\n const onScroll = (e) => {\n emit('scroll', e)\n }\n\n useHScrollSyncProvide({ scrollLeft, maxScrollLeft, onScroll, bodyWidth })\n useVScrollSyncProvide({ scrollTop, maxScrollTop, onScroll, updateAnimate, bodyWidth })\n\n const { data, pos: dataRowPosition } = useData(\n props,\n rowPosition,\n flattenData,\n startIndex,\n endIndex,\n draggingRowKey,\n useAnimate,\n getRowFlattenIndexByKey,\n latestRangeStartCell,\n )\n\n const pingedLeft = ref(false)\n const pingedRight = ref(false)\n const noPinged = ref(false)\n\n watchEffect(() => {\n pingedLeft.value = supportSticky && !!scrollLeft.value\n pingedRight.value =\n supportSticky &&\n centerWidth.value - (bodyWidth.value - leftWidth.value - rightWidth.value) >\n scrollLeft.value\n noPinged.value = !pingedLeft.value && !pingedRight.value\n })\n\n const rootClass = computed(() =>\n classNames({\n [`${props.prefixCls}`]: true,\n [`${props.prefixCls}-support-sticky`]: supportSticky,\n [`${props.prefixCls}-stripe`]: props.stripe,\n [`${props.prefixCls}-bordered`]: props.bordered ?? table?.value?.bordered,\n [`${props.prefixCls}-${props.size}`]: true,\n [`${props.prefixCls}-ping-left`]: pingedLeft.value,\n [`${props.prefixCls}-ping-right`]: pingedRight.value,\n [`${props.prefixCls}-no-ping`]: noPinged.value,\n [`${props.prefixCls}-has-animate`]: animateRows.value,\n }),\n )\n const rootStyle = computed(() => ({\n height: typeof props.height == 'number' ? `${props.height}px` : props.height,\n maxHeight: typeof props.maxHeight == 'number' ? `${props.maxHeight}px` : props.maxHeight,\n minHeight: typeof props.minHeight == 'number' ? `${props.minHeight}px` : props.minHeight,\n }))\n\n const showHorizontalScrollbar = ref(false)\n const debounceFn = debounce(() => {\n showHorizontalScrollbar.value = bodyMaxWidth.value > bodyWidth.value\n if (bodyWidth.value > bodyScrollWidth.value) {\n bodyScrollWidth.value = bodyWidth.value\n }\n }, 100)\n\n watch([bodyMaxWidth, bodyWidth], () => {\n debounceFn()\n })\n\n const showVerticalScrollbar = eagerComputed(\n () => !!mergedScrollY.value && bodyHeight.value + 0.9 < viewportHeight.value,\n )\n const scrollToFirstRow = eagerComputed(\n () => !props.scroll || (props.scroll && props.scroll.scrollToFirstRowOnChange !== false),\n )\n\n triggerOnChange = (\n info: Partial<ChangeEventInfo<DefaultRecordType>>,\n action: TableAction,\n reset = false,\n ) => {\n if (reset) {\n refreshPagination()\n triggeronPaginationChange(1, mergedPagination.value.pageSize!)\n if (props.pagination) {\n props.pagination.onChange?.(1, mergedPagination.value.pageSize)\n }\n }\n if (scrollToFirstRow.value) {\n scrollTop.value = 0\n }\n props.onChange?.(\n info.pagination || mergedPagination.value,\n info.filters || filters.value,\n info.sorter || sorter.value,\n {\n currentDataSource: info.currentDataSource || filterData.value,\n action,\n },\n )\n }\n\n const paginationProps = computed(() => {\n return omit(mergedPagination.value, [\n 'position',\n 'onChange',\n 'onShowSizeChange',\n 'fieldNames',\n ])\n })\n\n const paginationClass = computed(() => {\n return {\n [`${props.prefixCls}-pagination`]: true,\n [`${props.prefixCls}-pagination-${pos.value.bottom}`]: true,\n [`${customUiCls}`]: true,\n }\n })\n const bottomPaginationHeight = ref(0)\n const bottomPaginationStyle = computed<any>(() => {\n if (!props.paginationSticky) {\n return {}\n }\n if (props.paginationSticky === true) {\n return { position: 'sticky', 'z-index': 9, bottom: '0px' }\n }\n return {\n position: 'sticky',\n 'z-index': 9,\n bottom: counter.hasFullScreen.value\n ? '0px'\n : `${props.paginationSticky?.offsetBottom ?? 0}px`,\n }\n })\n\n const indentSize = computed(() => (typeof props.indentSize == 'number' ? props.indentSize : 15))\n\n const cellProps = useCellProps({\n leftColumns: columns.leftColumns,\n rightColumns: columns.rightColumns,\n visibleCenterColumns: columns.visibleCenterColumns,\n allColumns: columns.allColumns,\n data,\n mergedRowHeights: cal.mergedRowHeights,\n startIndex,\n getColumnPosition: columns.getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight: cal.getRowHeight,\n customCell: toRef(props, 'customCell'),\n })\n\n watch(\n [realHeaderHeight, scrollLeft],\n () => {\n popupContainer.value?.alignPopup?.()\n },\n { flush: 'post' },\n )\n\n useProvideTable({\n ...cal,\n ...columns,\n ...cellProps,\n rootRef,\n rawData,\n getRowFlattenIndexByKey,\n prefixCls: computed(() => props.prefixCls!),\n draggingRowKey,\n insertToRowKey,\n status,\n useAnimate,\n animateRows,\n watermarkMsg,\n onResizeColumn: (w: number, col: ColumnType, action: ResizeActionType) => {\n const width = col.width\n const result = props.onResizeColumn?.(w, col, action)\n if (result !== false) {\n if (!(width === w && col.width === w)) {\n col.width = width !== col.width ? col.width : w\n triggerRef(rawColumns)\n }\n if (action === 'end') {\n emit('update:columns', rawColumns.value, 'resize')\n }\n }\n },\n onRowDragEnd: (opt: DragRowEventInfo) => {\n const { insertToRowKey, record, fromIndexs, rowKey, dir, preTargetInfo, nextTargetInfo } =\n opt\n const rawRecord = toRaw(record)\n const dragEnd = props.onRowDragEnd?.({ ...opt, record: rawRecord, fromIndexs })\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (!isMyChildren(rowKey, preTargetInfo?.rowKey as Key) && insertToRowKey !== rowKey) {\n if (insertToRowKey !== null) {\n const parentRecord = getRecordByKey(insertToRowKey)\n if (\n insertToRowKey === preTargetInfo?.rowKey ||\n insertToRowKey === nextTargetInfo?.rowKey\n ) {\n if (dir === DOWN) {\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n } else {\n if (dir === DOWN) {\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n } else {\n if (dir === DOWN && preTargetInfo) {\n addNestItemData(\n rawData.value,\n [preTargetInfo.indexs[0]!],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else if (dir === UP && nextTargetInfo) {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs ? [preTargetInfo!.indexs[0]!] : [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n triggerRef(rawData)\n emit('update:dataSource', rawData.value)\n }\n }\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n virtual,\n xVirtual,\n dataRowPosition,\n rawColumns,\n bodyHeight,\n scrollTop,\n scrollLeft,\n supportSticky,\n childrenColumnName,\n bodyScrollWidth,\n baseHeight,\n startIndex,\n data,\n pageData,\n getRecordByKey,\n getIndexsByKey,\n expandType,\n flattenData,\n expandedRowKeys,\n indentSize,\n props,\n bodyWidth,\n scrollTo,\n scrollBarSize,\n leftWidth,\n rightWidth,\n centerWidth,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getRowKey,\n selection,\n updateSelectedRowKeys: (keys: Key[]) => {\n emit('update:selectedRowKeys', keys)\n },\n locale,\n sorterStates,\n changeSorter,\n changeFilter,\n filterStates,\n onTriggerExpand: (record, key: Key) => {\n let keys: Key[]\n const hasKey = expandedRowKeys.value.has(key)\n if (hasKey) {\n expandedRowKeys.value.delete(key)\n keys = [...expandedRowKeys.value]\n } else {\n keys = [...expandedRowKeys.value, key]\n }\n defaultExpandedRowKeys.value = keys\n emit('update:expandedRowKeys', keys)\n emit('expand', !hasKey, record)\n emit('expandedRowsChange', keys)\n },\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n mergedRowSelection,\n getPopupContainer,\n allDataRowKeys,\n allDataRootRowKeys,\n dragRowsHandle,\n isMyChildren,\n getKeyByIndexs,\n getRowByFlattenIndex,\n draggingColumnKey,\n dragColumnsHandle,\n onColumnDragEnd: (arg: DragColumnEventInfo) => {\n const { dir, column, targetColumn } = arg\n const dragEnd = props.onColumnDragEnd?.(arg)\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (column === targetColumn || column.key === targetColumn.key) return\n const index = rawColumns.value.findIndex(\n (col) => col === column || col.key === column.key,\n )\n const targetIndex = rawColumns.value.findIndex(\n (col) => col === targetColumn || col.key === targetColumn.key,\n )\n if (dir === LEFT) {\n rawColumns.value.splice(index, 1)\n rawColumns.value.splice(targetIndex, 0, column)\n } else {\n rawColumns.value.splice(targetIndex + 1, 0, column)\n rawColumns.value.splice(index, 1)\n }\n triggerRef(rawColumns)\n emit('update:columns', rawColumns.value, 'drag')\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n onColumnDrag: () => {},\n columnDrag: computed(() => props.columnDrag),\n summaryFixed: mergedSummaryFixed,\n realHeaderHeight,\n bottomPaginationHeight,\n pos,\n })\n\n const tabGuardTopRef = ref()\n const tabGuardBottomRef = ref()\n\n const {\n navigationService,\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n onBodyKeydown,\n } = useProvideRangeStore({\n allColumns: columns.allColumns,\n flattenData,\n rangeSelection: computed(() => props.rangeSelection),\n getRowByFlattenIndex,\n rootRef,\n prefixCls: computed(() => props.prefixCls!),\n allCellProps: cellProps.allCellProps,\n tabGuardTopRef,\n tabGuardBottomRef,\n ensureCellColumnVisible: (cell: RangeCell) => {\n if (!cell.column || cell.column.fixed) return\n const sl = scrollLeft.value\n const pos = columns.getColumnPositionByKey(cell.column.columnKey)\n if (pos) {\n const { width, left } = pos\n const lw = leftWidth.value\n const rw = rightWidth.value\n left - lw < sl\n ? (scrollLeft.value = left - lw)\n : left + width > sl + bodyWidth.value - rw &&\n (scrollLeft.value = left + width - bodyWidth.value + rw)\n }\n },\n ensureCellRowVisible: (cell: RangeCell) => {\n const { rowIndex } = cell\n const st = scrollTop.value\n const row = getRowByFlattenIndex(rowIndex)\n const pos = cal.getRowPositionByKey(row.rowKey)\n const cprops =\n (cellProps.allCellProps.value[row.rowKey]?.[cell.column!.columnKey] || {}).props || {}\n const height = cal.getRowHeight(rowIndex, cprops.rowSpan)\n if (pos !== undefined) {\n updateAnimate()\n if (pos < st) {\n scrollTop.value = pos\n } else {\n if (pos + height > st + bodyHeight.value) {\n scrollTop.value = pos + height - bodyHeight.value\n }\n }\n }\n },\n latestRangeStartCell,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n scrollLeft,\n scrollTop,\n scrollTo,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getIndexsByKey,\n formatRangeCellText: (parmas) => {\n if (props.formatRangeCellText) {\n return props.formatRangeCellText(parmas)\n } else if (parmas.value) {\n return parmas.value\n }\n return ''\n },\n editCellKeys,\n copyDelimiter: computed(() => props.copyDelimiter),\n })\n\n expose({\n scrollTo,\n scrollLeft,\n scrollTop,\n rootRef,\n paginationRef,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n openEditor: (cellInfos: any[]) => {\n openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n },\n closeEditor: (cellInfos: any[]) => {\n if (cellInfos) {\n closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n } else {\n closeEditor()\n }\n },\n })\n\n return {\n bodyRef,\n spinProps,\n rowPosition,\n viewportHeight,\n startIndex,\n data,\n watermarkMsg,\n rootStyle,\n rootClass,\n onBodyKeydown,\n watermarkStyle: computed<any>(() => ({\n minWidth: '100px!important',\n minHeight: '40px!important',\n position: 'absolute!important',\n fontSize: '20px!important',\n opacity: '0.8!important',\n bottom: '40px!important',\n right: '40px!important',\n pointerEvents: 'none',\n display: 'block!important',\n zIndex: '999999!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n })),\n mergedPagination,\n pos,\n onPaginationChange,\n scrollBarSize,\n scrollTop,\n bodyScrollWidth,\n bodyWidth,\n scrollLeft,\n cal,\n selection,\n locale,\n paginationProps,\n slots,\n mergedScrollX,\n mergedScrollY,\n bodyHeight,\n measureWidthRef,\n flattenData,\n rootRef,\n paginationRef,\n mergedSummaryFixed,\n handleResize: (e: CustomEvent) => {\n realHeaderHeight.value = e.detail.height\n },\n handlePaginationResize: (e: CustomEvent) => {\n bottomPaginationHeight.value = e.detail.height\n },\n popupContainer,\n handleGuardTopKeydown: (e: KeyboardEvent) => {\n e.keyCode !== KeyCode.TAB ||\n e.shiftKey ||\n (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault())\n },\n handleGuardBottomKeydown: (e: KeyboardEvent) => {\n e.keyCode === KeyCode.TAB &&\n e.shiftKey &&\n (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault())\n },\n tabGuardTopRef,\n tabGuardBottomRef,\n onShowSizeChange,\n customUiCls,\n paginationClass,\n bottomPaginationStyle,\n }\n },\n})\n</script>\n\n<template>\n <TableSlotsContextProvider :value=\"{ ...slots }\">\n <Spin v-bind=\"spinProps\">\n <Pagination\n v-if=\"pos.top\"\n :class=\"`${prefixCls}-pagination ${prefixCls}-pagination-${pos.top} ${customUiCls}`\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n <div\n ref=\"tabGuardTopRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardTopKeydown\"\n ></div>\n <div key=\"content\" ref=\"rootRef\" :class=\"rootClass\" :style=\"rootStyle\">\n <template v-if=\"showHeader\">\n <AutoHeightHeader\n v-if=\"autoHeaderHeight\"\n :prefix-cls=\"prefixCls\"\n :sticky=\"sticky\"\n @resizeheight=\"handleResize\"\n />\n <ProHeader v-else :prefix-cls=\"prefixCls\" :sticky=\"sticky\" @resizeheight=\"handleResize\" />\n </template>\n <ProBody\n ref=\"bodyRef\"\n v-model:bodyScrollWidth=\"bodyScrollWidth\"\n v-model:bodyWidth=\"bodyWidth\"\n v-model:bodyHeight=\"bodyHeight\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n :scroll-x=\"mergedScrollX\"\n :height=\"mergedScrollY\"\n :summary-fixed=\"mergedSummaryFixed\"\n :summary=\"$slots.summary\"\n :empty-text=\"$slots.emptyText\"\n @keydown=\"onBodyKeydown\"\n />\n </div>\n <HorizontalScroll />\n <div\n ref=\"tabGuardBottomRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardBottomKeydown\"\n ></div>\n <div v-if=\"$slots.footer\" key=\"footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <PopupContainer ref=\"popupContainer\" :prefix-cls=\"prefixCls\" />\n <div\n v-if=\"pos.bottom\"\n v-resize:height\n ref=\"paginationRef\"\n :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap ${prefixCls}-pagination-wrap-${size}`\"\n @resizeheight=\"handlePaginationResize\"\n >\n <Pagination\n :class=\"paginationClass\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n </div>\n </Spin>\n <MeasureWidth ref=\"measureWidthRef\" />\n </TableSlotsContextProvider>\n</template>\n"],"names":["_createBlock","_createVNode","_normalizeProps","_guardReactiveProps","_withCtx","_openBlock","_mergeProps","_createCommentVNode","_createElementVNode","_normalizeClass","_normalizeStyle","_createElementBlock","_Fragment","_renderSlot","_withDirectives"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InteralTable.vue.js","sources":["../../../../../../../../packages/components/table/src/components/InteralTable.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-01 09:29:27\n * @LastEditors: shen\n * @LastEditTime: 2025-11-26 10:59:54\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { WatchStopHandle } from 'vue'\nimport {\n computed,\n defineComponent,\n shallowRef,\n ref,\n watchEffect,\n inject,\n watch,\n toRaw,\n triggerRef,\n onActivated,\n isReactive,\n toRef,\n} from 'vue'\nimport { Spin, Pagination } from 'ant-design-vue'\nimport { baseTableProps } from './interface'\nimport { DOWN, LEFT, UP } from './Drag/constant'\nimport { addNestItemData, deleteNestItemData } from '../utils/util'\nimport { useEditProvider } from '../hooks/useEdit'\nimport { useProvidePopup } from './context/PopupContext'\nimport { useHScrollSyncProvide } from '../hooks/useHScrollSync'\nimport { useVScrollSyncProvide } from '../hooks/useVScrollSync'\nimport { useProvideTable } from './context/TableContext'\nimport { useProvideRangeStore } from '../hooks/useRangeStore'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { resize } from '@pro-design-vue/directives'\nimport { omit, debounce, isPromise } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\nimport { useInjectContainer } from '../hooks/useContainer'\nimport useKVMap from '../hooks/useKVMap'\nimport useLicense from '../hooks/useLicense'\nimport devWarning from '../utils/devWarning'\nimport eagerComputed from '../utils/eagerComputed'\nimport getScrollBarSize from '../utils/getScrollBarSize'\nimport useColumns from '../hooks/useColumns'\nimport useSorter from '../hooks/useSorter'\nimport useFilter from '../hooks/useFilter'\nimport useCal from '../hooks/useCal'\nimport useFlattenRecords from '../hooks/useFlattenRecords'\nimport useSelection from '../hooks/useRowSelection'\nimport usePagination, { getPaginationParam } from '../hooks/usePagination'\nimport raf from '../utils/raf'\nimport easeoutScroll from '../utils/easeoutScroll'\nimport useData from '../hooks/useData'\nimport supportSticky from '../utils/supportSticky'\nimport classNames from '../utils/classNames'\nimport useCellProps from '../hooks/useCellProps'\nimport KeyCode from '../utils/KeyCode'\nimport TableSlotsContextProvider from './context/TableSlotsContext'\nimport MeasureWidth from './MeasureWidth.vue'\nimport PopupContainer from './PopupContainer.vue'\nimport AutoHeightHeader from './AutoHeightHeader/Header.vue'\nimport Header from './Header/Header.vue'\nimport Body from './Body/Body.vue'\nimport XScroll from './Scrollbar/XScroll'\n\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n GetRowKey,\n Key,\n SorterResult,\n TableLocale,\n ColumnType,\n ResizeActionType,\n DragRowEventInfo,\n DragColumnEventInfo,\n DefaultRecordType,\n TableAction,\n} from './interface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { RangeCell } from '../hooks/RangeInterface'\nimport type { SortState } from '../hooks/useSorter'\nimport type { FilterState } from '../hooks/useFilter'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport type FilterValue = (Key | boolean)[]\nexport interface ChangeEventInfo<RecordType> {\n pagination: {\n current?: number\n pageSize?: number\n total?: number\n }\n filters: Record<string, FilterValue | null>\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[]\n filterStates: FilterState<RecordType>[]\n sorterStates: SortState<RecordType>[]\n currentDataSource: RecordType[]\n action: TableAction\n}\nconst EMPTY_LIST: any[] = []\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n directives: { resize },\n components: {\n TableSlotsContextProvider,\n Spin,\n MeasureWidth,\n Pagination,\n PopupContainer,\n AutoHeightHeader,\n ProHeader: Header,\n ProBody: Body,\n HorizontalScroll: XScroll,\n },\n props: baseTableProps(),\n emits: [\n 'update:pagination',\n 'scroll',\n 'update:selectedRowKeys',\n 'update:expandedRowKeys',\n 'update:columns',\n 'update:sorter',\n 'update:filters',\n 'expand',\n 'expandedRowsChange',\n 'resizeColumn',\n 'update:dataSource',\n 'cellKeydown',\n ],\n slots: {} as CustomSlotsType<ContextSlots>,\n setup(props, { expose, emit, slots }) {\n const { table } = useProConfigInject()\n const counter = useInjectContainer()\n const rowKey = computed(() => props.rowKey ?? table?.value?.rowKey ?? 'id')\n const popupContainer = shallowRef<any>(null)\n const customUiCls = usePrefixCls('custom-ui')\n const { editCellKeys, openEditor, closeEditor } = useEditProvider()\n\n useProvidePopup()\n\n const getPopupContainer = computed(() => props.getPopupContainer!)\n const { status, watermarkMsg } = useLicense()\n\n const dragRowsHandle = new Map<Key, Set<HTMLSpanElement>>()\n const draggingRowKey = ref<Key | null>(null)\n const insertToRowKey = ref<Key | null>(null)\n const dragColumnsHandle = new Map<Key, Set<HTMLDivElement>>()\n const draggingColumnKey = ref<Key>('')\n const latestRangeStartCell = shallowRef<RangeCell | null>(null)\n const mergedSummaryFixed = computed(() =>\n props.summaryFixed === true || props.summaryFixed === ('' as any)\n ? 'bottom'\n : (props.summaryFixed ?? table?.value?.summaryFixed ?? false),\n )\n const realHeaderHeight = ref(0)\n\n watchEffect(() => {\n devWarning(\n !(typeof rowKey.value == 'function' && rowKey.value.length > 1),\n 'table',\n '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.',\n )\n })\n\n const localeData: any = inject('localeData', {\n antLocale: {\n Table: {\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n },\n },\n })\n\n const locale = computed<TableLocale>(() => {\n const antLocale = localeData?.antLocale || {}\n return {\n ...(antLocale.locale === DEFAULT_LOCALE.toLocaleLowerCase()\n ? {\n triggerDesc: '\\u70B9\\u51FB\\u964D\\u5E8F',\n triggerAsc: '\\u70B9\\u51FB\\u5347\\u5E8F',\n cancelSort: '\\u53D6\\u6D88\\u6392\\u5E8F',\n }\n : {}),\n ...(antLocale.Table || {}),\n ...(props.locale || {}),\n }\n })\n\n const scrollTop = ref(0)\n const scrollLeft = ref(0)\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\n const rootRef = ref<HTMLDivElement>()\n const paginationRef = ref<HTMLDivElement>()\n const measureWidthRef = shallowRef<HTMLDivElement>()\n\n const mergedScrollX = eagerComputed(() => props.scrollX ?? props.scroll?.x)\n const mergedScrollY = eagerComputed(() => props.scroll?.y ?? props.height ?? props.maxHeight)\n const bodyScrollWidth = ref(typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0)\n\n watch(mergedScrollX, () => {\n bodyScrollWidth.value = typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0\n })\n\n const virtual = eagerComputed<boolean>(() => !(props.virtual === false || !mergedScrollY.value))\n const xVirtual = eagerComputed<boolean>(\n () => props.xVirtual || (props.virtual !== false && props.xVirtual !== false),\n )\n\n const getRowKey = computed<GetRowKey>(() =>\n typeof rowKey.value == 'function'\n ? rowKey.value\n : (record: Record<string, any>) => {\n return record?.[rowKey.value as string]\n },\n )\n\n const rawData = shallowRef<DefaultRecordType[]>([])\n const rawColumns = shallowRef<ColumnType[]>([])\n\n let dataSourceWatchStopHandle: WatchStopHandle\n let columnsWatchStopHandle: WatchStopHandle\n watch(\n () => props.deepWatchDataSource,\n () => {\n dataSourceWatchStopHandle && dataSourceWatchStopHandle()\n dataSourceWatchStopHandle = watch(\n () => props.dataSource,\n () => {\n rawData.value = toRaw(props.dataSource) || EMPTY_LIST\n triggerRef(rawData)\n },\n { immediate: true, deep: !!props.deepWatchDataSource },\n )\n },\n { immediate: true, deep: true },\n )\n\n watch(\n () => props.deepWatchColumns,\n () => {\n columnsWatchStopHandle && columnsWatchStopHandle()\n columnsWatchStopHandle = watch(\n () => props.columns,\n () => {\n rawColumns.value = toRaw(props.columns) || EMPTY_LIST\n triggerRef(rawColumns)\n },\n { immediate: true, deep: true },\n )\n },\n { immediate: true, deep: !!props.deepWatchColumns },\n )\n\n const childrenColumnName = computed(\n () => props.childrenColumnName ?? table?.value?.childrenColumnName ?? 'children',\n )\n\n const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } =\n useKVMap(rawData, childrenColumnName, getRowKey)\n\n const defaultExpandedRowKeys = shallowRef<Key[]>([])\n watchEffect(() => {\n props.defaultExpandedRowKeys && (defaultExpandedRowKeys.value = props.defaultExpandedRowKeys)\n props.defaultExpandAllRows && (defaultExpandedRowKeys.value = allDataRowKeys.value)\n })\n\n const mergedRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true } = rowSelection\n return { ...rowSelection, checkStrictly }\n })\n\n const expandedRowKeys = computed(\n () => new Set(props.expandedRowKeys || defaultExpandedRowKeys.value || []),\n )\n\n const spinProps = computed<SpinProps>(() => {\n if (typeof props.loading === 'boolean') {\n return { spinning: props.loading }\n } else if (typeof props.loading === 'object') {\n return { spinning: true, ...props.loading }\n } else {\n return { spinning: false }\n }\n })\n\n onActivated(() => {\n scrollTo({ left: 0, top: 0 })\n })\n\n let triggerOnChange: any = () => {}\n\n const scrollBarSize = shallowRef(getScrollBarSize())\n const baseHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const expandedRowRender = computed(() => props.expandedRowRender)\n const expandType = eagerComputed(() =>\n rawData.value.some((column) => column?.[childrenColumnName.value]?.length)\n ? 'nest'\n : expandedRowRender.value\n ? 'row'\n : null,\n )\n const expandable = eagerComputed(() => !!props.expandedRowRender)\n\n const columns = useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandable,\n expandType,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n })\n\n const { sortedData, sorterStates, sorter, changeSorter } = useSorter(\n props,\n rawData,\n columns.allColumns,\n (sorter, sorterStates) => {\n scrollTop.value > bodyHeight.value && updateAnimate()\n triggerOnChange({ sorter, sorterStates }, 'sort', false)\n },\n )\n\n const { filterData, filterStates, filters, changeFilter } = useFilter(\n props,\n sortedData,\n columns.allColumns,\n (filters, filterStates) => {\n triggerOnChange({ filters, filterStates }, 'filter', true)\n },\n )\n\n const total = eagerComputed(() => filterData.value.length)\n const paginationParam = computed(() => {\n if (props.pagination === false) {\n return {}\n }\n return getPaginationParam(props.pagination, mergedPagination.value)\n })\n\n const triggeronPaginationChange = (current: number, pageSize: number) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n props['onUpdate:pagination'] &&\n emit(\n 'update:pagination',\n isReactive(props.pagination)\n ? Object.assign(props.pagination || {}, pagination)\n : pagination,\n )\n }\n\n const {\n mergedPagination,\n pos,\n refreshPagination,\n onChange: onPaginationChange,\n onShowSizeChange,\n pageData,\n } = usePagination(total, props, filterData, (current, pageSize) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n triggeronPaginationChange(current, pageSize)\n updateAnimate()\n triggerOnChange({ pagination }, 'paginate')\n })\n\n const {\n flattenData,\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n getRowFlattenIndexByKey,\n isMyChildren,\n getRowByFlattenIndex,\n } = useFlattenRecords(\n pageData,\n childrenColumnName,\n expandedRowKeys,\n getRowKey,\n expandType,\n mergedRowSelection,\n )\n\n const cal = useCal(props, flattenData, bodyHeight, scrollTop, virtual, keyEntities)\n\n const { rowPosition, viewportHeight, startIndex, endIndex } = cal\n const { leftWidth, rightWidth, centerWidth, bodyMaxWidth } = columns\n\n const selection = useSelection(props, mergedRowSelection, rawData, {\n prefixCls: computed(() => props.prefixCls!),\n pageData,\n getRowKey,\n getRecordByKey,\n childrenColumnName,\n locale,\n flattenData,\n keyEntities,\n checkboxPropsMap,\n allDataRowKeys,\n allDataRootRowKeys,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n })\n\n const bodyRef = ref<HTMLDivElement>()\n let leftRaf: any, topRaf: any\n\n const scrollTo = (options: any = {}, type = 'auto', isAnimate = false) => {\n if (!isAnimate) {\n updateAnimate()\n }\n const mergeOptions = typeof options == 'number' ? { top: options } : options\n let left, top\n if ('left' in mergeOptions) {\n left = mergeOptions.left || 0\n } else if ('columnIndex' in mergeOptions) {\n const position = columns.getColumnPosition(mergeOptions.columnIndex!)\n if (position) {\n left = position.left - leftWidth.value\n }\n } else if ('columnKey' in mergeOptions) {\n const position = columns.getColumnPositionByKey(mergeOptions.columnKey!)\n if (position) {\n left = position.left - leftWidth.value\n }\n }\n if ('top' in mergeOptions) {\n top = Math.min(Math.max(mergeOptions.top || 0, 0), maxScrollTop.value)\n } else if ('rowKey' in mergeOptions) {\n const pos = cal.getRowPositionByKey(mergeOptions.rowKey!)\n if (pos) {\n top = pos\n }\n }\n\n left = Math.max(Math.min(maxScrollLeft.value, left || 0), 0)\n if (!showVerticalScrollbar.value) {\n top = 0\n }\n if (type === 'smooth') {\n if (left !== undefined) {\n raf.cancel(leftRaf)\n leftRaf = easeoutScroll(scrollLeft.value, left, (val: number) => {\n scrollLeft.value = val\n })\n }\n if (top !== undefined) {\n raf.cancel(topRaf)\n topRaf = easeoutScroll(scrollTop.value, top, (val: number) => {\n scrollTop.value = val\n })\n }\n } else {\n if (left !== undefined) {\n scrollLeft.value = left\n }\n if (top !== undefined) {\n scrollTop.value = top\n }\n }\n }\n\n const useAnimate = ref(false)\n const animateRows = computed(() => {\n return !!(props.animateRows ?? table?.value?.animateRows)\n })\n\n let timer: any\n watch(\n animateRows,\n (newVal) => {\n useAnimate.value = newVal\n },\n { immediate: true },\n )\n\n const updateAnimate = () => {\n useAnimate.value = false\n clearTimeout(timer)\n timer = setTimeout(() => {\n useAnimate.value = animateRows.value\n }, 100)\n }\n\n const maxScrollLeft = computed(() => bodyMaxWidth.value - bodyWidth.value)\n const maxScrollTop = computed(() => viewportHeight.value - bodyHeight.value)\n const onScroll = (e) => {\n emit('scroll', e)\n }\n\n useHScrollSyncProvide({ scrollLeft, maxScrollLeft, onScroll, bodyWidth })\n useVScrollSyncProvide({ scrollTop, maxScrollTop, onScroll, updateAnimate, bodyWidth })\n\n const { data, pos: dataRowPosition } = useData(\n props,\n rowPosition,\n flattenData,\n startIndex,\n endIndex,\n draggingRowKey,\n useAnimate,\n getRowFlattenIndexByKey,\n latestRangeStartCell,\n )\n\n const pingedLeft = ref(false)\n const pingedRight = ref(false)\n const noPinged = ref(false)\n\n watchEffect(() => {\n pingedLeft.value = supportSticky && !!scrollLeft.value\n pingedRight.value =\n supportSticky &&\n centerWidth.value - (bodyWidth.value - leftWidth.value - rightWidth.value) >\n scrollLeft.value\n noPinged.value = !pingedLeft.value && !pingedRight.value\n })\n\n const rootClass = computed(() =>\n classNames({\n [`${props.prefixCls}`]: true,\n [`${props.prefixCls}-support-sticky`]: supportSticky,\n [`${props.prefixCls}-stripe`]: props.stripe,\n [`${props.prefixCls}-bordered`]: props.bordered ?? table?.value?.bordered,\n [`${props.prefixCls}-${props.size}`]: true,\n [`${props.prefixCls}-ping-left`]: pingedLeft.value,\n [`${props.prefixCls}-ping-right`]: pingedRight.value,\n [`${props.prefixCls}-no-ping`]: noPinged.value,\n [`${props.prefixCls}-has-animate`]: animateRows.value,\n }),\n )\n const rootStyle = computed(() => ({\n height: typeof props.height == 'number' ? `${props.height}px` : props.height,\n maxHeight: typeof props.maxHeight == 'number' ? `${props.maxHeight}px` : props.maxHeight,\n minHeight: typeof props.minHeight == 'number' ? `${props.minHeight}px` : props.minHeight,\n }))\n\n const showHorizontalScrollbar = ref(false)\n const debounceFn = debounce(() => {\n showHorizontalScrollbar.value = bodyMaxWidth.value > bodyWidth.value\n if (bodyWidth.value > bodyScrollWidth.value) {\n bodyScrollWidth.value = bodyWidth.value\n }\n }, 100)\n\n watch([bodyMaxWidth, bodyWidth], () => {\n debounceFn()\n })\n\n const showVerticalScrollbar = eagerComputed(\n () => !!mergedScrollY.value && bodyHeight.value + 0.9 < viewportHeight.value,\n )\n const scrollToFirstRow = eagerComputed(\n () => !props.scroll || (props.scroll && props.scroll.scrollToFirstRowOnChange !== false),\n )\n\n triggerOnChange = (\n info: Partial<ChangeEventInfo<DefaultRecordType>>,\n action: TableAction,\n reset = false,\n ) => {\n if (reset) {\n refreshPagination()\n triggeronPaginationChange(1, mergedPagination.value.pageSize!)\n if (props.pagination) {\n props.pagination.onChange?.(1, mergedPagination.value.pageSize)\n }\n }\n if (scrollToFirstRow.value) {\n scrollTop.value = 0\n }\n props.onChange?.(\n info.pagination || mergedPagination.value,\n info.filters || filters.value,\n info.sorter || sorter.value,\n {\n currentDataSource: info.currentDataSource || filterData.value,\n action,\n },\n )\n }\n\n const paginationProps = computed(() => {\n return omit(mergedPagination.value, [\n 'position',\n 'onChange',\n 'onShowSizeChange',\n 'fieldNames',\n ])\n })\n\n const paginationClass = computed(() => {\n return {\n [`${props.prefixCls}-pagination`]: true,\n [`${props.prefixCls}-pagination-${pos.value.bottom}`]: true,\n [`${customUiCls}`]: true,\n }\n })\n const bottomPaginationHeight = ref(0)\n const bottomPaginationStyle = computed<any>(() => {\n if (!props.paginationSticky || counter.hasFullScreen.value || !!props.height) {\n return {}\n }\n if (props.paginationSticky === true) {\n return { position: 'sticky', 'z-index': 9, bottom: '0px' }\n }\n return {\n position: 'sticky',\n 'z-index': 9,\n bottom: `${props.paginationSticky?.offsetBottom ?? 0}px`,\n }\n })\n\n const indentSize = computed(() => (typeof props.indentSize == 'number' ? props.indentSize : 15))\n\n const cellProps = useCellProps({\n leftColumns: columns.leftColumns,\n rightColumns: columns.rightColumns,\n visibleCenterColumns: columns.visibleCenterColumns,\n allColumns: columns.allColumns,\n data,\n mergedRowHeights: cal.mergedRowHeights,\n startIndex,\n getColumnPosition: columns.getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight: cal.getRowHeight,\n customCell: toRef(props, 'customCell'),\n })\n\n watch(\n [realHeaderHeight, scrollLeft],\n () => {\n popupContainer.value?.alignPopup?.()\n },\n { flush: 'post' },\n )\n\n useProvideTable({\n ...cal,\n ...columns,\n ...cellProps,\n rootRef,\n rawData,\n getRowFlattenIndexByKey,\n prefixCls: computed(() => props.prefixCls!),\n draggingRowKey,\n insertToRowKey,\n status,\n useAnimate,\n animateRows,\n watermarkMsg,\n onResizeColumn: (w: number, col: ColumnType, action: ResizeActionType) => {\n const width = col.width\n const result = props.onResizeColumn?.(w, col, action)\n if (result !== false) {\n if (!(width === w && col.width === w)) {\n col.width = width !== col.width ? col.width : w\n triggerRef(rawColumns)\n }\n if (action === 'end') {\n emit('update:columns', rawColumns.value, 'resize')\n }\n }\n },\n onRowDragEnd: (opt: DragRowEventInfo) => {\n const { insertToRowKey, record, fromIndexs, rowKey, dir, preTargetInfo, nextTargetInfo } =\n opt\n const rawRecord = toRaw(record)\n const dragEnd = props.onRowDragEnd?.({ ...opt, record: rawRecord, fromIndexs })\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (!isMyChildren(rowKey, preTargetInfo?.rowKey as Key) && insertToRowKey !== rowKey) {\n if (insertToRowKey !== null) {\n const parentRecord = getRecordByKey(insertToRowKey)\n if (\n insertToRowKey === preTargetInfo?.rowKey ||\n insertToRowKey === nextTargetInfo?.rowKey\n ) {\n if (dir === DOWN) {\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n } else {\n if (dir === DOWN) {\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n } else {\n if (dir === DOWN && preTargetInfo) {\n addNestItemData(\n rawData.value,\n [preTargetInfo.indexs[0]!],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else if (dir === UP && nextTargetInfo) {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs ? [preTargetInfo!.indexs[0]!] : [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n triggerRef(rawData)\n emit('update:dataSource', rawData.value)\n }\n }\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n virtual,\n xVirtual,\n dataRowPosition,\n rawColumns,\n bodyHeight,\n scrollTop,\n scrollLeft,\n supportSticky,\n childrenColumnName,\n bodyScrollWidth,\n baseHeight,\n startIndex,\n data,\n pageData,\n getRecordByKey,\n getIndexsByKey,\n expandType,\n flattenData,\n expandedRowKeys,\n indentSize,\n props,\n bodyWidth,\n scrollTo,\n scrollBarSize,\n leftWidth,\n rightWidth,\n centerWidth,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getRowKey,\n selection,\n updateSelectedRowKeys: (keys: Key[]) => {\n emit('update:selectedRowKeys', keys)\n },\n locale,\n sorterStates,\n changeSorter,\n changeFilter,\n filterStates,\n onTriggerExpand: (record, key: Key) => {\n let keys: Key[]\n const hasKey = expandedRowKeys.value.has(key)\n if (hasKey) {\n expandedRowKeys.value.delete(key)\n keys = [...expandedRowKeys.value]\n } else {\n keys = [...expandedRowKeys.value, key]\n }\n defaultExpandedRowKeys.value = keys\n emit('update:expandedRowKeys', keys)\n emit('expand', !hasKey, record)\n emit('expandedRowsChange', keys)\n },\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n mergedRowSelection,\n getPopupContainer,\n allDataRowKeys,\n allDataRootRowKeys,\n dragRowsHandle,\n isMyChildren,\n getKeyByIndexs,\n getRowByFlattenIndex,\n draggingColumnKey,\n dragColumnsHandle,\n onColumnDragEnd: (arg: DragColumnEventInfo) => {\n const { dir, column, targetColumn } = arg\n const dragEnd = props.onColumnDragEnd?.(arg)\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (column === targetColumn || column.key === targetColumn.key) return\n const index = rawColumns.value.findIndex(\n (col) => col === column || col.key === column.key,\n )\n const targetIndex = rawColumns.value.findIndex(\n (col) => col === targetColumn || col.key === targetColumn.key,\n )\n if (dir === LEFT) {\n rawColumns.value.splice(index, 1)\n rawColumns.value.splice(targetIndex, 0, column)\n } else {\n rawColumns.value.splice(targetIndex + 1, 0, column)\n rawColumns.value.splice(index, 1)\n }\n triggerRef(rawColumns)\n emit('update:columns', rawColumns.value, 'drag')\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n onColumnDrag: () => {},\n columnDrag: computed(() => props.columnDrag),\n summaryFixed: mergedSummaryFixed,\n realHeaderHeight,\n bottomPaginationHeight,\n pos,\n })\n\n const tabGuardTopRef = ref()\n const tabGuardBottomRef = ref()\n\n const {\n navigationService,\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n onBodyKeydown,\n } = useProvideRangeStore({\n allColumns: columns.allColumns,\n flattenData,\n rangeSelection: computed(() => props.rangeSelection),\n getRowByFlattenIndex,\n rootRef,\n prefixCls: computed(() => props.prefixCls!),\n allCellProps: cellProps.allCellProps,\n tabGuardTopRef,\n tabGuardBottomRef,\n ensureCellColumnVisible: (cell: RangeCell) => {\n if (!cell.column || cell.column.fixed) return\n const sl = scrollLeft.value\n const pos = columns.getColumnPositionByKey(cell.column.columnKey)\n if (pos) {\n const { width, left } = pos\n const lw = leftWidth.value\n const rw = rightWidth.value\n left - lw < sl\n ? (scrollLeft.value = left - lw)\n : left + width > sl + bodyWidth.value - rw &&\n (scrollLeft.value = left + width - bodyWidth.value + rw)\n }\n },\n ensureCellRowVisible: (cell: RangeCell) => {\n const { rowIndex } = cell\n const st = scrollTop.value\n const row = getRowByFlattenIndex(rowIndex)\n const pos = cal.getRowPositionByKey(row.rowKey)\n const cprops =\n (cellProps.allCellProps.value[row.rowKey]?.[cell.column!.columnKey] || {}).props || {}\n const height = cal.getRowHeight(rowIndex, cprops.rowSpan)\n if (pos !== undefined) {\n updateAnimate()\n if (pos < st) {\n scrollTop.value = pos\n } else {\n if (pos + height > st + bodyHeight.value) {\n scrollTop.value = pos + height - bodyHeight.value\n }\n }\n }\n },\n latestRangeStartCell,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n scrollLeft,\n scrollTop,\n scrollTo,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getIndexsByKey,\n formatRangeCellText: (parmas) => {\n if (props.formatRangeCellText) {\n return props.formatRangeCellText(parmas)\n } else if (parmas.value) {\n return parmas.value\n }\n return ''\n },\n editCellKeys,\n copyDelimiter: computed(() => props.copyDelimiter),\n })\n\n expose({\n scrollTo,\n scrollLeft,\n scrollTop,\n rootRef,\n paginationRef,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n openEditor: (cellInfos: any[]) => {\n openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n },\n closeEditor: (cellInfos: any[]) => {\n if (cellInfos) {\n closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n } else {\n closeEditor()\n }\n },\n })\n\n return {\n bodyRef,\n spinProps,\n rowPosition,\n viewportHeight,\n startIndex,\n data,\n watermarkMsg,\n rootStyle,\n rootClass,\n onBodyKeydown,\n watermarkStyle: computed<any>(() => ({\n minWidth: '100px!important',\n minHeight: '40px!important',\n position: 'absolute!important',\n fontSize: '20px!important',\n opacity: '0.8!important',\n bottom: '40px!important',\n right: '40px!important',\n pointerEvents: 'none',\n display: 'block!important',\n zIndex: '999999!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n })),\n mergedPagination,\n pos,\n onPaginationChange,\n scrollBarSize,\n scrollTop,\n bodyScrollWidth,\n bodyWidth,\n scrollLeft,\n cal,\n selection,\n locale,\n paginationProps,\n slots,\n mergedScrollX,\n mergedScrollY,\n bodyHeight,\n measureWidthRef,\n flattenData,\n rootRef,\n paginationRef,\n mergedSummaryFixed,\n handleResize: (e: CustomEvent) => {\n realHeaderHeight.value = e.detail.height\n },\n handlePaginationResize: (e: CustomEvent) => {\n bottomPaginationHeight.value = e.detail.height\n },\n popupContainer,\n handleGuardTopKeydown: (e: KeyboardEvent) => {\n e.keyCode !== KeyCode.TAB ||\n e.shiftKey ||\n (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault())\n },\n handleGuardBottomKeydown: (e: KeyboardEvent) => {\n e.keyCode === KeyCode.TAB &&\n e.shiftKey &&\n (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault())\n },\n tabGuardTopRef,\n tabGuardBottomRef,\n onShowSizeChange,\n customUiCls,\n paginationClass,\n bottomPaginationStyle,\n }\n },\n})\n</script>\n\n<template>\n <TableSlotsContextProvider :value=\"{ ...slots }\">\n <Spin v-bind=\"spinProps\">\n <Pagination\n v-if=\"pos.top\"\n :class=\"`${prefixCls}-pagination ${prefixCls}-pagination-${pos.top} ${customUiCls}`\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n <div\n ref=\"tabGuardTopRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardTopKeydown\"\n ></div>\n <div key=\"content\" ref=\"rootRef\" :class=\"rootClass\" :style=\"rootStyle\">\n <template v-if=\"showHeader\">\n <AutoHeightHeader\n v-if=\"autoHeaderHeight\"\n :prefix-cls=\"prefixCls\"\n :sticky=\"sticky\"\n @resizeheight=\"handleResize\"\n />\n <ProHeader v-else :prefix-cls=\"prefixCls\" :sticky=\"sticky\" @resizeheight=\"handleResize\" />\n </template>\n <ProBody\n ref=\"bodyRef\"\n v-model:bodyScrollWidth=\"bodyScrollWidth\"\n v-model:bodyWidth=\"bodyWidth\"\n v-model:bodyHeight=\"bodyHeight\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n :scroll-x=\"mergedScrollX\"\n :height=\"mergedScrollY\"\n :summary-fixed=\"mergedSummaryFixed\"\n :summary=\"$slots.summary\"\n :empty-text=\"$slots.emptyText\"\n @keydown=\"onBodyKeydown\"\n />\n </div>\n <HorizontalScroll />\n <div\n ref=\"tabGuardBottomRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardBottomKeydown\"\n ></div>\n <div v-if=\"$slots.footer\" key=\"footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <PopupContainer ref=\"popupContainer\" :prefix-cls=\"prefixCls\" />\n <div\n v-if=\"pos.bottom\"\n v-resize:height\n ref=\"paginationRef\"\n :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap ${prefixCls}-pagination-wrap-${size}`\"\n @resizeheight=\"handlePaginationResize\"\n >\n <Pagination\n :class=\"paginationClass\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n </div>\n </Spin>\n <MeasureWidth ref=\"measureWidthRef\" />\n </TableSlotsContextProvider>\n</template>\n"],"names":["_createBlock","_createVNode","_normalizeProps","_guardReactiveProps","_withCtx","_openBlock","_mergeProps","_createCommentVNode","_createElementVNode","_normalizeClass","_normalizeStyle","_createElementBlock","_Fragment","_renderSlot","_withDirectives"],"mappings":"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"}
|
|
@@ -509,7 +509,7 @@ var _sfc_main = vue.defineComponent({
|
|
|
509
509
|
const bottomPaginationHeight = vue.ref(0);
|
|
510
510
|
const bottomPaginationStyle = vue.computed(() => {
|
|
511
511
|
var _a, _b;
|
|
512
|
-
if (!props.paginationSticky) {
|
|
512
|
+
if (!props.paginationSticky || counter.hasFullScreen.value || !!props.height) {
|
|
513
513
|
return {};
|
|
514
514
|
}
|
|
515
515
|
if (props.paginationSticky === true) {
|
|
@@ -518,7 +518,7 @@ var _sfc_main = vue.defineComponent({
|
|
|
518
518
|
return {
|
|
519
519
|
position: "sticky",
|
|
520
520
|
"z-index": 9,
|
|
521
|
-
bottom:
|
|
521
|
+
bottom: `${(_b = (_a = props.paginationSticky) == null ? void 0 : _a.offsetBottom) != null ? _b : 0}px`
|
|
522
522
|
};
|
|
523
523
|
});
|
|
524
524
|
const indentSize = vue.computed(() => typeof props.indentSize == "number" ? props.indentSize : 15);
|