pro-design-vue 1.0.0-rc.13 → 1.0.0-rc.14

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 (118) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +157 -91
  3. package/dist/index.full.min.js +8 -8
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +8 -8
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +157 -91
  8. package/es/components/form/src/layouts/QueryFilter.mjs +1 -2
  9. package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
  10. package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
  11. package/es/components/table/src/components/Body/Body.vue2.mjs +1 -2
  12. package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
  13. package/es/components/table/src/components/Body/BodyCell.mjs +1 -1
  14. package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
  15. package/es/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
  16. package/es/components/table/src/components/Body/BodyRow.vue2.mjs +3 -3
  17. package/es/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
  18. package/es/components/table/src/components/Drag/RowHandler.vue.mjs.map +1 -1
  19. package/es/components/table/src/components/Drag/RowHandler.vue2.mjs +17 -16
  20. package/es/components/table/src/components/Drag/RowHandler.vue2.mjs.map +1 -1
  21. package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs +18 -6
  22. package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs.map +1 -1
  23. package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs +1 -0
  24. package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs.map +1 -1
  25. package/es/components/table/src/components/Header/HeaderExtraCell.vue.mjs.map +1 -1
  26. package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs +1 -0
  27. package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs.map +1 -1
  28. package/es/components/table/src/components/InteralTable.vue.d.ts +18 -0
  29. package/es/components/table/src/components/InteralTable.vue.mjs.map +1 -1
  30. package/es/components/table/src/components/InteralTable.vue2.mjs +11 -5
  31. package/es/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
  32. package/es/components/table/src/components/Table.d.ts +22 -4
  33. package/es/components/table/src/components/Table.mjs +45 -11
  34. package/es/components/table/src/components/Table.mjs.map +1 -1
  35. package/es/components/table/src/components/interface.d.ts +30 -3
  36. package/es/components/table/src/components/interface.mjs +9 -1
  37. package/es/components/table/src/components/interface.mjs.map +1 -1
  38. package/es/components/table/src/hooks/useCellProps.mjs +3 -1
  39. package/es/components/table/src/hooks/useCellProps.mjs.map +1 -1
  40. package/es/components/table/src/hooks/useContainer.mjs +1 -1
  41. package/es/components/table/src/hooks/useContainer.mjs.map +1 -1
  42. package/es/components/table/src/hooks/useFetchData.mjs +2 -1
  43. package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
  44. package/es/components/table/src/hooks/useHover.d.ts +3 -0
  45. package/es/components/table/src/hooks/useHover.mjs +3 -1
  46. package/es/components/table/src/hooks/useHover.mjs.map +1 -1
  47. package/es/components/table/src/hooks/usePagination.d.ts +1 -0
  48. package/es/components/table/src/hooks/usePagination.mjs +7 -2
  49. package/es/components/table/src/hooks/usePagination.mjs.map +1 -1
  50. package/es/components/table/src/utils/genProColumnToColumn.mjs +6 -4
  51. package/es/components/table/src/utils/genProColumnToColumn.mjs.map +1 -1
  52. package/es/components/table/src/utils/util.d.ts +1 -1
  53. package/es/components/table/src/utils/util.mjs +1 -1
  54. package/es/components/table/src/utils/util.mjs.map +1 -1
  55. package/es/index.d.ts +32 -3
  56. package/es/utils/validate.d.ts +1 -1
  57. package/es/utils/validate.mjs +1 -1
  58. package/es/utils/validate.mjs.map +1 -1
  59. package/es/version.d.ts +1 -1
  60. package/es/version.mjs +1 -1
  61. package/es/version.mjs.map +1 -1
  62. package/lib/components/form/src/layouts/QueryFilter.js +1 -2
  63. package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
  64. package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
  65. package/lib/components/table/src/components/Body/Body.vue2.js +1 -2
  66. package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
  67. package/lib/components/table/src/components/Body/BodyCell.js +1 -1
  68. package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
  69. package/lib/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
  70. package/lib/components/table/src/components/Body/BodyRow.vue2.js +3 -3
  71. package/lib/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
  72. package/lib/components/table/src/components/Drag/RowHandler.vue.js.map +1 -1
  73. package/lib/components/table/src/components/Drag/RowHandler.vue2.js +17 -16
  74. package/lib/components/table/src/components/Drag/RowHandler.vue2.js.map +1 -1
  75. package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js +17 -5
  76. package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js.map +1 -1
  77. package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js +1 -0
  78. package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js.map +1 -1
  79. package/lib/components/table/src/components/Header/HeaderExtraCell.vue.js.map +1 -1
  80. package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js +1 -0
  81. package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js.map +1 -1
  82. package/lib/components/table/src/components/InteralTable.vue.d.ts +18 -0
  83. package/lib/components/table/src/components/InteralTable.vue.js.map +1 -1
  84. package/lib/components/table/src/components/InteralTable.vue2.js +12 -6
  85. package/lib/components/table/src/components/InteralTable.vue2.js.map +1 -1
  86. package/lib/components/table/src/components/Table.d.ts +22 -4
  87. package/lib/components/table/src/components/Table.js +44 -10
  88. package/lib/components/table/src/components/Table.js.map +1 -1
  89. package/lib/components/table/src/components/interface.d.ts +30 -3
  90. package/lib/components/table/src/components/interface.js +9 -1
  91. package/lib/components/table/src/components/interface.js.map +1 -1
  92. package/lib/components/table/src/hooks/useCellProps.js +3 -1
  93. package/lib/components/table/src/hooks/useCellProps.js.map +1 -1
  94. package/lib/components/table/src/hooks/useContainer.js +1 -1
  95. package/lib/components/table/src/hooks/useContainer.js.map +1 -1
  96. package/lib/components/table/src/hooks/useFetchData.js +2 -1
  97. package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
  98. package/lib/components/table/src/hooks/useHover.d.ts +3 -0
  99. package/lib/components/table/src/hooks/useHover.js +2 -0
  100. package/lib/components/table/src/hooks/useHover.js.map +1 -1
  101. package/lib/components/table/src/hooks/usePagination.d.ts +1 -0
  102. package/lib/components/table/src/hooks/usePagination.js +7 -1
  103. package/lib/components/table/src/hooks/usePagination.js.map +1 -1
  104. package/lib/components/table/src/utils/genProColumnToColumn.js +6 -4
  105. package/lib/components/table/src/utils/genProColumnToColumn.js.map +1 -1
  106. package/lib/components/table/src/utils/util.d.ts +1 -1
  107. package/lib/components/table/src/utils/util.js +1 -1
  108. package/lib/components/table/src/utils/util.js.map +1 -1
  109. package/lib/index.d.ts +32 -3
  110. package/lib/utils/validate.d.ts +1 -1
  111. package/lib/utils/validate.js +1 -1
  112. package/lib/utils/validate.js.map +1 -1
  113. package/lib/version.d.ts +1 -1
  114. package/lib/version.js +1 -1
  115. package/lib/version.js.map +1 -1
  116. package/package.json +1 -1
  117. package/theme-chalk/index.css +1 -1
  118. package/theme-chalk/src/table/table.less +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"interface.mjs","sources":["../../../../../../../packages/components/table/src/components/interface.ts"],"sourcesContent":["import type { TooltipProps } from 'ant-design-vue/es/tooltip'\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n ComputedRef,\n CSSProperties,\n ExtractPropTypes,\n HTMLAttributes,\n PropType,\n Ref,\n VNode,\n} from 'vue'\nimport type {\n AppendCellRange,\n FormatRangeCellTextParams,\n KeydownPayload,\n SelectedRangeItem,\n} from '../hooks/RangeInterface'\nimport type { INTERNAL_SELECTION_ITEM } from '../hooks/useRowSelection'\nimport type { DOWN, LEFT, RIGHT, UP } from './Drag/constant'\nimport type { TablePaginationConfig, TablePaginationPosition } from './PaginationConfig'\nimport type { InputProps } from 'ant-design-vue/es/input'\nimport type { UseFetchDataAction } from '../hooks/useFetchData'\nimport type { CardProps, PopoverProps } from 'ant-design-vue'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\nexport type DefaultRecordType = Record<string, any>\nexport interface TooltipAlignConfig {\n points?: [string, string]\n offset?: [number | string, number | string]\n targetOffset?: [number | string, number | string]\n overflow?: {\n adjustX: boolean\n adjustY: boolean\n }\n useCssRight?: boolean\n useCssBottom?: boolean\n useCssTransform?: boolean\n}\nexport type RowType = 'left' | 'center' | 'right'\nexport type ValueStatus = 'success' | 'processing' | 'error' | 'warning' | string | undefined\nexport type Key = string | number\nexport interface Position {\n left?: number\n top?: number\n columnIndex?: number\n columnKey?: Key\n rowKey?: Key\n}\nexport type { TablePaginationPosition, TablePaginationConfig }\nexport type DataIndex = string | number | readonly (string | number)[]\nexport type CellEllipsisType =\n | {\n showTitle?: boolean\n line?: number\n }\n | boolean\nexport type FixedType = 'left' | 'right' | boolean\nexport type RowHeight =\n | ((p: Record<any, any>, isExpandRow: boolean, baseHeight: number) => number | undefined)\n | number\nexport type HeaderHeight = number[] | number\nexport interface RowsRefsItem {\n left?: any\n right?: any\n conter?: any\n}\n// const SpinSizes = ['small', 'default', 'large']\nexport type SpinSize = 'small' | 'default' | 'large'\n// const TableActions = ['paginate', 'sort', 'filter']\nexport type TableAction = 'paginate' | 'sort' | 'filter'\nexport interface StickyOffsets {\n left: readonly number[]\n right: readonly number[]\n isSticky?: boolean\n}\nexport interface CellEditorArgs {\n modelValue: Ref<any>\n save: () => void\n onInput: (event: Event, value: any) => void\n closeEditor: () => void\n column: ColumnType\n editorRef: Ref<any>\n getPopupContainer: () => HTMLElement\n recordIndexs: number[]\n record: any\n}\n\nexport const checkboxProps = () => ({\n prefixCls: String as PropType<string>,\n disabled: Boolean as PropType<boolean>,\n tabindex: [String, Number],\n name: String as PropType<string>,\n id: String as PropType<string>,\n style: {\n type: Object as PropType<CSSProperties>,\n default: () => ({}),\n },\n class: String as PropType<string>,\n checked: Boolean as PropType<boolean>,\n indeterminate: Boolean as PropType<boolean>,\n ariaLabel: String as PropType<string>,\n})\n\nexport type CheckboxProps = Partial<ExtractPropTypes<ReturnType<typeof checkboxProps>>>\nexport type RowSelectionType = 'checkbox' | 'radio'\nexport type GetRowKey<RecordType = DefaultRecordType> = (record: RecordType, index?: number) => Key\nexport interface HeaderSticky {\n offsetHeader?: number\n topSummary?: boolean\n}\n\nexport interface BottomSticky {\n offsetBottom?: number\n}\n\nexport type FlatRecord<T = DefaultRecordType> = {\n record: T\n indent: number\n rowKey: Key\n isExpandRow?: boolean\n rowIndex: number\n pos: string\n flattenIndex: number\n level: number\n}\nexport type GetPopupContainer = (triggerNode: HTMLElement) => HTMLElement\nexport interface SorterResult<RecordType> {\n column?: ColumnType<RecordType>\n order?: SortOrder\n field?: Key | readonly Key[]\n columnKey?: Key\n}\nexport interface TableCurrentDataSource<RecordType = DefaultRecordType> {\n currentDataSource: RecordType[]\n action: TableAction\n}\ntype ChangeEvent<RecordType> = (\n pagination: TablePaginationConfig,\n filters: Record<string, FilterValue | null>,\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[],\n extra: TableCurrentDataSource<RecordType>,\n) => void\ntype Scroll = {\n x?: number | string\n y?: number | string\n scrollToFirstRowOnChange?: boolean\n}\nexport type RowClassName<RecordType> = (\n record: RecordType,\n index: number,\n indent?: number,\n) => string\nexport type ExpandType = null | 'row' | 'nest'\nexport type ExpandedRowRender<ValueType> = (opt: {\n record: ValueType\n index: number\n indent: number\n expanded: boolean\n}) => any\nexport type TriggerEventHandler<RecordType> = (\n record: RecordType,\n key: Key,\n event: MouseEvent,\n) => void\nexport interface RenderExpandIconProps<RecordType> {\n prefixCls: string\n expanded: boolean\n record: RecordType\n expandable: boolean\n onExpand: TriggerEventHandler<RecordType>\n}\nexport type RenderExpandIcon<RecordType> = (props: RenderExpandIconProps<RecordType>) => any\nexport type SelectionItemSelectFn = (currentRowKeys: Key[]) => void\nexport interface SelectionItem {\n key: string\n text: any\n onSelect?: SelectionItemSelectFn\n}\nexport type SelectionSelectFn<T> = (\n record: T,\n selected: boolean,\n selectedRows: T[],\n nativeEvent: Event,\n) => void\nexport interface TableRowSelection<T = DefaultRecordType> {\n /** Keep the selection keys in list even the key not exist in `dataSource` anymore */\n preserveSelectedRowKeys?: boolean\n type?: RowSelectionType\n allowCancelRadio?: boolean\n selectedRowKeys?: Key[]\n defaultSelectedRowKeys?: Key[]\n onChange?: (selectedRowKeys: Key[], selectedRows: T[]) => void\n getCheckboxProps?: (record: T) => Partial<Omit<CheckboxProps, 'checked' | 'defaultChecked'>>\n onSelect?: SelectionSelectFn<T>\n onSelectMultiple?: (selected: boolean, selectedRows: T[], changeRows: T[]) => void\n /** @deprecated This function is meaningless and should use `onChange` instead */\n onSelectAll?: (selected: boolean, selectedRows: T[], changeRows: T[]) => void\n /** @deprecated This function is meaningless and should use `onChange` instead */\n onSelectInvert?: (selectedRowKeys: Key[]) => void\n onSelectNone?: () => void\n selections?: INTERNAL_SELECTION_ITEM[] | boolean\n hideSelectAll?: boolean\n fixed?: boolean\n columnWidth?: string | number\n columnTitle?: any\n checkStrictly?: boolean\n renderCell?: (value: boolean, record: T, index: number, originNode: any) => any\n}\ntype GetComponentProps<DataType> = (\n data: DataType,\n index?: number,\n) => Omit<HTMLAttributes, 'style'> & {\n style?: CSSProperties\n}\nexport type ResizeActionType = 'start' | 'move' | 'end'\nexport type SummaryFixed = boolean | 'top' | 'bottom'\nexport const baseTableProps = <T = DefaultRecordType>() => ({\n ignoreCellKey: Boolean,\n showHeaderScrollbar: Boolean,\n deepWatchDataSource: Boolean,\n deepWatchColumns: Boolean,\n prefixCls: String,\n columnDrag: {\n type: Boolean,\n default: false,\n },\n animateRows: {\n type: Boolean,\n default: undefined,\n },\n dropdownPrefixCls: { type: String },\n columns: {\n type: Array as PropType<ColumnsType<T>>,\n default: () => [],\n },\n dataSource: {\n type: Array as PropType<T[]>,\n default: () => [],\n },\n virtual: {\n type: Boolean,\n default: false,\n },\n xVirtual: {\n type: Boolean,\n default: undefined,\n },\n rowHeight: {\n type: [Number, Function] as PropType<RowHeight>,\n default: undefined,\n },\n autoHeaderHeight: {\n type: Boolean,\n default: false,\n },\n headerHeight: {\n type: [Number, Array] as PropType<HeaderHeight>,\n },\n height: {\n type: [Number, String],\n },\n maxHeight: {\n type: [Number, String],\n },\n minHeight: {\n type: [Number, String],\n },\n size: {\n type: String as PropType<DensitySize>,\n },\n bordered: {\n type: Boolean,\n default: false,\n },\n wrapText: {\n type: Boolean,\n default: false,\n },\n loading: {\n type: [Boolean, Object] as PropType<boolean | SpinProps>,\n default: undefined,\n },\n pagination: {\n type: [Boolean, Object] as PropType<false | TablePaginationConfig>,\n default: () => ({}),\n },\n direction: {\n type: String as PropType<'rtl'>,\n default: undefined,\n },\n stripe: {\n type: Boolean,\n default: false,\n },\n rowClassName: {\n type: [String, Function] as PropType<string | RowClassName<T>>,\n default: undefined,\n },\n sticky: {\n type: [Boolean, Object] as PropType<boolean | HeaderSticky>,\n default: true,\n },\n selectedRowKeys: {\n type: Array as PropType<Key[]>,\n default: undefined,\n },\n expandFixed: {\n type: [Boolean, String] as PropType<FixedType>,\n default: undefined,\n },\n expandColumnWidth: {\n type: Number,\n default: undefined,\n },\n expandedRowKeys: {\n type: Array as PropType<Key[]>,\n default: undefined,\n },\n defaultExpandedRowKeys: {\n type: Array as PropType<Key[]>,\n default: undefined,\n },\n expandedRowRender: {\n type: Function as PropType<ExpandedRowRender<T>>,\n default: undefined,\n },\n expandRowByClick: {\n type: Boolean,\n default: undefined,\n },\n expandIcon: {\n type: Function as PropType<RenderExpandIcon<T>>,\n default: undefined,\n },\n onExpand: {\n type: Function as PropType<(expanded: boolean, record: T) => void>,\n default: undefined,\n },\n onExpandedRowsChange: {\n type: Function as PropType<(expandedKeys: Key[]) => void>,\n default: undefined,\n },\n defaultExpandAllRows: {\n type: Boolean,\n default: undefined,\n },\n indentSize: Number,\n expandIconColumnIndex: Number,\n childrenColumnName: {\n type: String,\n default: undefined,\n },\n rowExpandable: {\n type: Function as PropType<(record: T) => boolean>,\n default: () => true,\n },\n rowSelection: {\n type: Object as PropType<TableRowSelection<DefaultRecordType>>,\n default: undefined,\n },\n rowHoverDelay: {\n type: Number,\n default: 59,\n },\n rowKey: {\n type: [Function, String] as PropType<string | GetRowKey<T>>,\n },\n customRow: {\n type: Function as PropType<GetComponentProps<T>>,\n default: () => ({}),\n },\n customCell: {\n type: Function as PropType<\n (obj: { record: T; rowIndex: number; column: ColumnType<T> }) => Record<string, any>\n >,\n default: () => ({}),\n },\n customHeaderCell: {\n type: Function as PropType<(column: ColumnType<T>) => Record<string, any>>,\n default: () => ({}),\n },\n customSummaryCellProps: {\n type: Function as PropType<\n (obj: {\n record: T\n rowIndex: number\n column: ColumnType<T>\n columnIndex: number\n }) => Record<string, any>\n >,\n default: () => ({}),\n },\n showHeader: {\n type: Boolean,\n default: true,\n },\n showSorterTooltip: {\n type: [Boolean, Object] as PropType<boolean | TooltipProps>,\n default: true,\n },\n getPopupContainer: {\n type: Function as PropType<GetPopupContainer>,\n },\n locale: {\n type: Object as PropType<TableLocale>,\n default: undefined,\n },\n scrollX: {\n type: [Number, String] as PropType<string | number>,\n },\n scroll: {\n type: Object as PropType<Scroll>,\n default: undefined,\n },\n rangeSelection: {\n type: [String, Boolean] as PropType<boolean | 'single'>,\n default: false,\n },\n copyDelimiter: {\n type: String,\n default: '',\n },\n rowDrag: {\n type: [Boolean],\n },\n onChange: {\n type: Function as PropType<ChangeEvent<T>>,\n },\n summaryFixed: {\n type: [Boolean, String] as PropType<SummaryFixed>,\n default: false,\n },\n hasContextmenuPopup: Boolean,\n formatRangeCellText: {\n type: Function as PropType<(params: FormatRangeCellTextParams) => string>,\n },\n 'onUpdate:selectedRowKeys': {\n type: Function as PropType<(selectedRowKeys: Key[], selectedRows: T[]) => void>,\n },\n onScroll: {\n type: Function as PropType<(e: UIEvent) => void>,\n },\n 'onUpdate:expandedRowKeys': {\n type: Function as PropType<(info: Key[]) => void>,\n },\n onResizeColumn: {\n type: Function as PropType<\n (w: number, col: ColumnType, action: ResizeActionType) => boolean | void\n >,\n default: undefined,\n },\n onRowDragEnd: {\n type: Function as PropType<(opt: DragRowEventInfo) => boolean | Promise<any> | void>,\n default: undefined,\n },\n onColumnDragEnd: {\n type: Function as PropType<(opt: DragColumnEventInfo) => boolean | Promise<any> | void>,\n default: undefined,\n },\n onCellKeydown: {\n type: Function as PropType<(e: KeyboardEvent, opt: KeydownPayload) => boolean | void>,\n default: undefined,\n },\n onCellClick: {\n type: Function as PropType<(e: MouseEvent, opt: CellRenderArgs) => void>,\n default: undefined,\n },\n onBeforeOpenEditor: {\n type: Function as PropType<(opt: CellRenderArgs) => boolean | Promise<boolean> | void>,\n default: undefined,\n },\n onOpenEditor: {\n type: Function as PropType<(opt: CellRenderArgs) => void>,\n default: undefined,\n },\n onBeforeCloseEditor: {\n type: Function as PropType<(opt: CellRenderArgs) => boolean | Promise<boolean> | void>,\n default: undefined,\n },\n onCloseEditor: {\n type: Function as PropType<(opt: CellRenderArgs) => void>,\n default: undefined,\n },\n 'onUpdate:pagination': {\n type: Function as PropType<(info: TablePaginationConfig) => void>,\n },\n 'onUpdate:dataSource': {\n type: Function as PropType<(dataSource: T[]) => void>,\n },\n columnEmptyText: {\n type: [String, Boolean] as PropType<string | false>,\n default: '-',\n },\n toolBar: { type: Boolean, default: undefined },\n options: { type: [Object, Boolean] as PropType<OptionConfig | false>, default: undefined },\n alwaysShowAlert: { type: Boolean, default: undefined },\n // requst 相关配置\n request: Function as PropType<Request>,\n params: Object as PropType<Record<string, any>>,\n defaultData: Array as PropType<T[]>,\n manual: Boolean,\n polling: [Number, Function] as PropType<number | ((dataSource: any[]) => number)>,\n debounceTime: Number,\n onLoad: {\n type: Function as PropType<(dataSource: T[], extra: any) => void>,\n default: undefined,\n },\n onLoadingChange: {\n type: Function as PropType<(loading: boolean | SpinProps | undefined) => void>,\n default: undefined,\n },\n onRequestError: {\n type: Function as PropType<(e: Error) => void>,\n default: undefined,\n },\n onSizeChange: {\n type: Function as PropType<(size: DensitySize) => void>,\n default: undefined,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n /** @name 列状态的配置,可以用来操作列功能 */\n columnsState: {\n type: Object as PropType<ColumnStateType>,\n default: undefined,\n },\n /** @name 是否要高亮选择行\t */\n highlightSelectRow: {\n type: Boolean,\n default: false,\n },\n\n paginationSticky: {\n type: [Boolean, Object] as PropType<boolean | BottomSticky>,\n default: true,\n },\n horizontalScrollSticky: {\n type: [Boolean, Object] as PropType<boolean | BottomSticky>,\n default: true,\n },\n})\n\nexport const tableProps = <T = DefaultRecordType>() => ({\n ...baseTableProps<T>(),\n title: String,\n subTitle: String,\n footer: Function,\n tooltip: String,\n cardProps: {\n type: [Object, Boolean] as PropType<CardProps | false>,\n default: undefined,\n },\n search: {\n type: [Object, Boolean] as PropType<SearchConfig | false>,\n default: undefined,\n },\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<T>) => any>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n})\nclass Helper<T extends DefaultRecordType> {\n Return = tableProps<T>()\n}\nexport type ProTableProps<T extends DefaultRecordType = DefaultRecordType> = Partial<\n ExtractPropTypes<Helper<T>['Return']>\n>\nexport interface TableLocale {\n filterTitle?: string\n filterConfirm?: any\n filterReset?: any\n filterEmptyText?: any\n emptyText?: any | (() => any)\n selectAll?: any\n selectNone?: any\n selectInvert?: any\n selectionAll?: any\n sortTitle?: string\n expand?: string\n collapse?: string\n triggerDesc?: string\n triggerAsc?: string\n cancelSort?: string\n}\nexport interface ColumnTitleProps<RecordType> {\n /** @deprecated Please use `sorterColumns` instead. */\n sortOrder?: SortOrder\n /** @deprecated Please use `sorterColumns` instead. */\n sortColumn?: ColumnType<RecordType>\n sortColumns?: {\n column: ColumnType<RecordType>\n order: SortOrder\n }[]\n filters?: Record<string, string[]>\n}\nexport type ColumnTitle<RecordType = DefaultRecordType> =\n | string\n | number\n | object\n | ((props: ColumnTitleProps<RecordType>) => any)\ninterface ColumnSharedType {\n title?: ColumnTitle\n key?: Key\n className?: string\n class?: string\n fixed?: FixedType\n ellipsis?: CellEllipsisType\n align?: AlignType\n wrapText?: boolean\n dataIndex?: DataIndex\n}\nexport interface FilterConfirmProps {\n closeDropdown: boolean\n}\nexport type AlignType = 'left' | 'center' | 'right'\nexport interface ColumnFilterItem {\n text: string | number\n value: string | number | boolean\n children?: ColumnFilterItem[]\n}\nexport type SortOrder = 'desc' | 'asc' | null\nexport type CompareFn<T> = (a: T, b: T, sortOrder?: SortOrder) => number\nexport type FilterValue = (Key | boolean)[]\nexport type FilterKey = Key[] | null\nexport interface FilterDropdownProps {\n prefixCls: string\n confirm: (param?: FilterConfirmProps) => void\n clearFilters?: () => void\n filters?: ColumnFilterItem[]\n /** @deprecated Please use `open` instead */\n visible: boolean\n open: boolean\n}\nexport interface CellType {\n key?: Key\n class?: string\n style?: CSSProperties\n colSpan?: number\n rowSpan?: number\n}\nexport interface HeaderCellType {\n key?: Key\n class?: string\n style?: CSSProperties\n column?: FinallyColumnType\n colSpan?: number\n rowSpan?: number\n hasSubColumns?: boolean\n colStart?: number\n colEnd?: number\n}\nexport interface RenderedCell {\n props?: CellType\n children?: any\n}\nexport type CellRenderArgs = {\n record: any\n column: ColumnType<DefaultRecordType> | ColumnGroupType<DefaultRecordType>\n text: any\n value: any\n index: number\n oldValue?: any\n recordIndexs: number[]\n openEditor: () => void\n closeEditor: () => void\n}\nexport interface ContextmenuPopupArg<RecordT, ColumnT>\n extends Omit<Partial<CellRenderArgs>, 'column' | 'record'> {\n column?: ColumnT\n record?: RecordT\n event: MouseEvent\n isExpand?: boolean\n hidePopup: () => void\n}\nexport type MenuFilterProps = {\n prefixCls: string\n setSelectedKeys: (selectedKeys: Key[]) => void\n selectedKeysRef: Ref<Key[]>\n confirm: () => void\n clearFilters: () => void\n filters: ColumnFilterItem[]\n}\nexport interface MenuPopupArg<ColumnT> {\n column: ColumnT\n event: MouseEvent\n hidePopup: () => void\n filter: MenuFilterProps\n}\nexport interface CellTooltip {\n placement?:\n | 'top'\n | 'left'\n | 'right'\n | 'bottom'\n | 'topLeft'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomRight'\n | 'leftTop'\n | 'leftBottom'\n | 'rightTop'\n | 'rightBottom'\n color?: string\n overlayStyle?: CSSProperties\n overlayClassName?: string\n openClassName?: string\n title?: (args: CellRenderArgs) => any\n align?: TooltipAlignConfig\n shouldOpen?: (isEllipsis: boolean, args: CellRenderArgs) => boolean\n allowEnter?: boolean\n}\nexport interface ValueParserParams<RecordType = DefaultRecordType, TValue = any> {\n newValue: TValue\n oldValue: TValue\n record: RecordType\n recordIndexs: number[]\n column: ColumnType<RecordType>\n}\nexport interface EditableValueParams<RecordType = DefaultRecordType, TValue = any> {\n value: TValue\n record: RecordType\n recordIndexs: number[]\n column: ColumnType<RecordType>\n}\nexport interface ValueParserFunc<T = any, TValue = any> {\n (params: ValueParserParams<T, TValue>): TValue | null | undefined\n}\nexport interface ValueGetterFunc<T = any, TValue = any> {\n (params: EditableValueParams<T, TValue>): string | null | undefined\n}\ntype CellEditorSlot = 'cellEditorSlot'\nexport type EditableTrigger = 'click' | 'dblClick' | 'contextmenu'\nexport interface ColumnType<RecordType = DefaultRecordType>\n extends ColumnSharedType,\n Omit<\n ProFormItemType,\n | 'key'\n | 'originKey'\n | 'tooltip'\n | 'hidden'\n | 'grid'\n | 'title'\n | 'spaceProps'\n | 'children'\n | 'width'\n | 'ignoreWidth'\n | 'name'\n | 'originName'\n | 'rowProps'\n | 'colProps'\n | 'valueEnum'\n > {\n // search?:\n // | boolean\n // | Omit<\n // ProFormItemType,\n // | 'key'\n // | 'originKey'\n // | 'tooltip'\n // | 'hidden'\n // | 'grid'\n // | 'title'\n // | 'spaceProps'\n // | 'children'\n // | 'width'\n // | 'ignoreWidth'\n // | 'name'\n // | 'originName'\n // | 'rowProps'\n // | 'colProps'\n // | 'valueEnum'\n // >\n colSpan?: number\n dataIndex?: DataIndex\n key?: Key\n rowSpan?: number\n width?: number\n minWidth?: number\n maxWidth?: number\n resizable?: boolean\n flex?: number\n autoHeight?: boolean\n tooltip?: true | CellTooltip\n headerTooltip?: string\n hidden?: boolean\n sorter?:\n | boolean\n | CompareFn<RecordType>\n | {\n compare?: CompareFn<RecordType>\n /** Config multiple sorter order priority */\n multiple?: number\n }\n showCellPopover?: boolean | PopoverProps\n sortOrder?: SortOrder\n defaultSortOrder?: SortOrder\n sortDirections?: SortOrder[]\n showSorterTooltip?: boolean | TooltipProps\n filtered?: boolean\n filters?: ColumnFilterItem[]\n filterIcon?: ({ filtered }: { filtered: boolean }) => any\n filterDropdown?: (props: FilterDropdownProps) => any\n filterMultiple?: boolean\n filteredValue?: FilterValue | null\n defaultFilteredValue?: FilterValue | null\n onFilter?: (value: string | number | boolean, record: RecordType) => boolean\n showFilter?: boolean\n showMenu?: boolean | 'hover'\n /** @deprecated Please use `filterDropdownOpen` instead */\n filterDropdownVisible?: boolean\n /** @deprecated Please use `onFilterDropdownOpenChange` instead */\n onFilterDropdownVisibleChange?: (open: boolean) => void\n filterDropdownOpen?: boolean\n onFilterDropdownOpenChange?: (open: boolean) => void\n customFilterDropdown?: boolean\n getPopupContainer?: GetPopupContainer\n customCell?: (obj: {\n record: any\n rowIndex: number\n column: ColumnType<RecordType>\n }) => Record<string, any>\n customHeaderCell?: (column: ColumnType<RecordType>) => Record<string, any>\n customRender?: (opt: {\n value: any\n text: any\n record: RecordType\n index: number\n column: ColumnType<RecordType>\n }) => any | RenderedCell\n editable?:\n | boolean\n | CellEditorSlot\n | ((params: EditableValueParams<RecordType>) => boolean | CellEditorSlot)\n editableTrigger?: EditableTrigger | EditableTrigger[]\n valueParser?: ValueParserFunc<RecordType>\n valueGetter?: ValueGetterFunc<RecordType>\n valueSetter?: (params: ValueParserParams<RecordType>) => boolean | Promise<any>\n valueChange?: (e: Event, params: ValueParserParams<RecordType>) => void\n rowDrag?: boolean | ((arg: { record: RecordType; column: ColumnType<RecordType> }) => boolean)\n drag?: boolean\n /** @deprecated Please use `v-slot:customFilterIcon` `v-slot:bodyCell` `v-slot:headerCell` instead */\n slots?: {\n filterIcon?: string\n filterDropdown?: string\n customRender?: string\n title?: string\n }\n valueEnum?: ((row: RecordType) => Record<string, ValueEnumType>) | Record<string, ValueEnumType>\n valueStatus?: ((value: any, row: RecordType) => ValueStatus) | ValueStatus\n renderText?: (text: any, record: RecordType, rowIndex: number) => string\n /** @name 列设置的 disabled */\n disable?:\n | boolean\n | {\n checkbox: boolean\n }\n /** @name 在 table 中隐藏 */\n hideInTable?: boolean\n\n /** @name 在 search 中隐藏 */\n hideInSearch?: boolean\n\n /** @name 不在配置工具中显示 */\n hideInSetting?: boolean\n\n /** @name 不在过滤工具中显示 */\n hideInFilter?: boolean\n}\nexport interface ColumnGroupType<RecordType = DefaultRecordType> extends ColumnType<RecordType> {\n children?: ColumnsType<RecordType>\n}\nexport type ColumnsType<RecordType = DefaultRecordType> = (\n | ColumnGroupType<RecordType>\n | ColumnType<RecordType>\n)[]\nexport interface FinallyColumnType<RecordType = DefaultRecordType> extends ColumnType<RecordType> {\n finallyWidth?: number\n rowSpan?: number\n height?: number\n left?: number\n top?: number\n type?: 'checkbox' | 'expand' | 'rowIndex' | 'draggable'\n columnKey: Key\n columnIndex: number\n children?: FinallyColumnType<RecordType>[]\n originColumn?: ColumnsType[number]\n __Internal__Column__?: boolean\n showTitle: boolean\n fixed?: 'left' | 'right'\n}\ntype CellInfo = {\n columnKey: Key\n rowKey: Key\n}\nexport interface TableExposeType {\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => void\n scrollLeft?: Ref<number>\n scrollTop?: Ref<number>\n bodyRef?: ComputedRef<HTMLDivElement>\n getSelectedRange: () => SelectedRangeItem[]\n clearAllSelectedRange: () => void\n clearDataSource: () => void\n copySelectedRange: () => void\n appendCellToSelectedRange: (cell: AppendCellRange) => void\n openEditor: (cellInfos: CellInfo[]) => void\n closeEditor: (cellInfos?: CellInfo[]) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n reset: () => void\n}\nexport interface DragRowsHandleInfo {\n y: number\n top: number\n height: number\n rowKey: Key\n centerY: number\n record: DefaultRecordType\n indexs: number[]\n}\nexport interface DragColumnHandleInfo {\n x: number\n left: number\n width: number\n columnKey: Key\n centerX: number\n indexs: number[]\n}\nexport interface DragRowEventInfo {\n top: number\n height: number\n dir: typeof DOWN | typeof UP\n rowKey: Key\n record: DefaultRecordType\n event: MouseEvent | Touch\n column: ColumnType\n preTargetInfo: DragRowsHandleInfo | null\n nextTargetInfo: DragRowsHandleInfo | null\n fromIndexs: number[]\n insertToRowKey: Key\n}\nexport interface RowDragGhostArg<RecordT, ColumnT> {\n record: RecordT\n column: ColumnT\n icon: VNode\n allowed: boolean\n dragging: boolean\n event: MouseEvent | Touch\n preTargetInfo: DragRowsHandleInfo | null\n nextTargetInfo: DragRowsHandleInfo | null\n}\nexport interface DragColumnEventInfo {\n event: MouseEvent | Touch\n column: ColumnType\n targetColumn: ColumnType\n dir: typeof LEFT | typeof RIGHT\n}\nexport interface ColumnDragGhostArg<ColumnT> {\n column: ColumnT\n icon: VNode\n allowed: boolean\n dragging: boolean\n event: MouseEvent | Touch\n targetColumn: ColumnT\n}\n\nexport type DensitySize = 'small' | 'default' | 'middle' | undefined\nexport type Request<T = DefaultRecordType, U = Record<string, any>> = (\n params: U & {\n pageSize?: number\n current?: number\n keyword?: string\n },\n sorters?: SorterResult<T>[],\n filter?: Record<string, (string | number)[] | null>,\n) => Promise<Partial<RequestData<T>>>\n\nexport type RequestData<T = DefaultRecordType> = {\n data: T[] | undefined\n success?: boolean\n total?: number\n} & Record<string, any>\n\nexport type OptionsFunctionType = (e: any, action?: UseFetchDataAction<any>) => void\n\nexport type OptionsType = OptionsFunctionType | boolean\n\nexport type SettingOptionType = {\n draggable?: boolean\n checkable?: boolean\n checkedReset?: boolean\n listsHeight?: number\n}\n\nexport type OptionSearchProps = Omit<InputProps, 'onSearch'> & {\n /** 如果 onSearch 返回一个false,直接拦截请求 */\n onSearch?: (keyword: string) => Promise<boolean | undefined> | boolean | undefined\n}\n\nexport type OptionConfig = {\n density?: boolean\n filter?: boolean\n reload?: OptionsType\n setting?: boolean | SettingOptionType\n search?: (OptionSearchProps & { name?: string }) | boolean\n}\n\nexport type ValueEnumType = {\n text: string | number\n label?: string | number\n status?: string\n color?: string\n disabled?: boolean\n value?: string | number | boolean\n children?: ValueEnumType[]\n}\n\nexport type ColumnsState = {\n show?: boolean\n fixed?: true | 'right' | 'left' | undefined\n order?: number\n disable?:\n | boolean\n | {\n checkbox: boolean\n }\n}\n\nexport type ColumnStateType = {\n /**\n * 持久化的类型,支持 localStorage 和 sessionStorage\n *\n * @param localStorage 设置在关闭浏览器后也是存在的\n * @param sessionStorage 关闭浏览器后会丢失\n */\n persistenceType?: 'localStorage' | 'sessionStorage'\n /** 持久化的key,用于存储到 storage 中 */\n persistenceKey?: string\n /** ColumnsState 的值 */\n defaultValue?: Record<string, ColumnsState>\n /** ColumnsState 的值 */\n value?: Record<string, ColumnsState>\n onChange?: (map: Record<string, ColumnsState>) => void\n}\n\nexport type SearchConfig = ProQueryFilterProps & {\n cardProps?: CardProps | false\n tabName?: string\n style?: CSSProperties\n}\n\nexport type BorderedType = 'search' | 'table'\n\nexport type Bordered =\n | boolean\n | {\n search?: boolean\n table?: boolean\n }\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.mjs","sources":["../../../../../../../packages/components/table/src/components/interface.ts"],"sourcesContent":["import type { TooltipProps } from 'ant-design-vue/es/tooltip'\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n ComputedRef,\n CSSProperties,\n ExtractPropTypes,\n HTMLAttributes,\n PropType,\n Ref,\n VNode,\n} from 'vue'\nimport type {\n AppendCellRange,\n FormatRangeCellTextParams,\n KeydownPayload,\n SelectedRangeItem,\n} from '../hooks/RangeInterface'\nimport type { INTERNAL_SELECTION_ITEM } from '../hooks/useRowSelection'\nimport type { DOWN, LEFT, RIGHT, UP } from './Drag/constant'\nimport type { TablePaginationConfig, TablePaginationPosition } from './PaginationConfig'\nimport type { InputProps } from 'ant-design-vue/es/input'\nimport type { UseFetchDataAction } from '../hooks/useFetchData'\nimport type { CardProps, PopoverProps } from 'ant-design-vue'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\nexport type DefaultRecordType = Record<string, any>\nexport interface TooltipAlignConfig {\n points?: [string, string]\n offset?: [number | string, number | string]\n targetOffset?: [number | string, number | string]\n overflow?: {\n adjustX: boolean\n adjustY: boolean\n }\n useCssRight?: boolean\n useCssBottom?: boolean\n useCssTransform?: boolean\n}\nexport type RowType = 'left' | 'center' | 'right'\nexport type ValueStatus = 'success' | 'processing' | 'error' | 'warning' | string | undefined\nexport type Key = string | number\nexport interface Position {\n left?: number\n top?: number\n columnIndex?: number\n columnKey?: Key\n rowKey?: Key\n}\nexport type { TablePaginationPosition, TablePaginationConfig }\nexport type DataIndex = string | number | readonly (string | number)[]\nexport type CellEllipsisType =\n | {\n showTitle?: boolean\n line?: number\n }\n | boolean\nexport type FixedType = 'left' | 'right' | boolean\nexport type RowHeight =\n | ((p: Record<any, any>, isExpandRow: boolean, baseHeight: number) => number | undefined)\n | number\nexport type HeaderHeight = number[] | number\nexport interface RowsRefsItem {\n left?: any\n right?: any\n conter?: any\n}\n// const SpinSizes = ['small', 'default', 'large']\nexport type SpinSize = 'small' | 'default' | 'large'\n// const TableActions = ['paginate', 'sort', 'filter']\nexport type TableAction = 'paginate' | 'sort' | 'filter'\nexport interface StickyOffsets {\n left: readonly number[]\n right: readonly number[]\n isSticky?: boolean\n}\nexport interface CellEditorArgs {\n modelValue: Ref<any>\n save: () => void\n onInput: (event: Event, value: any) => void\n closeEditor: () => void\n column: ColumnType\n editorRef: Ref<any>\n getPopupContainer: () => HTMLElement\n recordIndexs: number[]\n record: any\n}\n\nexport const checkboxProps = () => ({\n prefixCls: String as PropType<string>,\n disabled: Boolean as PropType<boolean>,\n tabindex: [String, Number],\n name: String as PropType<string>,\n id: String as PropType<string>,\n style: {\n type: Object as PropType<CSSProperties>,\n default: () => ({}),\n },\n class: String as PropType<string>,\n checked: Boolean as PropType<boolean>,\n indeterminate: Boolean as PropType<boolean>,\n ariaLabel: String as PropType<string>,\n})\n\nexport type CheckboxProps = Partial<ExtractPropTypes<ReturnType<typeof checkboxProps>>>\nexport type RowSelectionType = 'checkbox' | 'radio'\nexport type GetRowKey<RecordType = DefaultRecordType> = (record: RecordType, index?: number) => Key\nexport interface HeaderSticky {\n offsetHeader?: number\n topSummary?: boolean\n}\n\nexport interface BottomSticky {\n offsetBottom?: number\n}\n\nexport type FlatRecord<T = DefaultRecordType> = {\n record: T\n indent: number\n rowKey: Key\n isExpandRow?: boolean\n rowIndex: number\n pos: string\n flattenIndex: number\n level: number\n}\nexport type GetPopupContainer = (triggerNode: HTMLElement) => HTMLElement\nexport interface SorterResult<RecordType> {\n column?: ColumnType<RecordType>\n order?: SortOrder\n field?: Key | readonly Key[]\n columnKey?: Key\n}\nexport interface TableCurrentDataSource<RecordType = DefaultRecordType> {\n currentDataSource: RecordType[]\n action: TableAction\n}\ntype ChangeEvent<RecordType> = (\n pagination: TablePaginationConfig,\n filters: Record<string, FilterValue | null>,\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[],\n extra: TableCurrentDataSource<RecordType>,\n) => void\ntype Scroll = {\n x?: number | string\n y?: number | string\n scrollToFirstRowOnChange?: boolean\n}\nexport type RowClassName<RecordType> = (\n record: RecordType,\n index: number,\n indent?: number,\n) => string\nexport type ExpandType = null | 'row' | 'nest'\nexport type ExpandedRowRender<ValueType> = (opt: {\n record: ValueType\n index: number\n indent: number\n expanded: boolean\n}) => any\nexport type TriggerEventHandler<RecordType> = (\n record: RecordType,\n key: Key,\n event: MouseEvent,\n) => void\nexport interface RenderExpandIconProps<RecordType> {\n prefixCls: string\n expanded: boolean\n record: RecordType\n expandable: boolean\n onExpand: TriggerEventHandler<RecordType>\n}\nexport type RenderExpandIcon<RecordType> = (props: RenderExpandIconProps<RecordType>) => any\nexport type SelectionItemSelectFn = (currentRowKeys: Key[]) => void\nexport interface SelectionItem {\n key: string\n text: any\n onSelect?: SelectionItemSelectFn\n}\nexport type SelectionSelectFn<T> = (\n record: T,\n selected: boolean,\n selectedRows: T[],\n nativeEvent: Event,\n) => void\nexport interface TableRowSelection<T = DefaultRecordType> {\n /** Keep the selection keys in list even the key not exist in `dataSource` anymore */\n preserveSelectedRowKeys?: boolean\n type?: RowSelectionType\n allowCancelRadio?: boolean\n selectedRowKeys?: Key[]\n defaultSelectedRowKeys?: Key[]\n onChange?: (selectedRowKeys: Key[], selectedRows: T[]) => void\n getCheckboxProps?: (record: T) => Partial<Omit<CheckboxProps, 'checked' | 'defaultChecked'>>\n onSelect?: SelectionSelectFn<T>\n onSelectMultiple?: (selected: boolean, selectedRows: T[], changeRows: T[]) => void\n /** @deprecated This function is meaningless and should use `onChange` instead */\n onSelectAll?: (selected: boolean, selectedRows: T[], changeRows: T[]) => void\n /** @deprecated This function is meaningless and should use `onChange` instead */\n onSelectInvert?: (selectedRowKeys: Key[]) => void\n onSelectNone?: () => void\n selections?: INTERNAL_SELECTION_ITEM[] | boolean\n hideSelectAll?: boolean\n fixed?: boolean\n columnWidth?: string | number\n columnTitle?: any\n checkStrictly?: boolean\n renderCell?: (value: boolean, record: T, index: number, originNode: any) => any\n}\ntype GetComponentProps<DataType> = (\n data: DataType,\n index?: number,\n) => Omit<HTMLAttributes, 'style'> & {\n style?: CSSProperties\n}\nexport type ResizeActionType = 'start' | 'move' | 'end'\nexport type SummaryFixed = boolean | 'top' | 'bottom'\nexport const baseTableProps = <T = DefaultRecordType>() => ({\n ignoreCellKey: Boolean,\n showHeaderScrollbar: Boolean,\n deepWatchDataSource: Boolean,\n deepWatchColumns: Boolean,\n prefixCls: String,\n columnDrag: {\n type: Boolean,\n default: false,\n },\n animateRows: {\n type: Boolean,\n default: undefined,\n },\n dropdownPrefixCls: { type: String },\n columns: {\n type: Array as PropType<ColumnsType<T>>,\n default: () => [],\n },\n dataSource: {\n type: Array as PropType<T[]>,\n default: () => [],\n },\n virtual: {\n type: Boolean,\n default: false,\n },\n xVirtual: {\n type: Boolean,\n default: undefined,\n },\n rowHeight: {\n type: [Number, Function] as PropType<RowHeight>,\n default: undefined,\n },\n autoHeaderHeight: {\n type: Boolean,\n default: false,\n },\n headerHeight: {\n type: [Number, Array] as PropType<HeaderHeight>,\n },\n height: {\n type: [Number, String],\n },\n maxHeight: {\n type: [Number, String],\n },\n minHeight: {\n type: [Number, String],\n },\n size: {\n type: String as PropType<DensitySize>,\n default: 'middle',\n },\n bordered: {\n type: Boolean,\n default: false,\n },\n wrapText: {\n type: Boolean,\n default: false,\n },\n loading: {\n type: [Boolean, Object] as PropType<boolean | SpinProps>,\n default: undefined,\n },\n pagination: {\n type: [Boolean, Object] as PropType<false | TablePaginationConfig>,\n default: () => ({}),\n },\n direction: {\n type: String as PropType<'rtl'>,\n default: undefined,\n },\n stripe: {\n type: Boolean,\n default: false,\n },\n rowClassName: {\n type: [String, Function] as PropType<string | RowClassName<T>>,\n default: undefined,\n },\n sticky: {\n type: [Boolean, Object] as PropType<boolean | HeaderSticky>,\n default: true,\n },\n selectedRowKeys: {\n type: Array as PropType<Key[]>,\n default: undefined,\n },\n expandFixed: {\n type: [Boolean, String] as PropType<FixedType>,\n default: undefined,\n },\n expandColumnWidth: {\n type: Number,\n default: undefined,\n },\n expandedRowKeys: {\n type: Array as PropType<Key[]>,\n default: undefined,\n },\n defaultExpandedRowKeys: {\n type: Array as PropType<Key[]>,\n default: undefined,\n },\n expandedRowRender: {\n type: Function as PropType<ExpandedRowRender<T>>,\n default: undefined,\n },\n expandRowByClick: {\n type: Boolean,\n default: undefined,\n },\n expandIcon: {\n type: Function as PropType<RenderExpandIcon<T>>,\n default: undefined,\n },\n onExpand: {\n type: Function as PropType<(expanded: boolean, record: T) => void>,\n default: undefined,\n },\n onExpandedRowsChange: {\n type: Function as PropType<(expandedKeys: Key[]) => void>,\n default: undefined,\n },\n defaultExpandAllRows: {\n type: Boolean,\n default: undefined,\n },\n indentSize: Number,\n expandIconColumnIndex: Number,\n childrenColumnName: {\n type: String,\n default: undefined,\n },\n rowExpandable: {\n type: Function as PropType<(record: T) => boolean>,\n default: () => true,\n },\n rowSelection: {\n type: Object as PropType<TableRowSelection<DefaultRecordType>>,\n default: undefined,\n },\n rowHoverDelay: {\n type: Number,\n default: 59,\n },\n rowHover: {\n type: Boolean,\n default: undefined,\n },\n rowKey: {\n type: [Function, String] as PropType<string | GetRowKey<T>>,\n },\n customRow: {\n type: Function as PropType<GetComponentProps<T>>,\n default: () => ({}),\n },\n customCell: {\n type: Function as PropType<\n (obj: { record: T; rowIndex: number; column: ColumnType<T> }) => Record<string, any>\n >,\n default: () => ({}),\n },\n customHeaderCell: {\n type: Function as PropType<(column: ColumnType<T>) => Record<string, any>>,\n default: () => ({}),\n },\n customSummaryCellProps: {\n type: Function as PropType<\n (obj: {\n record: T\n rowIndex: number\n column: ColumnType<T>\n columnIndex: number\n }) => Record<string, any>\n >,\n default: () => ({}),\n },\n showHeader: {\n type: Boolean,\n default: true,\n },\n showSorterTooltip: {\n type: [Boolean, Object] as PropType<boolean | TooltipProps>,\n default: true,\n },\n getPopupContainer: {\n type: Function as PropType<GetPopupContainer>,\n },\n locale: {\n type: Object as PropType<TableLocale>,\n default: undefined,\n },\n scrollX: {\n type: [Number, String] as PropType<string | number>,\n },\n scroll: {\n type: Object as PropType<Scroll>,\n default: undefined,\n },\n rangeSelection: {\n type: [String, Boolean] as PropType<boolean | 'single'>,\n default: false,\n },\n copyDelimiter: {\n type: String,\n default: '',\n },\n rowDrag: {\n type: [Boolean],\n },\n onChange: {\n type: Function as PropType<ChangeEvent<T>>,\n },\n summaryFixed: {\n type: [Boolean, String] as PropType<SummaryFixed>,\n default: false,\n },\n hasContextmenuPopup: Boolean,\n formatRangeCellText: {\n type: Function as PropType<(params: FormatRangeCellTextParams) => string>,\n },\n 'onUpdate:selectedRowKeys': {\n type: Function as PropType<(selectedRowKeys: Key[], selectedRows: T[]) => void>,\n },\n onScroll: {\n type: Function as PropType<(e: UIEvent) => void>,\n },\n 'onUpdate:expandedRowKeys': {\n type: Function as PropType<(info: Key[]) => void>,\n },\n onResizeColumn: {\n type: Function as PropType<\n (w: number, col: ColumnType, action: ResizeActionType) => boolean | void\n >,\n default: undefined,\n },\n onRowDragEnd: {\n type: Function as PropType<(opt: DragRowEventInfo) => boolean | Promise<any> | void>,\n default: undefined,\n },\n onColumnDragEnd: {\n type: Function as PropType<(opt: DragColumnEventInfo) => boolean | Promise<any> | void>,\n default: undefined,\n },\n onCellKeydown: {\n type: Function as PropType<(e: KeyboardEvent, opt: KeydownPayload) => boolean | void>,\n default: undefined,\n },\n onCellClick: {\n type: Function as PropType<(e: MouseEvent, opt: CellRenderArgs) => void>,\n default: undefined,\n },\n onBeforeOpenEditor: {\n type: Function as PropType<(opt: CellRenderArgs) => boolean | Promise<boolean> | void>,\n default: undefined,\n },\n onOpenEditor: {\n type: Function as PropType<(opt: CellRenderArgs) => void>,\n default: undefined,\n },\n onBeforeCloseEditor: {\n type: Function as PropType<(opt: CellRenderArgs) => boolean | Promise<boolean> | void>,\n default: undefined,\n },\n onCloseEditor: {\n type: Function as PropType<(opt: CellRenderArgs) => void>,\n default: undefined,\n },\n 'onUpdate:pagination': {\n type: Function as PropType<(info: TablePaginationConfig) => void>,\n },\n 'onUpdate:dataSource': {\n type: Function as PropType<(dataSource: T[]) => void>,\n },\n 'onUpdate:columns': {\n type: Function as PropType<(columns: ColumnsType<T>, action: 'resize' | 'drag') => void>,\n },\n columnEmptyText: {\n type: [String, Boolean] as PropType<string | false>,\n default: '-',\n },\n toolBar: { type: Boolean, default: undefined },\n options: { type: [Object, Boolean] as PropType<OptionConfig | false>, default: undefined },\n alwaysShowAlert: { type: Boolean, default: undefined },\n // requst 相关配置\n request: Function as PropType<Request>,\n params: Object as PropType<Record<string, any>>,\n defaultData: Array as PropType<T[]>,\n manual: Boolean,\n polling: [Number, Function] as PropType<number | ((dataSource: any[]) => number)>,\n debounceTime: Number,\n onLoad: {\n type: Function as PropType<(dataSource: T[], extra: any) => void>,\n default: undefined,\n },\n onLoadingChange: {\n type: Function as PropType<(loading: boolean | SpinProps | undefined) => void>,\n default: undefined,\n },\n onRequestError: {\n type: Function as PropType<(e: Error) => void>,\n default: undefined,\n },\n onSizeChange: {\n type: Function as PropType<(size: DensitySize) => void>,\n default: undefined,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n /** @name 列状态的配置,可以用来操作列功能 */\n columnsState: {\n type: Object as PropType<ColumnStateType>,\n default: undefined,\n },\n /** @name 是否要高亮选择行\t */\n highlightSelectRow: {\n type: Boolean,\n default: false,\n },\n\n paginationSticky: {\n type: [Boolean, Object] as PropType<boolean | BottomSticky>,\n default: true,\n },\n horizontalScrollSticky: {\n type: [Boolean, Object] as PropType<boolean | BottomSticky>,\n default: true,\n },\n})\n\nexport const tableProps = <T = DefaultRecordType>() => ({\n ...baseTableProps<T>(),\n title: String,\n subTitle: String,\n footer: Function,\n tooltip: String,\n cardProps: {\n type: [Object, Boolean] as PropType<CardProps | false>,\n default: undefined,\n },\n search: {\n type: [Object, Boolean] as PropType<SearchConfig | false>,\n default: undefined,\n },\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<T>) => any>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n})\nclass Helper<T extends DefaultRecordType> {\n Return = tableProps<T>()\n}\nexport type ProTableProps<T extends DefaultRecordType = DefaultRecordType> = Partial<\n ExtractPropTypes<Helper<T>['Return']>\n>\nexport interface TableLocale {\n filterTitle?: string\n filterConfirm?: any\n filterReset?: any\n filterEmptyText?: any\n emptyText?: any | (() => any)\n selectAll?: any\n selectNone?: any\n selectInvert?: any\n selectionAll?: any\n sortTitle?: string\n expand?: string\n collapse?: string\n triggerDesc?: string\n triggerAsc?: string\n cancelSort?: string\n}\nexport interface ColumnTitleProps<RecordType> {\n /** @deprecated Please use `sorterColumns` instead. */\n sortOrder?: SortOrder\n /** @deprecated Please use `sorterColumns` instead. */\n sortColumn?: ColumnType<RecordType>\n column: ColumnType<RecordType>\n sortColumns?: {\n column: ColumnType<RecordType>\n order: SortOrder\n }[]\n filters?: Record<string, string[]>\n}\nexport type ColumnTitle<RecordType = DefaultRecordType> =\n | string\n | number\n | object\n | ((props: ColumnTitleProps<RecordType>) => any)\ninterface ColumnSharedType {\n title?: ColumnTitle\n key?: Key\n className?: string\n class?: string\n fixed?: FixedType\n ellipsis?: CellEllipsisType\n align?: AlignType\n wrapText?: boolean\n dataIndex?: DataIndex\n}\nexport interface FilterConfirmProps {\n closeDropdown: boolean\n}\nexport type AlignType = 'left' | 'center' | 'right'\nexport interface ColumnFilterItem {\n text: string | number\n value: string | number | boolean\n children?: ColumnFilterItem[]\n}\nexport type SortOrder = 'desc' | 'asc' | null\nexport type CompareFn<T> = (a: T, b: T, sortOrder?: SortOrder) => number\nexport type FilterValue = (Key | boolean)[]\nexport type FilterKey = Key[] | null\nexport interface FilterDropdownProps {\n prefixCls: string\n confirm: (param?: FilterConfirmProps) => void\n clearFilters?: () => void\n filters?: ColumnFilterItem[]\n /** @deprecated Please use `open` instead */\n visible: boolean\n open: boolean\n}\nexport interface CellType {\n key?: Key\n class?: string\n style?: CSSProperties\n colSpan?: number\n rowSpan?: number\n}\nexport interface HeaderCellType {\n key?: Key\n class?: string\n style?: CSSProperties\n column?: FinallyColumnType\n colSpan?: number\n rowSpan?: number\n hasSubColumns?: boolean\n colStart?: number\n colEnd?: number\n}\nexport interface RenderedCell {\n props?: CellType\n children?: any\n}\nexport type CellRenderArgs = {\n record: any\n column: ColumnType<DefaultRecordType> | ColumnGroupType<DefaultRecordType>\n text: any\n value: any\n index: number\n oldValue?: any\n recordIndexs: number[]\n openEditor: () => void\n closeEditor: () => void\n}\nexport interface ContextmenuPopupArg<RecordT, ColumnT>\n extends Omit<Partial<CellRenderArgs>, 'column' | 'record'> {\n column?: ColumnT\n record?: RecordT\n event: MouseEvent\n isExpand?: boolean\n hidePopup: () => void\n}\nexport type MenuFilterProps = {\n prefixCls: string\n setSelectedKeys: (selectedKeys: Key[]) => void\n selectedKeysRef: Ref<Key[]>\n confirm: () => void\n clearFilters: () => void\n filters: ColumnFilterItem[]\n}\nexport interface MenuPopupArg<ColumnT> {\n column: ColumnT\n event: MouseEvent\n hidePopup: () => void\n filter: MenuFilterProps\n}\nexport interface CellTooltip {\n placement?:\n | 'top'\n | 'left'\n | 'right'\n | 'bottom'\n | 'topLeft'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomRight'\n | 'leftTop'\n | 'leftBottom'\n | 'rightTop'\n | 'rightBottom'\n color?: string\n overlayStyle?: CSSProperties\n overlayClassName?: string\n openClassName?: string\n title?: (args: CellRenderArgs) => any\n align?: TooltipAlignConfig\n shouldOpen?: (isEllipsis: boolean, args: CellRenderArgs) => boolean\n allowEnter?: boolean\n}\nexport interface ValueParserParams<RecordType = DefaultRecordType, TValue = any> {\n newValue: TValue\n oldValue: TValue\n record: RecordType\n recordIndexs: number[]\n column: ColumnType<RecordType>\n}\nexport interface EditableValueParams<RecordType = DefaultRecordType, TValue = any> {\n value: TValue\n record: RecordType\n recordIndexs: number[]\n column: ColumnType<RecordType>\n}\nexport interface ValueParserFunc<T = any, TValue = any> {\n (params: ValueParserParams<T, TValue>): TValue | null | undefined\n}\nexport interface ValueGetterFunc<T = any, TValue = any> {\n (params: EditableValueParams<T, TValue>): string | null | undefined\n}\ntype CellEditorSlot = 'cellEditorSlot'\nexport type EditableTrigger = 'click' | 'dblClick' | 'contextmenu'\nexport interface ColumnType<RecordType = DefaultRecordType>\n extends ColumnSharedType,\n Omit<\n ProFormItemType,\n | 'key'\n | 'originKey'\n | 'tooltip'\n | 'hidden'\n | 'grid'\n | 'title'\n | 'spaceProps'\n | 'children'\n | 'width'\n | 'ignoreWidth'\n | 'name'\n | 'originName'\n | 'rowProps'\n | 'colProps'\n | 'valueEnum'\n > {\n // search?:\n // | boolean\n // | Omit<\n // ProFormItemType,\n // | 'key'\n // | 'originKey'\n // | 'tooltip'\n // | 'hidden'\n // | 'grid'\n // | 'title'\n // | 'spaceProps'\n // | 'children'\n // | 'width'\n // | 'ignoreWidth'\n // | 'name'\n // | 'originName'\n // | 'rowProps'\n // | 'colProps'\n // | 'valueEnum'\n // >\n colSpan?: number\n dataIndex?: DataIndex\n key?: Key\n rowSpan?: number\n width?: number\n minWidth?: number\n maxWidth?: number\n resizable?: boolean\n flex?: number\n autoHeight?: boolean\n tooltip?: true | CellTooltip\n headerTooltip?: string | true\n hidden?: boolean\n sorter?:\n | boolean\n | CompareFn<RecordType>\n | {\n compare?: CompareFn<RecordType>\n /** Config multiple sorter order priority */\n multiple?: number\n }\n showCellPopover?: boolean | PopoverProps\n sortOrder?: SortOrder\n defaultSortOrder?: SortOrder\n sortDirections?: SortOrder[]\n showSorterTooltip?: boolean | TooltipProps\n filtered?: boolean\n filters?: ColumnFilterItem[]\n filterIcon?: ({ filtered }: { filtered: boolean }) => any\n filterDropdown?: (props: FilterDropdownProps) => any\n filterMultiple?: boolean\n filteredValue?: FilterValue | null\n defaultFilteredValue?: FilterValue | null\n onFilter?: (value: string | number | boolean, record: RecordType) => boolean\n showFilter?: boolean\n showMenu?: boolean | 'hover'\n /** @deprecated Please use `filterDropdownOpen` instead */\n filterDropdownVisible?: boolean\n /** @deprecated Please use `onFilterDropdownOpenChange` instead */\n onFilterDropdownVisibleChange?: (open: boolean) => void\n filterDropdownOpen?: boolean\n onFilterDropdownOpenChange?: (open: boolean) => void\n customFilterDropdown?: boolean\n getPopupContainer?: GetPopupContainer\n customCell?: (obj: {\n record: any\n rowIndex: number\n column: ColumnType<RecordType>\n }) => Record<string, any>\n customHeaderCell?: (column: ColumnType<RecordType>) => Record<string, any>\n customRender?: (opt: {\n value: any\n text: any\n record: RecordType\n index: number\n column: ColumnType<RecordType>\n }) => any | RenderedCell\n editable?:\n | boolean\n | CellEditorSlot\n | ((params: EditableValueParams<RecordType>) => boolean | CellEditorSlot)\n editableTrigger?: EditableTrigger | EditableTrigger[]\n valueParser?: ValueParserFunc<RecordType>\n valueGetter?: ValueGetterFunc<RecordType>\n valueSetter?: (params: ValueParserParams<RecordType>) => boolean | Promise<any>\n valueChange?: (e: Event, params: ValueParserParams<RecordType>) => void\n rowDrag?: boolean | ((arg: { record: RecordType; column: ColumnType<RecordType> }) => boolean)\n drag?: boolean\n /** @deprecated Please use `v-slot:customFilterIcon` `v-slot:bodyCell` `v-slot:headerCell` instead */\n slots?: {\n filterIcon?: string\n filterDropdown?: string\n customRender?: string\n title?: string\n }\n valueEnum?: ((row: RecordType) => Record<string, ValueEnumType>) | Record<string, ValueEnumType>\n valueStatus?: ((value: any, row: RecordType) => ValueStatus) | ValueStatus\n renderText?: (text: any, record: RecordType, rowIndex: number) => string | number\n /** @name 列设置的 disabled */\n disable?:\n | boolean\n | {\n checkbox: boolean\n }\n /** @name 在 table 中隐藏 */\n hideInTable?: boolean\n\n /** @name 在 search 中隐藏 */\n hideInSearch?: boolean\n\n /** @name 不在配置工具中显示 */\n hideInSetting?: boolean\n\n /** @name 不在过滤工具中显示 */\n hideInFilter?: boolean\n\n children?: ColumnType<RecordType>[]\n}\nexport interface ColumnGroupType<RecordType = DefaultRecordType> extends ColumnType<RecordType> {\n children?: ColumnsType<RecordType>\n}\nexport type ColumnsType<RecordType = DefaultRecordType> = (\n | ColumnGroupType<RecordType>\n | ColumnType<RecordType>\n)[]\nexport interface FinallyColumnType<RecordType = DefaultRecordType> extends ColumnType<RecordType> {\n finallyWidth?: number\n rowSpan?: number\n height?: number\n left?: number\n top?: number\n type?: 'checkbox' | 'expand' | 'rowIndex' | 'draggable'\n columnKey: Key\n columnIndex: number\n children?: FinallyColumnType<RecordType>[]\n originColumn?: ColumnsType[number]\n __Internal__Column__?: boolean\n showTitle: boolean\n fixed?: 'left' | 'right'\n}\ntype CellInfo = {\n columnKey: Key\n rowKey: Key\n}\nexport interface TableExposeType {\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => void\n scrollLeft?: Ref<number>\n scrollTop?: Ref<number>\n bodyRef?: ComputedRef<HTMLDivElement>\n getSelectedRange: () => SelectedRangeItem[]\n clearAllSelectedRange: () => void\n clearDataSource: () => void\n copySelectedRange: () => void\n appendCellToSelectedRange: (cell: AppendCellRange) => void\n openEditor: (cellInfos: CellInfo[]) => void\n closeEditor: (cellInfos?: CellInfo[]) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n reset: () => void\n}\nexport interface DragRowsHandleInfo {\n y: number\n top: number\n height: number\n rowKey: Key\n centerY: number\n record: DefaultRecordType\n indexs: number[]\n}\nexport interface DragColumnHandleInfo {\n x: number\n left: number\n width: number\n columnKey: Key\n centerX: number\n indexs: number[]\n}\nexport interface DragRowEventInfo {\n top: number\n height: number\n dir: typeof DOWN | typeof UP\n rowKey: Key\n record: DefaultRecordType\n event: MouseEvent | Touch\n column: ColumnType\n preTargetInfo: DragRowsHandleInfo | null\n nextTargetInfo: DragRowsHandleInfo | null\n fromIndexs: number[]\n insertToRowKey: Key\n}\nexport interface RowDragGhostArg<RecordT, ColumnT> {\n record: RecordT\n column: ColumnT\n icon: VNode\n allowed: boolean\n dragging: boolean\n event: MouseEvent | Touch\n preTargetInfo: DragRowsHandleInfo | null\n nextTargetInfo: DragRowsHandleInfo | null\n}\nexport interface DragColumnEventInfo {\n event: MouseEvent | Touch\n column: ColumnType\n targetColumn: ColumnType\n dir: typeof LEFT | typeof RIGHT\n}\nexport interface ColumnDragGhostArg<ColumnT> {\n column: ColumnT\n icon: VNode\n allowed: boolean\n dragging: boolean\n event: MouseEvent | Touch\n targetColumn: ColumnT\n}\n\nexport type DensitySize = 'small' | 'middle' | 'large' | undefined\nexport type Request<T = DefaultRecordType, U = Record<string, any>> = (\n params: U & {\n pageSize?: number\n current?: number\n keyword?: string\n },\n sorters?: SorterResult<T>[],\n filter?: Record<string, (string | number)[] | null>,\n) => Promise<Partial<RequestData<T>>>\n\nexport type RequestData<T = DefaultRecordType> = {\n data: T[] | undefined\n success?: boolean\n total?: number\n} & Record<string, any>\n\nexport type OptionsFunctionType = (e: any, action?: UseFetchDataAction<any>) => void\n\nexport type OptionsType = OptionsFunctionType | boolean\n\nexport type SettingOptionType = {\n draggable?: boolean\n checkable?: boolean\n checkedReset?: boolean\n listsHeight?: number\n}\n\nexport type OptionSearchProps = Omit<InputProps, 'onSearch'> & {\n /** 如果 onSearch 返回一个false,直接拦截请求 */\n onSearch?: (keyword: string) => Promise<boolean | undefined> | boolean | undefined\n}\n\nexport type OptionConfig = {\n density?: boolean\n filter?: boolean\n reload?: OptionsType\n setting?: boolean | SettingOptionType\n search?: (OptionSearchProps & { name?: string }) | boolean\n}\n\nexport type ValueEnumType = {\n text: string | number\n label?: string | number\n status?: string\n color?: string\n disabled?: boolean\n value?: string | number | boolean\n children?: ValueEnumType[]\n}\n\nexport type ColumnsState = {\n show?: boolean\n fixed?: true | 'right' | 'left' | undefined\n order?: number\n width?: number\n disable?:\n | boolean\n | {\n checkbox: boolean\n }\n}\n\nexport type ColumnStateType = {\n /**\n * 持久化的类型,支持 localStorage 和 sessionStorage\n *\n * @param localStorage 设置在关闭浏览器后也是存在的\n * @param sessionStorage 关闭浏览器后会丢失\n */\n persistenceType?: 'localStorage' | 'sessionStorage'\n /** 持久化的key,用于存储到 storage 中 */\n persistenceKey?: string\n /** ColumnsState 的值 */\n defaultValue?: Record<string, ColumnsState>\n /** ColumnsState 的值 */\n value?: Record<string, ColumnsState>\n onChange?: (map: Record<string, ColumnsState>) => void\n}\n\nexport type SearchConfig = ProQueryFilterProps & {\n cardProps?: CardProps | false\n tabName?: string\n style?: CSSProperties\n}\n\nexport type BorderedType = 'search' | 'table'\n\nexport type Bordered =\n | boolean\n | {\n search?: boolean\n table?: boolean\n }\n"],"names":[],"mappings":"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"}
@@ -59,7 +59,9 @@ const useCellProps = ({
59
59
  if (copyCustomCellProps.rowSpan > 1) {
60
60
  mergeCellStyles.height = `${getRowHeight(rowIndex, copyCustomCellProps.rowSpan) - 1}px`;
61
61
  }
62
- cellProps.props = Object.assign({}, copyCustomCellProps, { style: mergeCellStyles });
62
+ cellProps.props = Object.assign({}, copyCustomCellProps, {
63
+ style: { ...copyCustomCellProps.style, ...mergeCellStyles }
64
+ });
63
65
  return cellProps;
64
66
  };
65
67
  watchEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useCellProps.mjs","sources":["../../../../../../../packages/components/table/src/hooks/useCellProps.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-11-05 14:16:25\n * @LastEditors: shen\n * @LastEditTime: 2025-08-29 14:12:40\n * @Description:\n */\nimport type { Ref, CSSProperties } from 'vue'\nimport type {\n FinallyColumnType,\n FlatRecord,\n Key,\n RenderedCell,\n ProTableProps,\n} from '../components/interface'\n\nimport { shallowRef, watchEffect, isVNode } from 'vue'\nimport { ExpandColumnKey } from './useColumns'\nimport { getPathValue, parseStyleText } from '../utils/util'\nimport { isArray, isObject } from '@pro-design-vue/utils'\n\ninterface UseCellProps {\n leftColumns: Ref<FinallyColumnType[]>\n rightColumns: Ref<FinallyColumnType[]>\n visibleCenterColumns: Ref<FinallyColumnType[]>\n allColumns: Ref<FinallyColumnType[]>\n data: Ref<FlatRecord[]>\n mergedRowHeights: Ref<Record<Key, number>>\n startIndex: Ref<number>\n bodyWidth: Ref<number>\n leftWidth: Ref<number>\n centerWidth: Ref<number>\n getColumnPosition: (\n index: number,\n colSpan?: number,\n ) => {\n width: number\n left: number\n minWidth: number\n maxWidth: number\n }\n getRowHeight: (fromIndex: number, rowSpan?: number) => number\n customCell: Ref<ProTableProps['customCell']>\n}\nexport type UseCellPropsRes = {\n allCellProps: Ref<Record<string, Record<string, RenderedCell>>>\n hasMultiRowSpanInfo: Ref<Record<string, boolean>>\n centerRowColumnsMap: Ref<Map<Key, FinallyColumnType[]>>\n}\nconst useCellProps = ({\n leftColumns,\n rightColumns,\n visibleCenterColumns,\n allColumns,\n data,\n mergedRowHeights,\n getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight,\n customCell: contextCustomCell,\n}: UseCellProps): UseCellPropsRes => {\n const allCellProps = shallowRef<Record<string, Record<string, RenderedCell>>>({})\n const hasMultiRowSpanInfo = shallowRef<Record<string, boolean>>({})\n const centerRowColumnsMap = shallowRef<Map<Key, FinallyColumnType[]>>(new Map())\n\n const computedCellProps = (\n offsetLeft: number,\n column: FinallyColumnType,\n rowIndex: number,\n record: any,\n overflow: string,\n ) => {\n const { customRender, originColumn, dataIndex, columnIndex, left, customCell } = column\n const cellProps: RenderedCell = {}\n const customCellProps: Record<string, any> =\n (customCell || contextCustomCell.value)?.({ record, rowIndex, column }) ?? {}\n const mergeCellStyles: CSSProperties = Object.assign(\n { overflow },\n parseStyleText(customCellProps.style || {}),\n )\n const copyCustomCellProps = Object.assign({}, customCellProps)\n\n if (customRender) {\n const value = getPathValue(record, dataIndex!)\n const customCellRender: any = customRender({\n text: value,\n value,\n record,\n index: rowIndex,\n column: originColumn as FinallyColumnType,\n })\n if (\n customCellRender &&\n isObject(customCellRender) &&\n !isArray(customCellRender) &&\n !isVNode(customCellRender)\n ) {\n Object.assign(copyCustomCellProps, (customCellRender as any).props || {})\n cellProps.children = (customCellRender as any).children\n } else {\n cellProps.children = customCellRender\n }\n }\n\n copyCustomCellProps.colSpan = copyCustomCellProps.colSpan ?? 1\n copyCustomCellProps.rowSpan = copyCustomCellProps.rowSpan ?? 1\n const { width } = getColumnPosition(columnIndex, copyCustomCellProps.colSpan)\n Object.assign(mergeCellStyles, { width: `${width}px`, left: left! - offsetLeft + 'px' })\n if (width === 0) {\n mergeCellStyles.display = 'none'\n }\n if (copyCustomCellProps.colSpan > 1) {\n mergeCellStyles.zIndex = 1\n }\n\n if (copyCustomCellProps.rowSpan > 1) {\n mergeCellStyles.height = `${getRowHeight(rowIndex, copyCustomCellProps.rowSpan) - 1}px`\n }\n cellProps.props = Object.assign({}, copyCustomCellProps, { style: mergeCellStyles })\n return cellProps\n }\n\n watchEffect(() => {\n const rawAllCellProps: Record<string, Record<string, RenderedCell>> = {}\n const rawRowSpanInfo: Record<string, boolean> = {}\n const genAllCellProps = (\n index: number,\n offsetLeft: number,\n finallyColumns: FinallyColumnType[],\n rowKey: Key,\n rowIndex: number,\n record: any,\n overflow: string,\n rowColumnsMap?: Map<Key, FinallyColumnType[]>,\n ) => {\n const collen = finallyColumns.length\n let currentColumn: FinallyColumnType | null = null\n let currentColumnIndex = 0\n for (let i = 0; i < collen; i++) {\n const { columnIndex, columnKey } = finallyColumns[i]!\n const cellProps = computedCellProps(\n offsetLeft,\n finallyColumns[i]!,\n rowIndex,\n record,\n overflow,\n )\n rawAllCellProps[rowKey]![columnKey] = cellProps\n if (cellProps.props?.rowSpan || 0 > 1) {\n rawRowSpanInfo[rowKey] = true\n }\n if (i === 0 && cellProps.props?.colSpan === 0) {\n currentColumnIndex = columnIndex\n }\n }\n\n if (currentColumnIndex !== 0) {\n for (let i = currentColumnIndex - 1; i > 0; i--) {\n const column = allColumns.value[i]!\n if (column.fixed) break\n const cellProps = computedCellProps(offsetLeft, column, rowIndex, record, overflow)\n if (cellProps.props?.colSpan !== 0) {\n currentColumn = column\n rawAllCellProps[rowKey]![column.columnKey] = cellProps\n if (cellProps.props?.rowSpan || 0 > 1) {\n rawRowSpanInfo[rowKey] = true\n }\n break\n }\n }\n }\n\n if (currentColumn) {\n const columns = finallyColumns.slice()\n columns.push(currentColumn)\n rowColumnsMap?.set(rowKey, columns)\n } else {\n rowColumnsMap?.set(rowKey, finallyColumns)\n }\n }\n const rowColumnsMap = new Map()\n const len = data.value.length\n for (let i = 0; i < len; i++) {\n if (!data.value[i]) continue\n const { record, isExpandRow, rowKey, rowIndex } = data.value[i]!\n rawAllCellProps[rowKey] = {}\n const overflow: string = mergedRowHeights.value[rowKey] ? 'hidden' : 'initial'\n if (isExpandRow) {\n rawAllCellProps[rowKey][ExpandColumnKey] = {\n props: {\n style: { left: '0px', width: `${bodyWidth.value}px`, zIndex: 1 },\n },\n }\n } else {\n genAllCellProps(0, 0, leftColumns.value, rowKey, rowIndex, record, overflow)\n genAllCellProps(\n 0,\n leftWidth.value,\n visibleCenterColumns.value,\n rowKey,\n rowIndex,\n record,\n overflow,\n rowColumnsMap,\n )\n genAllCellProps(\n 0,\n leftWidth.value + centerWidth.value,\n rightColumns.value,\n rowKey,\n rowIndex,\n record,\n overflow,\n )\n }\n }\n allCellProps.value = rawAllCellProps\n hasMultiRowSpanInfo.value = rawRowSpanInfo\n centerRowColumnsMap.value = rowColumnsMap\n })\n\n return { allCellProps, hasMultiRowSpanInfo, centerRowColumnsMap }\n}\nexport default useCellProps\n"],"names":["rowColumnsMap"],"mappings":"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"}
1
+ {"version":3,"file":"useCellProps.mjs","sources":["../../../../../../../packages/components/table/src/hooks/useCellProps.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-11-05 14:16:25\n * @LastEditors: shen\n * @LastEditTime: 2025-09-29 14:02:06\n * @Description:\n */\nimport type { Ref, CSSProperties } from 'vue'\nimport type {\n FinallyColumnType,\n FlatRecord,\n Key,\n RenderedCell,\n ProTableProps,\n} from '../components/interface'\n\nimport { shallowRef, watchEffect, isVNode } from 'vue'\nimport { ExpandColumnKey } from './useColumns'\nimport { getPathValue, parseStyleText } from '../utils/util'\nimport { isArray, isObject } from '@pro-design-vue/utils'\n\ninterface UseCellProps {\n leftColumns: Ref<FinallyColumnType[]>\n rightColumns: Ref<FinallyColumnType[]>\n visibleCenterColumns: Ref<FinallyColumnType[]>\n allColumns: Ref<FinallyColumnType[]>\n data: Ref<FlatRecord[]>\n mergedRowHeights: Ref<Record<Key, number>>\n startIndex: Ref<number>\n bodyWidth: Ref<number>\n leftWidth: Ref<number>\n centerWidth: Ref<number>\n getColumnPosition: (\n index: number,\n colSpan?: number,\n ) => {\n width: number\n left: number\n minWidth: number\n maxWidth: number\n }\n getRowHeight: (fromIndex: number, rowSpan?: number) => number\n customCell: Ref<ProTableProps['customCell']>\n}\nexport type UseCellPropsRes = {\n allCellProps: Ref<Record<string, Record<string, RenderedCell>>>\n hasMultiRowSpanInfo: Ref<Record<string, boolean>>\n centerRowColumnsMap: Ref<Map<Key, FinallyColumnType[]>>\n}\nconst useCellProps = ({\n leftColumns,\n rightColumns,\n visibleCenterColumns,\n allColumns,\n data,\n mergedRowHeights,\n getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight,\n customCell: contextCustomCell,\n}: UseCellProps): UseCellPropsRes => {\n const allCellProps = shallowRef<Record<string, Record<string, RenderedCell>>>({})\n const hasMultiRowSpanInfo = shallowRef<Record<string, boolean>>({})\n const centerRowColumnsMap = shallowRef<Map<Key, FinallyColumnType[]>>(new Map())\n\n const computedCellProps = (\n offsetLeft: number,\n column: FinallyColumnType,\n rowIndex: number,\n record: any,\n overflow: string,\n ) => {\n const { customRender, originColumn, dataIndex, columnIndex, left, customCell } = column\n const cellProps: RenderedCell = {}\n const customCellProps: Record<string, any> =\n (customCell || contextCustomCell.value)?.({ record, rowIndex, column }) ?? {}\n const mergeCellStyles: CSSProperties = Object.assign(\n { overflow },\n parseStyleText(customCellProps.style || {}),\n )\n const copyCustomCellProps = Object.assign({}, customCellProps)\n\n if (customRender) {\n const value = getPathValue(record, dataIndex!)\n const customCellRender: any = customRender({\n text: value,\n value,\n record,\n index: rowIndex,\n column: originColumn as FinallyColumnType,\n })\n if (\n customCellRender &&\n isObject(customCellRender) &&\n !isArray(customCellRender) &&\n !isVNode(customCellRender)\n ) {\n Object.assign(copyCustomCellProps, (customCellRender as any).props || {})\n cellProps.children = (customCellRender as any).children\n } else {\n cellProps.children = customCellRender\n }\n }\n\n copyCustomCellProps.colSpan = copyCustomCellProps.colSpan ?? 1\n copyCustomCellProps.rowSpan = copyCustomCellProps.rowSpan ?? 1\n const { width } = getColumnPosition(columnIndex, copyCustomCellProps.colSpan)\n Object.assign(mergeCellStyles, { width: `${width}px`, left: left! - offsetLeft + 'px' })\n if (width === 0) {\n mergeCellStyles.display = 'none'\n }\n if (copyCustomCellProps.colSpan > 1) {\n mergeCellStyles.zIndex = 1\n }\n\n if (copyCustomCellProps.rowSpan > 1) {\n mergeCellStyles.height = `${getRowHeight(rowIndex, copyCustomCellProps.rowSpan) - 1}px`\n }\n cellProps.props = Object.assign({}, copyCustomCellProps, {\n style: { ...copyCustomCellProps.style, ...mergeCellStyles },\n })\n return cellProps\n }\n\n watchEffect(() => {\n const rawAllCellProps: Record<string, Record<string, RenderedCell>> = {}\n const rawRowSpanInfo: Record<string, boolean> = {}\n const genAllCellProps = (\n index: number,\n offsetLeft: number,\n finallyColumns: FinallyColumnType[],\n rowKey: Key,\n rowIndex: number,\n record: any,\n overflow: string,\n rowColumnsMap?: Map<Key, FinallyColumnType[]>,\n ) => {\n const collen = finallyColumns.length\n let currentColumn: FinallyColumnType | null = null\n let currentColumnIndex = 0\n for (let i = 0; i < collen; i++) {\n const { columnIndex, columnKey } = finallyColumns[i]!\n const cellProps = computedCellProps(\n offsetLeft,\n finallyColumns[i]!,\n rowIndex,\n record,\n overflow,\n )\n rawAllCellProps[rowKey]![columnKey] = cellProps\n if (cellProps.props?.rowSpan || 0 > 1) {\n rawRowSpanInfo[rowKey] = true\n }\n if (i === 0 && cellProps.props?.colSpan === 0) {\n currentColumnIndex = columnIndex\n }\n }\n\n if (currentColumnIndex !== 0) {\n for (let i = currentColumnIndex - 1; i > 0; i--) {\n const column = allColumns.value[i]!\n if (column.fixed) break\n const cellProps = computedCellProps(offsetLeft, column, rowIndex, record, overflow)\n if (cellProps.props?.colSpan !== 0) {\n currentColumn = column\n rawAllCellProps[rowKey]![column.columnKey] = cellProps\n if (cellProps.props?.rowSpan || 0 > 1) {\n rawRowSpanInfo[rowKey] = true\n }\n break\n }\n }\n }\n\n if (currentColumn) {\n const columns = finallyColumns.slice()\n columns.push(currentColumn)\n rowColumnsMap?.set(rowKey, columns)\n } else {\n rowColumnsMap?.set(rowKey, finallyColumns)\n }\n }\n const rowColumnsMap = new Map()\n const len = data.value.length\n for (let i = 0; i < len; i++) {\n if (!data.value[i]) continue\n const { record, isExpandRow, rowKey, rowIndex } = data.value[i]!\n rawAllCellProps[rowKey] = {}\n const overflow: string = mergedRowHeights.value[rowKey] ? 'hidden' : 'initial'\n if (isExpandRow) {\n rawAllCellProps[rowKey][ExpandColumnKey] = {\n props: {\n style: { left: '0px', width: `${bodyWidth.value}px`, zIndex: 1 },\n },\n }\n } else {\n genAllCellProps(0, 0, leftColumns.value, rowKey, rowIndex, record, overflow)\n genAllCellProps(\n 0,\n leftWidth.value,\n visibleCenterColumns.value,\n rowKey,\n rowIndex,\n record,\n overflow,\n rowColumnsMap,\n )\n genAllCellProps(\n 0,\n leftWidth.value + centerWidth.value,\n rightColumns.value,\n rowKey,\n rowIndex,\n record,\n overflow,\n )\n }\n }\n allCellProps.value = rawAllCellProps\n hasMultiRowSpanInfo.value = rawRowSpanInfo\n centerRowColumnsMap.value = rowColumnsMap\n })\n\n return { allCellProps, hasMultiRowSpanInfo, centerRowColumnsMap }\n}\nexport default useCellProps\n"],"names":["rowColumnsMap"],"mappings":"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"}
@@ -114,7 +114,7 @@ const useContainer = (props) => {
114
114
  var _a2;
115
115
  return (_a2 = props.columnsState) == null ? void 0 : _a2.persistenceKey;
116
116
  },
117
- columnsMap,
117
+ () => columnsMap.value,
118
118
  () => {
119
119
  var _a2;
120
120
  return (_a2 = props.columnsState) == null ? void 0 : _a2.persistenceType;
@@ -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-08-27 13:38:40\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'\n\nexport type ContainerContextProps = {\n props: ProTableProps\n tableSize: Ref<DensitySize>\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}\n\nconst ContainerContextKey: InjectionKey<ContainerContextProps> = Symbol('ContainerContextKey')\nexport const useContainer = (props: ProTableProps): ContainerContextProps => {\n const sortKeyColumns = ref<string[]>([])\n\n const [tableSize, setTableSize] = useMergedState<DensitySize>(() => props.size || 'middle', {\n value: computed(() => props.size),\n onChange: props.onSizeChange,\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\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,\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 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-09-30 11:15:57\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'\n\nexport type ContainerContextProps = {\n props: ProTableProps\n tableSize: Ref<DensitySize>\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}\n\nconst ContainerContextKey: InjectionKey<ContainerContextProps> = Symbol('ContainerContextKey')\nexport const useContainer = (props: ProTableProps): ContainerContextProps => {\n const sortKeyColumns = ref<string[]>([])\n\n const [tableSize, setTableSize] = useMergedState<DensitySize>(() => props.size || 'middle', {\n value: computed(() => props.size),\n onChange: props.onSizeChange,\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 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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"}
@@ -6,8 +6,9 @@ import { runFunction } from '../../../../utils/run-function.mjs';
6
6
 
7
7
  const mergePropsAndPagination = ({ pagination }, intl) => {
8
8
  if (pagination) {
9
- const { current, pageSize, total, showTotal, showSizeChanger } = pagination;
9
+ const { current, pageSize, total, showTotal, showSizeChanger, ...rest } = pagination;
10
10
  return {
11
+ ...rest,
11
12
  current: current || 1,
12
13
  total: total || 0,
13
14
  pageSize: pageSize || 10,
@@ -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-09-09 14:15:32\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'\n\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 { runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\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 fullScreen?: () => 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 = ({ pagination }: ProTableProps, intl: IntlType) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger } = pagination\n return {\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?.toUpperCase(),\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)\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 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 [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(props, intl),\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\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(\n () => props.manual,\n () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\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-09-29 16:45:36\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'\n\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 { runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\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 fullScreen?: () => 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 = ({ pagination }: ProTableProps, intl: IntlType) => {\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?.toUpperCase(),\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)\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 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 [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(props, intl),\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\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(\n () => props.manual,\n () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\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,6 +1,7 @@
1
1
  import type { Key } from '../components/interface';
2
2
  import type { ComputedRef, Ref } from 'vue';
3
3
  export interface HoverContextProps {
4
+ rowHover: ComputedRef<boolean | undefined>;
4
5
  hoverRowKey: Ref<Key>;
5
6
  hoverColumnKey: Ref<Key>;
6
7
  handleCellHover: (rowKey: Key, columnKey: Key, draggingRowKey: Key) => void;
@@ -8,7 +9,9 @@ export interface HoverContextProps {
8
9
  }
9
10
  export declare const useProvideHover: (props: {
10
11
  rowHoverDelay: ComputedRef<number>;
12
+ rowHover: ComputedRef<boolean | undefined>;
11
13
  }) => {
14
+ rowHover: ComputedRef<boolean | undefined>;
12
15
  hoverColumnKey: Ref<any, any>;
13
16
  hoverRowKey: Ref<any, any>;
14
17
  handleCellHover: (rowKey: Key, columnKey: Key, draggingRowKey: Key) => void;
@@ -1,4 +1,4 @@
1
- import { ref, provide, inject } from 'vue';
1
+ import { ref, provide, inject, computed } from 'vue';
2
2
 
3
3
  const HoverContextKey = Symbol("HoverContextKey");
4
4
  const useProvideHover = (props) => {
@@ -22,6 +22,7 @@ const useProvideHover = (props) => {
22
22
  }, props.rowHoverDelay.value + 50);
23
23
  };
24
24
  const hoverContext = {
25
+ rowHover: props.rowHover,
25
26
  hoverColumnKey,
26
27
  hoverRowKey,
27
28
  handleCellHover,
@@ -32,6 +33,7 @@ const useProvideHover = (props) => {
32
33
  };
33
34
  const useInjectHover = () => {
34
35
  return inject(HoverContextKey, {
36
+ rowHover: computed(() => void 0),
35
37
  hoverRowKey: ref(),
36
38
  hoverColumnKey: ref(),
37
39
  handleCellHover: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useHover.mjs","sources":["../../../../../../../packages/components/table/src/hooks/useHover.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 10:00:14\n * @LastEditors: shen\n * @LastEditTime: 2023-11-10 15:36:35\n * @Description:\n */\nimport { ref, provide, inject } from 'vue'\n\nimport type { Key } from '../components/interface'\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nexport interface HoverContextProps {\n hoverRowKey: Ref<Key>\n hoverColumnKey: Ref<Key>\n handleCellHover: (rowKey: Key, columnKey: Key, draggingRowKey: Key) => void\n handleCellBlur: () => void\n}\nconst HoverContextKey: InjectionKey<HoverContextProps> = Symbol('HoverContextKey')\nexport const useProvideHover = (props: { rowHoverDelay: ComputedRef<number> }) => {\n const hoverColumnKey = ref<any>()\n const hoverRowKey = ref<any>()\n let hoverColumnTimeout: any, hoverRowTimeout: any\n const handleCellHover = (rowKey: Key, columnKey: Key, draggingRowKey: Key) => {\n clearTimeout(hoverColumnTimeout)\n clearTimeout(hoverRowTimeout)\n if (!draggingRowKey) {\n hoverRowTimeout = setTimeout(() => {\n hoverRowKey.value = rowKey\n hoverColumnKey.value = columnKey\n }, props.rowHoverDelay.value)\n }\n }\n const handleCellBlur = () => {\n hoverColumnTimeout = setTimeout(() => {\n hoverRowKey.value = undefined\n hoverColumnKey.value = undefined\n }, props.rowHoverDelay.value + 50)\n }\n const hoverContext = {\n hoverColumnKey,\n hoverRowKey,\n handleCellHover,\n handleCellBlur,\n }\n\n provide(HoverContextKey, hoverContext)\n\n return hoverContext\n}\nexport const useInjectHover = () => {\n return inject(HoverContextKey, {\n hoverRowKey: ref(),\n hoverColumnKey: ref(),\n handleCellHover: () => {},\n handleCellBlur: () => {},\n })\n}\n"],"names":[],"mappings":";;AAiBA,MAAM,eAAA,GAAmD,OAAO,iBAAiB,CAAA;AAC1E,MAAM,eAAA,GAAkB,CAAC,KAAA,KAAkD;AAChF,EAAA,MAAM,iBAAiB,GAAA,EAAS;AAChC,EAAA,MAAM,cAAc,GAAA,EAAS;AAC7B,EAAA,IAAI,kBAAA,EAAyB,eAAA;AAC7B,EAAA,MAAM,eAAA,GAAkB,CAAC,MAAA,EAAa,SAAA,EAAgB,cAAA,KAAwB;AAC5E,IAAA,YAAA,CAAa,kBAAkB,CAAA;AAC/B,IAAA,YAAA,CAAa,eAAe,CAAA;AAC5B,IAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,MAAA,eAAA,GAAkB,WAAW,MAAM;AACjC,QAAA,WAAA,CAAY,KAAA,GAAQ,MAAA;AACpB,QAAA,cAAA,CAAe,KAAA,GAAQ,SAAA;AAAA,MACzB,CAAA,EAAG,KAAA,CAAM,aAAA,CAAc,KAAK,CAAA;AAAA,IAC9B;AAAA,EACF,CAAA;AACA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,kBAAA,GAAqB,WAAW,MAAM;AACpC,MAAA,WAAA,CAAY,KAAA,GAAQ,MAAA;AACpB,MAAA,cAAA,CAAe,KAAA,GAAQ,MAAA;AAAA,IACzB,CAAA,EAAG,KAAA,CAAM,aAAA,CAAc,KAAA,GAAQ,EAAE,CAAA;AAAA,EACnC,CAAA;AACA,EAAA,MAAM,YAAA,GAAe;AAAA,IACnB,cAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,OAAA,CAAQ,iBAAiB,YAAY,CAAA;AAErC,EAAA,OAAO,YAAA;AACT;AACO,MAAM,iBAAiB,MAAM;AAClC,EAAA,OAAO,OAAO,eAAA,EAAiB;AAAA,IAC7B,aAAa,GAAA,EAAI;AAAA,IACjB,gBAAgB,GAAA,EAAI;AAAA,IACpB,iBAAiB,MAAM;AAAA,IAAC,CAAA;AAAA,IACxB,gBAAgB,MAAM;AAAA,IAAC;AAAA,GACxB,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"useHover.mjs","sources":["../../../../../../../packages/components/table/src/hooks/useHover.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 10:00:14\n * @LastEditors: shen\n * @LastEditTime: 2025-09-28 11:16:25\n * @Description:\n */\nimport { ref, provide, inject, computed } from 'vue'\n\nimport type { Key } from '../components/interface'\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nexport interface HoverContextProps {\n rowHover: ComputedRef<boolean | undefined>\n hoverRowKey: Ref<Key>\n hoverColumnKey: Ref<Key>\n handleCellHover: (rowKey: Key, columnKey: Key, draggingRowKey: Key) => void\n handleCellBlur: () => void\n}\nconst HoverContextKey: InjectionKey<HoverContextProps> = Symbol('HoverContextKey')\nexport const useProvideHover = (props: {\n rowHoverDelay: ComputedRef<number>\n rowHover: ComputedRef<boolean | undefined>\n}) => {\n const hoverColumnKey = ref<any>()\n const hoverRowKey = ref<any>()\n let hoverColumnTimeout: any, hoverRowTimeout: any\n const handleCellHover = (rowKey: Key, columnKey: Key, draggingRowKey: Key) => {\n clearTimeout(hoverColumnTimeout)\n clearTimeout(hoverRowTimeout)\n if (!draggingRowKey) {\n hoverRowTimeout = setTimeout(() => {\n hoverRowKey.value = rowKey\n hoverColumnKey.value = columnKey\n }, props.rowHoverDelay.value)\n }\n }\n const handleCellBlur = () => {\n hoverColumnTimeout = setTimeout(() => {\n hoverRowKey.value = undefined\n hoverColumnKey.value = undefined\n }, props.rowHoverDelay.value + 50)\n }\n const hoverContext = {\n rowHover: props.rowHover,\n hoverColumnKey,\n hoverRowKey,\n handleCellHover,\n handleCellBlur,\n }\n\n provide(HoverContextKey, hoverContext)\n\n return hoverContext\n}\nexport const useInjectHover = () => {\n return inject(HoverContextKey, {\n rowHover: computed(() => undefined),\n hoverRowKey: ref(),\n hoverColumnKey: ref(),\n handleCellHover: () => {},\n handleCellBlur: () => {},\n })\n}\n"],"names":[],"mappings":";;AAkBA,MAAM,eAAA,GAAmD,OAAO,iBAAiB,CAAA;AAC1E,MAAM,eAAA,GAAkB,CAAC,KAAA,KAG1B;AACJ,EAAA,MAAM,iBAAiB,GAAA,EAAS;AAChC,EAAA,MAAM,cAAc,GAAA,EAAS;AAC7B,EAAA,IAAI,kBAAA,EAAyB,eAAA;AAC7B,EAAA,MAAM,eAAA,GAAkB,CAAC,MAAA,EAAa,SAAA,EAAgB,cAAA,KAAwB;AAC5E,IAAA,YAAA,CAAa,kBAAkB,CAAA;AAC/B,IAAA,YAAA,CAAa,eAAe,CAAA;AAC5B,IAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,MAAA,eAAA,GAAkB,WAAW,MAAM;AACjC,QAAA,WAAA,CAAY,KAAA,GAAQ,MAAA;AACpB,QAAA,cAAA,CAAe,KAAA,GAAQ,SAAA;AAAA,MACzB,CAAA,EAAG,KAAA,CAAM,aAAA,CAAc,KAAK,CAAA;AAAA,IAC9B;AAAA,EACF,CAAA;AACA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,kBAAA,GAAqB,WAAW,MAAM;AACpC,MAAA,WAAA,CAAY,KAAA,GAAQ,MAAA;AACpB,MAAA,cAAA,CAAe,KAAA,GAAQ,MAAA;AAAA,IACzB,CAAA,EAAG,KAAA,CAAM,aAAA,CAAc,KAAA,GAAQ,EAAE,CAAA;AAAA,EACnC,CAAA;AACA,EAAA,MAAM,YAAA,GAAe;AAAA,IACnB,UAAU,KAAA,CAAM,QAAA;AAAA,IAChB,cAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,OAAA,CAAQ,iBAAiB,YAAY,CAAA;AAErC,EAAA,OAAO,YAAA;AACT;AACO,MAAM,iBAAiB,MAAM;AAClC,EAAA,OAAO,OAAO,eAAA,EAAiB;AAAA,IAC7B,QAAA,EAAU,QAAA,CAAS,MAAM,MAAS,CAAA;AAAA,IAClC,aAAa,GAAA,EAAI;AAAA,IACjB,gBAAgB,GAAA,EAAI;AAAA,IACpB,iBAAiB,MAAM;AAAA,IAAC,CAAA;AAAA,IACxB,gBAAgB,MAAM;AAAA,IAAC;AAAA,GACxB,CAAA;AACH;;;;"}
@@ -2,6 +2,7 @@ import type { ProTableProps } from '../components/interface';
2
2
  import type { ComputedRef } from 'vue';
3
3
  import type { TablePaginationConfig } from '../components/PaginationConfig';
4
4
  export declare const DEFAULT_PAGE_SIZE = 10;
5
+ export declare const PAGE_SIZE_OPTIONS: string[];
5
6
  export declare function getPaginationParam(pagination: TablePaginationConfig | boolean | undefined, mergedPagination: TablePaginationConfig): any;
6
7
  type PaginationPos = {
7
8
  bottom?: 'left' | 'right';
@@ -2,6 +2,7 @@ import { reactive, computed, onBeforeUnmount } from 'vue';
2
2
  import devWarning from '../utils/devWarning.mjs';
3
3
 
4
4
  const DEFAULT_PAGE_SIZE = 10;
5
+ const PAGE_SIZE_OPTIONS = ["5", "10", "20", "50"];
5
6
  function getPaginationParam(pagination, mergedPagination) {
6
7
  const param = {
7
8
  current: mergedPagination.current,
@@ -31,7 +32,11 @@ function extendsObject(...list) {
31
32
  return result;
32
33
  }
33
34
  function usePagination(total, props, mergedData, onChange) {
34
- const innerPagination = reactive({ current: 1, pageSize: DEFAULT_PAGE_SIZE });
35
+ const innerPagination = reactive({
36
+ current: 1,
37
+ pageSize: DEFAULT_PAGE_SIZE,
38
+ pageSizeOptions: PAGE_SIZE_OPTIONS
39
+ });
35
40
  const size = computed(() => props.size);
36
41
  const mergedPagination = computed(() => {
37
42
  const { pagination } = props;
@@ -116,5 +121,5 @@ function usePagination(total, props, mergedData, onChange) {
116
121
  };
117
122
  }
118
123
 
119
- export { DEFAULT_PAGE_SIZE, usePagination as default, getPaginationParam };
124
+ export { DEFAULT_PAGE_SIZE, PAGE_SIZE_OPTIONS, usePagination as default, getPaginationParam };
120
125
  //# sourceMappingURL=usePagination.mjs.map