pro-design-vue 1.2.10 → 1.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/index.full.js +172 -149
  2. package/dist/index.full.min.js +6 -6
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +172 -149
  7. package/es/components/table/src/components/InteralTable.vue.d.ts +1 -1
  8. package/es/components/table/src/components/PaginationConfig.d.ts +4 -0
  9. package/es/index.d.ts +4 -0
  10. package/es/packages/components/config-provider/src/config-provider-container.vue2.mjs +1 -0
  11. package/es/packages/components/config-provider/src/config-provider-container.vue2.mjs.map +1 -1
  12. package/es/packages/components/drawer/src/drawer.vue2.mjs +65 -57
  13. package/es/packages/components/drawer/src/drawer.vue2.mjs.map +1 -1
  14. package/es/packages/components/modal/src/modal.vue2.mjs +78 -74
  15. package/es/packages/components/modal/src/modal.vue2.mjs.map +1 -1
  16. package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
  17. package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs +2 -2
  18. package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
  19. package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
  20. package/es/packages/components/table/src/components/InteralTable.vue2.mjs +10 -2
  21. package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
  22. package/es/packages/components/table/src/components/Table.mjs +6 -5
  23. package/es/packages/components/table/src/components/Table.mjs.map +1 -1
  24. package/es/packages/components/table/src/hooks/useFetchData.mjs +9 -8
  25. package/es/packages/components/table/src/hooks/useFetchData.mjs.map +1 -1
  26. package/es/version.d.ts +1 -1
  27. package/es/version.mjs +1 -1
  28. package/es/version.mjs.map +1 -1
  29. package/lib/components/table/src/components/InteralTable.vue.d.ts +1 -1
  30. package/lib/components/table/src/components/PaginationConfig.d.ts +4 -0
  31. package/lib/index.d.ts +4 -0
  32. package/lib/packages/components/config-provider/src/config-provider-container.vue2.js +1 -0
  33. package/lib/packages/components/config-provider/src/config-provider-container.vue2.js.map +1 -1
  34. package/lib/packages/components/drawer/src/drawer.vue2.js +64 -56
  35. package/lib/packages/components/drawer/src/drawer.vue2.js.map +1 -1
  36. package/lib/packages/components/modal/src/modal.vue2.js +78 -74
  37. package/lib/packages/components/modal/src/modal.vue2.js.map +1 -1
  38. package/lib/packages/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
  39. package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js +2 -2
  40. package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
  41. package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
  42. package/lib/packages/components/table/src/components/InteralTable.vue2.js +10 -2
  43. package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
  44. package/lib/packages/components/table/src/components/Table.js +6 -5
  45. package/lib/packages/components/table/src/components/Table.js.map +1 -1
  46. package/lib/packages/components/table/src/hooks/useFetchData.js +9 -8
  47. package/lib/packages/components/table/src/hooks/useFetchData.js.map +1 -1
  48. package/lib/version.d.ts +1 -1
  49. package/lib/version.js +1 -1
  50. package/lib/version.js.map +1 -1
  51. package/package.json +1 -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-10-15 15:00:45\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref } from 'vue'\nimport { Card, ConfigProvider } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType } from '@pro-design-vue/components/form'\nimport type {\n ColumnsType,\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const tableRef = ref()\n const { table, prefixCls: antPrefixCls } = useProConfigInject()\n\n const prefixCls = usePrefixCls('table')\n\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n rowHover: computed(() => props.rowHover ?? table?.value?.rowHover),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n 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 return omitKeysAndUndefined(\n {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n ['dataIndex', 'width'],\n ) as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey || 'id') as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n onCleanSelected()\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined),\n {\n value: computed(\n () =>\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection.selectedRowKeys : undefined),\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = () => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange([], [])\n }\n props['onUpdate:selectedRowKeys']?.([], [])\n setSelectedRowKeys([])\n }\n\n const hideToolbar = computed(\n () =>\n 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 cardBodyStyle = computed(() => {\n if (props.cardProps === false || notNeedCardDom.value === true) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n tableRef.value?.scrollTo(pos, behavior)\n },\n scrollLeft: computed(() => {\n return unref(tableRef.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(tableRef.value?.scrollTop)\n }),\n bodyRef: computed(() => {\n return unref(tableRef.value?.bodyRef)\n }),\n copySelectedRange: () => {\n return tableRef.value?.copySelectedRange()\n },\n getSelectedRange: () => {\n return tableRef.value?.getSelectedRange()\n },\n clearAllSelectedRange: () => {\n return tableRef.value?.clearAllSelectedRange()\n },\n clearDataSource: () => {\n dataSource.value = []\n },\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return tableRef.value?.appendCellToSelectedRange(params)\n },\n openEditor: (cellInfos: any[]) => {\n return tableRef.value?.openEditor(cellInfos)\n },\n closeEditor: (cellInfos: any[]) => {\n return tableRef.value?.closeEditor(cellInfos)\n },\n reload,\n reset,\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={mergeOptions.value}\n actionsRef={{\n ...actions,\n fullScreen: () => {\n if (!counter.rootDomRef.value || !document.fullscreenEnabled) {\n return\n }\n if (document.fullscreenElement) {\n document.exitFullscreen()\n counter.hasFullScreen.value = false\n } else {\n counter.rootDomRef.value?.requestFullscreen()\n counter.hasFullScreen.value = true\n }\n },\n }}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n }}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n !!selectedRowKeys.value!.length && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions }}\n />\n )}\n <InteralTable\n ref={tableRef}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n onUpdate:columns={onColumnsChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (!(props.cardProps === false || notNeedCardDom.value)) {\n tableDom = (\n <Card\n bordered={isBordered('table', props.cardBordered ?? table?.value?.cardBordered)}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <ConfigProvider\n prefixCls={antPrefixCls?.value}\n getPopupContainer={() => {\n return (counter.rootDomRef.value || document.body) as any as HTMLElement\n }}\n >\n <div\n ref={counter.rootDomRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered ?? table?.value?.cardBordered}\n search={props.search}\n tableShowCard={props.cardProps !== false}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n manual={props.manual || props.manualRequest}\n v-slots={slots}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {tableDom}\n </div>\n </ConfigProvider>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","tableRef","ref","table","prefixCls","antPrefixCls","useProConfigInject","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","_a","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","omitKeysAndUndefined","tooltip","headerTooltip","dataIndex","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","cardBodyStyle","cardProps","padding","paddingBlockEnd","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","fullScreen","document","fullscreenEnabled","fullscreenElement","exitFullscreen","hasFullScreen","requestFullscreen","newValues","formSearch","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","InteralTable","_mergeProps","omit","tableSize","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","ConfigProvider","getPopupContainer","body","_b","_c","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-10-20 15:53:38\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref } from 'vue'\nimport { Card, ConfigProvider } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType } from '@pro-design-vue/components/form'\nimport type {\n ColumnsType,\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const tableRef = ref()\n const { table, prefixCls: antPrefixCls, dark } = useProConfigInject()\n\n const prefixCls = usePrefixCls('table')\n\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n rowHover: computed(() => props.rowHover ?? table?.value?.rowHover),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n 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 return omitKeysAndUndefined(\n {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n ['dataIndex', 'width'],\n ) as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey || 'id') as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n onCleanSelected()\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined),\n {\n value: computed(\n () =>\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection.selectedRowKeys : undefined),\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = () => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange([], [])\n }\n props['onUpdate:selectedRowKeys']?.([], [])\n setSelectedRowKeys([])\n }\n\n const hideToolbar = computed(\n () =>\n 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 cardBodyStyle = computed(() => {\n if (props.cardProps === false || notNeedCardDom.value === true) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n tableRef.value?.scrollTo(pos, behavior)\n },\n scrollLeft: computed(() => {\n return unref(tableRef.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(tableRef.value?.scrollTop)\n }),\n bodyRef: computed(() => {\n return unref(tableRef.value?.bodyRef)\n }),\n copySelectedRange: () => {\n return tableRef.value?.copySelectedRange()\n },\n getSelectedRange: () => {\n return tableRef.value?.getSelectedRange()\n },\n clearAllSelectedRange: () => {\n return tableRef.value?.clearAllSelectedRange()\n },\n clearDataSource: () => {\n dataSource.value = []\n },\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return tableRef.value?.appendCellToSelectedRange(params)\n },\n openEditor: (cellInfos: any[]) => {\n return tableRef.value?.openEditor(cellInfos)\n },\n closeEditor: (cellInfos: any[]) => {\n return tableRef.value?.closeEditor(cellInfos)\n },\n reload,\n reset,\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={mergeOptions.value}\n actionsRef={{\n ...actions,\n fullScreen: () => {\n if (!counter.rootDomRef.value || !document.fullscreenEnabled) {\n return\n }\n if (document.fullscreenElement) {\n document.exitFullscreen()\n counter.hasFullScreen.value = false\n } else {\n counter.rootDomRef.value?.requestFullscreen()\n counter.hasFullScreen.value = true\n }\n },\n }}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n }}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n !!selectedRowKeys.value!.length && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions }}\n />\n )}\n <InteralTable\n ref={tableRef}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n onUpdate:columns={onColumnsChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (!(props.cardProps === false || notNeedCardDom.value)) {\n tableDom = (\n <Card\n bordered={isBordered(\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 <ConfigProvider\n prefixCls={antPrefixCls?.value}\n getPopupContainer={() => {\n return (counter.rootDomRef.value || document.body) as any as HTMLElement\n }}\n >\n <div\n ref={counter.rootDomRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered ?? table?.value?.cardBordered ?? dark?.value}\n search={props.search}\n tableShowCard={props.cardProps !== false}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n manual={props.manual || props.manualRequest}\n v-slots={slots}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {tableDom}\n </div>\n </ConfigProvider>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","tableRef","ref","table","prefixCls","antPrefixCls","dark","useProConfigInject","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","_a","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","omitKeysAndUndefined","tooltip","headerTooltip","dataIndex","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","cardBodyStyle","cardProps","padding","paddingBlockEnd","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","fullScreen","document","fullscreenEnabled","fullscreenElement","exitFullscreen","hasFullScreen","requestFullscreen","newValues","formSearch","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","InteralTable","_mergeProps","omit","tableSize","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","ConfigProvider","getPopupContainer","body","_b","_c","_d","bordered","theme","class","FormRender","beforeSearchSubmit","manual","manualRequest","onReset","onSubmit"],"mappings":"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"}
@@ -146,7 +146,7 @@ const useFetchData = (getData, props) => {
146
146
  pollingLoading.value = false;
147
147
  };
148
148
  const fetchList = async (isPolling) => {
149
- var _a2, _b, _c, _d;
149
+ var _a2, _b, _c, _d, _e, _f, _g;
150
150
  if (manualRequestRef.value) {
151
151
  manualRequestRef.value = false;
152
152
  return;
@@ -158,12 +158,13 @@ const useFetchData = (getData, props) => {
158
158
  }
159
159
  const { current, pageSize } = pagination.value;
160
160
  const params = { ...innerParams.value, ...formSearch.value };
161
- if ((props == null ? void 0 : props.pagination) !== false) {
162
- params.current = current;
163
- params.pageSize = pageSize;
161
+ if (contextTablePagination.value !== false) {
162
+ const { fieldNames } = (_a2 = contextTablePagination.value) != null ? _a2 : {};
163
+ params[(_b = fieldNames == null ? void 0 : fieldNames.current) != null ? _b : "current"] = current;
164
+ params[(_c = fieldNames == null ? void 0 : fieldNames.pageSize) != null ? _c : "pageSize"] = pageSize;
164
165
  }
165
166
  if (keyword.value) {
166
- params[(_a2 = keywordName.value) != null ? _a2 : "keyword"] = keyword.value;
167
+ params[(_d = keywordName.value) != null ? _d : "keyword"] = keyword.value;
167
168
  }
168
169
  try {
169
170
  const {
@@ -171,13 +172,13 @@ const useFetchData = (getData, props) => {
171
172
  success,
172
173
  total = 0,
173
174
  ...rest
174
- } = await ((_b = getData.value) == null ? void 0 : _b.call(getData, params, toRaw(sorters.value), toRaw(filter.value))) || {};
175
+ } = await ((_e = getData.value) == null ? void 0 : _e.call(getData, params, toRaw(sorters.value), toRaw(filter.value))) || {};
175
176
  if (success === false) return [];
176
177
  setTableDataList(data);
177
- if (((_c = pagination.value) == null ? void 0 : _c.total) !== total) {
178
+ if (((_f = pagination.value) == null ? void 0 : _f.total) !== total) {
178
179
  pagination.value.total = total || data.length;
179
180
  }
180
- (_d = props.onLoad) == null ? void 0 : _d.call(props, data, rest);
181
+ (_g = props.onLoad) == null ? void 0 : _g.call(props, data, rest);
181
182
  return data;
182
183
  } catch (e) {
183
184
  if (props.onRequestError === void 0) throw new Error(e);
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchData.mjs","sources":["../../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-10-12 18:53:42\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { merge, runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\n\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = (intl: IntlType, pagination?: ProTableProps['pagination']) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger, ...rest } = pagination\n return {\n ...rest,\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order,\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!(props.manual || props.manualRequest))\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const { table } = useProConfigInject()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const contextPagination = computed(() => table?.value?.pagination)\n const contextTablePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n if (props.pagination && contextPagination.value) {\n return merge(contextPagination.value, props.pagination)\n } else {\n return props.pagination ?? contextPagination.value\n }\n })\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(intl, contextTablePagination.value),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (props?.pagination !== false) {\n params.current = current\n params.pageSize = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch([() => props.manual, () => props.manualRequest], () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual || !props.manualRequest) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n })\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n formSearch,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n immediate: true,\n },\n )\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","_a"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchData.mjs","sources":["../../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-10-20 15:46:59\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { merge, runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\n\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = (intl: IntlType, pagination?: ProTableProps['pagination']) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger, ...rest } = pagination\n return {\n ...rest,\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order,\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!(props.manual || props.manualRequest))\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const { table } = useProConfigInject()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const contextPagination = computed(() => table?.value?.pagination)\n const contextTablePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n if (props.pagination && contextPagination.value) {\n return merge(contextPagination.value, props.pagination)\n } else {\n return props.pagination ?? contextPagination.value\n }\n })\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(intl, contextTablePagination.value),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (contextTablePagination.value !== false) {\n const { fieldNames } = contextTablePagination.value ?? {}\n params[fieldNames?.current ?? 'current'] = current\n params[fieldNames?.pageSize ?? 'pageSize'] = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch([() => props.manual, () => props.manualRequest], () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual || !props.manualRequest) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n })\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n formSearch,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n immediate: true,\n },\n )\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","_a"],"mappings":"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"}
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "1.2.10";
1
+ export declare const version = "1.2.12";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "1.2.10";
1
+ const version = "1.2.12";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.2.10'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.2.12'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
@@ -482,7 +482,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
482
482
  cal: import("../hooks/useCal").CalType;
483
483
  selection: import("../hooks/useRowSelection").SelectionsRes;
484
484
  locale: import("vue").ComputedRef<TableLocale>;
485
- paginationProps: import("vue").ComputedRef<Omit<import("pro-design-vue").ProTablePaginationConfig, "onChange" | "position" | "onShowSizeChange">>;
485
+ paginationProps: import("vue").ComputedRef<Omit<import("pro-design-vue").ProTablePaginationConfig, "onChange" | "position" | "fieldNames" | "onShowSizeChange">>;
486
486
  slots: Readonly<{
487
487
  [x: string]: ((...args: any[]) => any) | undefined;
488
488
  emptyText?: (() => any) | undefined;
@@ -26,4 +26,8 @@ export interface PaginationProps {
26
26
  export declare type TablePaginationPosition = 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight';
27
27
  export interface TablePaginationConfig extends PaginationProps {
28
28
  position?: TablePaginationPosition[];
29
+ fieldNames?: {
30
+ current?: string;
31
+ pageSize?: string;
32
+ };
29
33
  }
package/lib/index.d.ts CHANGED
@@ -6641,6 +6641,10 @@ export declare type ProTableOptionConfig = {
6641
6641
  };
6642
6642
  export declare interface ProTablePaginationConfig extends PaginationProps {
6643
6643
  position?: TablePaginationPosition[];
6644
+ fieldNames?: {
6645
+ current?: string;
6646
+ pageSize?: string;
6647
+ };
6644
6648
  }
6645
6649
  export declare type ProTableProps<T extends DefaultRecordType = DefaultRecordType> = Partial<ExtractPropTypes<Helper<T>["Return"]>>;
6646
6650
  export declare type ProTableRequest<T = DefaultRecordType, U = Record<string, any>> = (params: U & {
@@ -60,6 +60,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
60
60
  proPrefixCls: vue.computed(() => props.proPrefixCls),
61
61
  intl: vue.computed(() => props.intl),
62
62
  locale: vue.computed(() => props.locale),
63
+ dark: vue.computed(() => props.dark),
63
64
  contentOffsetTop: vue.computed(() => props.contentOffsetTop || contentOffsetTop.value),
64
65
  setContentOffsetTop: (offsetTop) => {
65
66
  contentOffsetTop.value = offsetTop;
@@ -1 +1 @@
1
- {"version":3,"file":"config-provider-container.vue2.js","sources":["../../../../../../../packages/components/config-provider/src/config-provider-container.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-05-22 09:08:36\n * @LastEditors: shen\n * @LastEditTime: 2025-10-14 14:42:34\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { ProConfigProviderProps } from './typing'\nimport { computed, ref } from 'vue'\nimport { useProConfigProvide } from './context'\nimport { useCssVariables } from './useCssVariables'\n\ninterface Props extends ProConfigProviderProps {}\n\ndefineOptions({\n name: 'ConfigProviderContainer',\n})\n\nconst props = defineProps<Props>()\n\nconst contentOffsetTop = ref(props.contentOffsetTop)\n\nuseCssVariables(computed(() => props.dark))\n\nuseProConfigProvide({\n table: computed(() => props.table),\n form: computed(() => props.form),\n modal: computed(() => props.modal),\n drawer: computed(() => props.drawer),\n prefixCls: computed(() => props.prefixCls),\n componentSize: computed(() => props.componentSize),\n proPrefixCls: computed(() => props.proPrefixCls),\n intl: computed(() => props.intl),\n locale: computed(() => props.locale),\n contentOffsetTop: computed(() => props.contentOffsetTop || contentOffsetTop.value),\n setContentOffsetTop: (offsetTop: number) => {\n contentOffsetTop.value = offsetTop\n },\n})\n</script>\n\n<template>\n <slot />\n</template>\n"],"names":["ref","useCssVariables","computed","useProConfigProvide","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,gBAAA,GAAmBA,OAAA,CAAI,KAAA,CAAM,gBAAgB,CAAA;AAEnD,IAAAC,+BAAA,CAAgBC,YAAA,CAAS,MAAM,KAAA,CAAM,IAAI,CAAC,CAAA;AAE1C,IAAAC,2BAAA,CAAoB;AAAA,MAClB,KAAA,EAAOD,YAAA,CAAS,MAAM,KAAA,CAAM,KAAK,CAAA;AAAA,MACjC,IAAA,EAAMA,YAAA,CAAS,MAAM,KAAA,CAAM,IAAI,CAAA;AAAA,MAC/B,KAAA,EAAOA,YAAA,CAAS,MAAM,KAAA,CAAM,KAAK,CAAA;AAAA,MACjC,MAAA,EAAQA,YAAA,CAAS,MAAM,KAAA,CAAM,MAAM,CAAA;AAAA,MACnC,SAAA,EAAWA,YAAA,CAAS,MAAM,KAAA,CAAM,SAAS,CAAA;AAAA,MACzC,aAAA,EAAeA,YAAA,CAAS,MAAM,KAAA,CAAM,aAAa,CAAA;AAAA,MACjD,YAAA,EAAcA,YAAA,CAAS,MAAM,KAAA,CAAM,YAAY,CAAA;AAAA,MAC/C,IAAA,EAAMA,YAAA,CAAS,MAAM,KAAA,CAAM,IAAI,CAAA;AAAA,MAC/B,MAAA,EAAQA,YAAA,CAAS,MAAM,KAAA,CAAM,MAAM,CAAA;AAAA,MACnC,kBAAkBA,YAAA,CAAS,MAAM,KAAA,CAAM,gBAAA,IAAoB,iBAAiB,KAAK,CAAA;AAAA,MACjF,mBAAA,EAAqB,CAAC,SAAA,KAAsB;AAC1C,QAAA,gBAAA,CAAiB,KAAA,GAAQ,SAAA;AAAA,MAC3B;AAAA,KACD,CAAA;;aAICE,cAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;"}
1
+ {"version":3,"file":"config-provider-container.vue2.js","sources":["../../../../../../../packages/components/config-provider/src/config-provider-container.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-05-22 09:08:36\n * @LastEditors: shen\n * @LastEditTime: 2025-10-20 15:51:51\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { ProConfigProviderProps } from './typing'\nimport { computed, ref } from 'vue'\nimport { useProConfigProvide } from './context'\nimport { useCssVariables } from './useCssVariables'\n\ninterface Props extends ProConfigProviderProps {}\n\ndefineOptions({\n name: 'ConfigProviderContainer',\n})\n\nconst props = defineProps<Props>()\n\nconst contentOffsetTop = ref(props.contentOffsetTop)\n\nuseCssVariables(computed(() => props.dark))\n\nuseProConfigProvide({\n table: computed(() => props.table),\n form: computed(() => props.form),\n modal: computed(() => props.modal),\n drawer: computed(() => props.drawer),\n prefixCls: computed(() => props.prefixCls),\n componentSize: computed(() => props.componentSize),\n proPrefixCls: computed(() => props.proPrefixCls),\n intl: computed(() => props.intl),\n locale: computed(() => props.locale),\n dark: computed(() => props.dark),\n contentOffsetTop: computed(() => props.contentOffsetTop || contentOffsetTop.value),\n setContentOffsetTop: (offsetTop: number) => {\n contentOffsetTop.value = offsetTop\n },\n})\n</script>\n\n<template>\n <slot />\n</template>\n"],"names":["ref","useCssVariables","computed","useProConfigProvide","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,gBAAA,GAAmBA,OAAA,CAAI,KAAA,CAAM,gBAAgB,CAAA;AAEnD,IAAAC,+BAAA,CAAgBC,YAAA,CAAS,MAAM,KAAA,CAAM,IAAI,CAAC,CAAA;AAE1C,IAAAC,2BAAA,CAAoB;AAAA,MAClB,KAAA,EAAOD,YAAA,CAAS,MAAM,KAAA,CAAM,KAAK,CAAA;AAAA,MACjC,IAAA,EAAMA,YAAA,CAAS,MAAM,KAAA,CAAM,IAAI,CAAA;AAAA,MAC/B,KAAA,EAAOA,YAAA,CAAS,MAAM,KAAA,CAAM,KAAK,CAAA;AAAA,MACjC,MAAA,EAAQA,YAAA,CAAS,MAAM,KAAA,CAAM,MAAM,CAAA;AAAA,MACnC,SAAA,EAAWA,YAAA,CAAS,MAAM,KAAA,CAAM,SAAS,CAAA;AAAA,MACzC,aAAA,EAAeA,YAAA,CAAS,MAAM,KAAA,CAAM,aAAa,CAAA;AAAA,MACjD,YAAA,EAAcA,YAAA,CAAS,MAAM,KAAA,CAAM,YAAY,CAAA;AAAA,MAC/C,IAAA,EAAMA,YAAA,CAAS,MAAM,KAAA,CAAM,IAAI,CAAA;AAAA,MAC/B,MAAA,EAAQA,YAAA,CAAS,MAAM,KAAA,CAAM,MAAM,CAAA;AAAA,MACnC,IAAA,EAAMA,YAAA,CAAS,MAAM,KAAA,CAAM,IAAI,CAAA;AAAA,MAC/B,kBAAkBA,YAAA,CAAS,MAAM,KAAA,CAAM,gBAAA,IAAoB,iBAAiB,KAAK,CAAA;AAAA,MACjF,mBAAA,EAAqB,CAAC,SAAA,KAAsB;AAC1C,QAAA,gBAAA,CAAiB,KAAA,GAAQ,SAAA;AAAA,MAC3B;AAAA,KACD,CAAA;;aAICE,cAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;"}
@@ -108,73 +108,81 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
108
108
  height: height.value,
109
109
  onClose: handleClose
110
110
  }), vue.createSlots({
111
- title: vue.withCtx(() => [
112
- vue.renderSlot(_ctx.$slots, "title", {}, () => [
113
- vue.createElementVNode(
114
- "div",
115
- {
116
- class: vue.normalizeClass(`${vue.unref(prefixCls)}-title`)
117
- },
118
- vue.toDisplayString(_ctx.title),
119
- 3
120
- /* TEXT, CLASS */
121
- )
122
- ]),
123
- vue.renderSlot(_ctx.$slots, "description", {}, () => [
124
- vue.createElementVNode(
125
- "div",
126
- {
127
- class: vue.normalizeClass(`${vue.unref(prefixCls)}-description`)
128
- },
129
- vue.toDisplayString(_ctx.description),
130
- 3
131
- /* TEXT, CLASS */
132
- )
133
- ])
134
- ]),
135
- extra: vue.withCtx(() => [
136
- vue.renderSlot(_ctx.$slots, "extra"),
137
- mergeShowFullscreen.value && !vue.unref(isMobile) ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ProButton), {
138
- key: 0,
139
- class: vue.normalizeClass(`${vue.unref(prefixCls)}-fullscreen`),
140
- size: "small",
141
- shape: "circle",
142
- type: "text",
143
- onClick: handleFullScreen
144
- }, {
145
- icon: vue.withCtx(() => [
146
- !fullscreen.value ? (vue.openBlock(), vue.createBlock(vue.unref(Icon.FullscreenOutlined), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(Icon.FullscreenExitOutlined), { key: 1 }))
147
- ]),
148
- _: 1
149
- /* STABLE */
150
- }, 8, ["class"])) : vue.createCommentVNode("v-if", true),
151
- _ctx.closable ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ProButton), {
152
- key: 1,
153
- class: vue.normalizeClass(`${vue.unref(prefixCls)}-close`),
154
- size: "small",
155
- shape: "circle",
156
- type: "text",
157
- onClick: handleBtnClose
158
- }, {
159
- icon: vue.withCtx(() => [
160
- vue.createVNode(vue.unref(Icon.CloseOutlined))
161
- ]),
162
- _: 1
163
- /* STABLE */
164
- }, 8, ["class"])) : vue.createCommentVNode("v-if", true)
165
- ]),
166
111
  default: vue.withCtx(() => [
167
112
  vue.renderSlot(_ctx.$slots, "default")
168
113
  ]),
169
114
  _: 2
170
115
  /* DYNAMIC */
171
116
  }, [
117
+ _ctx.title || _ctx.$slots.title ? {
118
+ name: "title",
119
+ fn: vue.withCtx(() => [
120
+ vue.renderSlot(_ctx.$slots, "title", {}, () => [
121
+ vue.createElementVNode(
122
+ "div",
123
+ {
124
+ class: vue.normalizeClass(`${vue.unref(prefixCls)}-title`)
125
+ },
126
+ vue.toDisplayString(_ctx.title),
127
+ 3
128
+ /* TEXT, CLASS */
129
+ )
130
+ ]),
131
+ vue.renderSlot(_ctx.$slots, "description", {}, () => [
132
+ vue.createElementVNode(
133
+ "div",
134
+ {
135
+ class: vue.normalizeClass(`${vue.unref(prefixCls)}-description`)
136
+ },
137
+ vue.toDisplayString(_ctx.description),
138
+ 3
139
+ /* TEXT, CLASS */
140
+ )
141
+ ])
142
+ ]),
143
+ key: "0"
144
+ } : void 0,
145
+ _ctx.title || _ctx.$slots.title ? {
146
+ name: "extra",
147
+ fn: vue.withCtx(() => [
148
+ vue.renderSlot(_ctx.$slots, "extra"),
149
+ mergeShowFullscreen.value && !vue.unref(isMobile) ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ProButton), {
150
+ key: 0,
151
+ class: vue.normalizeClass(`${vue.unref(prefixCls)}-fullscreen`),
152
+ size: "small",
153
+ shape: "circle",
154
+ type: "text",
155
+ onClick: handleFullScreen
156
+ }, {
157
+ icon: vue.withCtx(() => [
158
+ !fullscreen.value ? (vue.openBlock(), vue.createBlock(vue.unref(Icon.FullscreenOutlined), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(Icon.FullscreenExitOutlined), { key: 1 }))
159
+ ]),
160
+ _: 1
161
+ /* STABLE */
162
+ }, 8, ["class"])) : vue.createCommentVNode("v-if", true),
163
+ _ctx.closable ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ProButton), {
164
+ key: 1,
165
+ class: vue.normalizeClass(`${vue.unref(prefixCls)}-close`),
166
+ size: "small",
167
+ shape: "circle",
168
+ type: "text",
169
+ onClick: handleBtnClose
170
+ }, {
171
+ icon: vue.withCtx(() => [
172
+ vue.createVNode(vue.unref(Icon.CloseOutlined))
173
+ ]),
174
+ _: 1
175
+ /* STABLE */
176
+ }, 8, ["class"])) : vue.createCommentVNode("v-if", true)
177
+ ]),
178
+ key: "1"
179
+ } : void 0,
172
180
  _ctx.$slots.footer ? {
173
181
  name: "footer",
174
182
  fn: vue.withCtx(() => [
175
183
  vue.renderSlot(_ctx.$slots, "footer")
176
184
  ]),
177
- key: "0"
185
+ key: "2"
178
186
  } : void 0
179
187
  ]), 1040, ["root-class-name", "width", "height"]);
180
188
  };